Next: , Up: Programming Interface   [Contents][Index]


5.1 Sites

(use-modules (haunt site))

A site object defines all of the properties for a Haunt website: The site name, domain name, where blog posts are found, what post formats are understood, which procedures are used to build the site, where the output files are written to, etc.

Scheme Procedure: site [#:title "This Place is Haunted"] [#:domain "example.com"] [#:posts-directory "posts"] [#:file-filter default-file-filter] [#:build-directory "site"] [#:default-metadata '()] [#:make-slug post-slug] [#:readers '()] [#:builders '()]

Create a new site object. All arguments are optional:

title

The name of the site.

posts-directory

The directory where posts are found.

file-filter

A predicate procedure that returns #f when a post file should be ignored, and #t otherwise. Emacs temporary files are ignored by default.

build-directory

The directory that generated pages are stored in.

default-metadata

An alist of arbitrary default metadata for posts whose keys are symbols.

make-slug

A procedure generating a file name slug from a post.

readers

A list of reader objects for processing posts.

builders

A list of procedures for building pages from posts.

Scheme Procedure: site? obj

Return #t if obj is a site object.

Scheme Procedure: site-title site

Return the title of site.

Scheme Procedure: site-domain site

Return the domain of site.

Scheme Procedure: site-posts-directory site

Return the posts directory for site.

Scheme Procedure: site-file-filter site

Return the file filter procedure for site.

Scheme Procedure: site-build-directory site

Return the build directory of site.

Scheme Procedure: site-make-slug site

Return the slug constructor for site.

Scheme Procedure: site-readers site

Return the list of reader procedures for site.

Scheme Procedure: site-builders site

Return the list of builder procedures for site.


Next: , Up: Programming Interface   [Contents][Index]