What's New
Site Map

Bits N Bobs
Food And Drink

Recipe Collections
Recipe A Week 2013
Recipe A Week 2010
A-Z of Regional Cakes
Alphabet of Nations

Selected Entries
Pinhole Photography
Keeping Quail
A different recipe each week
Friends websites
Oven Temperatures and Measuring Cups

Most popular stories
A Hamster's Home is his C...
Hamster Peanuts
Simple HDR photography wi...
A Tangfastic Mess
Halloween Animal Beds
Hamster Baby Update
Decaffeinated Coffee
Garden Fountain
Pizza, Hamsters and Ballo...
More Squirrel Photos
Not Quite HDR photography

RSS Feeds:
RSS Feed Entire Site.
RSS Feed Diary only.

Powered by Blosxom

Pinhole Photography Ring
pinhole webring logo
powered by RingSurf
Next | Previous
Random Site | List Sites

Plugin for a 'Like' button

Story location: Home / computing / blosxom /

I wrote this plugin over 4 years ago, to add a 'Like' button similar to Facebook. It is a standard Blosxom plugin which uses a bit of JavaScript to modify the page when the button is clicked.

I hadn't realised that I never uploaded it here. I have updated it to use JQuery, which replaces some if statements and browser specific code with a single line (JQuery takes care of all the browser specific stuff).

To use the plugin, copy it into the plugins folder as usual. It needs

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

adding to the head section of the webpage, like all the other JQuery based plugins here. Add the line:


where you want the button to appear.

A list of most-liked stories can be generated and is available in


The plugin is available to download here.

Updated Seemore Plugin

Story location: Home / computing / blosxom /

This website uses the seemore plugin which makes it possible to only show the start of an entry, and expand to show the full item when a link is clicked. The original version reloaded the entire page but I have modified the plugin to use JQuery so it now expands the item in-situ without having to reload.

It works in a similar fashion to the updated gallery plugin and also needs

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

to be added to the head section of the webpage.

The updated plugin can be downloaded here.

Updated Gallery Software

Story location: Home / computing / blosxom /

One problem with still using the fairly ancient Blosxom blogging software for my website is that it receives practically no updates any more and most of the plugins aren't being updated either.

Although everything still works, it would sometimes be good to have a more modern, better supported system, I have been staying with Blosxom because it would be a pain to transfer everything to a new format. One of the main problems would be the photo galleries which use ImageGallery, where the images and captions are all stored in different files, in different folders. I would need to find a way of converting the data to a new format. If I stick with Blosxom (and ImageGallery) then I would have to put up with the whole page being reloaded when a new image is selected.

Since there doesn't seem to be anything better at the moment I decided to update the plugin to use JQuery which lets you easily change document elements and load files from the server.

My new version, ImageGalleryJQ is a drop in replacement for ImageGallery but loads the images and descriptions without reloading the entire page. To use, simply rename the file to imagegallery and copy to the plugins folder. The JQuery library needs to be loaded by including something like


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

to the head section of the webpage.

All of the gallery pages in a website will automatically use the new plugin.

Previewing Posts

Story location: Home / computing / blosxom /

The Blosxom blogging system doesn't have a built in way of previewing posts before making them publicly visible. There are various plugins available but for me they seemed to overcomplicate things.

I have been using the Blosedit post editor which includes a preview option but if any Blosxom plugins are used to alter the page appearance (such as Markdown or photo galleries) then the page won't display correctly.

My solution requires the entriescache plugin to keep track of posted stories. Normally, any stories will only show if entriescache knows about them. I set the delay variable to a high number eg.

$delay = 9999;

to stop the index from being rebuilt unless I say so. This means that I can add new posts without them showing, until I tell it to rebuild the index.

To display all posts, not just those in the index, I made the following change to entriescache:

