Simple static website generator.
Supports TOC, image captions, LaTeX, code highlighting and tables.
pip install legoman
# in an empty directory
legoman init
make html
# run devserver (requires inotify-tools)
make devserver
Files in content/
are rendered and copied to output/
, so the directory structure of your rendered website matches the structure of your source files.
For example, the demo content/
:
content
├── codehilite.css
├── index.j2
├── projects
│ ├── bar_proj
│ │ └── index.md
│ └── foo_proj
│ ├── cheetos_small.png
│ └── index.md
└── styles.css
yields this output/
output
├── codehilite.css
├── index.html
├── projects
│ ├── bar_proj
│ │ └── index.html
│ └── foo_proj
│ ├── cheetos_small.png
│ └── index.html
└── styles.css
Legoman can also render files individually, which is useful for CGI scripts on a webserver.
TEMPLATE_DIR=/path/to/templates legoman_cgi example.md
Or for serving markdown with lighttpd:
$HTTP["url"] =~ "\.md$" {
setenv.set-environment = ("TEMPLATE_DIR" => "/path/to/templates/")
cgi.assign = (
".md" => "/path/to/legoman_cgi",
".j2" => "/path/to/legoman_cgi",
)
}
Usage: legoman [OPTIONS] COMMAND [ARGS]...
Options:
--debug
--content_dir PATH
--output_dir PATH
--template_dir PATH
--help Show this message and exit.
Commands:
build generate content
init initialize project
single render single file
- Hugo - similar idea, but written in Go and uses Go's templating engine
- Dozens of other static website generators