Zensical.org Markdown cheat sheet¶
Zensical (and the docs site at zensical.org) is built on Python Markdown plus a curated set of Markdown extensions. If you don’t configure extensions yourself, Zensical applies a default set that enables most authoring features shown in the documentation. (zensical.org)
Below is a practical “what you can write” cheat sheet: core Markdown + the supported extension syntax + the theme/authoring patterns (buttons, grids, etc.) that Zensical explicitly documents. (zensical.org)
1) Core Markdown (baseline)¶
These are the “normal Markdown” bits you can assume work:
Headings¶
Paragraphs & line breaks¶
Emphasis¶
Blockquotes¶
Inline code¶
Horizontal rule¶
Links¶
Images¶
2) What Zensical explicitly supports (extensions list)¶
Zensical documents support for (at least) the following extensions:
- Abbreviations
- Admonition
- Arithmatex (math)
- Attribute Lists
- Caret, Mark & Tilde (underline/highlight/sub/sup)
- Definition Lists
- Details (collapsible blocks)
- Emoji
- Footnotes
- Highlight (code highlighting)
- Keys (keyboard key styling)
- Markdown in HTML
- SmartSymbols
- Snippets
- SuperFences (enhanced fenced blocks)
- Tabbed (content tabs)
- Table of Contents
- Tables
- Tasklist (zensical.org)
3) Attribute Lists (attach classes/attrs with { ... })¶
Attribute Lists are a cornerstone of Zensical authoring patterns (buttons, aligned images, styled icons, etc.). (zensical.org)
Add CSS classes to a thing¶
Add HTML-ish attributes¶
4) Buttons (links styled as buttons)¶
Zensical’s theme provides button styling by adding classes to links (via Attribute Lists). (zensical.org)
Basic button¶
Primary filled button¶
Button with an icon/emoji shortcode¶
(Icon shortcodes are covered below.) (zensical.org)
5) Icons & Emojis (shortcodes)¶
Zensical supports emojis and a large set of icons using shortcode-like syntax. (zensical.org)
Emojis¶
Put the emoji shortcode between colons:
Icons¶
Icons use the same :...: pattern, but refer to an icon “path” transformed into a shortcode (slashes become hyphens). Example:
Add a class to an icon (e.g., for color/animation)¶
This relies on Attribute Lists. (zensical.org)
6) Admonitions (callout blocks) and Details (collapsible callouts)¶
Zensical supports Admonition and Details. (zensical.org)
Standard admonition¶
Common pattern (indent the content under the admonition):
Custom title¶
Collapsible (details-style) admonition¶
A common “details” pattern is the same block but collapsible:
Tip: If you’re contributing to zensical.org docs, you can verify the exact look by checking the Admonitions page examples in their docs. (zensical.org)
7) Lists (unordered, ordered, definition lists, task lists)¶
Zensical supports standard unordered/ordered lists, plus definition lists and task lists via extensions. (zensical.org)
Unordered lists¶
Use -, *, or +:
Ordered lists¶
Numbers don’t need to be consecutive (they’ll be renumbered on render):
Definition lists¶
Task lists (checkboxes)¶
8) Tables¶
Zensical supports the Tables extension. (zensical.org)
A typical pipe-table looks like:
(Exact alignment rules follow the common Markdown “tables” extension behavior.)
9) Footnotes¶
Footnotes are supported and render at the bottom of the page. (zensical.org)
Footnote references¶
Footnote definitions (single line)¶
Footnote definitions (multi-line)¶
Indent continuation lines by 4 spaces:
Footnote tooltips¶
Zensical can render footnotes as tooltips via a theme feature, and the docs note it’s enabled on their documentation. (zensical.org)
10) Tooltips (link titles + site-wide glossary)¶
Link title tooltips¶
Standard Markdown link titles become tooltips (and look nicer if “improved tooltips” is enabled in the theme). (zensical.org)
Glossary-style abbreviations¶
Zensical uses Abbreviations + Snippets to build a site-wide glossary file you can auto-append to all pages. (zensical.org)
Define abbreviations like:
11) Content tabs¶
Zensical supports tabbed content blocks. (zensical.org)
Tabs grouping code blocks¶
=== "C"
``` c
#include <stdio.h>
int main(void) { return 0; }
```
=== "C++"
``` c++
#include <iostream>
int main(void) { return 0; }
```
Linked tabs across the whole site¶
There’s a theme feature that links tabs by label so selecting a tab on one page selects the same-labeled tab elsewhere. (zensical.org)
12) Code blocks and fenced blocks (general)¶
Zensical supports enhanced fenced blocks via SuperFences and code highlighting via Highlight. (zensical.org)
Standard fenced code block¶
Fences used for non-code features¶
Many “features” are just fenced blocks with a special info string (language), like mermaid (diagrams) or the tabbed example above. (zensical.org)
13) Diagrams (Mermaid)¶
Zensical integrates with Mermaid.js and will initialize Mermaid when a page contains a mermaid code block. (zensical.org)
Mermaid flowchart¶
Zensical documents other Mermaid diagram types too (state diagrams, class diagrams, etc.). (zensical.org)
14) Math (LaTeX-style)¶
Zensical supports math via Arithmatex and documents integration with MathJax or KaTeX. (zensical.org)
Block math¶
Use either $$...$$ or \[...\] on separate lines:
Inline math¶
Use $...$ or \(...\):
15) Images (alignment, captions, lazy-loading, light/dark variants)¶
Align images left/right¶
Add align=left or align=right via Attribute Lists:
Captions¶
Option A: HTML figure + Markdown in HTML
<figure markdown="span">
{ width="300" }
<figcaption>Image caption</figcaption>
</figure>
Option B: Caption blocks
Lazy-loading¶
Light/dark mode images¶
Append #only-light / #only-dark to the image URL:
16) Grids (card grids + generic grids)¶
Grids are authored using HTML containers plus markdown processing (Markdown in HTML) so you can write Markdown inside. (zensical.org)
Card grid (list syntax)¶
<div class="grid cards" markdown>
- **Card 1** — text
- **Card 2** — text
- **Card 3** — text
</div>
Card grid (block syntax)¶
Add { .card } to blocks inside a .grid container:
Generic grids¶
Wrap arbitrary blocks (tabs, code blocks, admonitions, etc.) inside:
17) “Caret, Mark & Tilde” and “Keys” quick syntax¶
Zensical supports these formatting extensions. (zensical.org)
Common patterns (as used by these extensions):
==highlight==
^^underline^^
~~strikethrough~~
H~2~O (subscript)
X^2^ (superscript)
++ctrl+alt+del++ (keyboard keys)
(Exact rendering depends on the enabled extensions/theme, but these are the standard syntaxes for the supported set.) (zensical.org)
18) Table of contents and heading permalinks¶
Zensical enables a Table of Contents extension and (in the documented defaults) sets permalink: true, which adds permalink anchors to headings. (zensical.org)
Practical authoring takeaway:
- Use meaningful heading structure (
##,###, …). - Expect headings to get linkable anchors/permalinks when that feature is enabled. (zensical.org)
Notes on “what’s enabled on zensical.org” vs “what Zensical supports”¶
- The list above is the supported set (what Zensical can parse/render). (zensical.org)
- Some behaviors are explicitly theme features (e.g., improved tooltips, footnote tooltips, linked tabs) and depend on site configuration; the docs call out how to enable them. (zensical.org)
- Zensical’s docs also mention it’s working toward CommonMark support in the future. (zensical.org)
If you tell me whether you’re (a) writing docs for the zensical.org repo specifically or (b) authoring your own Zensical site, I can tailor this into a “minimal subset that’s enabled by default” vs “optional features you must enable.”