> 123 | 123/456
> 1/2/3 | 1/2/3/4/5/6
> all subpages

//en.wikipedia.org/wiki/Wikipedia:Pagename cirreous

the letter—que

bare, template fullurl is https://en.wikipedia.org/wiki/User:Cpiral/sandbox/E

bare, template canonicalurl is {{canonicalurl}}

fullurl:arg is //en.wikipedia.org/wiki/Arg

canonicalurl:arg is https://en.wikipedia.org/wiki/Arg

canonicalurl|FULLPAGENAMEE is {{canonicalurl|FULLPAGENAMEE}}

canonicalurl:FULLPAGENAMEE is https://en.wikipedia.org/wiki/FULLPAGENAMEE

fullpagenamee is User:Cpiral/sandbox/E

fullpagename is User:Cpiral/sandbox/E


insource:canonicalurl prefix:User:Cpiral/sandbox/E


Not accepted in page naming (such as in EL to non-existent page): : # < > [ ] | { } _
A localurl ignorance (stop translating line): #
An anchorencode ignorance characters (but keep translating line): < or >
Not shown or tested in the following: |


pre All pages with titles containing label2 poste

pre All pages with titles containing label2 poste pre All pages with titles containing Cpiral/sandbox/E poste

User:cpiral/sandbox/A § A11 title

Documentation

edit

There are literally thousands of text patterns possible for each single link.

The general URI is

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

For Wikipedia the significant form is //host/path1path2#section.

Host is any searchable text pattern:

  • //en.wikipedia.org
  • //en.wikipedia.org
  • //en.wikipedia.org

One path is any of the the following searchable path2 text patterns: (suffixed to any of the path1 forms below)

  • namespace:pagename

where namespace can be any text pattern:

    • User
    • User
    • User talk

and pagename can be any text pattern:

  • User:Cpiral/sandbox/E
  • namespace:pagename
  • User:Cpiral/sandbox/E
    • basepagename/subpagename
    • ../subpagename
    • basepagename
    • rootpagename
    • articlepagename
    • subjectpagename
    • talkpagename
    • User:Cpiral/sandbox, and repetitive
    • path2

All these ending with NAME}} can have the NAMEE}} form too.

Path1 is

  • /w/query
  • /w/query

where query is

    • index.php?title=
    • index.php?pageid=

OR

and each path2 can have

  • string
  • string an encoding parameter attached

and each *URL can have

  • |WIKI
  • |PATH

Section can be

  • #section
  • #{</nowiki>{ANCHORENCODE|section}}

Overall one

edit
Server + localurl = fullurl:
{{SERVER}}{{localurl:media:pagename}}#sectiON → //en.wikipedia.org/wiki/File:Pagename#sectiON
{{SERVER}}{{localurl:media:pagename}}#sectiON → //en.wikipedia.org/wiki/File:Pagename#sectiON
{{fullurl:media:pagename}}#sectiON → //en.wikipedia.org/wiki/File:Pagename#sectiON

Overall two

edit

{{fullurl:template:pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE}}] → [in brackets]
//en.wikipedia.org/wiki/Template:Pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE → "',.?/eE
{{canonicalurl:template:pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE}}
 https://en.wikipedia.org/wiki/Template:Pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE

