Skip to content

Code Sigils

Why Zensical?

This site is built with Zensical - a modern Python static site generator created by the Material for MkDocs team.

The Philosophy

Zensical is the evolution of Material for MkDocs. The same team that brought you the popular MkDocs theme now built their own SSG from the ground up in Rust, focusing on:

  • Performance: Built in Rust - blazing fast builds
  • Scale: Handles 10,000+ articles without breaking a sweat
  • Batteries Included: 60+ features enabled out of the box
  • Compatibility: Same Markdown syntax, same workflow

Why I Chose Zensical

I migrated from Astro after hitting scaling issues. When your knowledge base grows to thousands of articles, you need:

What Matters at Scale

  • Build Speed: No more waiting 10 minutes for builds
  • Memory Efficiency: Doesn't eat your RAM
  • Instant Navigation: Client-side navigation that just works
  • Search: Built-in search that scales

Zensical delivers all of this while keeping the Markdown-first workflow I love.

MkDocs Roots

For users of Material for MkDocs, Zensical feels familiar because it is familiar:

  • Same Markdown extensions
  • Similar theme architecture
  • Compatible configuration
  • The team behind it understands documentation

It's not a rewrite - it's a reimagination built for modern needs.

Quick Start

# Install
pip install zensical

# Create new site
zensical new my-docs

# Build
zensical build --clean

# Serve locally
zensical serve

Examples

Admonitions

Go to documentation

Note

This is a note admonition. Use it to provide helpful information.

Warning

This is a warning admonition. Be careful!

Details

Go to documentation

Click to expand for more info

This content is hidden until you click to expand it. Great for FAQs or long explanations.

Code Blocks

Go to documentation

def greet(name):
    print(f"Hello, {name}!") # (1)!

greet("Python")
  1. Go to documentation

    Code annotations allow to attach notes to lines of code.

Code can also be highlighted inline: print("Hello, Python!").

Content tabs

Go to documentation

python
    print("Hello from Python!")
rs
    println!("Hello from Rust!");

Diagrams

Go to documentation

graph LR
  A[Start] --> B{Error?};
  B -->|Yes| C[Hmm...];
  C --> D[Debug];
  D --> B;
  B ---->|No| E[Yay!];

Footnotes

Go to documentation

Here's a sentence with a footnote.1

Hover it, to see a tooltip.

Formatting

Go to documentation

  • This was marked (highlight)
  • This was inserted (underline)
  • This was deleted (strikethrough)
  • H~2~O
  • ATA
  • Ctrl+Alt+Del

Icons, Emojis

Go to documentation

  • ✨ :sparkles:
  • 🚀 :rocket:
  • 🎉 :tada:
  • 📝 :memo:
  • 👀 :eyes:

Maths

Go to documentation

\[ \cos x=\sum_{k=0}^{\infty}\frac{(-1)^k}{(2k)!}x^{2k} \]

Needs configuration

Note that MathJax is included via a script tag on this page and is not configured in the generated default configuration to avoid including it in a pages that do not need it. See the documentation for details on how to configure it on all your pages if they are more Maths-heavy than these simple starter pages.

Task Lists

Go to documentation

  • Install Zensical
  • Configure zensical.toml
  • Write amazing documentation
  • Deploy anywhere

Tooltips

Go to documentation

Hover me


Disclaimer

This site contains personal opinions and experimental notes. The author is not responsible for any loss of data, system damage, or issues from following the content here.

Read full disclaimer


  1. This is the footnote.