| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* haunt/asset.scm (directory-assets): Add 'keep?' argument.
(static-directory): Use site file filter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Genericized name because the predicate procedure may be used on any
file, not just posts.
* haunt/site.scm (<site>)[post-filter]: Delete.
[file-filter]: New field.
(site): Replace #:post-filter with #:file-filter.
(build-site): Use 'site-post-filter'.
(make-file-name-filter): Delete.
(make-file-filter): New procedure.
(default-file-name-filter): Delete.
(default-file-filter): New procedure.
* haunt/reader.scm (read-posts): Flip predicate around.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than having a hardcoded index page, a blog now accepts a variable
number of "collection" tuples that describe the page title, file name,
and the filter procedure for the posts that will appear on that page.
* haunt/builder/blog.scm (<theme>) [list-template]: Delete.
[collection-template]: New field.
(theme-list-template): Delete.
(theme-collection-template): New accessor.
(make-theme): Replace #:list-template with #:collection-template.
(render-list): Delete.
(render-collection): New procedure.
(ugly-theme): Use #:collection-template argument.
(blog): Add #:collections argument.
|
|
|
|
| |
* haunt/builder/blog.scm: Export date->string*.
|
|
|
|
|
| |
* haunt/site.scm (build-site): Test for the existence of posts
directory.
|
|
|
|
|
| |
* haunt/site.scm (default-file-filter): Ignore files that begin with "."
or "#".
|
|
|
|
|
|
|
| |
* haunt/ui/serve.scm (show-help): Add help text for --watch.
(%options): Add --watch option.
(watch): New procedure.
(haunt-serve): DTRT when --watch is specified.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows one to ignore files that would otherwise match a reader's
file extension, such as an Emacs temporary file like ".#foo.html".
* haunt/site.scm (<site>)[post-filter]: New field.
(site-posts-filter): New accessor.
(site): Add #:post-filter argument.
(build-site): Pass post filter procedure to 'read-posts'.
(make-file-name-filter, default-file-name-filter): New procedures.
* haunt/reader.scm (read-posts): Add 'ignore?' argument.
|
|
|
|
|
| |
* haunt/site.scm (site): Change "POST-SLUG" to "MAKE-SLUG" in doc
string.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Co-Authored-By: David Thompson <davet@gnu.org>
* haunt/site.scm (<site>)[make-slug]: New field.
(site-make-slug, site-post-slug): New procedures.
(site): Add #:make-slug keyword argument.
* haunt/builder/blog.scm (render-list): Pass site to theme's list
template.
(ugly-theme): Add 'site' argument to #:list-template procedure.
(blog): Use 'site-post-slug'.
* haunt/builder/atom.scm (atom-feed, post->atom-entry): Likewise.
|
|
|
|
|
|
| |
* example/haunt.scm: Add static directory builder.
* example/images/guile-banner.small.png: New file.
* example/posts/foo.sxml: Render Guile banner image.
|
|
|
|
|
|
|
| |
Just copy the raw bytes.
* haunt/serve/web-server.scm (dump-file): Delete.
(render-file): Return a bytevector instead of a writer procedure.
|
| |
|
|
|
|
| |
* haunt/site.scm (build-site): Replace '->' with '→'.
|
|
|
|
| |
* haunt/ui.scm (haunt-main): Set LC_ALL.
|
|
|
|
|
| |
* haunt/utils.scm (file-name-components): Return the empty list when
given the empty string.
|
|
|
|
|
| |
* haunt/asset.scm: Add introductory comment.
* README.md (Example Configuration): Add 'directory-assets' example.
|
|
|
|
|
| |
* haunt/builder/assets.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
|
|
| |
* haunt/build/html.scm: Delete it.
* haunt/html.scm: New file.
* Makefile.am (SOURCES): Remove old file. Add new file.
* haunt/builder/atom.scm: Use new module.
* haunt/builder/blog.scm: Likewise.
* haunt/ui/serve.scm: Likewise.
|
| |
|
|
|
|
|
|
|
|
|
| |
UTF-8 encoded HTML pages are much better than maintaining a giant lookup
table.
* haunt/build/html.scm (%escape-chars): Remove all but the absolutely
necessary escape codes.
* haunt/builder/blog.scm (ugly-theme)[#:layout]: Add UTF-8 meta tag.
|
|
|
|
|
|
| |
* scripts/haunt: Now a build artifact.
* scripts/haunt.in: New file.
* configure.ac: Pre-process haunt.in.
|
|
|
|
|
| |
* package.scm: New file.
* README.md: Document it.
|
|
|
|
| |
* README.md (Requirements, Building): New sections.
|
|
|
|
| |
* bootstrap: New file.
|
|
|
|
|
|
|
|
|
| |
* haunt/builder/blog.scm (<theme>): New record type.
(theme, theme?, theme-name, theme-layout, theme-post-layout,
theme-list-template, with-layout, render-post, render-list,
date->string*): New procedures.
(ugly-theme): Redefine as <theme>.
(blog): Use <theme> object.
|
|
|
|
|
|
|
|
| |
* haunt/asset.scm: New file.
* Makefile.am (SOURCES): Add it.
* haunt/site.scm (build-site): Add support for assets.
* haunt/utils.scm (file-name-components, join-file-name-components): New
procedures.
|
|
|
|
| |
* example/haunt.scm: Use made up metadata.
|
|
|
|
| |
* README.md (Example Configuration): Use made up domain/name/email address.
|
|
|
|
| |
* README.md (Example Configuration): Remove (srfi srfi-19).
|
|
|
|
|
|
|
| |
* .gitignore: Ignore example build artifacts.
* example/haunt.scm: New file.
* example/posts/foo.sxml: New file.
* example/posts/bar.html: New file.
|
|
|
|
|
| |
* haunt/builder/blog.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
| |
* haunt/post.scm (%default-date): New variable.
(post-date): New procedure.
* haunt/builder/atom.scm (post->atom-entry): Use post-date.
* README.md (Example Configuration): Remove date from default metadata.
|
|
|
|
|
| |
* haunt/post.scm (post->time): Rename to...
(post-time): ...this.
|
|
|
|
|
| |
* README.md: Add missing argument to make-date. Use quasiquote and
unquote to apply make-date.
|
|
|
|
| |
* README.md: Update intro. Add example configuration and usage.
|
|
|
|
|
| |
* haunt/builder/atom.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
| |
* haunt/build/html.scm (sxml->html-string): New procedure.
|
|
|
|
| |
* haunt/post.scm (group-by-tag): New procedure.
|
|
|
|
|
|
| |
Paths were not being concatenated properly.
* haunt/server/web-server.scm (render-directory): Fix concat+uri-encode.
|
|
|
|
|
|
|
|
| |
Cleaning the build directory failed when a subdirectory existed.
* haunt/utils.scm (clean-directory): Remove.
(delete-file-recursively): New procedure.
* haunt/site.scm (build-site): Use delete-file-recursively.
|
|
|
|
|
|
|
| |
* haunt/site.scm (<site>): Add 'domain' field.
(make-site): New argument.
(site-domain): New accessor.
(site): Add 'domain' keyword argument.
|
|
|
|
|
| |
* haunt/reader.scm (html-reader): Export. Use alist-cons to neaten up
code.
|
|
|
|
|
|
|
| |
* haunt/post.scm (%metadata-parsers): New variable. Register parser for
'tags and 'date.
(metadata-parser, register-metadata-parser!, parse-metadata): New
procedures.
|
|
|
|
| |
* haunt/post.scm (post-slug, posts/reverse-chronological): New procedures.
|
|
|
|
| |
* haunt/utils.scm (take-up-to): New procedure.
|
|
|
|
| |
* haunt/utils.scm (string->date*): New procedure.
|
|
|
|
|
| |
* haunt/config.scm.in (%haunt-cwd, haunt-file-name,
haunt-output-directory): Remove.
|
|
|
|
| |
* haunt/ui.scm (commands): Add "build".
|