haunt.git
11 months agoBump version to 0.2.4. v0.2.4
David Thompson [Thu, 29 Nov 2018 16:40:46 +0000 (11:40 -0500)] 
Bump version to 0.2.4.

11 months agoatom: links should use href attribute, not url attribute.
Christopher Lemmer Webber [Sun, 25 Nov 2018 23:40:37 +0000 (18:40 -0500)] 
atom: links should use href attribute, not url attribute.

* haunt/builder/atom.scm (post->atom-entry): Switch url attribute to
  href attribute.

11 months agogit: Ignore tarball signature files. v0.2.3
David Thompson [Sun, 25 Nov 2018 21:05:46 +0000 (16:05 -0500)] 
git: Ignore tarball signature files.

11 months agoBump version to 0.2.3.
David Thompson [Sun, 25 Nov 2018 20:59:07 +0000 (15:59 -0500)] 
Bump version to 0.2.3.

11 months agoREADME: Mention RSS.
David Thompson [Sun, 25 Nov 2018 20:58:42 +0000 (15:58 -0500)] 
README: Mention RSS.

11 months agoAdd RSS support.
Christopher Lemmer Webber [Mon, 19 Nov 2018 21:11:56 +0000 (16:11 -0500)] 
Add RSS support.

* haunt/builder/rss.scm: New file with support for RSS feeds.
* Makefile.am: Add it.

11 months agoatom: Add support for enclosures.
David Thompson [Mon, 19 Nov 2018 01:47:47 +0000 (20:47 -0500)] 
atom: Add support for enclosures.

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.

11 months agopost: Add post-ref-all procedure.
David Thompson [Mon, 19 Nov 2018 01:46:36 +0000 (20:46 -0500)] 
post: Add post-ref-all procedure.

* haunt/post.scm (post-ref-all): New procedure.

11 months agopost: Fix export for register-metadata-parser!
David Thompson [Mon, 19 Nov 2018 01:45:31 +0000 (20:45 -0500)] 
post: Fix export for register-metadata-parser!

* haunt/post.scm: Fix typo preventing other modules from using
  register-metadata-parser!

19 months agoThank Jorge Maldonado Ventura.
David Thompson [Mon, 2 Apr 2018 14:11:06 +0000 (10:11 -0400)] 
Thank Jorge Maldonado Ventura.

19 months agodoc: Fix tarball download link.
Jorge Maldonado Ventura [Mon, 2 Apr 2018 11:01:02 +0000 (13:01 +0200)] 
doc: Fix tarball download link.

* doc/haunt.texi (Downloading): Fix outdated download link.

19 months agoThank Alex Kost.
David Thompson [Mon, 19 Mar 2018 14:11:25 +0000 (10:11 -0400)] 
Thank Alex Kost.

20 months agoBump to version 0.2.2. v0.2.2
David Thompson [Sun, 11 Mar 2018 00:59:35 +0000 (19:59 -0500)] 
Bump to version 0.2.2.

20 months agoMakefile: Fix compiled Guile file installation directory.
David Thompson [Sun, 11 Mar 2018 00:59:18 +0000 (19:59 -0500)] 
Makefile: Fix compiled Guile file installation directory.

22 months agoguix: Switch to Guile 2.2.
Ludovic Courtès [Thu, 21 Dec 2017 13:19:50 +0000 (14:19 +0100)] 
guix: Switch to Guile 2.2.

* guix.scm <inputs>: Switch to GUILE-2.2.

22 months agoserve: Fix 'file-extension' so that the right MIME type is chosen.
Ludovic Courtès [Thu, 21 Dec 2017 13:16:14 +0000 (14:16 +0100)] 
serve: Fix 'file-extension' so that the right MIME type is chosen.

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'.

2 years agoThank Urbain Vaes.
David Thompson [Wed, 1 Nov 2017 17:40:22 +0000 (13:40 -0400)] 
Thank Urbain Vaes.

2 years agohtml: Stop escaping apostrophes.
David Thompson [Wed, 1 Nov 2017 15:57:28 +0000 (11:57 -0400)] 
html: Stop escaping apostrophes.

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.

