December 10, 2023 —John Koster
Hello, everyone! The last three-to-four months have been pretty busy on my end. After publishing my latest mega-series about a hybrid-cache system for Statamic, I started working on a new article series about writing a custom Statamic search provider, focused on documentation-heavy websites.
About eighty pages into the draft for that article I decided it would be nice to also have a sample site to go along with it, as well as make some of the content simpler to write, since I could target a known site.
I started working on that sample site to go along with the article. After tinkering on the sample site for a while I thought "with a little bit more work I could probably make this into a starter kit!" (can you see where this is going?)
Weeks later the refactored sample site was now a standalone starter kit! Fantastic! This is normally where you'd assess the situation and think "things are in a good spot, lets ship it."
Well, no. That first draft of the starter kit contained a lot of useful things that might be better released as their own Statamic addons. So I started along that path: breaking down the custom items into seven new Statamic packages. That went rather well, and I wanted to provide great documentation for all of the new things (releasing something focused on documentation-writing without good documentation would be rather ironic).
Sitting with seven new packages and two new starter kits, one for "regular sites" and an example pre-configured with Statamic's multi-site feature, I sat down to start writing adding the documentation to my website (this very one). While writing the documentation I realized that I was rather bored with my existing website and decided to do a complete refresh before releasing the new Statamic packages and starter kits.
That escalated quickly.
Well, here is a brief overview of all the things that I've released or updated recently!
The "example site" that started it all. Tidal is a starter kit for Statamic, with a focus on making it simpler to manage documentation-heavy websites. Tidal allows you to manage multiple projects, versions, as well as supports Statamic's multi-site feature.
Social Media Image Kit provides a framework to help generate social media images for collection entries using Antlers or Blade templates.
Social Media Image Kit provides the following features:
Documentation Search is a powerful search provider for Statamic. Documentation Search was developed with documentation-heavy websites in mind, and supports the following features:
documentation:results
Antlers tag, providing advanced features designed to work directly with the search providerSite Essentials for Statamic is a Statamic addon that aims to make it simpler to rapidly develop websites.
Handfuls of Antlers tags and modifiers: Site Essentials ships with many different types of Antlers tags and modifiers. Examples include capturing sections of a template to be emitted later, creating unique IDs for HTML elements, and a whole lot more.
Dedicated Front-end Asset Management: Site Essentials ship with dedicated front-end asset queues, which can help to include arbitrary scripts and styles on a page. This feature behaves similarly to manually crafted sections, but with a friendlier development experience.
Favicon Generation: Site Essentials provides a system for generating a configurable number of favicons from Assets or other, arbitrary image sources.
Web Manifest Generation: Generate site.webmanifest
files (using a PHP configuration file as the source-of-truth). This feature also integrates with the favicon generator, simplifying things even more.
Metadata Manager: An incredibly robust framework for managing a site's <meta />
and <link />
tags. Site Essentials ships with support for Open Graph, X/Twitter, most link/meta tags, but also allows for custom meta tags to be registered. Metadata is managed in PHP code, and can be emitted with a single Antlers tag. The metadata manager can integrate with existing SEO addons, offering the best of all worlds.
Search Report for Statamic is a simple Control Panel and utility addon that allows you to log searches made on your site, and view them within Statamic's Control Panel.
Bard Heading Permalinks for Statamic is a simple addon that can generate permalinks for headings within Bard fields. This addon is compatible with Statamic's markdown permalink configuration.
Attribute Renderer is a utility addon designed for use within other addons. It provides an advanced system for converting PHP arrays to HTML attribute strings; it is used by many of my new addons.
Template Resolver for Statamic is a simple utility addon, intended to be used by other addons. It provides a simple utility for selecting and rendering a template based on an entry's blueprint and collection, with support for a fallback default template.
Example use-cases:
Selecting templates dynamically to generate social media images from HTML,
Generating HTML documents on-the-fly, without requiring network requests to the site,
Anything where you need to support customizable templates based on an entry's blueprint/collection details
I also released an updated version of Blade Parser, my independent library for parsing and validating Blade templates. This new version brings parity with recent changes related to component tag parsing, as well as adds compiler support for the new @use
directive.
It's been quite a long and busy year (between work, "real-life" stuff, and all of the open-source work), and its hard to believe that its already almost 2024. Creating these starter kits, addons, packages, and libraries takes a considerable amount of time and effort. If you find them useful, consider sponsoring me on GitHub (its greatly appreciated!).
That's all for now and I really hope you enjoy all of these new packages and updates, and hope you have a fantastic rest of the year!
∎
The following amazing people help support this site and my open source projects ♥️
If you're interesting in supporting my work and want to show up on this list, check out my GitHub Sponsors Profile.