89 lines
2.1 KiB
Org Mode
89 lines
2.1 KiB
Org Mode
-*- mode: org -*-
|
|
|
|
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
|
|
|
|
#+BEGIN_SRC scheme
|
|
(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"))
|
|
#+END_SRC
|
|
|
|
* 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=. For quicker development cycles, run =haunt serve
|
|
--watch= to automatically rebuild the site when things change.
|
|
|
|
* Requirements
|
|
|
|
- GNU Guile >= 2.0.11
|
|
|
|
Optional:
|
|
|
|
- guile-reader (for Skribe support)
|
|
- guile-commonmark (for CommonMark support)
|
|
|
|
* Building from Git
|
|
|
|
Haunt uses the familiar GNU build system. GNU automake, autoconf, and
|
|
make are required to build from a git checkout.
|
|
|
|
#+BEGIN_SRC sh
|
|
./bootstrap && ./configure && make
|
|
#+END_SRC
|
|
|
|
Once Haunt is built, it can be run directly from the source tree (no
|
|
need to run =make install=) via the =pre-inst-env= script:
|
|
|
|
#+BEGIN_SRC sh
|
|
./pre-inst-env haunt --help
|
|
#+END_SRC
|
|
|
|
GNU Guix users can quickly create a build environment with all of the
|
|
necessary dependencies using the handy =guix environment= tool:
|
|
|
|
#+BEGIN_SRC sh
|
|
guix environment -l guix.scm
|
|
#+END_SRC
|
|
|
|
* Example
|
|
|
|
An example Haunt site can be found in the =example= directory. To
|
|
build it, run:
|
|
|
|
#+BEGIN_SRC sh
|
|
cd example
|
|
../pre-inst-env haunt build
|
|
#+END_SRC
|
|
|
|
* License
|
|
|
|
GNU GPLv3 or later. See =COPYING= for the full license text.
|