2 years agoui: serve: Fix deprecation warning.
Jelle Licht [Mon, 30 Oct 2017 21:00:03 +0000 (22:00 +0100)] 
ui: serve: Fix deprecation warning.

* haunt/ui/serve.scm: Add '(ice-9 threads)' module import.

2 years agoDon't ignore a specified non-default port in 'haunt serve'.
Sudarshan S Chawathe [Sat, 2 Sep 2017 23:18:45 +0000 (19:18 -0400)] 
Don't ignore a specified non-default port in 'haunt serve'.

Without this patch 'haunt serve' claims to use the specified
non-default port, but in fact uses the default 8080 instead.

2 years agowebsite: Update manual.
David Thompson [Tue, 24 Jan 2017 01:40:04 +0000 (20:40 -0500)] 
website: Update manual.

2 years agoAdd 0.2.1 release announcement.
David Thompson [Tue, 24 Jan 2017 01:14:59 +0000 (20:14 -0500)] 
Add 0.2.1 release announcement.

2 years agoAdd 'make publish' target.
David Thompson [Tue, 24 Jan 2017 00:45:05 +0000 (19:45 -0500)] 
Add 'make publish' target.

2 years agoBump version to 0.2.1. v0.2.1
David Thompson [Tue, 24 Jan 2017 00:44:59 +0000 (19:44 -0500)] 
Bump version to 0.2.1.

2 years agoFix tests that fail during daylight savings time.
David Thompson [Tue, 24 Jan 2017 00:43:22 +0000 (19:43 -0500)] 
Fix tests that fail during daylight savings time.

lol oops

2 years agodoc: Add Readers section and reader subsections.
Erik Edrosa [Sat, 27 Aug 2016 16:48:29 +0000 (12:48 -0400)] 
doc: Add Readers section and reader subsections.

* doc/haunt.texi ("Readers"): Add menu.
("Reader"): Change Readers to a subsection.
("Texinfo"): Add Textinfo subsection.
("Skribe"): Add Skribe subsection.
("CommonMark"): Add CommonMark subsection.

3 years agobuilder: atom: Provide a full URL for the "self" link.
Ludovic Courtès [Sun, 30 Oct 2016 22:42:22 +0000 (23:42 +0100)] 
builder: atom: Provide a full URL for the "self" link.

* haunt/builder/atom.scm (atom-feed): Use SITE's domain to generate a
full URL for the "self" link.

3 years agoexample: Add a Markdown post.
David Thompson [Thu, 18 Aug 2016 19:20:42 +0000 (15:20 -0400)] 
example: Add a Markdown post.

* example/haunt.scm: Add the commonmark-reader.
* example/posts/frob.md: New file.

3 years agoguix: Add guile-commonmark as a propagated input.
David Thompson [Thu, 18 Aug 2016 19:07:18 +0000 (15:07 -0400)] 
guix: Add guile-commonmark as a propagated input.

3 years agodoc: Add guile-commonmark as optional dependency.
Erik Edrosa [Sat, 13 Aug 2016 02:34:21 +0000 (22:34 -0400)] 
doc: Add guile-commonmark as optional dependency.

* doc/haunt.text ("Requirements"): Add guile-commonmark.
* README ("Requirements"): Add guile-commonmark.

3 years agoreader: Add commonmark support.
Erik Edrosa [Tue, 2 Aug 2016 02:40:22 +0000 (22:40 -0400)] 
reader: Add commonmark support.

* haunt/reader/commonmark.scm: New file.
* Makefile.am (SOURCES): Add it.
* configure.ac: Check for guile-commonmark.

3 years agodoc: Fix a typo in procedure name.
Vladimir Zhbanov [Tue, 7 Jun 2016 08:19:05 +0000 (11:19 +0300)] 
doc: Fix a typo in procedure name.

* doc/haunt.texi ("Posts"): s/post-data/post-date/

3 years agoThank Vladimir.
David Thompson [Fri, 20 May 2016 10:39:25 +0000 (06:39 -0400)] 
Thank Vladimir.