sub start {
    # Force a reindex
    $reindex = 1 if (CGI::param('reindex'));
    return 0 if (CGI::param('preview'));
    return 1;

Entries are written as normal, then they are viewed by adding ?preview=yes to the end of the URL. If am I happy with the entry, I put ?reindex=yes instead.

This method can also work with the wikieditish plugin too, by adding:

<input type="hidden" name="preview" value="yes" />

to the form in the foot.wikieditish file.

Storylog and Storyfilter plugins updated

Story location: Home / computing / blosxom /

I have updated the Storylog (v0.29) and Storyfilter (v0.39) plugins for Blosxom. Both now include file locking so there should be no problems with simultaneous access to a site causing file corruption any more.

Storylog now includes an ignore list for URLs and user agents so search engine hits can be ignored so they won't affect the 'most popular clicks' list.

Storyfilter now has the option to generate a list of all keywords, which is useful for site maps. This requires the line
meta-showkeywords: yes
to be included at the start of the story and fills the $storyfilter::allkeywords variable with the list.

Both plugins can be downloaded here.

Storylog v0.20

Story location: Home / computing / blosxom /

Storylog is another Blosxom plugin. It logs the category views (and if storyfilter is installed, optionally logs keyword links).
Download the current version (version 0.20).
Instructions are in the zip file (no perldoc yet). For a demonstration of storylog in action, see the 'Most popular clicks' in the menu bar on the left. This uses the 'combined' log of both categories and keywords.

Storyfilter Plugin v0.31

Story location: Home / computing / blosxom /

I have been steadily working on my two blosxom plugins - this one and storylog. Storyfilter is now up to version 0.31 with the following improvements:

  • Now includes documentation in the file itself, rather than in a seperate readme.
  • Keywords treates as case-insensitive
  • Only matches at the start of a keyword, for example, 'review' will still match 'reviews' but 'work' will no longer match 'network'

Download the current version (version 0.31).
Instructions are found in the file itself.

Storyfilter Plugin v0.30

Story location: Home / computing / blosxom /

I have been steadily working on my two blosxom plugins - this one and storylog. Storyfilter is now up to version 0.31 with the following improvements:

  • Now includes documentation in the file itself, rather than in a seperate readme.
  • Keywords treates as case-insensitive
  • Only matches at the start of a keyword, for example, 'review' will still match 'reviews' but 'work' will no longer match 'network'

Download the current version (version 0.31).

Storyfilter Plugin updated

Story location: Home / computing / blosxom /

I have update the plugin to version 0.23 and fixed a few problems:

  • The keyword cache file is now rebuilt from scratch rather than waiting until all the stories have been viewed.
  • Rebuilding the cache can be forced by appending ?refresh=full to the url.
  • Bug fixed which stopped stories being viewed if they were in the blosxom main directory (ie not in a category) when /keyword was being used.

Download the latest version (version 0.23).
Further instructions are in the zip file.
There are still some problems with using /keyword instead of ?keyword= but they don't seem to be critical.

Blosxom Benchmark Timings

Story location: Home / computing / blosxom /

I was curious as to how well blosxom would handle large numbers of articles - my main worry was whether it would slow down much if it had to sort through a lot of stories before displaying anything. The timings here are for 100,500,2000 and 10000 stories.

See more ....
Times are in milliseconds and are the average of 10 runs. If the'entriescache' plugin is used then blosxom seems to manage quite well.

Time (ms)
no of entries: 100 500 2000 10000
1. no plugins 2281 4091 8422 48452
2. no cache 2537 4392 12236 52570
3. entriescache reindex 2822 4533 14016 54172
4. entriescache normal 1159 1180 1269 1978


  1. All of the plugins removed before running the benchmarks
  2. All of the plugins except for entriescache
  3. entriescache using reindex=y to force reading all the files
  4. entriescahce in normal use

Blosxom seems to scale reasonably well with increased number of files, especially so when entriescache is installed. If a large number of stories are to be displayed, it's probably a good idea to have entriescache to only rebuild the cache when needed, by setting to a large number such as 999999 which would rebuild every approximately 2 years.

Storyfilter plugin

Story location: Home / computing / blosxom /

Blosxom is a pretty good bit of blog software but it's main weakness is the inability to place a story into several categories without duplicate postings. This plugin is an attempt to recify that.
Storyfilter maintains a list of keywords and allows stories to be selected according to keywords. The keywords associated with each story can be displayed and if the user clicks on one, blosxom will display only those stories which contain that keyword.

See more ....

Download the plugin (version 0.16). Full instructions are included in the zip file.

The plugin is still in it's early stages of development and should be considered a very early beta. At the moment, when a keyword is selected, blosxom will only display stories which have been viewed since the plugin was installed. This is because as stories are viewed, the keywords are be added to a list. I hope to rectify this in a later version.