Site Feature Guide
3 min read
How AI was used
- CursorDrafting examples and polishing wording
Table of contents
This guide demonstrates every content feature available on the site. It doubles as a rendering test: if something here looks wrong, a feature is broken.
Front matter
Every article starts with front matter. The common fields:
1---
2title: "Your title"
3date: 2026-06-09
4draft: false
5summary: "One-sentence description used in listings and meta tags."
6series: [] # optional; groups posts into a series
7tags: []
8math: false # set true to enable KaTeX on this page
9toc: true # table of contents + numbered headings
10# author defaults to the site author; override for guest posts:
11# author:
12# name: "Guest Name"
13# github: "guest-handle"
14# editors who improved the post via pull requests:
15# editors:
16# - name: "Jane Doe"
17# github: "janedoe"
18# AI transparency (shown as a banner under the title):
19# ai_assisted: true
20# ai_assist:
21# - name: "Claude"
22# role: "Copy-editing"
23---Typography
Text can be bold, italic, struck through, or inline code. Links look like this. You can mark keyboard keys such as Ctrl + C.
Blockquotes are styled for emphasis. — Attribution lines work too.
Unordered list:
- First item
- Second item
- Nested item
Ordered list:
- Step one
- Step two
- Step three
Tables:
| Feature | Loads JS? | Cached |
|---|---|---|
| Mermaid | No | Static SVG |
| GoAT | No | Inline SVG |
| YouTube | On click | Facade |
Headings, anchors, and the table of contents
With toc: true, this page shows a table of contents, headings are auto-numbered, and each heading gets a hover anchor link for deep-linking. Set toc: false to disable both the contents and the numbering.
Code blocks
Fenced code blocks are syntax-highlighted, with a language label, a copy button, and an expand/collapse control for long snippets.
1package main
2
3import "fmt"
4
5func main() {
6 fmt.Println("Hello, krya.dev")
7}1def greet(name: str) -> str:
2 return f"Hello, {name}"Math (KaTeX)
Enable with math: true. Inline math like \(a^2 + b^2 = c^2\) sits in the text, and block math stands alone:
Mermaid diagrams
Write a mermaid fenced block. Diagrams are pre-rendered to static SVG at author time (run npm run diagrams), so no Mermaid runtime ships to readers. Many diagram types are supported: flowchart, sequence, class, state, ER, gantt, pie, and more.
ASCII diagrams
Keep art exactly as written with the ascii language (RFC-style box):
.------. .--------. .-------. | Edit | ---> | Review | ---> | Merge | '------' '--------' '-------'
Or let Hugo render it to SVG with the goat language (use the Text toggle to see the source):
.-------------.
| Browser |
'------+------'
|
v
.-------------.
| Origin |
'-------------'Rich embeds
Lightweight and privacy-respecting. YouTube uses a click-to-load facade; X and Threads load their widgets lazily, only when scrolled into view.
Citations
Use the cite shortcode with a key from data/references.yaml. References are numbered by first appearance [1]
and a full list renders at the bottom of the article [2]
. Citing the same source twice reuses its number [1]
.
AI transparency
Because this post sets ai_assisted: true, a short disclosure banner appears under the title listing which tools helped and how. Posts without that field show nothing.
References
- “Amortized Analysis.”Cornell University,2011.[Online]. Available: https://www.cs.cornell.edu/courses/cs3110/2011fa/supplemental/lec20-amortized/amortized.html
- “Geometric Series.”Mathbooks Project,n.d.[Online]. Available: https://mathbooks.unl.edu/Calculus/sec-7-2-geometric.html