3 years agodoc: Fix procedure name.
Vladimir Zhbanov [Fri, 20 May 2016 10:22:24 +0000 (13:22 +0300)] 
doc: Fix procedure name.

* doc/haunt.texi: s/matcher/proc/

3 years agowebsite: Fix small capitalization mistake.
David Thompson [Sun, 24 Apr 2016 19:32:34 +0000 (15:32 -0400)] 
website: Fix small capitalization mistake.

3 years agowebsite: Thank Chris and Mathieu.
David Thompson [Sun, 24 Apr 2016 19:30:31 +0000 (15:30 -0400)] 
website: Thank Chris and Mathieu.

3 years agowebsite: Add copy of HTML manual.
David Thompson [Sun, 24 Apr 2016 19:26:44 +0000 (15:26 -0400)] 
website: Add copy of HTML manual.

3 years agowebsite: Add 0.2 release announcement.
David Thompson [Sun, 24 Apr 2016 19:11:41 +0000 (15:11 -0400)] 
website: Add 0.2 release announcement.

3 years agoFix 'make distcheck'. v0.2
David Thompson [Sun, 24 Apr 2016 19:08:56 +0000 (15:08 -0400)] 
Fix 'make distcheck'.

3 years agoguix: Update development snapshot.
David Thompson [Sun, 24 Apr 2016 15:32:41 +0000 (11:32 -0400)] 
guix: Update development snapshot.

3 years agodoc: Expand API documentation.
David Thompson [Sat, 23 Apr 2016 20:17:53 +0000 (16:17 -0400)] 
doc: Expand API documentation.

3 years agoserve: Catch exceptions when rebuilding site.
David Thompson [Fri, 22 Apr 2016 02:37:44 +0000 (22:37 -0400)] 
serve: Catch exceptions when rebuilding site.

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.

3 years agopost: Allow posts to set their own slugs.
Christopher Allan Webber [Tue, 12 Apr 2016 19:30:54 +0000 (14:30 -0500)] 
post: Allow posts to set their own slugs.

* 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.

3 years agobuilder: Reverse prefix and slash append order in generating post paths.
Christopher Allan Webber [Fri, 8 Apr 2016 20:31:06 +0000 (15:31 -0500)] 
builder: Reverse prefix and slash append order in generating post paths.

* 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.

3 years agobuilder: atom: Allow atom feeds to correctly set the blog prefix.
Christopher Allan Webber [Mon, 4 Apr 2016 20:06:34 +0000 (15:06 -0500)] 
builder: atom: Allow atom feeds to correctly set the blog prefix.

* haunt/builder/atom.scm (post->atom-key, atom-feed, atom-feeds-by-tag):
  Add #:blog-prefix keyword.

3 years agodoc: Start writing API docs.
David Thompson [Sat, 2 Apr 2016 21:35:43 +0000 (17:35 -0400)] 
doc: Start writing API docs.

3 years agodoc: Write command-line interface chapter.
David Thompson [Sat, 2 Apr 2016 21:08:23 +0000 (17:08 -0400)] 
doc: Write command-line interface chapter.

3 years agobuilder: blog: Set default values for 'theme' keywords.
Christopher Allan Webber [Tue, 16 Feb 2016 18:44:22 +0000 (10:44 -0800)] 
builder: blog: Set default values for 'theme' keywords.

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.

3 years agopost: Allow dashes in slugs.
David Thompson [Sat, 2 Apr 2016 19:56:19 +0000 (15:56 -0400)] 
post: Allow dashes in slugs.

* haunt/post.scm (char-set:slug): New variable.
(post-slug): Use slug char set.

3 years agoskribe: utils: Export ol.
David Thompson [Sat, 2 Apr 2016 19:55:47 +0000 (15:55 -0400)] 
skribe: utils: Export ol.

* haunt/skribe/utils.scm: Export ol.

3 years agoguix: Add pkg-config to environment.
David Thompson [Tue, 16 Feb 2016 00:57:41 +0000 (19:57 -0500)] 
guix: Add pkg-config to environment.

