Thursday, 2005-09-22

Colophon

This is a Blosxom weblog.

Timestamps are in UTC.

Plugins

The following plugins are used:

  • Markdown — automatic formatting of plain text to (X)HTML.
  • SmartyPants — transforms ASCII punctuation into “smart” HTML punctuation.
  • absolute — replaces relative paths in image tags and hyperlinks with their fully-qualified counterparts
  • acronym — inserts acronyms automatically in posts. This is my own hack.
  • archivetable — generates a table of links to monthly pages
  • atomfeed — Atom 1.0 syndication support for Bloxsom.
  • categories — builds a tree view over past posts by category.
  • category_desc — shows info about the current category. This is my own hack.
  • date_fullname — nicer date formatting.
  • entries_cache — caches timestamps, allowing for editing of posts without changing their internal order.
  • file — include contents of files in your blog.
  • find — search plugin.
  • flavourdir — keep your flavours in a separate directory.
  • fmtcat — provide formatting for categories
  • fnumber — Will replace text in the form of ƒ/2.8 with a Unicode hooked italic lowercase f (U0192). Handles ranges such as “ƒ/3.5-5.6”. This is my own hack.
  • hide — hides files and directories from display, but not from search.
  • interpolate_fancy — conditionally add text based on variables.
  • meta — enable metatags in entries.
  • postheadprefoot — customize head and foot flavours according to category
  • prefs — Override Blosxom’s inline configuration settings on a per-directory, per-flavour, and per-directory-per-flavour basis.
  • redirect — redirect moved entries
  • storytitle — inserts the title of the post in the <title> element.
  • submit — insert ready-made links for various linking services, like del.icio.us and Digg. This is my own hack.
  • timezone — sets the timestamps to a local timezone.
  • vrss10 — implements a verified RSS 1.0 feed. Used because the built-in RSS flavour chokes on Swedish characters. This plugin is Matthias Eberl’s enhancement of Rael Dornfest’s original rss10 plugin.

Customizations and notes

categories

Changed the spacing between the category name and number of entries to match the formatting of the archives plugin.

Wrapped each leaf <ul> in <li> to ensure XHTML compliance. Unfortunately, this makes the tree look funny. This is alleviated by setting the same class indentity to all the <ul> tags and then removing the bullets with the help of CSS.

config

This is used to vary the number of posts shown per category.

The front page is limited to 10. However, if you choose a category, you should be able to see all the entries in that category.

This plugin takes care of this. Create a file config:

 package blosxom;
 $blosxom::num_entries = ($blosxom::path_info ? 999 : 10);

and place it in your data directory. If the $path_info variable is populated, we’re in a subdirectory — show all posts (if you’re category has more than 999 posts, adjust accordingly…), otherwise show 10 entries.

Thanks to Stu MacKenzie on the Blosxom list for this.

Update 2007-09-28: This no longer works in static mode. I have disabled the plugin. Instead I’m using the prefs plugin, with the following pageprefs file:

if (($pagetype::pagetype eq 'chrono') or ($pagetype::pagetype eq
'category')) { $blosxom::num_entries = 999 } else
{ $blosxom::num_entries = 10 };
postheadprefoot

See this post for more info on how I got this working.

Update 2007-10-12: no longer used for the purpose above, replaced by archivetable.

redirect

The config file needs to have the same file extension as the target post (well, duh…). I keep my posts as .txt in the filesystem, and my default flavour is .html. So to redirect the entry foo I use the line

path/to/foo.html=>new/path/to/foo.html
vrss10

I made symlinks ending in .rdf to each flavour file in the vrss10 package. Now I can reference my RSS 1.0 feed as http://gerikson.com/blog/index.rdf.

Ordering

This is the ordering of the plugins. Most of the modifications are made so the that the atomfeed will get the post as intended.

00prefs
01meta
02interpolate_fancy
03acronym
03fnumber
04Markdown
04SmartyPants
absolute
archivetable
atomfeed
categories
category_desc
date_fullname
entriescache
file
find
flavourdir
fmtcat
hide
pagetype
postheadprefoot
prevnextstory
redirect
storytitle
timezone