Generic Website Publishing System
Back in january, when trying to find an alternative to writing my blog entries directly into the HTML pages, I've look to different alternatives. I did not get so impressed by what I could find at the time (MT, Blosxom, WordPress). So I decided to roll out my own PHP-based system.
The first version of my web publishing system (currently powering up my site) works quite well, but it's not so good and not to my taste. I'm currently building a new one. Here is what is planned:
- Filesystem "database", Blosxom style but with unlimited meta-data per entry. The architecture could eventually support a real database system (like MySQL) if someone bother to write a compatible PHP interface to it.
- Flexible structure, meaning you decide where is kept each piece of data in the database.
- Template driven, MovableType style, with or without static page generation.
- Scripts! The behaviour of your site is all up to you.
The information flow could be described like this:
- Information is stored in the disk database.
- Information is gathered from the database and displayed by templates.
- Posted information is stored to the right place in the database by one or more scripts.
Now, what I just described is not really a blog system, but more like a generic database display and posting system for website. To make it a working blog system it's still missing corresponding templates and scripts. The point being that there will be default scripts and templates for a blog, but these templates could easily be changed, extended, or replaced. Note that the administrative pages would be template based too, meaning that a web designer could build a custom website solution without too much hassle.
Here is a template example (and it currently works):
<PS:EntryBody filter="markdown+smartypants+cosmos"/>
<PS:EntryList path="fr/journal/*">
<h2><PS:EntryTitle filter="smartypants+cosmos"/></h2>
<PS:EntryBody heading="2" filter="markdown+smartypants+cosmos"/>
<p><PS:EntryField name="date"/></p>
</PS:EntryList>
This project sound good, dosen't it? But it's still only half done. The template system is working wonderfully, same for the file database system. I hope to have a beta ready during the summer.
I'm still searching for a good name. Any idea?