@@ 8,16 8,16 @@ Theory of operation
### Structure
-The website source comprises tree structure and page content files
-maintained under top-level directory `data/`.
+The website source comprises page content files maintained under
+top-level directory `data/`.
Top-level mk(1) targets drive the compilation of website source into
-output directory `public/`. Compilation process can be controlled
-through configuration files in the `cfg/` directory.
+output directory `public/`.
The website template is defined by files in the `templates/` directory.
The templating engine is rc(1) heredocs—it is rather limited but should
be understandable.
+
The default template tries to load `public/css/style.css` stylesheet,
which doesn't exist by default.
@@ 28,15 28,15 @@ Currently supported content files are markdown, html, and raw text.
Copies of the source files with `.html`, `.txt`, and `.md` extensions
are included verbatim in the output directory.
-Source files with `.md` extension are filtered through a `bin/mdtohtml`
-program to produce an HTML body, which is expanded into a page template
-and stored in a matching `.html` output file.
+`.md` source files are compiled to an HTML page by a program
+`bin/md2html`. In turn, this program passes the markdown source file as
+a first argument to `bin/filter-markdown` which must produce HTML body
+content on its standard output.
### Filters
-Helpers like `bin/mdtohtml` may be modified or replaced by users to
-select a different underlying filter program, change the configuration,
-do some advanced processing, and so on.
+`bin/filter-markdown` and other filters (in the future) may be replaced
+by users to use different processors or perform custom processing.
Install
-------
@@ 46,7 46,7 @@ are met.
### Dependencies
-9front version of `rc(1)` and `mk(1)` are the core dependencies.
+9front version of `rc(1)` and `mk(1)` are core dependencies.
**NB** Other versions of rc are guaranteed not to work.
The default markdown filter `bin/mdtohtml` depends on the
@@ 60,5 60,5 @@ Create some content files in the `data/` directory and run:
mk
-in the top-level directory. This will generate the website files
+in the top-level directory. This will generate pages and files
in the `public/` directory. Publish this whichever way you like.