Skip to main content

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

Project description

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.

Requirements

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.

Installation

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 https://svn.noherring.com/code/soho/trunk

You can also browse the sources with the same URL.

Credits

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.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soho-0.7.tar.gz (66.4 kB view details)

Uploaded Source

File details

Details for the file soho-0.7.tar.gz.

File metadata

  • Download URL: soho-0.7.tar.gz
  • Upload date:
  • Size: 66.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for soho-0.7.tar.gz
Algorithm Hash digest
SHA256 0b58c2e2f9a1ca157c6084e674c01b89adeb4afe5b167fc79b065bc7995fcacc
MD5 a49ea73f4d7da4b9c4212a48b6ebf397
BLAKE2b-256 541fadafd2876cd0fd474a2c7849278d7affc744b7571e2b4e4586ffafbfe1a3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page