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

Under the hood

Like git, USSM is a collection of command line utilities. That way, you don’t have to learn Ocaml if you want to enhance or extend USSM.

general principles

Every ussm-utility assumes that the current directory is a USSM web site. Meaning, _ussm/ exists and is a directory. The only exception is ussm-init, which populates the current directory to make a web site.

If you call a utility from the _/ussm/ussm script by using the main ussm command, you don’t have to worry about that: ussm will temporarily change the current directory to the right one.

Modules

The modules are directly responsible for the creation of intermediate files in the _ussm/tmp directory. As a general rule, a ussm-foo module will generate a _ussm/tmp/bar.foo for each bar.txt source file. So, The ussm-core module will generate .core files, the ussm-menu module will produce .menu files, and so on.

The content of the temporary file depends on each module. For each source file:

Utilities

Most utilities are UNIX filters. Originally, they helped me build the other programs (like the modules). They should help you as well if you want to modify USSM.

Here is quick summary. Report to the source code for the details (I promise you, it is rather well documented).

Others

Those two programs, I couldn’t fit them in a neat category.