Zovirl Industries

Mark Ivey’s weblog

Permalink

This plugin helps you use a consistent permanent link format by generating permanent links for you. It does this by exporting two variables, $permalink::story and $permalink::category, which contain the permanent link for the current story and category, respectively. It also provides a function permalink::get_link() which can be used by other plugins when they wish to get a permanent link for a file.

I also have some patches for blosxom.cgi and some other plugins that make them use permalink:

Download permalink 0.0.1

Documentation is available here.

Permalink 0.0.2

I updated permalink to work with metadate 0.0.3. This lets the absolute plugin look up permalinks outside the current directory.

Download permalink 0.0.2

Documentation is available here.

Metadate 0.0.3

I updated metadate to parse metadates contained in stories. I had to do this because entries_cache wasn’t providing metadates for stories outside the current directory, but the permalink plugin needs those.

Download metadate 0.0.3 Be sure to rename it to “metadate”

Documentation is available here.

Fullcategory 0.0.2

Well, the last version of fullcategory had a bug which broke permalinks. Yes, this plugin was supposed to fix a bug but instead contained a bug…haha. Thanks to Gary Gale for finding the problem. Anyway, here is the new version.

Download fullcategory 0.0.2

Documentation is available here.

Fullcategory

By default, blosxom will return results for partial category name matches. For example, if “telephone” is a category, these would all return posts about telephones:

(If “television” was also a category, that last example would include posts from both the television & telephone categories)

This behavior gets in the way of Fletcher’s emptymessage plugin, so I wrote the fullcatgory plugin. Fullcategory changes Blosxom so only full category names will give results. This lets the emptymessage plugin do its thing. I’m pretty sure that with both emptymessage and fullcategory installed, I will be able to run an automatic link checker over my site and find dead (404) links, where before some links went to empty blosxom pages.

Download fullcategory 0.0.1

Documentation is available here.

Metadate 0.0.2

A new version of metadate is available. This version changes the paths in the external metadate file. They used to be the full path of the file, now they are the path starting from $blosxom::datadir. This should make it easier to relocate the $blosxom::datadir (or have a blosxom installation on your desktop machine for testing)

Download metadate 0.0.2 Be sure to rename it to “metadate”

Documentation is available here.

Metadate 0.0.1

This plugin lets you put metadates in an external file. This is especially useful when you want to specify metadates for files which can’t contain metadates themselves, such as directories, images, binary files, etc..

Download metadate 0.0.1 Be sure to rename it to “metadate”

Documentation is available here.

URIs Moving documents

I came across one of the first tests of my new URI format today. I wanted to post an update to the timezone plugin, but I wanted to keep the previous version around. Hmmm…multiple stories on the same topic? That sounds like a job for a category. Sadly, the obvious category for this (/software/blosxom/plugins/timezone) was already taken by my previous version, which was sitting on these URIs:

I’m not using the full date in my URI, so I only get to reuse a path once a year. Fortunately I got lucky because we just entered a new year. That means /2004/software/blosxom/plugins/timezone is available for me to use. Here are the new URIs I laid out:

So, I moved the old files to the new locations, added the new files, and updated my metadates so they were all correct. I then updated my .htaccess to add 301 redirects for the old URIs:

...
Redirect permanent /2003/software/blosxom/plugins/timezone_about \
   http://zovirl.com/2004/software/blosxom/plugins/timezone/
RedirectMatch permanent /2003/software/blosxom/plugins/timezone_about\.(.*) \
   http://zovirl.com/2004/software/blosxom/plugins/timezone/index.$1
Redirect permanent /2003/software/blosxom/plugins/timezone \
   http://zovirl.com/2004/software/blosxom/plugins/timezone/timezone_0_0_2
Redirect permanent /2003/software/blosxom/plugins/timezone_pod.html \
   http://zovirl.com/2004/software/blosxom/plugins/timezone/pod_0_0_2.html
...

Finally I posted the new version. Overall it was a fairly simple task. I got lucky with the new year, in the future I’ll have to be more careful when I post stories I know will turn into categories in the future.

Update: Found one more gotcha: my internal links are generated using the absolute plugin. When I move files, old references to them need to be updated in my blosxom stories, otherwise absolute can’t find the files and doesn’t generate the right links.

Update 2: It really makes more sense to set the directories up like this:

http://zovirl.com/2004/software/blosxom/plugins/fullcategory/v0_0_1/about.blosxom
http://zovirl.com/2004/software/blosxom/plugins/fullcategory/v0_0_1/fullcategory
http://zovirl.com/2004/software/blosxom/plugins/fullcategory/v0_0_2/
...

Timezone 0.0.3

Version 0.0.3 is now available. This version adds the ability to use the server’s default timezone and a new variable, $timezone::offset. This gives the offset from GMT (for example, for PST it will be -0800).

Download timezone 0.0.3. Be sure to rename it to “timezone”

Documentation is available here.

Timezone 0.0.2

This is an update to Raffi Krikorian’s timezone plugin. In addition to the previous functionality (which allows Blosxom timestamps to use a different timezone than the server), the plugin now exports a variable, $timezone::name, so flavors can display the timezone next to times.

For example, this bit of flavor:

$mo_num/$da/$yr $hr:$min $timezone::name

might produce this output:
12/25/2003 11:19 PST

Download timezone 0.0.2. Be sure to rename it to “timezone”

Documentation is available here.