2015-01-05 02:02:16 +01:00
|
|
|
Haunt
|
|
|
|
=====
|
|
|
|
|
|
|
|
About
|
|
|
|
-----
|
|
|
|
|
2015-04-12 16:24:19 +02:00
|
|
|
Haunt is a static site generator written in Guile Scheme. It's
|
|
|
|
simple, functional, and extensible.
|
2015-01-05 02:02:16 +01:00
|
|
|
|
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
2015-04-12 16:24:19 +02:00
|
|
|
* Easy blog and Atom feed generation
|
|
|
|
* Supports any markup language that can be parsed to SXML
|
2015-01-05 02:02:16 +01:00
|
|
|
* Simple development server
|
2015-04-12 16:24:19 +02:00
|
|
|
* Purely functional build process
|
|
|
|
* User extensible
|
|
|
|
|
|
|
|
Example Configuration
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
```
|
|
|
|
(use-modules (haunt site)
|
|
|
|
(haunt reader)
|
|
|
|
(haunt builder blog)
|
2015-07-27 04:47:14 +02:00
|
|
|
(haunt builder atom)
|
|
|
|
(haunt builder assets))
|
2015-04-12 16:24:19 +02:00
|
|
|
|
|
|
|
(site #:title "Built with Guile"
|
2015-04-14 02:23:28 +02:00
|
|
|
#:domain "example.com"
|
2015-04-12 16:24:19 +02:00
|
|
|
#:default-metadata
|
2015-04-14 02:23:28 +02:00
|
|
|
'((author . "Eva Luator")
|
|
|
|
(email . "eva@example.com"))
|
2015-04-12 16:24:19 +02:00
|
|
|
#:readers (list sxml-reader html-reader)
|
|
|
|
#:builders (list (blog)
|
|
|
|
(atom-feed)
|
2015-07-27 04:47:14 +02:00
|
|
|
(atom-feeds-by-tag)
|
|
|
|
(static-directory "images"))
|
2015-04-12 16:24:19 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
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`.
|
2015-01-05 02:02:16 +01:00
|
|
|
|
2015-07-19 16:14:01 +02:00
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
2015-10-13 01:32:05 +02:00
|
|
|
- GNU Guile >= 2.0.11
|
|
|
|
|
|
|
|
Optional:
|
|
|
|
|
|
|
|
- guile-reader (for Skribe support)
|
2015-07-19 16:14:01 +02:00
|
|
|
|
2015-07-19 16:16:41 +02:00
|
|
|
Building from Git
|
|
|
|
-----------------
|
2015-07-19 16:14:01 +02:00
|
|
|
|
|
|
|
Haunt uses the familiar GNU build system. GNU automake, autoconf, and
|
2015-07-19 16:16:41 +02:00
|
|
|
make are required to build from a git checkout.
|
2015-07-19 16:14:01 +02:00
|
|
|
|
|
|
|
```
|
|
|
|
./bootstrap && ./configure && make
|
|
|
|
```
|
|
|
|
|
2015-08-18 15:06:16 +02:00
|
|
|
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:
|
|
|
|
|
|
|
|
```
|
|
|
|
./pre-inst-env haunt --help
|
|
|
|
```
|
|
|
|
|
2015-07-19 16:16:41 +02:00
|
|
|
GNU Guix users can create a build environment with all necessary
|
|
|
|
dependencies using the handy `guix environment` tool:
|
|
|
|
|
|
|
|
```
|
2015-10-13 02:08:49 +02:00
|
|
|
guix environment -l guix.scm
|
2015-07-19 16:16:41 +02:00
|
|
|
```
|
|
|
|
|
2015-08-18 15:06:31 +02:00
|
|
|
Examples
|
|
|
|
--------
|
|
|
|
|
|
|
|
An example Haunt site can be found in the `example` directory:
|
|
|
|
|
|
|
|
```
|
|
|
|
cd example
|
|
|
|
../pre-inst-env haunt build
|
|
|
|
```
|
|
|
|
|
2015-01-05 02:02:16 +01:00
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
2015-04-12 16:24:19 +02:00
|
|
|
GNU GPLv3 or later
|