Go to file
Jakob L. Kreuze 142006f884 reader: html: Add support for multiple top-level elements.
Currently, if given a file containing more than one top-level elements,
'read-html-post will only return the first.
2019-05-21 08:40:40 -04:00
doc doc: Fix tarball download link. 2018-04-02 10:10:18 -04:00
example example: Add a Markdown post. 2016-08-18 15:20:42 -04:00
haunt reader: html: Add support for multiple top-level elements. 2019-05-21 08:40:40 -04:00
scripts Remove hardcoded Guile executable path. 2015-07-26 15:20:18 -04:00
tests Fix tests that fail during daylight savings time. 2017-01-23 19:43:22 -05:00
website website: Update manual. 2017-01-23 20:40:04 -05:00
.gitignore git: Ignore tarball signature files. 2018-11-25 16:05:46 -05:00
COPYING First commit. 2015-01-04 20:02:16 -05:00
Makefile.am Add RSS support. 2018-11-25 15:56:21 -05:00
README README: Mention RSS. 2018-11-25 15:58:42 -05:00
THANKS Thank Jorge Maldonado Ventura. 2018-04-02 10:11:06 -04:00
bootstrap Add autotools bootstrap script. 2015-07-19 10:02:53 -04:00
configure.ac Bump version to 0.2.4. 2018-11-29 11:40:46 -05:00
guix.scm guix: Switch to Guile 2.2. 2017-12-21 08:51:13 -05:00
pre-inst-env.in First commit. 2015-01-04 20:02:16 -05:00
test-env.in utils: Clean up and add tests. 2015-10-14 10:50:03 -04:00

README

-*- 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=!

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.