3 years agobuild: Allow building with Guile 2.2.
David Thompson [Tue, 16 Feb 2016 00:56:41 +0000 (19:56 -0500)] 
build: Allow building with Guile 2.2.

* Makefile.am (moddir, goddir): Remove hardcoded "2.0".
* configure.ac: Check to 2.2 as well.

3 years agoskribe: Add copyright information for Ludovic Courtès.
Christopher Allan Webber [Tue, 15 Dec 2015 05:05:50 +0000 (23:05 -0600)] 
skribe: Add copyright information for Ludovic Courtès.

Trace origin back to Skribilo.

* haunt/skribe.scm: Added comments and copyright headers.

3 years agodoc: Add support for 'install-info'.
Mathieu Lirzin [Thu, 12 Nov 2015 22:05:17 +0000 (23:05 +0100)] 
doc: Add support for 'install-info'.

* doc/haunt.texi: Use '@dircategory' and '@direntry'.

3 years agobuild: Don't build dvi docs.
David Thompson [Sun, 6 Dec 2015 17:21:21 +0000 (12:21 -0500)] 
build: Don't build dvi docs.

4 years agoreader: texinfo: Remove unused import.
David Thompson [Wed, 11 Nov 2015 02:38:19 +0000 (21:38 -0500)] 
reader: texinfo: Remove unused import.

4 years agoRenamed README.md to README.
David Thompson [Wed, 11 Nov 2015 02:37:38 +0000 (21:37 -0500)] 
Renamed README.md to README.

4 years agobuild: Declare a dependency for the manual.
Mathieu Lirzin [Tue, 10 Nov 2015 15:03:43 +0000 (16:03 +0100)] 
build: Declare a dependency for the manual.

This fixes 'make distcheck' failure.

* Makefile.am (doc_haunt_TEXINFOS): New variable.

4 years agobuild: Fix all the Guix development package references.
Mathieu Lirzin [Tue, 10 Nov 2015 14:53:11 +0000 (15:53 +0100)] 
build: Fix all the Guix development package references.

* Makefile.am (EXTRA_DIST): Use 'guix.scm' instead of the obsolete file
name 'package.scm'.
* example/posts/baz.skr: Likewise.

4 years agoreader: Add texinfo support.
David Thompson [Fri, 16 Oct 2015 02:50:18 +0000 (22:50 -0400)] 
reader: Add texinfo support.

* haunt/reader/texinfo.scm: New file.
* Makefile.am (SOURCES): Add it.
* example/haunt.scm: Activate texinfo reader.
* example/posts/quux.scm: New file.

4 years agopost: Add read-metadata-headers procedure.
David Thompson [Fri, 16 Oct 2015 02:46:30 +0000 (22:46 -0400)] 
post: Add read-metadata-headers procedure.

* 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.

4 years agotests: Add post tests.
David Thompson [Fri, 16 Oct 2015 02:37:40 +0000 (22:37 -0400)] 
tests: Add post tests.

* tests/post.scm: New file.
* Makefile.am (TESTS): Add it.

4 years agoBump version to 0.2.
David Thompson [Fri, 16 Oct 2015 01:09:14 +0000 (21:09 -0400)] 
Bump version to 0.2.

4 years agoAdd beginnings of a reference manual.
David Thompson [Fri, 16 Oct 2015 01:05:11 +0000 (21:05 -0400)] 
Add beginnings of a reference manual.

* Makefile.am (info_TEXINFOS): New variable.
* doc/haunt.texi: New file.
* doc/fdl-1.3.texi: New file.
* guix.scm [native-inputs]: Add texinfo.

4 years agoIgnore build-aux/test-driver.
David Thompson [Thu, 15 Oct 2015 21:10:39 +0000 (17:10 -0400)] 
Ignore build-aux/test-driver.

Generated by Automake.  No need to check it into the repo.

4 years agoutils: Clean up and add tests.
David Thompson [Wed, 14 Oct 2015 14:44:00 +0000 (10:44 -0400)] 
utils: Clean up and add tests.

