The Chronicle Blog Compiler (upstream is at http://repository.steve.org.uk/cgi-bin/hgwebdir.cgi/chronicle/)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.milli
bin
cgi-bin
etc
lib/Chronicle
tests
themes
.hgignore
.hgsigs
.release
AUTHORS
COMMENTS
LICENSE
MIGRATING
Makefile
README

README

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
--