Sign in

Martin Donath

@squidfunk.com
444 followers 12 following 238 posts

Founder of @zensical.org, creator of Material for MkDocs

PostsRepliesMedia
Martin Donath @squidfunk.com · 25/09/2026
Full circle! 🔄 Python-Markdown – the very foundation MkDocs was built on – is now using Zensical for its own documentation 💛 python-markdown.github.io
050
Martin Donath @squidfunk.com · 21/09/2026
5x faster. 80% fewer tokens. Agents should edit intent, not chase references. In three paired runs, Studio also cut direct file edits by 90% while updating every affected link. We're bringing this to Zensical Studio in the coming weeks. zensical.org/studio/
000
Martin Donath @squidfunk.com · 17/09/2026
Pretty happy with how yesterday went, and we're already back at it ☺️ Just released: 0.2.17 makes Connections easier to explore: – Expand all connections – Open targets directly or to the side – Reveal assets in your file explorer zensical.org/studio/
000
Martin Donath @squidfunk.com · 30/08/2026
Exactly two years after MkDocs 1.6.1 – the last release of the original MkDocs lineage – there's now an installable MkDocs 2.0 pre-release on PyPI. MkDocs 2.0 is being developed as a ground-up rewrite with a fundamentally different architecture. pypi.org/project/mkdo...
031
Martin Donath @squidfunk.com · 28/08/2026
Some people wonder why we’re working on replacing Python Markdown in Zensical. This trace shows why: it occupies ~91% of the cold-build critical path, while the rest of the pipeline fans out across cores. Our Rust parser removes that bottleneck and unlocks parallelism.
041
Martin Donath @squidfunk.com · 14/08/2026
Zensical Studio already prevents broken links. Next week, it will help you repair the links that somebody else broke. 😎 zensical.org/studio/
020
Martin Donath @squidfunk.com · 29/07/2026
Came across this beautiful Zensical mod ☺️ linguistik.hispanistica.com
020
Martin Donath @squidfunk.com · 28/07/2026
👀 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/
021
Martin Donath @squidfunk.com · 23/07/2026
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/
120
Martin Donath @squidfunk.com · 19/07/2026
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.
040
Martin Donath @squidfunk.com · 13/07/2026
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/
120
Martin Donath @squidfunk.com · 25/06/2026
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/
141
Martin Donath @squidfunk.com · 19/06/2026
Writing tests for our new Python Markdown TextMate grammar that we shipped as part of Zensical Studio - so much fun 😎 github.com/zensical/stu...
010
Martin Donath @squidfunk.com · 24/04/2026
Python Markdown Extension priorities – or – why you should probably never allow developers to pick their own magic numbers: What runs before or after what? 🤯
120
Martin Donath @squidfunk.com · 07/04/2026
We just delivered the latest Zensical Monthly straight to the inbox of over 1,000 subscribers ☺️ zensical.org/about/newsle...
052
Martin Donath @squidfunk.com · 07/04/2026
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...
031
Martin Donath @squidfunk.com · 30/03/2026
AWS started using Zensical as well 😎 docs.aws.amazon.com/durable-func...
140
Martin Donath @squidfunk.com · 26/03/2026
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 👇
140
Martin Donath @squidfunk.com · 23/03/2026
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...
141
Martin Donath @squidfunk.com · 22/03/2026
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...
3155
Martin Donath @squidfunk.com · 12/03/2026
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...
052
Martin Donath @squidfunk.com · 04/02/2026
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...
041
Martin Donath @squidfunk.com · 29/01/2026
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.
161
Martin Donath @squidfunk.com · 25/01/2026
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...
252
Martin Donath @squidfunk.com · 07/01/2026
Using a u64 as a stack to evaluate a tree of ANY/ALL/NOT conditions. Zero allocations and probably pretty optimal already.
010
Martin Donath @squidfunk.com · 24/12/2025
🎄 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...
011
Martin Donath @squidfunk.com · 22/12/2025
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.
021
Martin Donath @squidfunk.com · 03/12/2025
📣 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...
072
Martin Donath @squidfunk.com · 01/12/2025
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...
031
Martin Donath @squidfunk.com · 26/11/2025
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.
182
Martin Donath @squidfunk.com · 12/11/2025
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...
0100
Martin Donath @squidfunk.com · 11/11/2025
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 ❤️
151
Martin Donath @squidfunk.com · 05/11/2025
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.
140
Martin Donath @squidfunk.com · 05/11/2025
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.
170
Martin Donath @squidfunk.com · 05/11/2025
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.
140
Martin Donath @squidfunk.com · 24/09/2025
2/2 The footer indicates that they are using enumeration to get this out to as many users as possible. If you click the link, you're greated by some crypto scam website, asking you to connect your wallet.
020
Martin Donath @squidfunk.com · 24/09/2025
1/2 Phishing by using GitHub issues as a transport – the email looks quite legit, includes a link to a typo-squatted domain (y-comblnator.com) they want you to click on, followed by a lot of whitespace to hide the common GitHub issue footer ⬇️
130
Martin Donath @squidfunk.com · 16/08/2025
The last missing puzzle piece in making the templates of Material for MkDocs compatible with minijinja.
060
Martin Donath @squidfunk.com · 20/06/2025
I'm astonished some users prefer non-standard (and IMHO noisy) Markdown syntax over plain HTML, with developers going to great lengths coming up with new syntax constructs. In what world is this [↑] better than this [↓]?
120
Martin Donath @squidfunk.com · 25/04/2025
First measurement for the new preview server I've been working on as part of the foundational work on Material for MkDocs: 🚀 50x more req/s than 'mkdocs serve' 🏗️ Extensible middleware architecture 🤏 Tiny, only very few dependencies We're making good progress!
271
Martin Donath @squidfunk.com · 04/04/2025
🐍+🦀 Debugging PyO3 with Visual Studio Code I just created a demo project that shows how to debug Python and Rust in tandem – tricky, but absolutely worth it. It already supports Python scripts and tests. You can find it here: github.com/squidfunk/py...
030
Martin Donath @squidfunk.com · 06/03/2025
Thank you! It seemed to have helped, it's gone now 🎉
020
Martin Donath @squidfunk.com · 04/03/2025
🚨 Malicious package called "mkdocs-material" on npm. Yesterday, a malicious package with the name "mkdocs-material" was released on npm. DO NOT INSTALL IT. We've reported it, and hope that @npmjs responds fast and deletes it quickly. osv.dev/vulnerabilit...
033
Martin Donath @squidfunk.com · 16/02/2025
Those MkDocs plugins currently have compatibility issues, judging from open issues on the respective issue trackers, so be cautious when using them together. We're currently working on making it easier to make third-party plugins compatible 🤟
170
Martin Donath @squidfunk.com · 31/01/2025
🥳 We've reached our next funding goal! 2024 has been an amazing year for the project, as the sponsorships allowed me to finally start building an awesome team around my ideas, making it possible for me to focus on the most high impact tasks. Thank you, dear sponsors!
2100
Martin Donath @squidfunk.com · 14/01/2025
This is why we can't have nice things – fsevents + vim on macOS when :wq'ing a new file from vim. And yes, as you can probably guess, I'm working on a resilient file watcher right now 🧐
130
Martin Donath @squidfunk.com · 04/01/2025
2024 was the second year of declining funding on Open Collective. OSS funding stays stable at around 10M, but still quite worrying. discover.opencollective.com
150
Martin Donath @squidfunk.com · 24/12/2024
I always use Copilot for writing doc comments 🤟
030
Martin Donath @squidfunk.com · 19/12/2024
I just love this game – built this on RCT's Crazy Castles.
030
Martin Donath @squidfunk.com · 10/12/2024
Mermaid.js diagrams use inconsistent CSS classes for titles (or none at all) across different diagram types. Titles look identical, yet the class names are all over the place. It's driving my OCD wild.
020