Meta(
    title: "Updates to Zond",
    summary: Some("Small updates to my capsule generator"),
    published: Some(Time(
        year: 2023,
        month: 2,
        day: 15,
        hour: 19,
        minute: 43,
        second: 41,
    )),
    tags: [
        "zond",
        "programming",
        "rust",
    ],
)
---
My capsule generator, Zond, has been serving me well for quite a while now and hasn't really required much in the way of maintenance or new features. Nevertheless, I'm always looking for ways to streamline workflows wherever possible, as well as ways to improve a codebase.

The most recent updates bring all of the dependencies up to date, but that's just housekeeping. Here's a rundown of some of the small feature updates.
* Simplified input parsing during capsule creation
* Improvements to value hints for shell completions
* When replying to a post, the title "Re: <post>" is automatically transformed into a sane path without a ':' character
* Gemlog posts and pages can now be created, edited and marked as published in one command

## Future plans
This little tool could easily be considered feature complete at this point, but I do have a couple ideas that might be worth exploring in the future.

Most static site generators that I've used have a way to start up a development server so that one can get instant feedback while working on a site. I'm not keen on the idea of adding all the code required to run a full gemini server inside of Zond, but I might consider integrating it with my Spartan server, Agis, which can take a config file as an argument on the command line. Basically you'd type something like `zond serve` in the terminal and zond would launch a customized instance of Agis, so that you could preview your capsule while working on it. Zond would have to run two threads, one just waiting for the server to exit and another watching for changes in your `content` directory and rebuilding the capsule every time you make a change. You wouldn't get exactly the same instant feedback as some ssg's give you, because without javascript there's no way to tell your browser to reload. But I think that's OK, and the feature wouldn't add all that much bloat to the binary.

My other idea is much more invasive, but might be nice for less technical users looking to participate in Gemini. That idea is basically to offer a tui menu driven interface as well as the cli. Much of the code could be reused if I went this route, but by necessity it would take a bit of work to separate the interface code from the business logic seeing as Zond wasn't originally planned to have multiple interfaces. I do like the idea, however.