fix feed urls
The fix for colons involved adding "./" to some urls. Due to the weird way inline called urlto, these snuck into feed urls and permalinks. Fix it by adding an optional third parameter to urlto.master
parent
af5299677e
commit
a71b9a1cf1
|
@ -545,10 +545,11 @@ sub beautify_urlpath ($) { #{{{
|
||||||
return $url;
|
return $url;
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub urlto ($$) { #{{{
|
sub urlto ($$;$) { #{{{
|
||||||
my $to=shift;
|
my $to=shift;
|
||||||
my $from=shift;
|
my $from=shift;
|
||||||
|
my $absolute=shift;
|
||||||
|
|
||||||
if (! length $to) {
|
if (! length $to) {
|
||||||
return beautify_urlpath(baseurl($from)."index.$config{htmlext}");
|
return beautify_urlpath(baseurl($from)."index.$config{htmlext}");
|
||||||
}
|
}
|
||||||
|
@ -557,6 +558,10 @@ sub urlto ($$) { #{{{
|
||||||
$to=htmlpage($to);
|
$to=htmlpage($to);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($absolute) {
|
||||||
|
return $config{url}.beautify_urlpath("/".$to);
|
||||||
|
}
|
||||||
|
|
||||||
my $link = abs2rel($to, dirname(htmlpage($from)));
|
my $link = abs2rel($to, dirname(htmlpage($from)));
|
||||||
|
|
||||||
return beautify_urlpath($link);
|
return beautify_urlpath($link);
|
||||||
|
|
|
@ -419,13 +419,13 @@ sub genfeed ($$$$$@) { #{{{
|
||||||
my $page=shift;
|
my $page=shift;
|
||||||
my @pages=@_;
|
my @pages=@_;
|
||||||
|
|
||||||
my $url=URI->new(encode_utf8($config{url}."/".urlto($page,"")));
|
my $url=URI->new(encode_utf8(urlto($page,"",1)));
|
||||||
|
|
||||||
my $itemtemplate=template($feedtype."item.tmpl", blind_cache => 1);
|
my $itemtemplate=template($feedtype."item.tmpl", blind_cache => 1);
|
||||||
my $content="";
|
my $content="";
|
||||||
my $lasttime = 0;
|
my $lasttime = 0;
|
||||||
foreach my $p (@pages) {
|
foreach my $p (@pages) {
|
||||||
my $u=URI->new(encode_utf8($config{url}."/".urlto($p, "")));
|
my $u=URI->new(encode_utf8(urlto($p, "", 1)));
|
||||||
my $pcontent = absolute_urls(get_inline_content($p, $page), $url);
|
my $pcontent = absolute_urls(get_inline_content($p, $page), $url);
|
||||||
|
|
||||||
$itemtemplate->param(
|
$itemtemplate->param(
|
||||||
|
@ -521,7 +521,7 @@ sub pingurl (@) { #{{{
|
||||||
|
|
||||||
foreach my $page (keys %toping) {
|
foreach my $page (keys %toping) {
|
||||||
my $title=pagetitle(basename($page), 0);
|
my $title=pagetitle(basename($page), 0);
|
||||||
my $url="$config{url}/".urlto($page, "");
|
my $url=urlto($page, "", 1);
|
||||||
foreach my $pingurl (@{$config{pingurl}}) {
|
foreach my $pingurl (@{$config{pingurl}}) {
|
||||||
debug("Pinging $pingurl for $page");
|
debug("Pinging $pingurl for $page");
|
||||||
eval {
|
eval {
|
||||||
|
|
|
@ -582,12 +582,15 @@ time.
|
||||||
|
|
||||||
This is the standard gettext function, although slightly optimised.
|
This is the standard gettext function, although slightly optimised.
|
||||||
|
|
||||||
#### `urlto($$)`
|
#### `urlto($$;$)`
|
||||||
|
|
||||||
Construct a relative url to the first parameter from the page named by the
|
Construct a relative url to the first parameter from the page named by the
|
||||||
second. The first parameter can be either a page name, or some other
|
second. The first parameter can be either a page name, or some other
|
||||||
destination file, as registered by `will_render`.
|
destination file, as registered by `will_render`.
|
||||||
|
|
||||||
|
If the third parameter is passed and is true, an absolute url will be
|
||||||
|
constructed instead of the default relative url.
|
||||||
|
|
||||||
#### `targetpage($$)`
|
#### `targetpage($$)`
|
||||||
|
|
||||||
Passed a page and an extension, returns the filename that page will be
|
Passed a page and an extension, returns the filename that page will be
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-07-25 15:21-0400\n"
|
"POT-Creation-Date: 2008-07-25 16:16-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -71,7 +71,7 @@ msgstr ""
|
||||||
msgid "You are banned."
|
msgid "You are banned."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:783
|
#: ../IkiWiki/CGI.pm:758 ../IkiWiki/CGI.pm:759 ../IkiWiki.pm:788
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -804,11 +804,11 @@ msgstr ""
|
||||||
#. translators: preprocessor directive name,
|
#. translators: preprocessor directive name,
|
||||||
#. translators: the second a page name, the
|
#. translators: the second a page name, the
|
||||||
#. translators: third a number.
|
#. translators: third a number.
|
||||||
#: ../IkiWiki.pm:766
|
#: ../IkiWiki.pm:771
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "%s preprocessing loop detected on %s at depth %i"
|
msgid "%s preprocessing loop detected on %s at depth %i"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../IkiWiki.pm:1214
|
#: ../IkiWiki.pm:1219
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
Loading…
Reference in New Issue