about standards, webdesign, usability and open source


Nuclues CMS allows you to set up your own weblog. I’ve committed several patches and bugfixes which are now part of the current release of Nucleus CMS.

Nucleus CMS is extensible using plugins. I rewrote several existing plugins and created a large number of new plugins. I wrote most of the plugins for use on my own weblog, and decided to share them with the world. These plugins are no longer supported. I’ve stopped any further development and will no longer issue any updates. If somebody else wants to maintain these plugins please let me know and I’ll include a link to the latest version.

Gravatar 0.7

A gravatar, or globally recognized avatar, is quite simply an 80×80 pixel avatar image that follows you from weblog to weblog appearing beside your name when you comment on gravatar enabled sites. Avatars help identify your posts on web forums, so why not on weblogs?

NoNoFollow 0.1

In order to combat comment spam Nucleus 3.2 introduced support for the ‘nofollow’ standard. This standard was created by Google, Yahoo and MSN and makes sure that any link which has the rel attribute set to ‘nofollow’ is not counted when calculating Pagerank. Unfortunately this behavoir can also do harm. For this reason we now have the NoNoFollow plugin which will remove the ‘nofollow’ value from links inside comments.

Revision 0.7

Everytime you make a change to a story, the older version will be lost forever. This plugin will change this. If you make a change to a story a new revision of that story will be created and that revision will be the default revision that is shown to visitors, but all the other revisions must still be available. You are able to quickly and easily see the changes between revisions and are able to revert back to an older revision in case you do not like one of the changes you have made.

SitemapExporter 0.5

Automatically create sitemaps that can be read by Google and Yahoo to help index your website.

LinkBack 0.1

The LinkBack plugin is an experimental replacement for TrackBacks. This plugin will keep an eye on the pages that link to your website and if it detects a new link back to your site it will try to determine if that site has a RSS or Atom feed. If it finds a feed it will parse it and will attempt to find the entry that corresponds with the page that linked to your site. If it finds it, it will create a new comment on your own weblog. The comments contains a link back to the other website, the title and a summary of their article. Take a look at some random articles on my website and you will notice that some contain these automatically generated LinkBacks.

Because retrieving the LinkBack can be processor intensive I’ve disabled ‘live’ LinkBack processing. Instead it stores just the referrer URLs. You can use a cron job to regularly process the stored referrers. I recommend a 15 minute interval for the cron job. Let your cron job retrieve action.php with the following parameters:


The secret password can be configured in the plugin options.

If you use Nucleus 3.3 SVN, you must replace the entity.php file in the nucleus/libs with the one provided in the NP_LinkBack.zip file. This is very important because otherwise this plugin will not add a summary. If you use Nucleus 3.2 you do not need to do this.

PDF Pro 0.1

Automatically create a printable PDF alternative for each article you write. This plugin uses the htmldoc command line utility for converting HTML to PDF. This plugin also includes a skin, you can use this for customizing the PDF output. If you use fancy URLs simply append “.pdf” to the URL to get the PDF version. Otherwise append “?format=pdf”.

RSS/Atom 1.0

Completely rewritten version of the old RSS/Atom plugin. It features a completely new feed parser library that supports all modern feeds. Entries are cached in the database making it much faster than previously. There are some minor changes in the way the plugin is called, so ti will not be a drop in replacement for the old plugin, but it should be familiar to anybody that used the old plugin.

<%RSSAtom(http://rss.slashdot.org/Slashdot/slashdot, 0, 5)%>

Updates are are now handled through a cron job. It will automatically detect any feeds called by the skinvar and fetch them. The cronjob should be called every 30 to 60 minutes. Just let your cron job call the action.php script with the following parameters:


The secret password can be configured in the plugin options.

Snippet 0.1

Create little snippets that can be included into skins and templates. Ideal for creating and editing global headers and footers and other commonly used content. Example: create a new snippet with the title header and include in your skins using the following skinvar: <%Snippet(header)%>.

Static 0.2

Create static HTML pages for you weblog. Build an about page or a whole structure of static pages. All the pages under the Code and Artwork sections on this weblog are build using this plugin. It is even possible to create a hierarchical structure of pages. Simply create a new static page by providing its title and the URL that must be used for that page, for example the URL of this page is code/nucleus/experimental and the URL of its parent page is code/nucleus.

You can also include an automatically
generate menus starting from a random point in the hierarchical structure. The menu on the left of this text was generated by the following skinvar: <%Static(index,code)%>.
To create a menu of only the nucleus pages use the following skinvar: <%Static(index,code/nucleus)%> or create a menu of all static pages: <%Static(index)%>.

Place the static.php file in the root of your weblog. The code/nucleus can be access by using the id parameter: static.php?id=code/nucleus. If you use fancy URLs you need to use mod_rewrite to rewrite URLs like static/code/nucleus to their regular equivalent.

RewriteEngine On
RewriteBase /
RewriteRule ^static/(.+) /static.php?id=$1 [L]

TagsToSitemap 0.2

Companion plugin for SitemapExporter. This plugin ensures that the pages created by the Tags plugin are also included in the sitemap. The Tags plugin is written by Anand.

Antispam 0.3

A basic framework that implements the SpamCheck 2.0 API for Nucleus 3.2. You need this plugin if you want to use Akismet or MultiRBL on Nucleus 3.2. This plugin is not needed anymore in Nucleus 3.3 SVN, because the SVN version already supports the SpamCheck 2.0 API.

Moderate 1.0

This plugin allows administrators and team members of a blog to moderate comments. Comments are placed in the moderation queue and can be easily approved. The current version will work with both Nucleus 3.2 and Nucleus 3.3 SVN.

Akismet 0.7

Check for comment and trackback spam with the Akismet service. This plugin uses the SpamCheck 2.0 API. To use this plugin you need one of the following:

  • Nucleus 3.23 with Moderate 1.0
  • Nucleus 3.23 with Antispam 0.3
  • Nucleus 3.3 SVN (with or without Moderate 1.0)

MultiRBL 1.0

Check for comment and trackback spam with multiple blacklists. This plugin uses the SpamCheck 2.0 API. To use this plugin you need one of the following:

  • Nucleus 3.23 with Moderate 1.0
  • Nucleus 3.23 with Antispam 0.3
  • Nucleus 3.3 SVN (with or without Moderate 1.0)

SpamKiller 0.1

A simple plugin that filters comments for spam by using a list of bad words. This plugin uses the SpamCheck 2.0 API. To use this plugin you need one of the following:

  • Nucleus 3.23 with Moderate 1.0
  • Nucleus 3.23 with Antispam 0.3
  • Nucleus 3.3 SVN (with or without Moderate 1.0)

?Captcha Prototype

A modified version of the CAPTCHA plugin. Instead of always showing the CAPTCHA, it will first check for spam, using the SpamCheck 2.0 API. If it is marked as spam, it will show the CAPTCHA. This means that regular users will not be bothered by the CAPTCHA and false positives will be accepted after completing the CAPTCHA challenge.

Referrer 1.0.1

NP_Referrer is a plugin for Nucleus which allows you track referring websites and webpages. The resulting data can be used to print a list of the top referrers on each page, or a list of recent referrers. This plugin has build in anti-spam measures and can additionally use the NP_Blacklist plugin. Manage your plugins using the administration interface and block unwanted plugins.

Trackback 2.0.3

In a nutshell, TrackBack was designed to provide a method of notification between websites: it is a method of person A saying to person B, “This is something you may be interested in.” To do that, person A sends a TrackBack ping to person B. This plugin implements functionality to both send and receive trackbacks pings based on version 1.2 of the trackback specification.