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...
Halloween Animal Beds
A Tangfastic Mess
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

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.