(use-modules (haunt builder blog))
Create a new theme named name.
The procedure layout accepts three arguments: a site, a page title string, and an SXML tree. Its purpose is to wrap the contents of a post with the theme’s header/footer and return the complete SXML tree for a web page.
The procedure post-template accepts a single argument: a post. Its purpose is to return an SXML tree containing the contents of the post, applying any desired post-processing operations.
The procedure collection-template accepts four arguments: a site, a title string, a list of posts, and a URL prefix string. Its purpose is to return an SXML tree containing the body of the collection page.
The procedure pagination-template accepts four arguments: a site, an SXML tree, the file name of the previous page, and the file name of the next page. Its purpose is to incorporate the given SXML tree into a larger document that incorporates previous/next page links.
#t if object is a theme object.
Create a builder procedure that transforms a list of posts into pages decorated by theme, a theme object, whose URLs start with prefix. Post pages may be nested deeper in the file hierarchy than collection pages by specifying the post-prefix argument.
Additionally, this builder creates pages that aggregate previews of
many posts corresponding to what is specified in the list
collections. Each collection is a three element list in the
(title file-name filter).
The human readable name of the collection.
The HTML file that will contain the rendered collection.
A procedure that accepts a list of posts as its only argument and returns a new list of posts. The filter procedure is used to remove and/or sort the posts into the desired form for the collection. For example, a filter could sort posts in reverse chronological order or select all posts that are written by a particular author.
By default, a single collection is created that lists posts in reverse chronological order and writes to index.html.
Also by default, collection pages are not paginated. When there are a lot of posts in one or more collections, it is best to paginate them. To do so, pass the posts-per-page argument.
The default theme is intended only for testing purposes.