Martin Donath
@squidfunk
Founder of @zensical.org, creator of Material for MkDocs
Zensical Studio already prevents broken links. Next week, it will help you repair the links that somebody else broke. 😎 zensical.org/studio/
👀 Sneak peek: A Markdown formatter that understands Python Markdown - natively: ✨ Format on save (or edit) ⚡ Extremely fast – written in Rust 🏗️ Integrated into Zensical Studio 👯♀️ Works with Zensical and MkDocs projects More about Zensical Studio: zensical.org/studio/
Edit a headline, save – 10 incoming links updated automatically. No need to remember updating them manually. That's Zensical Studio – @zensical.org. Zensical Studio is in public beta and available here: zensical.org/studio/
Python Markdown is too strict about link labels. We're working on fixing that in Zensical's new Rust-based Markdown implementation ☺️ No more [`module.symbol`][module.symbol] workarounds.
4 weeks after launching Zensical Studio, Markdown Preview is one of the most requested features – soon, you won't even need to leave the editor to get a truthful preview of your docs. Supports dark mode 🌗 If you haven't, check out Studio: zensical.org/studio/
Sneak peek: Python Markdown snippets as first-class symbols in Zensical Studio. Rename a snippet – every inclusion site updates. Type-safe content reuse, finally. 🎯 ➡️ zensical.org/studio/
Writing tests for our new Python Markdown TextMate grammar that we shipped as part of Zensical Studio - so much fun 😎 github.com/zensical/stu...
Python Markdown Extension priorities – or – why you should probably never allow developers to pick their own magic numbers: What runs before or after what? 🤯
We just delivered the latest Zensical Monthly straight to the inbox of over 1,000 subscribers ☺️ zensical.org/about/newsle...
If you're wondering about the phases, here's our phased transition strategy enabling you to move over your MkDocs projects to Zensical: zensical.org/compatibilit...
AWS started using Zensical as well 😎 docs.aws.amazon.com/durable-func...
Love our bi-weekly open calls – nothing beats talking directly to the people building with @zensical.org, including our Spark members. Today we shared the results of our latest MkDocs plugin ecosystem analysis. One interactive analysis from today's session 👇
Just finished the impl of a central module system concept: Specificity. If multiple selectors match a resource, ordering becomes important. This allows for super fine-grained module interdependencies 😎 Released as part of ZRX 0.0.15 github.com/zensical/zrx...
The Slow Collapse of MkDocs A very well researched article answering the question why MkDocs as we know it is dying. Recommended read, especially if you or your organization depend on it. fpgmaas.com/blog/collaps...
In the light of the latest MkDocs developments, we've updated our plugin section to outline how we plan to reach feature parity as quickly as possible, and how MkDocs plugins relate to @zensical.org modules. zensical.org/compatibilit...
We just delivered Zensical Monthly, January 2026 edition straight to your inbox with the latest and greatest updates to keep you informed on what's happening behind the scenes ☺️ We send 1 newsletter at the beginning of every month: zensical.org/about/newsle...
Had our first open video call today! We demoed an early design draft of @zensical.org's module system – the optimize plugin from Material for MkDocs (400 LOC) reduced to ~20 lines with ZRX modules. The runtime handles parallelization, caching & orchestration automatically.
Adoption of @zensical.org is growing fast, as we're already close to 100k monthly downloads! We're working hard on reaching feature parity within the coming months, so all Material for MkDocs users can switch to a maintained, modern docs stack 🚀 pypistats.org/packages/zen...
Using a u64 as a stack to evaluate a tree of ANY/ALL/NOT conditions. Zero allocations and probably pretty optimal already.
🎄 Merry Christmas 🎅 Zensical 0.0.15 brings fuzzy search support, and improves tooltip behavior on touch devices. The Zensical team wishes you a joyful holiday season and a fantastic new year! 🎄✨ github.com/zensical/zen...
We'll soon ship support for fat fingers – aka fuzzy search. Fuzzy search is particularly tricky to get right, since enabling it generally deteriorates exact or prefix matches quite significantly. Disco only uses it as a fallback, combining it with other matched terms. No special syntax necessary.
📣 mkdocstrings is now supported in Zensical! We just shipped Zensical 0.0.11 with initial mkdocstrings support. Features like cross-refs and backlinks are still in progress, but API docs already look great with Zensical. Give it a spin: zensical.org/docs/setup/e...
New pricing page for @zensical.org is live. Using instant previews to surface additional context without disrupting the reading flow – they can be quite effective for progressive disclosure. Documentation for instant previews: zensical.org/docs/setup/n...
Disco is now 3x faster in Zensical 0.0.10! Comparing it to Lunr.js, used in Material for MkDocs, current results are: Indexing: 4x faster Querying: 20x (!) faster This means that Disco can handle much bigger indexes, e.g., 25 MB which roughly equals ~12.000 printed pages.
Python Markdown Extensions already moved over from MkDocs to @zensical.org 🚀 This demonstrates that existing customizations work nicely in the new design, with only some minor adjustments necessary. facelessuser.github.io/pymdown-exte...
900 stars 7 days after release – I think it's safe to say we had a very successful launch with @zensical.org. We're super happy and the feedback is overwhelmingly positive. Thank you all for supporting our work ❤️
6/7 Why now? MkDocs is unmaintained since August 2024 – with no releases in over a year, accumulating issues and PRs – a supply chain risks for us and all of our users.
4/7 Disco, our blazing-fast client-side search engine we've built from scratch, with better ranking and filtering capabilities: – Lightweight – Rich-text support – Filters and aggregations – Search in paths We'll also release Disco as a standalone OSS project in 2026.
2/7 Our fresh, modern design breaks free from the Material design aesthetic: – New look, same structure = trivial to switch – New mobile sidebar Want to keep the Material Design look? No problem – it's just a single line of configuration.