For writers
Style guide
Every component a module can use, and how to write it in Markdown.
This page is a reference for writers. The text here only describes the components; module content lives in src/modules/.
Headings
Use ## for sections and ### for subsections. They appear automatically in the On this page list.
A subsection
Body text is set in STIX Two Text, the same face as the main SOTA site.
Math
Write inline math between single dollar signs, like , and display math between double dollar signs:
Code
Fence code with the language name so it gets highlighted.
import numpy as np
def mse(y_true, y_pred):
# Mean squared error of two arrays
return np.mean((y_true - y_pred) ** 2)
Callouts
Write them like this. The available types are definition, note, tip, warning, example and exercise.
{% callout "definition", "Optional title" %}
Markdown goes here.
{% endcallout %}
To hide an exercise's answer until the reader clicks, wrap it in <details>. Keep the blank lines around the answer so it is still read as Markdown.
{% callout "exercise", "Optional title" %}
The question.
Show answer
The answer.
{% endcallout %}
Algorithm box
w = initial weights
while the validation loss is still improving:
batch = small random sample of the training set
w = w - learning_rate * gradient of the loss on batch
{% algorithm "Title" %}
```text
function name(arguments):
for each item in items:
do something with item
return result
```
{% endalgorithm %}
Expandable box
Use it for optional detail, such as a derivation, that a reader can skip without losing the thread.
{% expand "Title" %}
Markdown goes here, including math and code.
{% endexpand %}
Term explanation
A small "i" button right after a harder term opens a short explanation in a pop-up. Keep the explanation to a few sentences; longer material belongs in an expandable box.
The log loss is convex, so gradient descent can find its minimum.
The log loss is convex{% info "Convex function" %}Explanation in Markdown.{% endinfo %}, so ...
Tables
Markdown tables get the same thin rules as the rest of the site.
| Metric | Formula |
|---|---|
| Precision | |
| Recall |
Resources and practice problems
These two tables are built from a module's front matter, so writers only fill in lists at the top of the file:
resources:
- { source: "Book or site", title: "Chapter or page", url: "https://...", note: "Why it helps" }
problems:
- { source: "IOAI 2025", name: "Task name", url: "https://...", difficulty: "Medium", tags: ["vision"] }