@ Loup's Impossible? Like that would stop me.


USSM helps you build static web sites. This is done in 4 easy steps:

  1. Set up your environment with USSM.
  2. Write your web site, the USSM way.
  3. Compile your web site with USSM.
  4. Upload the result to the web server of your choice.

Set up your environment

All the work is done on the command line. Make and go to a fresh directory, then invoke USSM.

$ mkdir my_blog
$ cd my_blog
$ ussm
This is not a USSM repository.  Do you want me to create one? (y/N)y


Write your web site

(You can skip this part if you’re in a hurry)

Look at the files USSM just created:

$ ls -F
_ussm/     bar/        foo/      favicon.png
index.txt  module.txt  skin.txt  style.css

The _ussm/ directory contains the configuration files for your site, temporary files, and the compiled form of your web site. The other files are the sources for a dummy web site.

Look at one of the text files. It should look like something like this:

  title      : Example's Title
  description: This is an example

Example's Title

Lorem ipsum blah blah blah…

The part between {} is the header of the file. You need this header to generate a web page. For instance, index.txt will generate the _ussm/www/index.html web page. Without the header, your file will be treated as an ordinary file, and be copied verbatim to _ussm/www. Here this will be the case for favicon.png and style.css.

The rest of the file is the actual text you will put in the final web page. Here, it is in Markdown format, though you may choose another format if you wish (more on that later).

Compile your web site

Just type ussm again on the command line. The result is now in the _ussm/www/ folder.

You can open a HTML file with your web browser if you want, but the URLs won’t work (this is in my TODO list). My advice is to install a web server, and configure it to point to _ussm/www. Then open your web browser, and type http://localhost/ in the address bar.

Also note that USSM generates “clean” URLs (no .html). Therefore, your server must support content negotiation.

Upload the result

As you probably have guessed, you just have to upload the contents of _ussm/www to the intended web server.

Further details