skip to navigation
skip to content

Soho 0.7

Soho lets you build a web site from a set of reStructuredText source files (the content) and a template file (the layout).

Latest Version: 0.8.0

Soho lets you build a web site from a set of reStructuredText source files (the content) and a template file (the layout).

Why do I need this

Soho comes from a simple need that I have: I need to easily build static (or mostly static) web sites. There are lots of ways this can be done, but I want:

  • to use a template: I want the content to be separated from the appearance. I also want to have an homogeneous site, with an unique layout. I use and like TAL (a.k.a. ZPT, Zope Page Template) a lot, so this seems to be a good choice. To me, at least. ;)
  • to avoid writing HTML. reStructuredText is great. It lets you easily write any text in a readable fashion and can be processed to produce files in HTML, LaTeX and other formats. Moreover, this format is used to document a lot of Python code (Python itself but also Python programs and libraries). I hence use it for my own code, and can therefore re-use the documentation to produce a web site, without changing anything;
  • a static web site that can be served by a standard web server (Apache, Lighttpd, Nginx, etc.) or even without any web server.

Typical scenario

In a nutshell, here is the process:

  1. I write the content of my website as reStructuredText files in multiple folders and sub-folders if needed.
  2. I write a template in TAL.
  3. I run Soho, with specific options if needed. For example, I can set a list of filters that will be run on each file before or after the reStructuredText->HTML conversion.
  4. I configure Apache or any other web server to serve my HTML files or write them on a CD-ROM, or send them to my low-price hosting provider.


You need the following programs and libraries to run Soho:

See also

If Soho does not fit your need, you may want to try out rest2web or Sphinx.


If you have easy_install, then the following should do the trick:

$ easy_install soho

For further details, see the Installation chapter.

Subversion repository

Soho source code lives in a Subversion repository. To checkout the trunk:

$ svn co

You can also browse the sources with the same URL.


Soho has been written by Damien Baty. The very first version was based on grok2html, a small utility that was used to generate the first version of the web site of Grok.


Soho is copyright 2008 by Damien Baty.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see the section about licenses of the GNU web site.

File Type Py Version Uploaded on Size
soho-0.7.tar.gz (md5) Source 2012-08-17 64KB