v0.0.1 Release Update: On-Track For Early April 2025!

By Tim Post on 2025-03-18  | Tagged:    

Want to know what's special about the OG image for this post? It was automatically created for the blog post by the OG Image Generator plugin. That leads to my first update: all of the planned pre-configured plugins have been installed and configured to work correctly in conjunction with each other.

That was originally going to be the main image for this post, but because Óscar is amazing and noticed the value in tag feeds, we now also now have proper tag wiki pages! Those get center stage:

Screenshot Of The Tag Wiki System

Here's the generated OG Image, if you're curious.

There's more. A lot more. Once the theme is officially released, I'll have a proper and frequently updated changelog so that users can decide when they want to cherry pick something new or update. But for now, you'll just have to get by with me dumping it all in a blog post.

Tag Wiki System, Complete With Individual Tag Feeds!

Lume 3 just added a new feature that allows you to pass a function to the feed generator so it can iterate over and render multiple feeds. This makes a huge amount of sense for tags, and I'm really thankful that Óscar saw the value in it enough to implement it properly in the feeds plugin itself.

So, to generate RSS and Atom feeds for every tag on the site? Just a few lines of code in Lume :):

.use(feed(() => {
  const unknownTags = site.search.values("tags");
  const tags = unknownTags as string[];
  return tags.map((tag) => ({
    output: [`/feeds/tag/${tag}.xml`, `/feeds/tag/${tag}.json`],
    query: tag,
    info: {
      title: `Tag feed for ${tag}`
    }
  }));
}))

There's also a wiki feature that lets site admins or the community of people helping them add more information about tags. This helps to add more value for users, more SEO benefit to pages that are ordinarily ignored for having no content, and provides a great place for tag feeds to be discovered. It also adds something easy for new contributors to maintain.

The tag info array along with manually-selected related tags is stored in _data/tagWiki.yml; here's a trivial excerpt for v0.0.1:

v0.0.1:
  summary: >
    This is the very first release of Cushy Text, with the first release
    candidate planned for release the first week of April, 2025.
  related_tags: ["announcements", "updates"]

And that's how the related tags are managed. Simple is good.

Try it out on the updates tag (which you should totally subscribe to; go ahead, I'll wait ...)

Thanks to Óscar for always being so gracious with his time for those who spend time with Lume! It's always more fun when the creator is super-involved and responsive.

Search Is Pagefind (Only) For Now

It will continue to be Pagefind into the future, too. I mean it's just Pagefind, which is in and of itself a great search engine.

I had planned to use Lume Middleware (Router) to augment search, by using the Pagefind API on the back-end and mixing it with additional sources that can be fetch()ed, like a main product site if Cushy Text is the user portal.

That's still the plan, but it was too much to take on for the first release and still have it out reasonably soon after Lume 3 releases.

Documentation Mini System Is Almost Feature Complete

You can have as many collections of documentation as you want, and they'll all get an auto-generated sidebar. You can set up independent feeds for them as well.

What it's not doing so well (yet) is handling nested directories. All the files show up, but there's no inherited category definition, so it's one long list of links.

Docs will be made more robust in 0.0.2. My goal for the first release was "good enough to document itself", and we're way past that!

Blog Is Almost Feature Complete

There's some pruning of markup and refactoring of a few things but the main functionality is all complete and stable. The blog even has basic image auto-resizing if you follow the same path workflow as the sample post.

You can run several independent blogs, however they'll all share the same tag and author archive. Tag and Author archive locations might be configurable in 0.0.2.

Pages & Components Have Been Started

The quest to turn all of the various infima components into easy to use MDX elements goes slow, but it does progress. I hope to have completely pluggable (around 30 of them) Infima components done by 0.0.3, with a few trickling in each release.

There Is Still Plenty To Do!

The interactive components, components in general, HTML markup cleanup and accessibility audit, back-end code for managing feedback submissions, theme artifacts for remote installs with sparse default content, and polish.

But, the major lifting for the initial release is pretty much done. It's exciting to be getting close!