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.