diff options
Diffstat (limited to 'posts')
-rw-r--r-- | posts/2024-02-19-haunt-0.3.0-released.md | 130 |
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! |