summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* utils: Clean up and add tests.David Thompson2015-10-147-5/+287
| | | | | | | | | | | | | * 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.
* Update Guix development package.David Thompson2015-10-122-5/+7
|
* Add support for Skribe document format.David Thompson2015-10-128-6/+264
| | | | | | | | | | | | * 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.
* utils: Add make-user-module.David Thompson2015-10-121-1/+10
| | | | * haunt/utils.scm (make-user-module): New procedure.
* ui: Add CWD to Guile load path.David Thompson2015-10-121-0/+3
| | | | * haunt/ui.scm (haunt-main): Add CWD to Guile load path.
* builder: blog: Export render-post and render-collection.David Thompson2015-10-081-0/+2
| | | | * haunt/builder/blog.scm: Export render-post and render-collection.
* html: Remove 'raw' element type.David Thompson2015-10-022-4/+4
| | | | | | * haunt/html.scm (sxml->html): Remove 'raw' element renderer. * haunt/reader.scm (read-html-post): Parse to SXML, rather than reading a raw string.
* builder: blog: Export "theme-collection-template".Ricardo Wurmus2015-09-041-1/+1
| | | | | * haunt/builder/blog.scm: Export "theme-collection-template", not "theme-list-template".
* README: Add examples section.David Thompson2015-08-181-0/+10
|
* README: Explain the pre-inst-env script.David Thompson2015-08-181-0/+7
|
* Add package.scm to release tarballs.David Thompson2015-08-121-1/+2
|
* website: Add license information to home page.David Thompson2015-08-101-0/+9
| | | | * website/haunt.scm (haunt-theme): Add "License" section to index page.
* Include example and website directories in release tarballs.David Thompson2015-08-106-5/+59
|
* Include README.md in future release tarballs.David Thompson2015-08-101-1/+3
| | | | Thanks to Ben Sturmfels for pointing out that it was missing.
* website: Add Piwik analytics.David Thompson2015-08-092-2/+41
| | | | | | * website/haunt.scm (%piwik-code): New variable. (haunt-theme): Include Piwik JS on all pages. * website/js/piwik.js: New file.
* Add THANKS file.David Thompson2015-08-091-0/+1
|
* README: Fix Guile version requirements.David Thompson2015-08-091-1/+1
| | | | Thanks to Ben Sturmfels for pointing it out.
* website: Add real SHA1 checksum for 0.1 release.David Thompson2015-08-081-1/+1
|
* Update Guix development package.v0.1David Thompson2015-08-081-3/+22
|
* Add scripts/haunt to bin directory.David Thompson2015-08-081-0/+3
| | | | * Makefile.am (bin_SCRIPTS): New variable.
* Add website.David Thompson2015-08-087-0/+928
|
* Update Guix package metadata.David Thompson2015-08-081-3/+3
|
* Ignore gzipped tarballs.David Thompson2015-08-081-0/+1
|
* ui: serve: Fix auto-rebuilding logic.David Thompson2015-08-081-16/+25
| | | | | | * haunt/ui/serve.scm (watch): Remove 'ignore-dirs' argument. Add 'check-file?' and 'check-dir?' arguments. (haunt-serve): Use new 'watch' procedure.
* blog: Export with-layout.David Thompson2015-08-081-0/+1
|
* asset: Filter out assets that do not pass the site file filter.David Thompson2015-08-082-8/+11
| | | | | * haunt/asset.scm (directory-assets): Add 'keep?' argument. (static-directory): Use site file filter.
* site: Change post-filter to file-filter.David Thompson2015-08-082-24/+25
| | | | | | | | | | | | | | | 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.
* example: Remove unnecessary module import.David Thompson2015-08-061-2/+1
|
* builder: blog: Add concept of "collections".David Thompson2015-08-061-15/+19
| | | | | | | | | | | | | | | | 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.
* builder: blog: Export date->string*.David Thompson2015-08-051-0/+2
| | | | * haunt/builder/blog.scm: Export date->string*.
* site: Don't crash if there is no posts directory.David Thompson2015-08-051-4/+6
| | | | | * haunt/site.scm (build-site): Test for the existence of posts directory.
* site: Update default file filter.David Thompson2015-08-051-1/+1
| | | | | * haunt/site.scm (default-file-filter): Ignore files that begin with "." or "#".
* ui: serve: Add --watch option.David Thompson2015-08-031-3/+49
| | | | | | | * 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.
* site: Add a way to ignore post files that match a pattern.David Thompson2015-08-032-10/+36
| | | | | | | | | | | | 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.
* site: Fix procedure name in doc string.Ricardo Wurmus2015-07-281-1/+1
| | | | | * haunt/site.scm (site): Change "POST-SLUG" to "MAKE-SLUG" in doc string.
* site: Add site-wide slug procedure setting.Ricardo Wurmus2015-07-273-9/+22
| | | | | | | | | | | | | 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: Add image asset.David Thompson2015-07-273-2/+8
| | | | | | * example/haunt.scm: Add static directory builder. * example/images/guile-banner.small.png: New file. * example/posts/foo.sxml: Render Guile banner image.
* web-server: Bypass response sanitization for static files.David Thompson2015-07-271-11/+2
| | | | | | | Just copy the raw bytes. * haunt/serve/web-server.scm (dump-file): Delete. (render-file): Return a bytevector instead of a writer procedure.
* Remove code that was accidentally committed.David Thompson2015-07-271-3/+0
|
* site: Display unicode arrow when printing asset copy actions.David Thompson2015-07-261-1/+1
| | | | * haunt/site.scm (build-site): Replace '->' with '→'.
* ui: Set default locale for all commands.David Thompson2015-07-261-0/+1
| | | | * haunt/ui.scm (haunt-main): Set LC_ALL.
* utils: file-name-components: Handle empty string.David Thompson2015-07-261-1/+3
| | | | | * haunt/utils.scm (file-name-components): Return the empty list when given the empty string.
* asset: Add brief documentation.David Thompson2015-07-263-2/+10
| | | | | * haunt/asset.scm: Add introductory comment. * README.md (Example Configuration): Add 'directory-assets' example.
* builder: Add assets builder.David Thompson2015-07-262-0/+40
| | | | | * haunt/builder/assets.scm: New file. * Makefile.am (SOURCES): Add it.
* Rename (haunt build html) to (haunt html).David Thompson2015-07-265-4/+7
| | | | | | | | | * 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.
* html: Add punctuation to comment.David Thompson2015-07-261-1/+1
|
* html: Remove gratuitous escape codes.David Thompson2015-07-262-244/+2
| | | | | | | | | 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.
* Remove hardcoded Guile executable path.David Thompson2015-07-263-1/+3
| | | | | | * scripts/haunt: Now a build artifact. * scripts/haunt.in: New file. * configure.ac: Pre-process haunt.in.
* Add GNU Guix development environment helper.David Thompson2015-07-192-3/+57
| | | | | * package.scm: New file. * README.md: Document it.
* README: Add building instructions.David Thompson2015-07-191-0/+15
| | | | * README.md (Requirements, Building): New sections.