11tyCMS: New home(s), build & publishing, with a side of collection indexing & bug fixes

posted on Aug 19, 2025

It's been a while, and we finally have a new home: 11tycms.com ! It still needs some work, but I'm liking how this is coming together thus far. Things have sounded quiet on the 11tyCMS front for the last month and a bit, but I can assure you, it's been anything but! Quality of life improvements, big bug fixes and some huge new features have been implemented or started and I can't wait to share them with you. Let's dive in!

New home(s)

So, as you can see, we have a new home for all 11tyCMS updates! I'm liking the layout so far. The color scheme- I'm not sold on, but, I will be experimenting with using the 11tyCMS color palette soon. I want to keep the design simple and timeless. It's an element of design that I've been studying more recently (think Craig's List for example!), and one I'd like to replicate for 11tyCMS's site. At present, this site will be a blog only, but as time goes on, it will host the front page with all relevant download links. But seeing as we're in the very early development stages, right now this site will be dedicated to dev updates. The hosting is generously provided by Codeberg Pages.

New Mastodon account

Finally, we have a Mastodon account specifically for 11tyCMS. I didn't want my personal account getting in the mix for 11tyCMS updates. So we now have a new home on mstdn.social. I may decide to move instances in the near future, but for now that's our home on the fedi. I may explore setting up a Bluesky account too, but honestly? Mastodon is working great for me right now, so I don't see a reason unless there's a bigger demand I'm not seeing.

New codebase home! (sorta)

Speaking of new homes: I've also setup a Codeberg account for 11tyCMS. There are new public repos yet, as we're still in the very early development stages, and before I open up the source, I want to make sure the code is in a readable state. Right now, it's a mess! I'm also wondering how to deal with where to put 11tyCMS. My heart wants to host it entirely on Codeberg, but my head is saying that the exposure of GitHub might make it a better home? But I also don't want to contribute to how centralised the internet already is. If anyone has any feedback about this, please let me know on the 11tyCMS Mastodon!

THE Eleventy Meetup!

Exciting news! I've got a talk coming up on the Eleventy Meetup! It takes place on the 17th of September at 5PM GMT+1. See the link for more details! I'll be going through how 11tyCMS started, what it does and where its going, along with a live demonstration!

Build and publish support

image

One of the biggest features I've been working on has been the build and publish support. What is it? Well, its the ability to build your 11ty site locally (i.e. generate the _site folder) with a simple click of a button, but also the ability to publish your site too!

So far? It works great! The build button runs the 11ty command to build your sites files, all without needing a terminal. But here's the really exciting part: publish functionality works too! The publish button will run the build command first, ensuring all your posts are included, it will then run the specified command to publish your site to wherever you've configured. There's even lovely little spinning animations for each button to indicate the progress!

At the moment, I've got my publish command to use Neocity's command line tools, allowing me to publish to neocities from the comfort of 11tyCMS! But here lies the problem: its hard coded. I want support for WebDAV, SFTP and Git!

Supporting different publishing methods

I have ideas on how to make this work. I think I will code a few default template methods. For example, Neocities, SFTP and others like them can probably be run with a very simple 1 line command. Not too tricky! Git is where things start to get more messy though... Why? Git commit messages. Now there's ways to automate them, which I will do in my default git handler. But, I will also provide the option of using a custom shell script for publishing for maximum flexibility.

Right now, I can't publish to Codeberg Pages, so the next step will be to add the publish settings, allowing me to figure out the Git side of things.

Collection indexing

By far the biggest 11tyCMS change in this update is definitely collection indexing. What has it changed about the UI/UX? Absolutely nothing... For now. So what is it? Well, I want 11tyCMS to have search functionality eventually. I want the ability to search any collection for its metadata properties. I also want it to be performant, so I need pagination support too. Neither of these things are really that possible when you're just reading every single file to filter through it.

So now? An in memory SQLite database is at the backbone of all the data. Whenever you load your site into 11tyCMS, the app will generate an SQLite database of all the posts in each collection, along with its metadata. Eventually, this will allow for pagination and for powerful and flexible searching across all collections!

This is a big change. One I was reluctant to make, because a fairly big part of my design philosophy for 11tyCMS is to NOT use any databases. This clearly breaks that, but, it's a lightweight database with no setup required, and one that runs in memory. So on balance, I think this will work out OK, especially with all the benefits.

Bug fixes

Since implementing the collection indexing, the file management system broke. This meant that whenever you added a new post, its metadata wasnt properly reflected in the collection list until you reloaded the app. This is because the Chokidar listener for adding files wasn't calling the database functions to update the database. I have since implemented this and everything works seamlessly again!

There was also a very annoying bug that would cause duplicate post entries on the collection lists every time you refresh the app. This was due to the database reindexing every time you open the site without clearing the database beforehand. This has since been fixed, no more duplicates!

I've also fixed the bug which meant that title updates in the editor weren't reflected in the collections list until refreshing the app. No longer! Any metadata changes you make in the editor will now immediately show in the list.

Conclusion

Phew. So that's pretty much everything. It's been quiet, but anything but inactive! So much more to come. What's next? Well, I really need to add the site dashboard and publish settings, so I think thats the priority next. Then I need to fix favicons, at present they only support svg. Keep an eye out on the 11tyCMS Mastodon account for updates!

Thanks for reading :)