615361a220747f7376b4e45dd33cd86670284d63
Co-Authored-By: David Thompson <davet@gnu.org> * haunt/site.scm (<site>)[make-slug]: New field. (site-make-slug, site-post-slug): New procedures. (site): Add #:make-slug keyword argument. * haunt/builder/blog.scm (render-list): Pass site to theme's list template. (ugly-theme): Add 'site' argument to #:list-template procedure. (blog): Use 'site-post-slug'. * haunt/builder/atom.scm (atom-feed, post->atom-entry): Likewise.
Haunt
About
Haunt is a static site generator written in Guile Scheme. It's simple, functional, and extensible.
Features
- Easy blog and Atom feed generation
- Supports any markup language that can be parsed to SXML
- Simple development server
- Purely functional build process
- User extensible
Example Configuration
(use-modules (haunt site)
(haunt reader)
(haunt builder blog)
(haunt builder atom)
(haunt builder assets))
(site #:title "Built with Guile"
#:domain "example.com"
#:default-metadata
'((author . "Eva Luator")
(email . "eva@example.com"))
#:readers (list sxml-reader html-reader)
#:builders (list (blog)
(atom-feed)
(atom-feeds-by-tag)
(static-directory "images"))
Usage
Write a configuration file named haunt.scm. Add your posts to a
directory named posts. Then run haunt build!
To view your creation, run haunt serve and browse to
localhost:8080.
Requirements
GNU Guile >= 2.0.9
Building from Git
Haunt uses the familiar GNU build system. GNU automake, autoconf, and make are required to build from a git checkout.
./bootstrap && ./configure && make
GNU Guix users can create a build environment with all necessary
dependencies using the handy guix environment tool:
guix environment -l package.scm
License
GNU GPLv3 or later
Description
Languages
Scheme
83.8%
CSS
8.7%
Makefile
3.7%
Shell
1.5%
JavaScript
0.9%
Other
1.4%