| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
Deprecate <page> and <asset>.
|
| |
|
|
|
|
| |
They are Emacs temp files.
|
| |
|
|
|
|
| |
* haunt/builder/atom.scm (date->string*): Format in RFC-3339 style.
|
| |
|
|
|
|
|
| |
* haunt/site.scm (<site>)[scheme]: New field.
(site): Add #:scheme keyword argument.
|
|
|
|
|
| |
Currently, if given a file containing more than one top-level elements,
'read-html-post will only return the first.
|
|
|
|
| |
* haunt/skribe/utils.scm (h5 h6 section nav aside): New procedures.
|
|
|
|
|
| |
* haunt/builder/atom.scm (post->atom-entry): Switch url attribute to
href attribute.
|
|
|
|
|
| |
* haunt/builder/rss.scm: New file with support for RSS feeds.
* Makefile.am: Add it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The most notable use-case here is allowing Haunt to be used for
podcasting. Thanks to Christopher Lemmer Webber for wanting to use
Haunt to build their podcast Atom feed!
* haunt/builder/atom.scm (<enclosure>): New record type.
(make-enclosure, enclosure?, enclosure-title, enclosure-url,
enclosure-extra, enclosure-mime-type, parse-enclosure): New
procedures.
(post->atom-entry): Render enclosures.
|
|
|
|
| |
* haunt/post.scm (post-ref-all): New procedure.
|
|
|
|
|
| |
* haunt/post.scm: Fix typo preventing other modules from using
register-metadata-parser!
|
|
|
|
|
|
|
|
| |
Reported by sirgazil at
<https://lists.gnu.org/archive/html/guile-user/2017-12/msg00070.html>.
* haunt/serve/mime-types.scm (%file-ext-regexp): Remove.
(file-extension): Rewrite using 'string-rindex'.
|
|
|
|
|
|
|
|
|
|
|
| |
This was breaking the rendering of documents like:
'(p (@ (onclick "javascriptFunction('argmunent')")))
The single quotes would be escaped and then the onclick handler
wouldn't work at all.
* haunt/html.scm (%escape-codes): Remove apostrophe escape code.
|
|
|
|
| |
* haunt/ui/serve.scm: Add '(ice-9 threads)' module import.
|
|
|
|
|
| |
Without this patch 'haunt serve' claims to use the specified
non-default port, but in fact uses the default 8080 instead.
|
|
|
|
|
| |
* haunt/builder/atom.scm (atom-feed): Use SITE's domain to generate a
full URL for the "self" link.
|
|
|
|
|
|
| |
* haunt/reader/commonmark.scm: New file.
* Makefile.am (SOURCES): Add it.
* configure.ac: Check for guile-commonmark.
|
|
|
|
|
|
|
|
| |
Now 'haunt serve --watch' won't crash when you put some bad code in a
post!
* haunt/ui/server.scm (call-with-error-handling): New procedure.
(watch): Wrap build-site call in call-with-error-handling form.
|
|
|
|
|
|
| |
* haunt/post.scm (post-slug): Allow posts to set their own slug field
and use that if available. Otherwise default to previous title-derived
slug behavior.
|
|
|
|
|
|
|
| |
* haunt/builder/blog.scm (ugly-default-collection-template):
* haunt/builder/blog.scm (post->atom-entry):
Reverse appending of prefix and slash in generation of paths
for blog entries.
|
|
|
|
|
| |
* haunt/builder/atom.scm (post->atom-key, atom-feed, atom-feeds-by-tag):
Add #:blog-prefix keyword.
|
|
|
|
|
|
|
|
|
|
| |
Previously if a user did not provide a value for any of the theme
keyword arguments, there would be an error. Instead, provide defaults
from ugly-theme.
* haunt/builder/blog.scm: (ugly-default-layout, ugly-default-post-template,
ugly-default-collection-template): New variables.
(theme): New defaults to keyword arguments.
|
|
|
|
|
| |
* haunt/post.scm (char-set:slug): New variable.
(post-slug): Use slug char set.
|
|
|
|
| |
* haunt/skribe/utils.scm: Export ol.
|
|
|
|
|
|
| |
Trace origin back to Skribilo.
* haunt/skribe.scm: Added comments and copyright headers.
|
| |
|
|
|
|
|
|
|
| |
* haunt/reader/texinfo.scm: New file.
* Makefile.am (SOURCES): Add it.
* example/haunt.scm: Activate texinfo reader.
* example/posts/quux.scm: New file.
|
|
|
|
|
|
|
|
| |
* haunt/post.scm (read-metadata-headers): New procedure.
* haunt/reader.scm (read-html-post): Reimplement using
'read-metadata-headers'.
* tests/post.scm (%tzoffset): New variable.
("read-metadata-headers"): New test.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* haunt/utils.scm (flat-map, string-split-at): Add docstring.
(file-name-components): Adjust slightly to handle "/".
(join-file-name-components): Use prefix string join grammar.
(absolute-file-name): Add docstring.
* test-env.in: New file.
* tests/utils.scm: New file.
* Makefile.am (TESTS, TEST_EXTENSIONS, SCM_LOG_COMPILER,
AM_SCM_LOG_FLAGS): New variables.
* configure.ac: Add test-env pre-processed file.
* build-aux/test-driver: New file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* haunt/skribe.scm: New file.
* haunt/skribe/utils.scm: New file.
* haunt/reader/skribe.scm: New file.
* configure.ac: Check for guile-reader.
* Makefile.am (SOURCES): Add Skribe modules when guile-reader is
available.
* example/haunt.scm: Include Skribe reader.
* example/posts/baz.skr: New file.
* README.md ("Requirements"): Mention guile-reader as optional dependency.
|
|
|
|
| |
* haunt/utils.scm (make-user-module): New procedure.
|
|
|
|
| |
* haunt/ui.scm (haunt-main): Add CWD to Guile load path.
|
|
|
|
| |
* haunt/builder/blog.scm: Export render-post and render-collection.
|
|
|
|
|
|
| |
* haunt/html.scm (sxml->html): Remove 'raw' element renderer.
* haunt/reader.scm (read-html-post): Parse to SXML, rather than reading
a raw string.
|
|
|
|
|
| |
* haunt/builder/blog.scm: Export "theme-collection-template", not
"theme-list-template".
|
|
|
|
|
|
| |
* haunt/ui/serve.scm (watch): Remove 'ignore-dirs' argument. Add
'check-file?' and 'check-dir?' arguments.
(haunt-serve): Use new 'watch' procedure.
|
| |
|
|
|
|
|
| |
* 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.
|