{
  "$type": "site.standard.document",
  "canonicalUrl": "https://frankhecker.com/2006/07/23/extensionless-uris-for-blosxom-entries/",
  "path": "/2006/07/23/extensionless-uris-for-blosxom-entries/",
  "publishedAt": "2006-07-23T17:37:00.000Z",
  "site": "at://did:plc:77mn3ult3b72tpvtqqva6tat/site.standard.publication/3mpfmfpu4u72n",
  "tags": [
    "blosxom"
  ],
  "textContent": "_UPDATE 2023-03-27: This page is obsolete, as it refers to a prior version of this blog.  However, it may be of historical interest._\n\nThis post introduces the Blosxom plugin “[extensionless][extensi].”  Ever since reading the essay “[Cool URIs don’t change][Cool UR]” I’ve wanted to change my web site to conform to some of its recommendations, including the recommendation to omit file extensions (e.g., “.html\") on URIs.  Unfortunately standard Blosxom requires that a file extension be present in a URI for an individual entry (e.g., http://www.example.com/foo.html) to distinguish it from a URI for a category (e.g., http://www.example.com/foo).  How to fix this?\n\nIn my ignorance I originally thought it would be necessary to [patch Blosxom itself][patch] to recognize extensionless URIs for entries.  However I hadn’t fully grasped the power of [Blosxom plugins][plugins], nor had I had a good look at the [Blosxom plugin registry][registry], where I would have found not [one][] but [two][] plugins to implement a “cool URI” scheme.\n\nUnfortunately those plugins are overkill for my own personal needs, since I’m not interested in doing date-based permalinks as implemented by those plugins.  As a result I decided to implement my own plugin to provide the more limited functionality that I wanted.\n\n(I refrained from naming the plugin “cooluri3” or something similar since it really doesn’t implement the full date-based “cool URI” scheme recommended by the W3C and implemented by the cooluri and cooluri2 plugins; at best it implements “semi-cool” URIs.)\n\nSee the plugin code itself for the full documentation.  In most cases you should just be able to copy the plugin into your Blosxom plugin directory.  Note that you should not have to change any other plugins; the extensionless plugin will fix up an entry’s URI internally so that it has the proper file extension for its flavour as expected by Blosxom and Blosxom plugins.\n\nIf you encounter problems with the plugin (or if you just use it and like it) please send me email.\n\nUPDATE: Thanks go to Stu MacKenzie for providing a patch to allow the plugin to work for extensionless URIs where the entry name starts with a digit.\n\nUPDATE 2: The original version of the extensionless plugin would not work with Blosxom versions 2.0.1 and higher.  I fixed the plugin to correct this problem; current versions of the extensionless plugin should work with all Blosxom versions.\n\n[Cool UR]: http://www.w3.org/Provider/Style/URI\n[extensi]: /blosxom/plugins/extensionless\n[patch]: http://groups.yahoo.com/group/blosxom/message/8600 \"Blosxom 2 patch to support extensionless URIs for entries\"\n[plugins]: http://www.blosxom.com/documentation/users/plugins.html\n[registry]: http://www.blosxom.com/plugins/\n[one]: http://www.blosxom.com/plugins/link/cooluri.htm \"cooluri plugin\"\n[two]: http://www.blosxom.com/plugins/link/cooluri2.htm \"cooluri2 plugin\"\n[extensionless]: /blosxom/plugins/extensionless",
  "title": "Extensionless URIs for Blosxom entries"
}