# Loom - Minimal site "generator" Loom is a single file haskell program that generates a static html site from a given set of framgents. It is heavily inspired by (node)[https://git.sr.ht/~tagglink/node]. ## Building Loom Loom requires a Haskell2010 compiler and the following packages: - text - filepath - directory GHC should work if it's decently recent. MHS likely is also workable but untested. ## Using Loom Simply make a directory of html fragments such as: ``` testbak/ ├── a.html ├── b │   ├── c.frag │   ├── d │   │   ├── e.html │   │   └── index.html │   └── index.html └── index.html ``` where `.frag` and `.html` are equivalent, and invoke loom: ``` loom -r {root path} -o {output path} -e {header template} -f {footer template} [-s {static path}] ``` Each fragment will generate a html page in the output directory in the same structure. The generated page will be composed of a header and footer with the text of the fragment placed in `
`. The header also conatins the title of the page, which can be specified by placing a line ``` ``` on the first line of the fragment file. The title cannot contain newlines or the vertical bar character. If unspecified it will default to the basename of the fragment file. The footer should be a simple html file concatenated to all pages. The header is a template where the string "%t" is replaced by the page title and "%n" by the nav bar contents (not including the nav tag itself). The generated `