11tyCMS: Public beta releases and source! Windows & Linux support, minor refactors and CSS improvements!

posted on Jan 28, 2026

Happy new year! It's been over 6 months since we started this journey, and now we're ready to embark on public beta testing! Outside of that, this update is relatively tame, nothing flashy over the last one. It's mostly just bug fixes and accessibility improvements, all with the aim of bringing 11tyCMS to you!

New year, new release

First off, an apology:

I've been teasing a release for well over 7 weeks! Each time I swore I'd have a build ready to upload, I bumped into some catastrophic problem. Eventually, I learnt to keep quiet until I had the builds uploaded. Which has now happened!

Secondly, a warning:

11tyCMS is early beta software. I can't promise it will be reliable, and there may be some significant bugs. If you don't know what you're doing or the risks entailed with beta testing software, then I'd suggest you wait for the proper release in the coming months.

I've been keeping track of all the bugs, before using this, I'd recommend you give a quick read through of the list on Codeberg so that you know what you're getting into. I welcome any pull requests to improve or help with things, or any issues you discover too!

Thirdly, a note:

11tyCMS expects your website to be structured in certain way. Any collection needs a file inside of it that matches the name of its parent folder, with 11tydata.js/ts/json as a suffix. All content must be inside some sort of content folder, and so should your uploads for images. These restrictions may or may not carry through to the full release, but for now, that's how things work.

This is just scratching the surface though. For more information, please refer to the README.

Finally, get em' while they're hot:

Releases

Source code

How these releases work

Currently, we have binaries for:

  • Windows on x64

  • Mac arm64

  • Linux x64

I would love to release across all 3 platforms targeting all architectures. Unfortunately, there are severe limitations in the building/publishing system that Electron provides. The short story is: SQLite3 is unable to rebuild itself for your target architecture unless the host machine is that architecture. So, if I'm running on an arm64 Mac? I can't make a build for x64 Windows or Linux without it failing, because it will be using the arm64 sqlite.

To work around this, I've bought a home server and run Ubuntu server on it. It has a Windows VM and an Ubuntu Desktop VM for building and testing their respective builds. It's clunky, but it works. Not really the dream of multi platform development Electron had sold me on, but it's something!

For Linux builds, you'll notice that we're publishing only raw binaries... No Flatpaks or AppImages here! This is only temporary, we promise! Unfortunately, the support for Flatpak and AppImages in Electron Forge is limited right now. I got working Flatpak builds, but I couldn't tell Flatpak what system packages I wanted, which broke the build and publish functions of 11tyCMS. So for now, just ensure the 11tyCMS executable has the right permissions for execution and you'll be fine.

GitHub vs Codeberg

You'll notice that the builds are hosted on GitHub and the source on Codeberg... Why aren't they all in one place? Well, 11tyCMS is about building a more accessible, stronger and thriving indieweb. These values are at odds with what Microsoft and GitHub are doing with both technology and our internet. Putting the horrendous ethics track record aside, I don't want to host the source code on a platform that steals code to train AI bots without consent. However, Codeberg doesn't support release sizes > 100mb, so I had to host those on GitHub.

A thank you

To the entire 11ty community. All of you have been nothing but kind, supportive and very encouraging. You've all offered fantastic feedback and warmly welcomed me and my work (along with my annoying questions!). If more FOSS projects had communities like this, tech would be a lot better for it.

I'd also like to give a special thanks and shoutout to Elle's (11ty's mascot) creator: Reverent Geek and 11ty for letting us use Elle for the final step in the welcome wizard:

A screenshot of the final step of the Welcome wizard in 11tyCMS. To the left of the outro text is a cute cartoon of a possum being held in the air by a balloon, smiling.

Windows and Linux support

I'm a Mac user, so 11tyCMS has been developed and tested with Macs first. After setting up the homelab VMs, I did some testing on Windows and Linux... Linux? Worked mostly fine. There was a small issue with missing icons and a few other runtime problems that were small fixes. Windows on the other hand? Chaos. Windows handles file paths with back slashes rather than forward slashes. All of 11tyCMS's code relies on the file paths to be processed with forward slashes!

Anyway, after some refactoring, 11tyCMS now works perfectly on Windows. I had to make a special path resolution function to replace back slashes with forward slashes. It worked though!

The biggest problem with Linux support is how poorly its packaged. Right now, its just the binaries. As mentioned before, Electron Forge's support for Flatpaks and AppImages are limited. I'm working out a solution that involves Docker. But for now, just binaries unfortunately.

Minor refactors

The biggest part of this was just ensuring there was better seperation of concern for the renderer side of things. There were a few components that needed splitting up, which I have successfully done now. There's still more work to be done, but things are looking much nicer and easier to work with on the renderer side of things.

The state side of things also received some love: I started using Zustand best practice for exports, which basically makes things a bit more consistent across the code base.

The "open site" code on the Node side of 11tyCMS had some more refactoring and improvements. Though honestly, this function needs to be rewritten entirely, as it still feels clunky and hard to follow. But for now, its reliable enough and will get us through early beta.

CSS Improvements

The accessibility improvements made in the last updates were a little off. I wasn't using buttons correctly, so I had to get rid of nested buttons and rethink how the DOM was structured, thus refactoring some of the CSS to accomodate for that. This should mean that screen reader support has improved, along with keyboard navigability!

In the last update, I think I promised some CSS refactoring. I did refactor a fair bit of it, but I think it may need a rewrite at some point. For now, it's improved, but needs more work.

Overview

This is a huge milestone in 11tyCMS's development, and there's so much more to come. I want to give a HUGE thanks to the incredibly kind, warm and communicative 11ty community. Wonderful people, passionate about a stronger indieweb.

For the next update, I will be focusing on bug fixes and UX improvements, as well as acting on your feedback! I'll start a Discord or Matrix server for better collaboration with users. I'll do a poll on the 11tyCMS Mastodon for which it should be.

Moving forward, I'd also like to setup a way to give donations, either on a regular basis or as a "one off". I'll put some feelers out on Mastodon and see what folk say. But it would be good to have some funds to support development, and to help put food on the table!

Another thing I'll prioritise is overhauling the 11tyCMS website. The color scheme is all wrong, the visual identity certainly doesn't match 11tyCMS. So keep your eyes out for that!

Finally, thank you for joining me in this journey, and I'm so excited to deliver more updates over the coming years. If you'd like to learn more about me, you can follow my Mastodon account, I'm also looking for another job, so if you have any leads feel free to get in touch!

Over and out!