Hello!
This is the source of https://trofi.github.io/ blog.
posts/: posts source code in.rstor.markdownformat.posts.data/: post-specific images, example binaries and similar.src/: source code for the site generator itself.run_watcher.sh: main script to generate site and run a preview web server locally.trofi.github.io: repository in GitHub pages format with auto-generated content.
Just clone this repo and run a run_watcher.sh and see what happens:
# optional, start a `nix` developmen shell to pull in all dependencies:
$ nix develop --no-write-lock-file
$ git clone https://github.com/trofi/trofi.github.io.gen
$ cd trofi.github.io.gen/
$ nix develop --no-write-lock-file
$ ./run_watcher.sh
...
[1 of 1] Compiling Main ( Setup.hs, Setup.o )
Linking ./Setup ...
Configuring mksite-0.0.0.0...
Preprocessing executable 'trofi.github.io.gen' for mksite-0.0.0.0..
Building executable 'trofi.github.io.gen' for mksite-0.0.0.0..
[1 of 1] Compiling Main ( src/site.hs, dist/build/trofi.github.io.gen/trofi.github.io.gen-tmp/Main.dyn_o )
Linking dist/build/trofi.github.io.gen/trofi.github.io.gen ...
Removing _site...
Removing _cache...
Removing _cache/tmp...
Listening on http://127.0.0.1:8000
updated feed/rss.xml
updated index.html
updated archive.html
Success
Now you can visit http://127.0.0.1:8000 and explore the result.
Caveat: run_watcher.sh relies on a few dependencies:
ghcand a fewhaskelllibraries:hakyllmtlpandoc-typespandoctext
graphvizgnuplot
The site is built with help of hakyll
static site generator and pandoc document
converter.