fix title metadata on blogs, reorg needed to do it, simplified tag some
parent
908e004b4c
commit
e4ccc4f3b0
|
@ -88,7 +88,7 @@ sub preprocess_inline (@) { #{{{
|
|||
my $link=htmlpage(bestlink($params{page}, $page));
|
||||
$link=abs2rel($link, dirname($params{page}));
|
||||
$template->param(pageurl => $link);
|
||||
$template->param(title => $page);
|
||||
$template->param(title => pagetitle(basename($page)));
|
||||
$template->param(content => get_inline_content($page, $params{page}))
|
||||
if $params{archive} eq "no";
|
||||
$template->param(ctime => displaytime($pagectime{$page}));
|
||||
|
@ -161,25 +161,32 @@ sub genrss ($@) { #{{{
|
|||
|
||||
my $url="$config{url}/".htmlpage($page);
|
||||
|
||||
my $template=template("rsspage.tmpl", blind_cache => 1,
|
||||
my $itemtemplate=template("rssitem.tmpl", blind_cache => 1,
|
||||
die_on_bad_params => 0);
|
||||
|
||||
my @items;
|
||||
my $content="";
|
||||
foreach my $p (@pages) {
|
||||
push @items, {
|
||||
itemtitle => pagetitle(basename($p)),
|
||||
itemurl => "$config{url}/$renderedfiles{$p}",
|
||||
itempubdate => date_822($pagectime{$p}),
|
||||
itemcontent => absolute_urls(get_inline_content($p, $page), $url),
|
||||
page => $p, # used by category adding code in tag plugin
|
||||
} if exists $renderedfiles{$p};
|
||||
next unless exists $renderedfiles{$p};
|
||||
|
||||
$itemtemplate->param(
|
||||
title => pagetitle(basename($p)),
|
||||
url => "$config{url}/$renderedfiles{$p}",
|
||||
pubdate => date_822($pagectime{$p}),
|
||||
content => absolute_urls(get_inline_content($p, $page), $url),
|
||||
);
|
||||
run_hooks(pagetemplate => sub {
|
||||
shift->(page => $p, destpage => $page,
|
||||
template => $itemtemplate);
|
||||
});
|
||||
$content.=$itemtemplate->output;
|
||||
$itemtemplate->clear_params;
|
||||
}
|
||||
|
||||
my $template=template("rsspage.tmpl", blind_cache => 1);
|
||||
$template->param(
|
||||
title => $config{wikiname},
|
||||
wikiname => $config{wikiname},
|
||||
pageurl => $url,
|
||||
items => \@items,
|
||||
content => $content,
|
||||
);
|
||||
|
||||
run_hooks(pagetemplate => sub {
|
||||
|
|
|
@ -65,19 +65,10 @@ sub pagetemplate (@) { #{{{
|
|||
}, @{$tags{$page}}
|
||||
]) if exists $tags{$page} && @{$tags{$page}} && $template->query(name => "tags");
|
||||
|
||||
if ($template->query(name => "items")) {
|
||||
# It's an rss template. Modify each item in the feed,
|
||||
# adding any categories based on the page for that item.
|
||||
foreach my $item (@{$template->param("items")}) {
|
||||
my $p=$item->{page};
|
||||
if (exists $tags{$p} && @{$tags{$p}}) {
|
||||
$item->{categories}=[];
|
||||
foreach my $tag (@{$tags{$p}}) {
|
||||
push @{$item->{categories}}, {
|
||||
category => $tag,
|
||||
};
|
||||
}
|
||||
}
|
||||
if ($template->query(name => "pubdate")) {
|
||||
# It's an rss template. Add any categories.
|
||||
if (exists $tags{$page} && @{$tags{$page}}) {
|
||||
$template->param(categories => [map { category => $_ }, @{$tags{$page}}]);
|
||||
}
|
||||
}
|
||||
} # }}}
|
||||
|
|
|
@ -20,8 +20,7 @@ ikiwiki (1.13) UNRELEASED; urgency=low
|
|||
* Avoid outputting duplicate meta info.
|
||||
* Include title metadata on aggregated posts for capitalised and un-munged
|
||||
titles.
|
||||
* Title metadata of inlined pages now shows up in blogs, although not yet
|
||||
in their rss feeds.
|
||||
* Title metadata of inlined pages now shows up in blogs and rss feeds.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 30 Jul 2006 19:22:11 -0400
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ It ships with some basic templates which can be customised:
|
|||
* `passwordmail.tmpl` - Not a html template, this is used to
|
||||
generate the mail with the user's password in it.
|
||||
* `rsspage.tmpl` - Used for generating rss feeds for [[blog]]s.
|
||||
* `rssitem.tmpl` - Used for generating individual items on rss feeds.
|
||||
* `inlinepage.tmpl` - Used for adding a page inline in a blog
|
||||
page.
|
||||
* `inlinepagetitle.tmpl` - Used for listing a page inline in a blog
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<item>
|
||||
<title><TMPL_VAR TITLE ESCAPE=HTML></title>
|
||||
<guid><TMPL_VAR URL></guid>
|
||||
<link><TMPL_VAR URL></link>
|
||||
<TMPL_IF NAME="CATEGORIES">
|
||||
<TMPL_LOOP NAME="CATEGORIES">
|
||||
<category><TMPL_VAR NAME=CATEGORY></category>
|
||||
</TMPL_LOOP>
|
||||
</TMPL_IF>
|
||||
<pubDate><TMPL_VAR PUBDATE></pubDate>
|
||||
<description><![CDATA[<TMPL_VAR CONTENT>]]></description>
|
||||
</item>
|
|
@ -1,22 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title><TMPL_VAR TITLE ESCAPE=HTML></title>
|
||||
<link><TMPL_VAR PAGEURL></link>
|
||||
<description><TMPL_VAR WIKINAME ESCAPE=HTML></description>
|
||||
<TMPL_LOOP NAME="ITEMS">
|
||||
<item>
|
||||
<title><TMPL_VAR ITEMTITLE ESCAPE=HTML></title>
|
||||
<guid><TMPL_VAR ITEMURL></guid>
|
||||
<link><TMPL_VAR ITEMURL></link>
|
||||
<TMPL_IF NAME="CATEGORIES">
|
||||
<TMPL_LOOP NAME="CATEGORIES">
|
||||
<category><TMPL_VAR NAME=CATEGORY></category>
|
||||
</TMPL_LOOP>
|
||||
</TMPL_IF>
|
||||
<pubDate><TMPL_VAR ITEMPUBDATE></pubDate>
|
||||
<description><![CDATA[<TMPL_VAR ITEMCONTENT>]]></description>
|
||||
</item>
|
||||
</TMPL_LOOP>
|
||||
</channel>
|
||||
<channel>
|
||||
<title><TMPL_VAR TITLE ESCAPE=HTML></title>
|
||||
<link><TMPL_VAR PAGEURL></link>
|
||||
<description><TMPL_VAR WIKINAME ESCAPE=HTML></description>
|
||||
<TMPL_VAR CONTENT>
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
Loading…
Reference in New Issue