Markdown¶
Markdown is a lightweight markup language for authoring text such as technical documentation, blog posts, etc. It was created in 2004 by John Gruber, with help from Aaron Swartz. Compared to alternatives like HTML or XML, it is easy to write and read, using a lean and intuitive syntax.
Zensical uses Python Markdown for compatibility with Material for MkDocs. Python Markdown aims to be a faithful and extensible port of [John Gruber's original Markdown syntax][gruber]. For the most part, it is fully compatible with the original specification, supporting the core features like headings, lists, links, blockquotes, and inline formatting (e.g., bold and italics).
Both Python Markdown itself and the Python Markdown Extensions that Zensical also supports provide extensions to the core Markdown language to cater for the needs of technical writers who want to produce clear, compelling, and visually attractive documentation.
Learning Markdown¶
The [original description of Markdown][gruber] by John Gruber is still a good starting point if you are unfamiliar with Markdown syntax. The Markdown Guide is another great resource.
Page title¶
Zensical produces a page title for each page. It uses, in order of priority:
- a title defined for the page in the
navconfiguration setting. - a title defined in the front-matter of the page.
- a first-level Markdown header in the page content
- the base name of the Markdown file
So, explicitly defined navigation takes the highest priority, followed by an explicitly defined page title, followed by a title derived from the first level one Markdown header. If none of these are available, the filename is used as a fallback.
Headers¶
Text formatting¶
Links and images¶
[Link text](https://example.com)
[Link with title](https://example.com "Hover title")


Lists¶
Blockquotes¶
Code blocks¶
Tables¶
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Row 1 | Data | Data |
| Row 2 | Data | Data |