X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/bb93fccf0690344aa77f9538a508959a6de09847..f7fc062a12dd18cb153ede4d574fd792bc996218:/IkiWiki/Plugin/comments.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 6184c6031..fd9f0acb4 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -34,29 +34,24 @@ sub getsetup () { safe => 1, rebuild => 1, }, - # Pages where comments are shown, but new comments are not - # allowed, will show "Comments are closed". - comments_shown_pagespec => { + comments_pagespec => { type => 'pagespec', - example => 'blog/*', - default => '', - description => 'PageSpec for pages where comments will be shown inline', + example => 'blog/* and !*/Discussion', + description => 'PageSpec of pages where comments are allowed', link => 'ikiwiki/PageSpec', safe => 1, rebuild => 1, }, - comments_open_pagespec => { + comments_closed_pagespec => { type => 'pagespec', - example => 'blog/* and created_after(close_old_comments)', - default => '', - description => 'PageSpec for pages where new comments can be posted', + example => 'blog/controversial or blog/flamewar', + description => 'PageSpec of pages where posting new comments is not allowed', link => 'ikiwiki/PageSpec', safe => 1, rebuild => 1, }, comments_pagename => { type => 'string', - example => 'comment_', default => 'comment_', description => 'Base name for comments, e.g. "comment_" for pages like "sandbox/comment_12"', safe => 0, # manual page moving required @@ -64,7 +59,6 @@ sub getsetup () { }, comments_allowdirectives => { type => 'boolean', - default => 0, example => 0, description => 'Interpret directives in comments?', safe => 1, @@ -72,7 +66,6 @@ sub getsetup () { }, comments_allowauthor => { type => 'boolean', - default => 0, example => 0, description => 'Allow anonymous commenters to set an author name?', safe => 1, @@ -81,7 +74,6 @@ sub getsetup () { comments_commit => { type => 'boolean', example => 1, - default => 1, description => 'commit comments to the VCS', # old uncommitted comments are likely to cause # confusion if this is changed @@ -90,6 +82,17 @@ sub getsetup () { }, } +sub checkconfig () { + $config{comments_commit} = 1 + unless defined $config{comments_commit}; + $config{comments_pagespec} = '' + unless defined $config{comments_pagespec}; + $config{comments_closed_pagespec} = '' + unless defined $config{comments_closed_pagespec}; + $config{comments_pagename} = 'comment_' + unless defined $config{comments_pagename}; +} + sub htmlize { my %params = @_; return $params{content}; @@ -190,12 +193,10 @@ sub preprocess { $pagestate{$page}{meta}{title} = $params{subject}; } - my $baseurl = urlto($params{destpage}, undef, 1); - my $anchor = ""; if ($params{page} =~ m/\/(\Q$config{comments_pagename}\E\d+)$/) { - $anchor = $1; + $pagestate{$page}{meta}{permalink} = urlto($params{destpage}, undef, 1). + "#".$params{page}; } - $pagestate{$page}{meta}{permalink} = "${baseurl}#${anchor}"; eval q{use Date::Parse}; if (! $@) { @@ -203,17 +204,9 @@ sub preprocess { $IkiWiki::pagectime{$page} = $time if defined $time; } - # FIXME: hard-coded HTML (although it's just to set an ID) - return "