summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add example site.David Thompson2015-04-134-0/+46
| | | | | | | * .gitignore: Ignore example build artifacts. * example/haunt.scm: New file. * example/posts/foo.sxml: New file. * example/posts/bar.html: New file.
* builder: Add primitive blog builder.David Thompson2015-04-132-0/+82
| | | | | * haunt/builder/blog.scm: New file. * Makefile.am (SOURCES): Add it.
* post: Add post-date procedure.David Thompson2015-04-133-5/+13
| | | | | | | * 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.
* post: Rename post->time to post-time.David Thompson2015-04-131-2/+2
| | | | | * haunt/post.scm (post->time): Rename to... (post-time): ...this.
* README: Fix date in example config.Arne Babenhauserheide2015-04-131-2/+2
| | | | | * README.md: Add missing argument to make-date. Use quasiquote and unquote to apply make-date.
* Update README.David Thompson2015-04-121-5/+39
| | | | * README.md: Update intro. Add example configuration and usage.
* builder: Add Atom feed builder.David Thompson2015-04-112-0/+105
| | | | | * haunt/builder/atom.scm: New file. * Makefile.am (SOURCES): Add it.
* html: Add sxml->html-string.David Thompson2015-04-111-1/+8
| | | | * haunt/build/html.scm (sxml->html-string): New procedure.
* post: Add posts/group-by-tag.David Thompson2015-04-111-0/+15
| | | | * haunt/post.scm (group-by-tag): New procedure.
* serve: web-server: Fix directory rendering.David Thompson2015-04-111-2/+2
| | | | | | Paths were not being concatenated properly. * haunt/server/web-server.scm (render-directory): Fix concat+uri-encode.
* site: Fix cleaning step before building.David Thompson2015-04-112-9/+27
| | | | | | | | 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.
* site: Add 'domain' field.David Thompson2015-04-111-3/+6
| | | | | | | * haunt/site.scm (<site>): Add 'domain' field. (make-site): New argument. (site-domain): New accessor. (site): Add 'domain' keyword argument.
* reader: Export html-reader and fix style.David Thompson2015-04-111-4/+4
| | | | | * haunt/reader.scm (html-reader): Export. Use alist-cons to neaten up code.
* post: Add metadata parsers.David Thompson2015-04-111-1/+28
| | | | | | | * haunt/post.scm (%metadata-parsers): New variable. Register parser for 'tags and 'date. (metadata-parser, register-metadata-parser!, parse-metadata): New procedures.
* post: Add helper procedures.David Thompson2015-04-111-1/+21
| | | | * haunt/post.scm (post-slug, posts/reverse-chronological): New procedures.
* utils: Add take-up-to.David Thompson2015-04-111-0/+11
| | | | * haunt/utils.scm (take-up-to): New procedure.
* utils: Add string->date*.David Thompson2015-04-111-1/+8
| | | | * haunt/utils.scm (string->date*): New procedure.
* config: Remove unneeded things.David Thompson2015-04-111-15/+1
| | | | | * haunt/config.scm.in (%haunt-cwd, haunt-file-name, haunt-output-directory): Remove.
* ui: Add "build" to command list.David Thompson2015-04-111-1/+1
| | | | * haunt/ui.scm (commands): Add "build".
* ui: Add 'build' subcommand.David Thompson2015-04-112-0/+62
| | | | | * haunt/ui/build.scm: New file. * Makefile.am (SOURCES): Add it.
* reader: sxml-reader: Use absolute path when loading Scheme file.David Thompson2015-04-111-1/+1
| | | | | * haunt/reader.scm (sxml-reader): Call 'load' with an absolute file name.
* server: web-server: Fix directory view.David Thompson2015-04-111-5/+26
| | | | | | | | * haunt/serve/web-server.scm (request-path-components, request-file-name): New procedures. (render-directory): URI encode href attributes. Properly concatenate file paths. (make-handler): Decode URI before using it as a relative file name.
* ui: serve: Respect site configuration and default options.David Thompson2015-04-111-4/+7
| | | | | * haunt/ui/serve.scm (%default-options): Fix alist. (haunt-serve): Use site config file to determine web server root.
* ui: Fix load-config.David Thompson2015-04-111-2/+3
| | | | | * haunt/ui.scm (load-config): Use an absolute path when calling 'load'. Fix typo in error message.
* site: Tweak log output when building.David Thompson2015-04-111-3/+2
| | | | * haunt/site.scm (build-site): Change log message text.
* ui: Remove use of defunct haunt-error.David Thompson2015-04-111-1/+1
| | | | * haunt/ui.scm (run-haunt-command): Remove call to 'haunt-error'.
* page: Ensure output directory exists before writing.David Thompson2015-04-112-2/+31
| | | | | * haunt/utils.scm (mkdir-p): New procedure. * haunt/page.scm (write-page): Create missing directories before writing.
* ui: Improve option processing and help output.David Thompson2015-04-112-28/+89
| | | | | | | | | | | | | | * haunt/ui.scm (%common-options, %default-common-options): New variables. (simple-args-fols, show-common-options-help, leave, string->number*, load-config): New procedures. (haunt-error): Remove. (show-version-and-exit): Actually exit. Add 'name' argument. (haunt-main): Use new 'show-version-and-exit'. * haunt/ui/serve.scm (show-server-help): Remove. (show-help): New procedure. (%options, %default-options): New variables. (haunt-serve): Use SRFI-37 option processing.
* site: Add build-site procedure.David Thompson2015-04-112-2/+34
| | | | | * haunt/utils.scm (absolute-file-name, clean-directory): New procedures. * haunt/site.scm (build-site): New procedure.
* page: Change sxml field to contents.David Thompson2015-04-111-4/+4
| | | | | | | | | | Naming the field 'sxml' is a poor choice because it may contain any type of data that the writer procedure accepts. * haunt/page.scm (<page>): Replace 'sxml' field with 'contents'. (page-sxml): Delete accessor. (page-contents): New accessor. (write-page): s/sxml/contents/
* reader: Add read-posts procedure.David Thompson2015-04-111-0/+21
| | | | * haunt/reader.scm (read-posts): New procedure.
* reader: Add html-reader.David Thompson2015-04-111-0/+23
| | | | | * haunt/reader.scm (read-html-post): New procedure. (html-reader): New variable.
* Add utils module.David Thompson2015-04-112-0/+59
| | | | | * haunt/utils.scm: New file. * Makefile.am (SOURCES): Add it.
* reader: Remove stray 'n'.David Thompson2015-04-111-1/+1
| | | | * haunt/reader.scm: Remove stray 'n' character.
* Add site module.David Thompson2015-04-112-0/+65
| | | | | * haunt/site.scm: New file. * Makefile.am (SOURCES): Add it.
* Add SXML to HTML conversion module.David Thompson2015-04-102-0/+371
| | | | | * haunt/build/html.scm: New file. * Makefile.am (SOURCES): Add it.
* Add page module.David Thompson2015-04-102-0/+50
| | | | | * haunt/page.scm: New file. * Makefile.am (SOURCES): Add it.
* Add reader module.David Thompson2015-04-102-0/+76
| | | | | * haunt/reader.scm: New file. * Makefile.am (SOURCES): Add it.
* Add post module.David Thompson2015-04-102-0/+44
| | | | | * haunt/post.scm: New file. * Makefile.am (SOURCES): Add it.
* ui: Display version information.David Thompson2015-01-045-4/+25
| | | | | | | | | | | * haunt/config.scm: Delete. * haunt/config.scm.in: New file. * haunt/ui.scm (show-version-and-exit): New procedure. (program-name): Change default value. (haunt-main): Add version option. * haunt/ui/serve.scm (haunt-serve): Likewise. * configure.ac (AC_CONFIG_FILES): Add 'haunt/config.scm'. * .gitignore: Ignore 'haunt/config.scm'.
* Add serve command.David Thompson2015-01-046-4/+832
| | | | | | | | | | | | * haunt/config.scm: New file. * haunt/serve/mime-types.scm: New file. * haunt/serve/web-server.scm: New file. * haunt/ui/serve.scm: New file. * haunt/ui.scm (commands, program-name): New variables. (show-haunt-help): Display possible commands. (run-haunt-command): New procedure. (haunt-main): Run subcommands. * Makefile.am (SOURCES): Add files.
* First commit.David Thompson2015-01-048-0/+871