I’ve been thinking about comments on my blog ever since I started using nanoblogger. While nb is great (with VIM and markdown) I’m starting to miss the comment stuff.

Comment systems for nb

I’ve been searching for a good comment system that I want to use for nb. It should meet the following criteria:

  1. Simple moderation system. With all the spam nowadays every comment made should be moderated.
  2. Should not require a database, the filesystem is enough of a database to handle these tasks. This does imply that there will be no user accounts, nor the possibility to edit your comments.
  3. Simple interface with nanoblogger.

I’ve looked at blogkomm, haloscan and cgicomment.

blogkomm Looks nice, easy to setup, but I could not get the moderation to work. Also I looked like all the comments are kept in a single file called comments.txt, but I prefer the comments to be more linked to the article they belong to.

haloscan This is a external site which takes care of the comments. So here I’m I running nb because I prefer to keep things simple and then I outsource my comment system to a site which I do not control and which does rely on databases and what not.

cgicomment Could … not … found … the … damn … thing … anywhere.

Conclusion

I need to write my own system. I have the following in mind:

  • Simple PHP based system
  • All comments are put in a ’to-be-moderated’ directory. A simple tool called nbadmin will control if a comment is let through. You can compare it with listadmin which you can use when you use mailman. If you ‘OK’ a comment, the comment will be moved to another directory,
  • Notification of new comments to ‘someone’. This will probably will be implemented as a cron job which scans the ’to-be-moderated’ directories.
  • Some PHP functions which allow the display of comments and which can be integrated with the rest of nanoblogger.

The implementation will (probably) result in one PHP file called comment.php which needs to be included in your templates.

I’m still in the early stages of this project and I do not yet know if it will work like I want.