X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/aa88d6beeff168b2bd56f90646dede7c89acc4ea..509370d91ddc4871a60d48dc1dbd95e9a2eaff48:/doc/plugins/shortcut/discussion.mdwn?ds=sidebyside diff --git a/doc/plugins/shortcut/discussion.mdwn b/doc/plugins/shortcut/discussion.mdwn index 770c95836..7f0d58dbe 100644 --- a/doc/plugins/shortcut/discussion.mdwn +++ b/doc/plugins/shortcut/discussion.mdwn @@ -3,25 +3,47 @@ disabled [[mdwn]], to get [[shortcut]] work, you need commit in a shortcuts.ext (ext is `rcs|creole|html|txt|etc`), and edit/patch [[shortcut]]. -Maybe use the $default_pageext is better than hardcode .mdwn? - -
---- shortcut.pm.orig 2009-02-12 02:05:22.000000000 -0600 -+++ shortcut.pm 2009-02-12 04:41:30.000000000 -0600 -@@ -23,9 +23,9 @@ - if (defined $config{srcdir}) { - # Preprocess the shortcuts page to get all the available shortcuts - # defined before other pages are rendered. -- my $srcfile=srcfile("shortcuts.mdwn", 1); -+ my $srcfile=srcfile("shortcuts.$config{default_pageext}", 1); - if (! defined $srcfile) { -- error(gettext("shortcut plugin will not work without a shortcuts.mdwn")); -+ error(gettext("shortcut plugin will not work without a shortcuts.$config{default_pageext}")); - } - IkiWiki::preprocess("shortcuts", "shortcuts", readfile($srcfile)); - } -+Maybe use the `default_pageext` is better than hardcode .mdwn? --[[weakish]] +> done, it will use `default_pageext` now --[[Joey]] +--- + +Instead of modifying the [[basewiki]]'s [[shortcuts]] file for local needs -- +thus copying it at some point and losing continuity with upstream enhancements -- +what about handling a `shortcuts-local.mdwn` or `shortcuts/local.mdwn` (if such +a file exists in the wiki), and additionally process that one. Possibily a +conditional `\[[!inline]]` could be used. --[[tschwinge]] + +---- + +The page says + +> Additionally, %W is replaced with the text encoded just right for Wikipedia + +with the implication that this is odd. However, it appears the escapes +actually mean: + +=%s= + If every character in the string is in the Latin-1 range, encode each + character as a http %xx escape: ö -> %F6. If not, + mangle the string: â (U+2603 SNOWMAN) -> %2603 which + actually means "&03". +=%S= + Leave the string as-is. +=%W= + Encode the string as UTF-8, then encode each byte of the UTF-8 + individually as a http %xx escape: ö -> %C3%B6, â (U+2603 SNOWMAN) -> + %E2%98%83. + +http %xx encoding is defined in terms of input bytes, not input characters, +so you can't encode arbitrary Unicode into URLs without knowing which +encoding the destination server is going to use. UTF-8 is what's +recommended by the [[!wikipedia Internationalized resource identifier]] +specification, so I suspect %W is right more often than it's wrong... + +I wonder whether %s should mean what %W does now, with a new format +character - maybe %L for Latin-1? - for the version that only works +for strings that can be encoded losslessly in Latin-1? --[[smcv]]