* 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.

4 years agoUpdate Guix development package.
David Thompson [Tue, 13 Oct 2015 00:08:49 +0000 (20:08 -0400)] 
Update Guix development package.

4 years agoAdd support for Skribe document format.
David Thompson [Mon, 12 Oct 2015 23:32:05 +0000 (19:32 -0400)] 
Add support for Skribe document format.

* 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.

4 years agoutils: Add make-user-module.
David Thompson [Mon, 12 Oct 2015 23:29:57 +0000 (19:29 -0400)] 
utils: Add make-user-module.

* haunt/utils.scm (make-user-module): New procedure.

4 years agoui: Add CWD to Guile load path.
David Thompson [Mon, 12 Oct 2015 23:05:50 +0000 (19:05 -0400)] 
ui: Add CWD to Guile load path.

* haunt/ui.scm (haunt-main): Add CWD to Guile load path.

4 years agobuilder: blog: Export render-post and render-collection.
David Thompson [Thu, 8 Oct 2015 21:40:05 +0000 (17:40 -0400)] 
builder: blog: Export render-post and render-collection.

* haunt/builder/blog.scm: Export render-post and render-collection.

4 years agohtml: Remove 'raw' element type.
David Thompson [Sat, 3 Oct 2015 00:47:37 +0000 (20:47 -0400)] 
html: Remove 'raw' element type.

* haunt/html.scm (sxml->html): Remove 'raw' element renderer.
* haunt/reader.scm (read-html-post): Parse to SXML, rather than reading
  a raw string.

4 years agobuilder: blog: Export "theme-collection-template".
Ricardo Wurmus [Fri, 4 Sep 2015 06:37:08 +0000 (08:37 +0200)] 
builder: blog: Export "theme-collection-template".

* haunt/builder/blog.scm: Export "theme-collection-template", not
  "theme-list-template".

4 years agoREADME: Add examples section.
David Thompson [Tue, 18 Aug 2015 13:06:31 +0000 (09:06 -0400)] 
README: Add examples section.

4 years agoREADME: Explain the pre-inst-env script.
David Thompson [Tue, 18 Aug 2015 13:06:16 +0000 (09:06 -0400)] 
README: Explain the pre-inst-env script.

4 years agoAdd package.scm to release tarballs.
David Thompson [Wed, 12 Aug 2015 12:36:10 +0000 (08:36 -0400)] 
Add package.scm to release tarballs.

4 years agowebsite: Add license information to home page.
David Thompson [Mon, 10 Aug 2015 13:05:20 +0000 (09:05 -0400)] 
website: Add license information to home page.

* website/haunt.scm (haunt-theme): Add "License" section to index page.

4 years agoInclude example and website directories in release tarballs.
David Thompson [Mon, 10 Aug 2015 13:04:42 +0000 (09:04 -0400)] 
Include example and website directories in release tarballs.

4 years agoInclude README.md in future release tarballs.
David Thompson [Mon, 10 Aug 2015 12:38:33 +0000 (08:38 -0400)] 
Include README.md in future release tarballs.

Thanks to Ben Sturmfels for pointing out that it was missing.

4 years agowebsite: Add Piwik analytics.
David Thompson [Sun, 9 Aug 2015 14:21:53 +0000 (10:21 -0400)] 
website: Add Piwik analytics.

* website/haunt.scm (%piwik-code): New variable.
  (haunt-theme): Include Piwik JS on all pages.
* website/js/piwik.js: New file.

4 years agoAdd THANKS file.
David Thompson [Sun, 9 Aug 2015 14:13:18 +0000 (10:13 -0400)] 
Add THANKS file.

4 years agoREADME: Fix Guile version requirements.
David Thompson [Sun, 9 Aug 2015 14:11:22 +0000 (10:11 -0400)] 
README: Fix Guile version requirements.

Thanks to Ben Sturmfels for pointing it out.

4 years agowebsite: Add real SHA1 checksum for 0.1 release.
David Thompson [Sat, 8 Aug 2015 14:03:11 +0000 (10:03 -0400)] 
website: Add real SHA1 checksum for 0.1 release.

