Homepage:
http://www.steve.org.uk/Software/chronicle/
Mercurial Repository:
http://chronicle.repository.steve.org.uk/
Sample Output:
http://www.steve.org.uk/Software/chronicle/demo/
Real World Use:
http://blog.steve.org.uk/
The chronicle blog compiler
---------------------------
Chronicle is a tool which will convert a directory of simple
text files into a static HTML weblog, (or blog if you prefer).
The system is intentionally simple, but it does support:
* Template based output.
* Support for RSS feeds.
* Support for tagged entries.
* Support for forward-looking cross references.
* Optional support for comments.
Installation
------------
It is possible to run the software without installing it, just
by placing blog entries in the ./blog directory and running
./bin/chronicle.
However it is recommended you install the software system-wide
by running "make install" as root.
This will give you:
/usr/share/chronicle <- The theme directories.
/usr/bin/chronicle <- The main binary.
/usr/bin/chronicle-entry-filter <- The script to convert input entries.
/usr/bin/chronicle-spooler <- A simple helper.
/etc/chroniclerc <- The global configuration file.
If you wish to customise the templates it is recommended you
make a copy of them with a new name, then edit that copy. This
will prevent changes from being overwritten on upgrade.
The configuration file may be copied to ~/.chroniclerc for
per-user configuration.
Blog Format
-----------
The blog format is very simple. Each file should start like this:
/--
title: The title of my post
date: 12 August 2007
tags: foo, bar, baz
The text of the actual entry goes here.
However much there is of it.
\--
The entry itself is prefixed by a small header, consisting of several
pseudo-header fieilds. The header _MUST_ be separated from the body by
at least a single empty line.
Header values which are unknown are ignored, and no part of the header is
included in the output which is generated.
The following header values are recognised:
Title:
This holds the name of the post. ("Subject:" may be used as a synonym.)
If neither "Title" or "Subject" are present the filename itself is
used.
Date:
The date this entry was created. If not present the creation time
of the file is used.
Publish:
If you make use of the spooler, to automatically post pre-written entries
on particular days, this field will specify when an entry is made live.
Tags:
If any tags are present they will be used to categorise the entry.
Xrefs:
Optional comma seaparated list of filenames that this entry links to.
For example, consider these two entries, named one.txt and two.txt:
/-- one.txt
title: The great debate
date: 10 March 2010
tags: politics
Our local candidate recently....
\--
/-- two.txt
title: The debate continues
date: 15 March 2010
tags: politics
xrefs: one.txt
As mentioned in <a href="http://example.com/The_great_debate.html">
my last entry</a>, our local candidate...
\--
This will add a link to two.txt to the bottom of one.txt, creating
a convenient chain of links for readers to see a logical thread of
posts, and allowing the author to update old popular posts with
new thoughts without editing them.
Entry Cutting
-------------
If you wish you may truncate a long entry via the special <cut> tag,
for example:.
/--------------------------\
This is a line of text
<cut>This is hidden
So is this
</cut>
This is displayed.
\==========================/
Or, with specific text:
/-------------------------------------------------\
This is a line of text
<cut text="Click to read more...">This is hidden
So is this
</cut>
This is displayed.
\=================================================/
Comment Support
---------------
The system supports the submission of user-supplied comments upon
posts, for more details please see the included file COMMENTS.
Bugs?
-----
Please report bugs to the author, where they will be fixed as
quickly as possible.
Steve
--