summaryrefslogtreecommitdiff
path: root/posts
diff options
context:
space:
mode:
Diffstat (limited to 'posts')
-rw-r--r--posts/2024-02-19-haunt-0.3.0-released.md130
1 files changed, 130 insertions, 0 deletions
diff --git a/posts/2024-02-19-haunt-0.3.0-released.md b/posts/2024-02-19-haunt-0.3.0-released.md
new file mode 100644
index 0000000..a3b4713
--- /dev/null
+++ b/posts/2024-02-19-haunt-0.3.0-released.md
@@ -0,0 +1,130 @@
+title: Haunt 0.3.0 released
+date: 2024-02-19 10:30:00
+tags: haunt, release
+summary: Haunt 0.3.0 released
+---
+
+Haunt version 0.3.0 has been released! It’s been just over 2 years
+since the last release, and many fixes and improvements have been
+accumulated so this is long overdue!
+
+## About Haunt
+
+Haunt is a static site generator that uses the Guile Scheme as its
+configuration language. It aims to be simple, functional, and
+extensible.
+
+Features include:
+
+* Easy blog and Atom/RSS feed generation
+* Markdown post support
+* Simple development server for viewing edits before publishing
+* Purely functional build process
+* User extensibility
+
+## Notable changes
+
+* Added first-class support for publishing Haunt websites via new
+ `(haunt publisher)` module. For starters, publishers for `rsync`
+ and Sourcehut are included. See [the
+ manual](https://files.dthompson.us/docs/haunt/latest/Publishers.html)
+ for more details.
+
+* Added `haunt publish` command. See [the
+ manual](https://files.dthompson.us/docs/haunt/latest/Invoking-haunt-publish.html)
+ for more details.
+
+* Added the oft-requested “flat pages” builder. Flat pages cover the
+ simple case of converting a tree of files written in some markup
+ language to full web pages. They work great for the more
+ informational parts of a website that don’t require any fancy
+ programming to generate, like an “About me” page. See [the
+ manual](https://files.dthompson.us/docs/haunt/latest/Flat-pages.html)
+ for more details.
+
+* Added `post-slug-v2` procedure that fixes problems with the original
+ slug generator. For example, the original `post-slug` transforms
+ `0.3.0` to `030` while `post-slug-v2` transforms it to `0-3-0`.
+ Unfortunately, the original `post-slug` is effectively set in stone
+ because changing it would break existing URLs upon upgrade. Users
+ can opt-in to the new slug generator by adding `#:make-slug
+ post-slug-v2` to their `site` arguments in `haunt.scm`.
+
+* Added redirects builder which generates HTML pages that perform
+ client-side redirects. Useful for cases when you don’t have control
+ over web server configuration or just want to have more
+ “configuration as code”. This builder will definitely come in handy
+ if you choose to upgrade to `post-slug-v2`. See [the
+ manual](https://files.dthompson.us/docs/haunt/latest/Redirects.html)
+ for more details.
+
+* Added collection pagination support to blog builder.
+
+* `haunt serve --watch` reloads user Scheme modules when they change
+ on disk.
+
+* Added `--host` option to `haunt serve`.
+
+* `post-time` now returns a fallback value if there is no timestamp on
+ the post rather than `#f`.
+
+* Added `application/wasm` MIME type support to `haunt serve`.
+
+* Added `Access-Control-Allow-Origin: *` header to HTTP responses in
+ `haunt serve` to avoid CORS issues while developing.
+
+* Added `post-author`, `post-tags` and `post-title` convenience
+ procedures.
+
+* Added `reader-find` and `reader-read` procedures.
+
+* Added `#:post-prefix` parameter to blog builder, allowing for post
+ pages to nested deeper than collection pages in the resulting file
+ hierarchy.
+
+* Added documentation for [RSS
+ builder](https://files.dthompson.us/docs/haunt/latest/RSS.html).
+
+* Added `#:last-updated` parameter to atom and RSS feed builders for
+ reproducible generation of feeds that don’t change timestamps every
+ build.
+
+* Fixed `haunt` executable so that it automatically adds its own
+ modules to `GUILE_LOAD_PATH` and `GUILE_LOAD_COMPILED_PATH`. This
+ addresses a longstanding source of confusion when users install
+ Haunt to a location that isn’t on Guile’s default load path such as
+ `/usr/local`.
+
+* Fixed atom feed generation issues such as using `content` instead of
+ `summary` for blog post contents and “self” URLs that did not have a
+ URI scheme.
+
+* Fixed blog builder to only render pages for posts that are in a
+ collection rather than all posts.
+
+* Fixed inotify integration so that it is *not* compiled or loaded on
+ non-Linux platforms.
+
+## Download
+
+Haunt 0.3.0 is already available in [Guix](https://guix.gnu.org/):
+
+```
+guix pull
+guix install haunt
+```
+
+Otherwise, you can build from source:
+
+Source tarball: [haunt-0.3.0.tar.gz](https://files.dthompson.us/haunt/haunt-0.3.0.tar.gz)
+
+GPG signature: [haunt-0.3.0.tar.gz.asc](https://files.dthompson.us/haunt/haunt-0.3.0.tar.gz.asc)
+
+See the [Haunt project page](/projects/haunt.html) for more
+information.
+
+Thank you to Richard Sent, Denys Nykula, Yuval Langer, Filip
+Lajszczak, jgart, Jelle Licht, and Christine Lemmer-Webber for their
+contributions to this release.
+
+Happy haunting!