Commit Graph

169 Commits

Author SHA1 Message Date
Christopher Allan Webber ed1602dc36 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.
2016-04-08 08:57:55 -04:00
David Thompson 37b4cde1a3 doc: Start writing API docs. 2016-04-02 17:35:43 -04:00
David Thompson 4d31eb056c doc: Write command-line interface chapter. 2016-04-02 17:08:23 -04:00
Christopher Allan Webber 961f061c4b 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.
2016-04-02 15:58:58 -04:00
David Thompson a37c3cd585 post: Allow dashes in slugs.
* haunt/post.scm (char-set:slug): New variable.
(post-slug): Use slug char set.
2016-04-02 15:56:19 -04:00
David Thompson 796cb05b57 skribe: utils: Export ol.
* haunt/skribe/utils.scm: Export ol.
2016-04-02 15:55:47 -04:00
David Thompson 10fa2a715f guix: Add pkg-config to environment. 2016-02-15 19:57:41 -05:00
David Thompson 5373877f98 build: Allow building with Guile 2.2.
* Makefile.am (moddir, goddir): Remove hardcoded "2.0".
* configure.ac: Check to 2.2 as well.
2016-02-15 19:56:41 -05:00
Christopher Allan Webber 8b1adf1dcd skribe: Add copyright information for Ludovic Courtès.
Trace origin back to Skribilo.

* haunt/skribe.scm: Added comments and copyright headers.
2016-02-15 19:33:28 -05:00
Mathieu Lirzin 5b09c3c3fe doc: Add support for 'install-info'.
* doc/haunt.texi: Use '@dircategory' and '@direntry'.
2015-12-06 13:46:41 -05:00
David Thompson b477823964 build: Don't build dvi docs. 2015-12-06 12:21:21 -05:00
David Thompson e867118e50 reader: texinfo: Remove unused import. 2015-11-10 21:49:10 -05:00
David Thompson 77db0bd3cf Renamed README.md to README. 2015-11-10 21:49:10 -05:00
Mathieu Lirzin fe264d96c4 build: Declare a dependency for the manual.
This fixes 'make distcheck' failure.

* Makefile.am (doc_haunt_TEXINFOS): New variable.
2015-11-10 21:47:33 -05:00
Mathieu Lirzin 553e8bcec0 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.
2015-11-10 21:47:24 -05:00
David Thompson 65cced1dda 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.
2015-10-15 22:50:18 -04:00
David Thompson dfad89079b 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.
2015-10-15 22:46:30 -04:00
David Thompson e505a66a1b tests: Add post tests.
* tests/post.scm: New file.
* Makefile.am (TESTS): Add it.
2015-10-15 22:45:10 -04:00
David Thompson 1ca65755df Bump version to 0.2. 2015-10-15 21:09:14 -04:00
David Thompson 17e72708a8 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.
2015-10-15 21:05:11 -04:00
David Thompson c013ef276c Ignore build-aux/test-driver.
Generated by Automake.  No need to check it into the repo.
2015-10-15 17:10:39 -04:00
David Thompson 397bc485d4 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.
2015-10-14 10:50:03 -04:00
David Thompson 32883938eb Update Guix development package. 2015-10-12 20:24:06 -04:00
David Thompson 1ddcff389d 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.
2015-10-12 20:22:28 -04:00
David Thompson ec79e5ad1f utils: Add make-user-module.
* haunt/utils.scm (make-user-module): New procedure.
2015-10-12 19:29:57 -04:00
David Thompson 288913eff2 ui: Add CWD to Guile load path.
* haunt/ui.scm (haunt-main): Add CWD to Guile load path.
2015-10-12 19:05:50 -04:00
David Thompson 6ab9322709 builder: blog: Export render-post and render-collection.
* haunt/builder/blog.scm: Export render-post and render-collection.
2015-10-08 17:40:05 -04:00
David Thompson 33702f3777 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.
2015-10-02 20:47:37 -04:00
Ricardo Wurmus c67e8e924c builder: blog: Export "theme-collection-template".
* haunt/builder/blog.scm: Export "theme-collection-template", not
  "theme-list-template".
2015-09-04 11:16:17 -04:00
David Thompson 03d1309a16 README: Add examples section. 2015-08-18 09:06:31 -04:00
David Thompson 942cf3a801 README: Explain the pre-inst-env script. 2015-08-18 09:06:16 -04:00
David Thompson 9cd45089b7 Add package.scm to release tarballs. 2015-08-12 08:36:10 -04:00
David Thompson bb4626a77b website: Add license information to home page.
* website/haunt.scm (haunt-theme): Add "License" section to index page.
2015-08-10 09:06:04 -04:00
David Thompson c3df5ff848 Include example and website directories in release tarballs. 2015-08-10 09:04:42 -04:00
David Thompson 7c491608f8 Include README.md in future release tarballs.
Thanks to Ben Sturmfels for pointing out that it was missing.
2015-08-10 08:38:33 -04:00
David Thompson 081f8b6e9f 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.
2015-08-09 10:21:53 -04:00
David Thompson a02ac9238d Add THANKS file. 2015-08-09 10:13:18 -04:00
David Thompson d24d29fc19 README: Fix Guile version requirements.
Thanks to Ben Sturmfels for pointing it out.
2015-08-09 10:11:22 -04:00
David Thompson c1b96c94a9 website: Add real SHA1 checksum for 0.1 release. 2015-08-08 10:03:11 -04:00
David Thompson b6917098df Update Guix development package. 2015-08-08 09:58:59 -04:00
David Thompson f012747f3a Add scripts/haunt to bin directory.
* Makefile.am (bin_SCRIPTS): New variable.
2015-08-08 09:50:31 -04:00
David Thompson 49a34570ce Add website. 2015-08-08 09:42:24 -04:00
David Thompson ddf5b54171 Update Guix package metadata. 2015-08-08 09:28:02 -04:00
David Thompson bb513b0935 Ignore gzipped tarballs. 2015-08-08 09:19:26 -04:00
David Thompson 884ab20250 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.
2015-08-08 09:11:31 -04:00
David Thompson 9942e1d97c blog: Export with-layout. 2015-08-08 00:44:33 -04:00
David Thompson f5f24c57ce 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.
2015-08-08 00:42:12 -04:00
David Thompson 568b9b8be6 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.
2015-08-08 00:40:24 -04:00
David Thompson 35f23fb4f8 example: Remove unnecessary module import. 2015-08-06 08:59:44 -04:00
David Thompson 9b3f82e5fa 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.
2015-08-06 08:55:20 -04:00