ikiwiki/ plugins/ comments

Plugin: comments
Author: Simon McVittie
Included in ikiwiki: yes
Enabled by default: no
Included in goodstuff: no
Currently enabled: yes

This plugin adds "blog-style" comments. Unlike the wiki-style freeform Discussion pages, these comments are posted by a simple form, cannot later be edited, and rss/atom feeds are provided of each page's comments.

When using this plugin, you should also enable htmlscrubber and either htmltidy or htmlbalance. Directives are filtered out by default, to avoid commenters slowing down the wiki by causing time-consuming processing. As long as the recommended plugins are enabled, comment authorship should hopefully be unforgeable by CGI users.

The intention is that on a non-wiki site (like a blog) you can lock all pages for admin-only access, then allow otherwise unprivileged (or perhaps even anonymous) users to comment on posts. See the documentation of the opendiscussion, lockedit and anonok pages for details on locking down a wiki so readers can only post comments.

Individual comments are stored as internal-use pages named something like `page/comment_1`, `page/comment_2`, etc. These pages internally use a comment directive.

There are some global options for the setup file:

- `comments_pagespec`: PageSpec of pages where comments are allowed. The default is not to allow comments on any pages. To allow comments to all posts to a blog, you could use `blog/posts/* and !*/Discussion`.
- `comments_closed_pagespec`: PageSpec of pages where posting of new comments is closed, but any existing comments will still be displayed. Often you will list a set of individual pages here. For example: `blog/controversial or blog/flamewar`
- `comments_pagename`: if this is e.g. `comment_` (the default), then comment pages will be named something like `page/comment_12`
- `comments_allowdirectives`: if true (default false), comments may contain IkiWiki directives
- `comments_commit`: if true (default true), comments will be committed to the version control system
- `comments_allowauthor`: if true (default false), anonymous commenters may specify a name for themselves, and the [[!meta author]] and [[!meta authorurl]] directives will not be overridden by the comments plugin
- `comments_allowformats`: if defined (default undefined), comments must be written in a format within the specified string. The corresponding format plugin must also be enabled. E.g. `comments_allowformats: txt mdwn` restricts comments to plain text and markdown, assuming those plugins are enabled.

## comment moderation

If you enable the blogspam plugin, comments that appear spammy will be held for moderation. (Or with the moderatedcomments plugin, all comments will be held.) Wiki admins can access the comment moderation queue via a button on their Preferences page.

Comments pending moderation are not checked into revision control. To find unmoderated comments, `find /your/ikiwiki/srcdir -name '*._comment_pending'` To manually moderate a comment, just rename the file, removing the "_pending" from the end, and check it into revision control.