+++
title = "mdcat and its syntax"
description = "the birth of mdcat, and a tour of everything it can render"
date = 2026-09-16T22:04:09Z
updated = 2026-10-18T13:23:38Z
+++
/l、 MEOW!
(゚、 。 7 /
l、゙~ヽ
じしf_,)ノ
# Overview
So I guess I've decided on a name for my `zola` theme. It's going to be
called `mdcat`, and I think the reasoning behind the name should be pretty
self-explanatory, haha.
Anyway, I'd say I'm around 80% finished with the syntax. I should also
mention that building this website is actually a small part of a larger
project which I'm working on. I hope to share more about it in the future,
but for now I hope that you enjoy my showcase below:
---
# Markdown syntax
## Text
Emphasis *leans*, strong text **stands out**, inline code `borders`,
and struck text ~~fades~~. Where markdown has no syntax, HTML
fills in: highlighted text, keys like Ctrl+C,
H2O and 210.
A footnote sits at the end of a sentence[^1], and a line that ends in a
backslash\
breaks without starting a new paragraph. Links stay inside the site, like
[the updates directory](@/updates/_index.md).
## Headings {#custom}
Headings keep their marks, and the marks are the anchor links. This one has
a custom anchor, `#custom`, set in the source.
## Lists
- a bullet
- nested one level
- another bullet
1. first
2. second
- [x] done: struck and dimmed
- [ ] still to do
`[raw]`
: a definition list: term above, definition below
`[sig]`
: the detached signature, on a page that has one
## Code
```sh,name=verify.sh,linenos,hl_lines=3
#!/bin/sh
# check a page before trusting it
gpg --verify updates/mail-server.txt || exit 1
echo "signature good"
```
The frame shows the file name and language; `linenos` numbers the lines and
`hl_lines` marks one. Without a language it is only a frame:
```
$ mdcat updates/mdcat-showcase.md
```
## Blocks
> A quote holds `code`, *emphasis* and paragraphs.
>
> > Quotes nest.
> [!NOTE]
> An alert is a quote with a tag. `TIP`, `IMPORTANT`, `WARNING` and
> `CAUTION` work the same way.
{% %}
A callout is a labelled frame with **markdown** inside.
{% %}
{% %}
This one starts closed. Only the `[+]` opens it.
{% %}
| element | source | rendered as |
|:--------|:------------------|:---------------------|
| heading | `## Title` | white, marks kept |
| callout | `note` component | labelled frame |
| alert | `> [!NOTE]` | quote, tag kept |
[^1]: Footnotes gather here, dimmed, with a link back to where they came from.