Weblog 2.5

Weblog is a web log or blog publisher.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in Weblog 2.0:

  • weblog.ini has been replaced by config.py, which is a Python script.
  • URLs have changed. Spaces have been replaced with underscores.
  • You can also choose the encoding for filenames, resulting in nicer URLs for languages which use non-ASCII characters.
  • Graphical customization is now done by directly modifying the templates.
Read full changelog
send us
an update
BSD License 
3.3/5 12
Henry Precheur
ROOT \ Internet \ HTTP (WWW)
1 Weblog Screenshot:
Weblog is a web log or blog publisher. It takes structured text files as input and outputs static HTML / RSS files. The Weblog project aims to be simple and robust.

If you are looking for a simple blog engine, Weblog is the way to go! It does not require any database or server-side configuration. Just generate static files and upload them to your web directory and you are done.


Download Weblog's latest version at http://henry.precheur.org/weblog/.

Extract it:

tar zxf weblog.tar.gz

It can be used right away.

You can also install it using the supplied setup.py script. Run python setup.py --help to learn how to use it.

Quick Start

In the following examples weblog/ represents Weblog's installation directory.

Create a new directory named my_blog. The $ sign represents the shell prompt, do not type it!:

$ mkdir my_blog

Copy from the Weblog installation directory the file weblog.ini into my_blog:

$ cp weblog/examples/weblog.ini my_blog

weblog.ini is the configuration file of the blog. Check the configuration file section for more information. Do not worry about it now, no modification is required to get the following examples working.

Create a file named first_post.html in the my_blog directory:

title: First post
author: Me
date: 2007-08-25

Hello world!

Actually all the post filenames must end with .html.

Go in the my_blog directory and run the weblog_publish.py script:

$ cd my_blog/
$ python weblog/weblog_publish.py

Or if weblog_publish.py is in your PATH:

$ weblog_publish.py

It should create a directory named output which contains the generated files. You can look at the results by opening the file output/index.html in your browser.

The first 3 lines of the file first_post.html define the post's parameters. These are standard RFC 2822 headers (the headers used in Emails). Only title and date are mandatory. author is optional. If you don't fill this field, the author will be the one specified in weblog.ini.

The line Hello world! is the actual content of the post. Note that a blank line is required between the headers and the content.

The content is an HTML block. Use the HTML syntax to format your post content. For example create a second file named second_post.html:

title: Second post
author: Me (again!)
date: 2007-08-26

< em >Second< /em > < q >test< /q > < strong >post !
< p >
� 2007 Me
< /p >

Regenerate the blog files:

$ python weblog/weblog_publish.py


$ weblog_publish.py

Reload the page in your browser. You should see a second post with some formating.

The default post file encoding is ASCII. If you want to use a different encoding you can specify it via the field encoding:

title: Encoding test
date: 2007-11-5
encoding: latin-1

Here you can put some ISO-8856-1 text ...

If you always use the same encoding. You can specify the default encoding in weblog.ini.

Last updated on February 18th, 2010


#web log #blog publisher #blog engine #web #log #blog #publisher

Add your review!