This page defines the baseline structure for notes. Not every note follows this exactly, but new notes should start here.
Frontmatter
Every note uses YAML frontmatter:
---
title: Note Title
description: One-line summary of the topic.
draft: false # true = unpublished, false = published
comments: false # giscus comments toggle
tags:
- domain # e.g., cs, dsa, pl, meta
date: YYYY-MM-DD # creation date
updated: YYYY-MM-DD # last meaningful revision (optional; omit to use git timestamp)
aliases: [] # alternate titles for wikilink resolution
---Body structure
- Definition - what the concept is, in 1-3 sentences.
- Core content - explanation, properties, mechanics. Use subsections (
##,###) to break up longer topics. - Examples - concrete instances, code, or diagrams. Prefer inline code blocks with syntax highlighting.
- Connections - wikilinks to related notes. These can be inline (in the text where relevant) or in a short “See also” list at the end.
Not every section is required. Short notes may only need a definition and a few links. The goal is clarity, not uniformity.
Conventions
- File names are lowercase, hyphenated:
avl-tree.md,lambda-calculus-syntax-substitution.md. - One concept per file. If a topic has sub-topics large enough to stand alone, give them their own files and link from the parent.
- Tags reflect domain membership (
cs,dsa,pl,meta), not maturity level. Maturity is tracked through thedraftfield and content completeness. - Wikilinks use Obsidian-style
[[target | display text]]syntax. Quartz resolves these via shortest-path matching. - Diagrams can be referenced in YAML comments for future creation (see existing DSA notes for examples). Inline Mermaid or embedded SVGs are both fine.
- LaTeX is supported via KaTeX. Use
$...$for inline math and$$...$$for display math.