4 years agoUpdate Guix development package. v0.1
David Thompson [Sat, 8 Aug 2015 13:58:59 +0000 (09:58 -0400)] 
Update Guix development package.

4 years agoAdd scripts/haunt to bin directory.
David Thompson [Sat, 8 Aug 2015 13:50:31 +0000 (09:50 -0400)] 
Add scripts/haunt to bin directory.

* Makefile.am (bin_SCRIPTS): New variable.

4 years agoAdd website.
David Thompson [Sat, 8 Aug 2015 13:42:24 +0000 (09:42 -0400)] 
Add website.

4 years agoUpdate Guix package metadata.
David Thompson [Sat, 8 Aug 2015 13:28:02 +0000 (09:28 -0400)] 
Update Guix package metadata.

4 years agoIgnore gzipped tarballs.
David Thompson [Sat, 8 Aug 2015 13:19:26 +0000 (09:19 -0400)] 
Ignore gzipped tarballs.

4 years agoui: serve: Fix auto-rebuilding logic.
David Thompson [Sat, 8 Aug 2015 13:11:31 +0000 (09:11 -0400)] 
ui: serve: Fix auto-rebuilding logic.

* haunt/ui/serve.scm (watch): Remove 'ignore-dirs' argument.  Add
  'check-file?' and 'check-dir?' arguments.
  (haunt-serve): Use new 'watch' procedure.

4 years agoblog: Export with-layout.
David Thompson [Sat, 8 Aug 2015 04:44:33 +0000 (00:44 -0400)] 
blog: Export with-layout.

4 years agoasset: Filter out assets that do not pass the site file filter.
David Thompson [Sat, 8 Aug 2015 04:42:12 +0000 (00:42 -0400)] 
asset: Filter out assets that do not pass the site file filter.

* haunt/asset.scm (directory-assets): Add 'keep?' argument.
  (static-directory): Use site file filter.

4 years agosite: Change post-filter to file-filter.
David Thompson [Sat, 8 Aug 2015 04:34:05 +0000 (00:34 -0400)] 
site: Change post-filter to 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.

4 years agoexample: Remove unnecessary module import.
David Thompson [Thu, 6 Aug 2015 12:59:44 +0000 (08:59 -0400)] 
example: Remove unnecessary module import.

4 years agobuilder: blog: Add concept of "collections".
David Thompson [Thu, 6 Aug 2015 12:55:20 +0000 (08:55 -0400)] 
builder: blog: Add concept of "collections".

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.

4 years agobuilder: blog: Export date->string*.
David Thompson [Wed, 5 Aug 2015 22:17:49 +0000 (18:17 -0400)] 
builder: blog: Export date->string*.

* haunt/builder/blog.scm: Export date->string*.

4 years agosite: Don't crash if there is no posts directory.
David Thompson [Wed, 5 Aug 2015 22:17:11 +0000 (18:17 -0400)] 
site: Don't crash if there is no posts directory.

* haunt/site.scm (build-site): Test for the existence of posts
  directory.

4 years agosite: Update default file filter.
David Thompson [Wed, 5 Aug 2015 22:16:10 +0000 (18:16 -0400)] 
site: Update default file filter.

* haunt/site.scm (default-file-filter): Ignore files that begin with "."
  or "#".

4 years agoui: serve: Add --watch option.
David Thompson [Tue, 4 Aug 2015 03:14:09 +0000 (23:14 -0400)] 
ui: serve: Add --watch option.

* 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.

4 years agosite: Add a way to ignore post files that match a pattern.
David Thompson [Tue, 4 Aug 2015 03:09:31 +0000 (23:09 -0400)] 
site: Add a way to ignore post files that match a pattern.

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.

4 years agosite: Fix procedure name in doc string.
Ricardo Wurmus [Tue, 28 Jul 2015 07:22:39 +0000 (09:22 +0200)] 
site: Fix procedure name in doc string.

* haunt/site.scm (site): Change "POST-SLUG" to "MAKE-SLUG" in doc
  string.