blob: b65e301c3159f4caf0018cb97c2fc09ab81f5726 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
-*- mode: org -*-
Haunt is a static site generator written in Guile Scheme. It's
simple, functional, and extensible.
* Features
- Easy blog and Atom/RSS 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=!
Alternatively, use the =haunt new= command to start a project from a
template quickly.
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.
|