chronicle-entry-filter(1) Convert blog files to HTML, if required.


Help Options
--help Show a brief help overview.
--version Show the version of this script.
--format The global format of all entries.
--filename The name of the single file to process.
--pre-filter A filter to run before convertion to HTML.
--post-filter A filter to run after HTML conversion.


This script is designed to receive a filename and a global formatting type upon the command line. The formatting type specifies how the blog entry file will be processed:

  1.  If the format is "textile" the file will be converted from textile
     to HTML.
  2.  If the format is "markdown" the file will be converted from markdown
     to HTML.  The related format "multimarkdown" is also recognised.
  3.  If the format is "html" no changes will be made.

Once the conversion has been applied the code will also be scanned for <code> tags to expand via the Text::VimColour module, if it is installed, which allows the pretty-printing of source code.

To enable the syntax highlighting of code fragments you should format your code samples as follows:

   Subject: Some highlighted code.
   Date: 25th December 2009
   Tags: chronicle, perl, blah
   <p>Here is some code which will look pretty ..</p>
   <code lang="perl">
   #!/usr/bin/perl -w

Notice the use of lang=``perl'', which provides a hint as to the type of syntax highlighting to apply.

Additionally you may make use of the pre-filter and post-filter pseudo-headers which allow you to transform the entry in further creative fashions.

For example you might wish the blog to be upper-case only for some reason, and this could be achieved via:

  Tags: meta, random, silly
  Date: 25th December 2009
  Pre-Filter: perl -pi -e "s/__USER__/`whoami`/g"
  Post-filter: tr [a-z] [A-Z]
  <p>This post, written by __USER__ will have no lower-case values.</p>
  <p>Notice how my username was inserted too?</p>

You may chain arbitrarily complex filters together via the filters. Each filter should read the entry on STDIN and return the updated content to STDOUT.

(If you wish to apply a global filter simply pass that as an argument to chronicle, or in your chroniclerc file.)




Copyright (c) 2009-2010 by Steve Kemp. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license.