shortcut: Support Wikipedia's form of url-encoding for unicode characters
I think it's the wrong encoding, seems like mojibake to me, but it works now. Closes: #661198master
parent
251188cf70
commit
78737cbfbf
|
@ -73,11 +73,21 @@ sub shortcut_expand ($$@) {
|
|||
add_depends($params{destpage}, "shortcuts");
|
||||
|
||||
my $text=join(" ", @params);
|
||||
my $encoded_text=$text;
|
||||
$encoded_text=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
|
||||
|
||||
$url=~s{\%([sS])}{
|
||||
$1 eq 's' ? $encoded_text : $text
|
||||
$url=~s{\%([sSW])}{
|
||||
if ($1 eq 's') {
|
||||
my $t=$text;
|
||||
$t=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
|
||||
$t;
|
||||
}
|
||||
elsif ($1 eq 'S') {
|
||||
$text;
|
||||
}
|
||||
elsif ($1 eq 'W') {
|
||||
my $t=Encode::encode_utf8($text);
|
||||
$t=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
|
||||
$t;
|
||||
}
|
||||
}eg;
|
||||
|
||||
$text=~s/_/ /g;
|
||||
|
|
|
@ -4,6 +4,8 @@ ikiwiki (3.20120203) UNRELEASED; urgency=low
|
|||
* openid-jquery.js: Update URL of Wordpress favicon. Closes: #660549
|
||||
* Drop the version attribute on the generator tag in Atom feeds
|
||||
to make builds more reproducible. Closes: #661569 (Paul Wise)
|
||||
* shortcut: Support Wikipedia's form of url-encoding for unicode
|
||||
characters, which involves mojibake. Closes: #661198
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Wed, 08 Feb 2012 16:07:00 -0400
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ This page controls what shortcut links the wiki supports.
|
|||
* [[!shortcut name=archive url="http://web.archive.org/*/%S"]]
|
||||
* [[!shortcut name=gmap url="https://maps.google.com/maps?q=%s"]]
|
||||
* [[!shortcut name=gmsg url="https://groups.google.com/groups?selm=%s"]]
|
||||
* [[!shortcut name=wikipedia url="https://en.wikipedia.org/wiki/%s"]]
|
||||
* [[!shortcut name=wikipedia url="https://en.wikipedia.org/wiki/%W"]]
|
||||
* [[!shortcut name=wikitravel url="https://wikitravel.org/en/%s"]]
|
||||
* [[!shortcut name=wiktionary url="https://en.wiktionary.org/wiki/%s"]]
|
||||
* [[!shortcut name=debbug url="http://bugs.debian.org/%S" desc="Debian bug #%s"]]
|
||||
|
@ -69,8 +69,10 @@ This page controls what shortcut links the wiki supports.
|
|||
To add a new shortcut, use the `shortcut`
|
||||
[[ikiwiki/directive]]. In the url, "%s" is replaced with the
|
||||
text passed to the named shortcut, after [[!wikipedia url_encoding]]
|
||||
it, and '%S' is replaced with the raw, non-encoded text. The optional
|
||||
`desc` parameter controls the description of the link.
|
||||
it, and '%S' is replaced with the raw, non-encoded text.
|
||||
Additionally, `%W` is replaced with the text encoded just right for
|
||||
Wikipedia. The optional `desc` parameter controls the description of
|
||||
the link.
|
||||
|
||||
Remember that the `name` you give the shortcut will become a new
|
||||
[[ikiwiki/directive]]. Avoid using a `name` that conflicts
|
||||
|
|
Loading…
Reference in New Issue