User:Cpiral/sandbox/E


 * > /123/ | /123/456/


 * > /1/2/3/ | /1/2/3/4/5/6/

cirreous

the letter—que

bare, template fullurl is

bare, template canonicalurl is

fullurl:arg is

canonicalurl:arg is

canonicalurl|FULLPAGENAMEE is

canonicalurl:FULLPAGENAMEE is

fullpagenamee is

fullpagename is

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): Not shown or tested in the following: |



pre poste

pre poste pre  poste

Documentation
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 is any searchable text pattern:
 * //en.wikipedia.org

One path is any of the the following searchable path2 text patterns: (suffixed to any of the path1 forms below) where namespace can be any text pattern: and pagename can be any text pattern: All these ending with NAME}} can have the NAMEE}} form too. Path1 is where query is OR and each path2 can have and each *URL can have
 * namespace:pagename
 * namespace:pagename
 * basepagename/subpagename
 * ../subpagename
 * basepagename
 * rootpagename
 * articlepagename
 * subjectpagename
 * talkpagename
 * ../, and repetitive
 * talkpagename
 * ../, and repetitive
 * /w/query
 * /query
 * index.php?title=
 * index.php?pageid=
 * /wiki/
 * string
 * an encoding parameter attached
 * |WIKI
 * |PATH

Section can be
 * #section
 * #{ {ANCHORENCODE|section}}

Overall two
{ {fullurl: t emplate: p agename/Ss!:#_+@$%^&*-=\:;"',.?/eE}}] &rarr; [in brackets] &rarr; [] { {canonicalurl: t emplate: p agename/Ss!:#_+@$%^&*-=\:;"',.?/eE}} &rarr;

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

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

{ {localurl: t emplate: p agename/Ss!:_+@$%^&*-=\:;" # ',.?/eE}}] &rarr; [] { {localurl:template:pagename/Ss! # :_+@$%^&*-=\:;"',.?/eE}}] &rarr; []

Overall three
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__##[] {} <>}} &rarr;
 * https:{ { fullurl:__99__##[] {} <>}} &rarr; https:
 * { { anchorencode: #[] {} <>}} &rarr;

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

Fullpagename # anchorencodedSectionHeading? Maybe in
 * https:{ {SERVER}}{ {localurl:Operating system}}#{ {anchorencode:See also}} &rarr;
 * https:#

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

Operating system
When is URL needed, and the url-parameters?

{ { fullurl: operating system }] &rarr; &rarr; [] OK

{ { fullurl: operating system | title=operating system } } &rarr; &rarr; [] NO

{ { fullurl: operating system | title=operating_system } } &rarr; &rarr; [] OK

{ { fullurl: operating system | query = operating_system } } &rarr; &rarr; [] NO

{ { fullurl: operating system | query=operating_system } } &rarr; &rarr; [] OK

{ { canonicalurl: operating system } } &rarr;

{ { urlencode: operating system } } &rarr;

{ { fullurl: { { urlencode: operating system } } &rarr; &rarr; [] NO

{ { fullurl: { urlencode: operating system | query } } &rarr; &rarr; [] NO

{ { fullurl: { urlencode: operating system | path } } } &rarr; &rarr; [] OK

{ { fullurl: { urlencode: operating system | wiki } } &rarr; &rarr; [] OK

{ { canonicalurl: { { urlencode: operating system } } &rarr; NO

Encoding characters
{ { fullurl:E-prime#Different functions of "to be" }} &rarr; &rarr; [] OK

Can't Stop Won't Stop &rarr; { {fullurl: Can't Stop Won't Stop }} &rarr; &rarr; [] OK { {canonicalurl: Can't Stop Won't Stop }} &rarr; OK

2+2 &rarr; { { fullurl: 2+2 }} &rarr; &rarr; [] OK { { canonicalurl: 2+2 }} &rarr; OK

URL parameters
{ { SERVER }}{ { localurl: Special:Search | title=Help:magic_words#Variables }} &rarr; &rarr; [] OK

{ { fullurl: Special:Search | title=Help:magic_words#Variables }} &rarr; &rarr; [] OK

{ { canonicalurl:Special:Search | title=Help:magic_words#Variables }} &rarr; &rarr; [] OK