Scroll to navigation

CHRONICLE-ENTRY-FILTER(1) User Contributed Perl Documentation CHRONICLE-ENTRY-FILTER(1)

NAME

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

SYNOPSIS

  Help Options

    --help        Show a brief help overview.
    --version     Show the version of this script.

  Options

    --format      The global format of all entries.
    --filename    The name of the single file to process.

  Filters

    --pre-filter  A filter to run before convertion to HTML.
    --post-filter A filter to run after HTML conversion.

ABOUT

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
   ...
   ..
   </code>

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:

  Subject: I DONT LIKE LOWER CASE
  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.)

AUTHOR

 Steve
 --
 http://www.steve.org.uk/

LICENSE

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.

2011-05-03 perl v5.12.3