Merge commit 'smcv/comments'
commit
9bee6db8c6
10
IkiWiki.pm
10
IkiWiki.pm
|
@ -949,16 +949,16 @@ sub formattime ($;$) {
|
||||||
sub beautify_urlpath ($) {
|
sub beautify_urlpath ($) {
|
||||||
my $url=shift;
|
my $url=shift;
|
||||||
|
|
||||||
if ($config{usedirs}) {
|
|
||||||
$url =~ s!/index.$config{htmlext}$!/!;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ensure url is not an empty link, and if necessary,
|
# Ensure url is not an empty link, and if necessary,
|
||||||
# add ./ to avoid colon confusion.
|
# add ./ to avoid colon confusion.
|
||||||
if ($url !~ /^\// && $url !~ /^\.\.\//) {
|
if ($url !~ /^\// && $url !~ /^\.\.?\//) {
|
||||||
$url="./$url";
|
$url="./$url";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($config{usedirs}) {
|
||||||
|
$url =~ s!/index.$config{htmlext}$!/!;
|
||||||
|
}
|
||||||
|
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -432,8 +432,8 @@ sub sessioncgi ($$) {
|
||||||
|
|
||||||
if ($form->submitted eq PREVIEW) {
|
if ($form->submitted eq PREVIEW) {
|
||||||
my $preview = IkiWiki::htmlize($location, $page, '_comment',
|
my $preview = IkiWiki::htmlize($location, $page, '_comment',
|
||||||
IkiWiki::linkify($page, $page,
|
IkiWiki::linkify($location, $page,
|
||||||
IkiWiki::preprocess($page, $page,
|
IkiWiki::preprocess($location, $page,
|
||||||
IkiWiki::filter($location,
|
IkiWiki::filter($location,
|
||||||
$page, $content),
|
$page, $content),
|
||||||
0, 1)));
|
0, 1)));
|
||||||
|
@ -447,6 +447,12 @@ sub sessioncgi ($$) {
|
||||||
$template->param(title => $form->field('subject'));
|
$template->param(title => $form->field('subject'));
|
||||||
$template->param(ctime => displaytime(time));
|
$template->param(ctime => displaytime(time));
|
||||||
|
|
||||||
|
IkiWiki::run_hooks(pagetemplate => sub {
|
||||||
|
shift->(page => $location,
|
||||||
|
destpage => $page,
|
||||||
|
template => $template);
|
||||||
|
});
|
||||||
|
|
||||||
$form->tmpl_param(page_preview => $template->output);
|
$form->tmpl_param(page_preview => $template->output);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -525,6 +531,8 @@ sub pagetemplate (@) {
|
||||||
my $page = $params{page};
|
my $page = $params{page};
|
||||||
my $template = $params{template};
|
my $template = $params{template};
|
||||||
my $shown = ($template->query(name => 'commentslink') ||
|
my $shown = ($template->query(name => 'commentslink') ||
|
||||||
|
$template->query(name => 'commentsurl') ||
|
||||||
|
$template->query(name => 'atomcommentsurl') ||
|
||||||
$template->query(name => 'comments')) &&
|
$template->query(name => 'comments')) &&
|
||||||
commentsshown($page);
|
commentsshown($page);
|
||||||
|
|
||||||
|
@ -554,6 +562,22 @@ sub pagetemplate (@) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($template->query(name => 'commentsurl')) {
|
||||||
|
if ($shown) {
|
||||||
|
$template->param(commentsurl =>
|
||||||
|
urlto($page, undef, 1).'#comments');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($template->query(name => 'atomcommentsurl') && $config{usedirs}) {
|
||||||
|
if ($shown) {
|
||||||
|
# This will 404 until there are some comments, but I
|
||||||
|
# think that's probably OK...
|
||||||
|
$template->param(atomcommentsurl =>
|
||||||
|
urlto($page, undef, 1).'comments.atom');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($template->query(name => 'commentslink')) {
|
if ($template->query(name => 'commentslink')) {
|
||||||
# XXX Would be nice to say how many comments there are in
|
# XXX Would be nice to say how many comments there are in
|
||||||
# the link. But, to update the number, blog pages
|
# the link. But, to update the number, blog pages
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use Test::More tests => 7;
|
||||||
|
|
||||||
|
BEGIN { use_ok("IkiWiki"); }
|
||||||
|
|
||||||
|
$IkiWiki::config{usedirs} = 1;
|
||||||
|
$IkiWiki::config{htmlext} = "HTML";
|
||||||
|
is(IkiWiki::beautify_urlpath("foo/bar"), "./foo/bar");
|
||||||
|
is(IkiWiki::beautify_urlpath("../badger"), "../badger");
|
||||||
|
is(IkiWiki::beautify_urlpath("./bleh"), "./bleh");
|
||||||
|
is(IkiWiki::beautify_urlpath("foo/index.HTML"), "./foo/");
|
||||||
|
is(IkiWiki::beautify_urlpath("index.HTML"), "./");
|
||||||
|
$IkiWiki::config{usedirs} = 0;
|
||||||
|
is(IkiWiki::beautify_urlpath("foo/index.HTML"), "./foo/index.HTML");
|
|
@ -39,4 +39,10 @@
|
||||||
<TMPL_VAR CONTENT ESCAPE=HTML>
|
<TMPL_VAR CONTENT ESCAPE=HTML>
|
||||||
</content>
|
</content>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
<TMPL_IF NAME="COMMENTSURL">
|
||||||
|
<link rel="comments" href="<TMPL_VAR NAME="COMMENTSURL">" type="text/html" />
|
||||||
|
</TMPL_IF>
|
||||||
|
<TMPL_IF NAME="ATOMCOMMENTSURL">
|
||||||
|
<link rel="comments" href="<TMPL_VAR NAME="ATOMCOMMENTSURL">" type="application/atom+xml" />
|
||||||
|
</TMPL_IF>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
|
@ -23,4 +23,7 @@
|
||||||
<TMPL_ELSE>
|
<TMPL_ELSE>
|
||||||
<description><TMPL_VAR CONTENT ESCAPE=HTML></description>
|
<description><TMPL_VAR CONTENT ESCAPE=HTML></description>
|
||||||
</TMPL_IF>
|
</TMPL_IF>
|
||||||
|
<TMPL_IF NAME="COMMENTSURL">
|
||||||
|
<comments><TMPL_VAR NAME="COMMENTSURL"></comments>
|
||||||
|
</TMPL_IF>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Reference in New Issue