{{fullurl:template:pagename/Ss!:{{urlencode:#_+@$%^&*()-=\:;"',.?/eE}}}}] → [in brackets]
 //en.wikipedia.org/wiki/Template:Pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE → "',.?/eE
{{canonicalurl:template:pagename/Ss!:{{urlencode:#_+@$%^&*()-=\:;"',.?/eE}}}}]
https://en.wikipedia.org/wiki/Template:Pagename/Ss!:#_+@$%^&*()-=\:;"',.?/eE

{{fullurl:template:pagename/Ss!:{{anchorencode:#_+@$%^&*()-=\:;"',.?/eE}}}}] → [in brackets]
{{fullurl:template:pagename/Ss!:

  1. _+@$%^&*()-=\:;"',.?/eE}} → [{{fullurl:template:pagename/Ss!:
  2. _+@$%^&*()-=\:;"',.?/eE}}]

{{canonicalurl:template:pagename/Ss!:{{anchorencode:#_+@$%^&*()-=\:;"',.?/eE}}}}]
{{canonicalurl:template:pagename/Ss!:

  1. _+@$%^&*()-=\:;"',.?/eE}}


[{{localurl:template:pagename/Ss!:_+@$%^&*()-=\:;"#',.?/eE}}] → [/wiki/Template:Pagename/Ss!:_%2B@$%25%5E%26*()-%3D%5C:;%22]
[{{localurl:template:pagename/Ss!#:_+@$%^&*()-=\:;"',.?/eE}}] → [/wiki/Template:Pagename/Ss!]

Overall three

edit

Character encoding uses the hex character code.

Anchorencode employs dot-encoding. Anchorencoding encodes [[pagename # the anchor]]. You put it after the number # sign, to encode characters in section headings, which can be anything, even be characters not allowed in titles. For example, localurl is for titles; it fails the number # sign test.

But fullurl and canonicalurl also do dot encoding and they handle the pound sign correctly, dis-allowing forbidden characters in the titles, encoding the number # sign after any initial number # sign, and allowing disallowed characters in the section headings.

So canonicalurl and fullurl allow disallowed characters to the right of a number # sign in there argument. So that take full care of anchorencode needs. Some characters canonicalurl and fullurl just can't take anywhere? They both interpret the pipe | character as the sign of a parameter. They are in between wiki and web, and translate from | (WIKI parameter) to & (QUERY URL parameter). But they both take the number # sign as a sign of a section, and encode the two sides with different character allowances.

For example if you put any of the disallowed characters {}[]<>|# between the 99 nines of canonicalurl or fullurl its acts like plain wikitext.

{{ canonicalurl:__99__##[] {} <>}}https://en.wikipedia.org/wiki/99##[]_{}_<>
https:{{ fullurl:__99__##[] {} <>}}https://en.wikipedia.org/wiki/99##[]_{}_<>
{{ anchorencode: #[] {} <>}}
  1. []_{}

Anchorencode encodes things just like canonicalurl and fullurl, but anchorencode ignores <>.

Fullpagename # anchorencodedSectionHeading? Maybe in

https:{{SERVER}}{{localurl:Operating system}}#{{anchorencode:See also}}
https://en.wikipedia.org/wiki/Operating_system#See_also

URL encoding can take a parameter for encoding path, query, or wiki. It only changes how it encodes the space character.

urlencode
Arg Space
none +
QUERY +
WIKI _
PATH %20
Forbidden characters: < { [ # ] } > (and the pipe!)
{{fullurl:template:pagename/Ss#_+{}[]<>eE}} //en.wikipedia.org/wiki/Template:Pagename/Ss#_+{}[]<>eE
{{canonicalurl:template:pagename/Ss#_+{}[]<>eE}} https://en.wikipedia.org/wiki/Template:Pagename/Ss#_+{}[]<>eE
{{localurl:template:pagename/Ss#Everyngith ignored}} /wiki/Template:Pagename/Ss
{{localurl:template:pagename/Ss<}} {{localurl:template:pagename/Ss<Everthing broken}}
{{localurl:template:pagename/Ss!@$%^&*()+:";',.?eE}} /wiki/Template:Pagename/Ss!@$%25%5E%26*()%2B:%22;%27,.%3FeE


{{fullurl:notaNS:pagename|yourParam}} //en.wikipedia.org/w/index.php?title=NotaNS:pagename&yourParam
{{canonicalurl:notaNS:pagename|yourParam}} https://en.wikipedia.org/w/index.php?title=NotaNS:pagename&yourParam
{{localurl:notaNS:pagename|yourParam}} /w/index.php?title=NotaNS:pagename&yourParam


{{urlencode:Ss!#@$%^&*()+-=\:;"',.?/eE}} Ss%21%40%24%25%5E%26%2A%28%29%2B-%3D%5C%3A%3B%22%27%2C.%3F%2FeE
{{urlencode:Ss!@#$%^&*()+-=\:;"',.?/eE|WIKI}} Ss!@$%25%5E%26*()%2B-%3D%5C:;%22%27,.%3F/eE
{{urlencode:Ss!@#$%^&*()+-=\:;"',.?/eE|PATH}} Ss%21%40%24%25%5E%26%2A%28%29%2B-%3D%5C%3A%3B%22%27%2C.%3F%2FeE


{{urlencode:Ss#<>[]{}_eE|QUERY}} Ss+%23%3C%3E%5B%5D%7B%7D_eE
{{urlencode:Ss#<>[]{}_eE|PATH}} Ss%20%23%3C%3E%5B%5D%7B%7D_eE
{{urlencode:Ss#<>[]{}_eE|WIKI}} Ss_%23%3C%3E%5B%5D%7B%7D_eE
{{anchorencode:Ss!#@$%^&*()+-=\:;"',.?/eE}} Ss!#@$%^&*()+-=\:;"',.?/eE
{{anchorencode:Ss#<>[]{}_eE}} Ss#[]{}_eE (ignored the <>)
{{ anchorencode: Ss á é eE }} Ss_á_é_eE

Examples

edit

Operating system

edit

When is URL needed, and the url-parameters?

{{ fullurl: operating system }]
//en.wikipedia.org/wiki/Operating_system →
[1] OK

{{ fullurl: operating system | title=operating system }}
//en.wikipedia.org/w/index.php?title=Operating_system&title=operating system →
system NO

{{ fullurl: operating system | title=operating_system }}
//en.wikipedia.org/w/index.php?title=Operating_system&title=operating_system →
[2] OK

{{ fullurl: operating system | query = operating_system }}
//en.wikipedia.org/w/index.php?title=Operating_system&query = operating_system →
= operating_system NO

{{ fullurl: operating system | query=operating_system }}
//en.wikipedia.org/w/index.php?title=Operating_system&query=operating_system →
[3] OK

{{ canonicalurl: operating system }}
https://en.wikipedia.org/wiki/Operating_system

{{ urlencode: operating system }}
operating+system

{{ fullurl: {{ urlencode: operating system }}
//en.wikipedia.org/wiki/Operating%2Bsystem →
[4] NO

{{ fullurl: { urlencode: operating system | query }}
//en.wikipedia.org/wiki/Operating%2Bsystem →
[5] NO

{{ fullurl: { urlencode: operating system | path }} }
//en.wikipedia.org/wiki/Operating_system →
[6] OK

{{ fullurl: { urlencode: operating system | wiki }}
//en.wikipedia.org/wiki/Operating_system →
[7] OK

{{ canonicalurl: {{ urlencode: operating system }}
https://en.wikipedia.org/wiki/Operating%2Bsystem NO

Encoding characters

edit

{{ fullurl:E-prime#Different functions of "to be" }}
//en.wikipedia.org/wiki/E-prime#Different_functions_of_"to_be" →
"to_be" OK

Can't Stop Won't Stop
{{fullurl: Can't Stop Won't Stop }}
//en.wikipedia.org/wiki/Can%27t_Stop_Won%27t_Stop →
[8] OK
{{canonicalurl: Can't Stop Won't Stop }} →
https://en.wikipedia.org/wiki/Can%27t_Stop_Won%27t_Stop OK

2+2
{{ fullurl: 2+2 }}
//en.wikipedia.org/wiki/2%2B2 →
[9] OK
{{ canonicalurl: 2+2 }} →
https://en.wikipedia.org/wiki/2%2B2 OK

URL parameters

edit

{{ SERVER }}{{ localurl: Special:Search | title=Help:magic_words#Variables }}
//en.wikipedia.org/w/index.php?title=Special:Search&title=Help:magic_words#Variables →
[10] OK

{{ fullurl: Special:Search | title=Help:magic_words#Variables }}
//en.wikipedia.org/w/index.php?title=Special:Search&title=Help:magic_words#Variables →
[11] OK

{{ canonicalurl:Special:Search | title=Help:magic_words#Variables }}
https://en.wikipedia.org/w/index.php?title=Special:Search&title=Help:magic_words#Variables
[12] OK