Sh(ort b)log engine in one file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Small, simple and sh(ort b)log engine implemented in PHP.


Shlog is a minimalistic one-file blog engine for those who don't need interface for writing. It is inspired by timeless and cloudhead's toto. They are both written in Ruby so I have decided to create something simmilar in PHP.


  • Articles are stored as .bmd files with embeded metadata in yaml format (see metadata section)
  • Contents of articles are converted from Markdown to HTML by PHP Markdown
  • Templating is done by Tee, templates are stored in templates/ folder
  • It is all build on top of nanoFramework

building a blog

All you have to do to set up your blog is just to upload


on your FTP server.

After that, you can create new .bmd files in content/ directory to post new articles.


Metadata are informations about file readable for Shlog engine. They are in yaml format.

Example of a file with metadata:

title: Example article
type: log
time: 30th January 2011
desc: |
  Description of example article.

Example article

Where was there was an example article. And so it was.

The most important piece of information here is type. There are these types of type

  1. log - An article. There should be also title, time and desc mentioned in metadata section. Informations from this file will be used for generating article index.
  2. page - A page. Contents of this page will be processed by Markdown engine.
  3. html - A bare html page. Contents of this page will not be processed though Markdown engine.
  4. generated-html - A file generated by Shlog engine.

(c) 2010 - 2011 mr.Shu. Shlog is licenced under the BSD Open Source Licence. See LICENSE file for more informations.