Axblog 0.1 - AxKit-based weblog
Copyright (c) 2002-2003 Simon Woodside <sbwoodside@yahoo.com>
http://www.simonwoodside.com/
release 0.2 of 2003/8/31

INTRODUCTION

This is a basic weblog for users of the AxKit XML Application Server from Apache
(http://axkit.org/). It's the code I use for my own weblogs at simonwoodside.com
and semacode.org. It uses an XML file as the data store and is fully implemented
in XSLT. Therefore, it may also be useful under Cocoon or other XML/XSLT systems.
All of the processing is done using XSLT pipelines on the server side, generating
HTML styled with CSS2 layout for the client side.

This is the second release. You should probably read this whole file before you use 
it, and RTFS will probably help as well.

This open source software is licensed under the terms of the GNU General Public License.
See LICENSE.txt for license information.

FEATURES

- RSS output for syndication
- all formatting done through multiple, reusable XSLT pipelines
- output to client is in HTML 4.01
- all data is stored in a single XML file for use in multiple locations
- mix and match XSLT in different orders to achieve different effects
- all of the site design and layout is done using XHTML and CSS2
- modular design to fit into other AxKit sites
- header, footer, etc. are factored out into the xinclude directory

INSTALL

This package includes the weblog software which is entirely contained in the weblog/
directory. The rest of the files are a sample site framework based on XSLT which I use
in my sites. It's optional.

To install the whole thing:

- You need to have AxKit (www.axkit.org) running and installed on your webserver
- install the various files and folders into the root directory of the website
- make sure you install the (invisible...) .htaccess file it's important! especially:
	AddType text/xml .html
	AddHandler axkit .html
- modify the static content to your desire
- the most recent entries are pulled out of that file into the various weblog
  viewing locations such as weblog/index.html and weblog/archive/index.html
- modify the parameters in weblog/xsl/params.xsl to your own settings
- modify the xinc/ * files to contain your own titles, menus, etc.
        
To install just the weblog:

- install the weblog/ directory
- install xsl/site.xsl and/or your own equivalent
- see page XML dialect for details on what weblog/xsl/blog2html will hand you in the
  pipeline


USAGE

- blog entries go into the weblog/weblog.xml file
- see the axblog XML dialect below for details
- most recent entries should be first in the file


AXBLOG XML DIALECT

<weblog>
  <entry>
    <date>YYYY/MM/DD</date>
    <time>HH:MM</time>
    <title>...</title>
    <link>...</link>
    <content>...</content>
  </entry>
  ...
</weblog>

- <link/> is optional and will be applied to the title
- <content/> may contain any valid XHTML markup
- order matters, most-recent-first


PAGE XML DIALECT

<page>
  <title>...</title>
  <xhtml>...</xhtml>
</page>

- <title/> becomes the HTML title of the page
- <xhtml/> is copied directly to the HTML output


DIRECTORIES

css/ - CSS2 style sheets
img/ - just an axkit logo
weblog/ - self-contained weblog files
weblog/xsl/ - weblog-specific XSLT
xinc/ - XHTML files for header, footer etc. included in XSLT file site.xsl
xsl/ - site-wide XSLT files


FILES

- weblog/xsl/ contains the most interesting code to generate various output formats
  for the weblog
- /xsl/site.xsl converts a file in the "page XML dialect" into an HTML page for 
  output, it should always be the last stylesheet applied
- /xinc/params.xml contains site-wide parameters
- .htaccess - contains important AxKit directives, make sure you have them.
- AxBlog.pbproj - Project Builder (Mac OS X) project (just for organizing the files)


BUGS

- having two entries for the same date, the permalink will always go to the first one
- blog entries must be in most-recent-date order in the file
- very simplistic blog
- there's only one big page, no separation for different months etc.
- css still isn't properly modularized for the weblog CSS
