mirror of
https://github.com/srid/rib.git
synced 2024-12-02 10:23:46 +03:00
aebb4f1331
* Move specialized code and types to Rib.Simple Everything else is supposed to be generic, to be used by users wanting greater customization without hardcoded stuff. * parametrize parsePage to be of `page` as well * Rename to renderPage to match parsePage * Fix broken url * Some simplification * more cleanup
1.7 KiB
1.7 KiB
rib
Rib is a static site generator written in Haskell using sensible technologies
like Shake
, Lucid
and Clay
. It is still a work in progress but will soon
be ready for general use.
Example
See ./example
(author's actual website in fact) to see how the Rib
library
can be used to write your own static site generator in a few lines of code which
includes the HTML and CSS of the site:
$ cloc --by-file example/*.hs
[...]
-------------------------------------------------------------------------------
File blank comment code
-------------------------------------------------------------------------------
example/Main.hs 19 9 100
-------------------------------------------------------------------------------
With Rib you do not have to deal with the less powerful template engines or write raw HTML/CSS by hand. Do everything in Haskell, and concisely at that!
Local server when editing only content
nix-build
cd example
../result/bin/rib-example serve --watch
Or simply (no cabal file needed),
nix-shell ../default.nix --run "ghcid -c 'ghci -Wall -i../src Main.hs' -T 'Rib.App.dev Main.settings' --reload=Main.hs"
... when hacking on Haskell sources
nix-shell --run "ghcid -c 'cabal new-repl rib-example' -T
'System.Directory.withCurrentDirectory \"example\" \$ Rib.App.dev Main.settings'"
Article Ideas
- Github CI for OSS haskell projects
- Lens and friends
- mtl
- string types
- personal nix cache