This post exists as a feature reference — every markdown extension the blog supports is demonstrated below. Drop a copy of this file, change the frontmatter, and write your real post over the body.
Headings
Use ## for section headings (h2). The hero already renders the post title as h1. Keep h3 (###) for sub-sections within a section, h4 sparingly.
Inline formatting
Standard markdown: bold, italic, inline code, strikethrough, external link, internal link.
External links auto-get target="_blank" and rel="noopener nofollow". Internal links (anything containing "finder") stay in-tab.
Lists
Bullets:
- First item
- Second item
- Nested:
- Sub-item A
- Sub-item B
Numbered:
- Step one
- Step two
- Step three
Task lists:
- Done
- Pending
- Also pending
Code blocks
Inline code with backticks. Fenced blocks with language hint get pygments syntax highlighting:
from src.dashboard import blog as blog_mod def example(posts_root, locale): posts = blog_mod.list_posts(posts_root, locale) return [p for p in posts if not p.draft]
# shell example docker compose --env-file .env --env-file .env.test up -d dashboard curl -s http://localhost:8765/blog | head -3
# YAML example — frontmatter format slug: my-post title: "My post title" date: 2026-05-04 tags: [strategy, education]
Tables
| Tier | Spread | Min profit at $1k | Frequency |
|---|---|---|---|
| LOW | ≥ 1.5% | $10 | 50–150 / day |
| MEDIUM | ≥ 5% | $25 | 15–30 / day |
| HIGH | ≥ 10% | $50 | 2–8 / day |
| VERY_HIGH | ≥ 15% | $150 | 0–3 / day |
Callouts
Pro insight. Highlight when the reader can save time / money / pain by following advice here.
Use for non-fatal cautions — "this exchange takes 10 minutes to confirm withdrawals", "this strategy needs $5k+ to overcome fixed fees".
Use sparingly for genuine "you can lose money" warnings. Liquidation risk, account-ban triggers, regulatory issues.
Callouts can contain bold, italic, links, and lists:
First paragraph.
Second paragraph with a list:
- Item one
- Item two
Closing thought.
Math (KaTeX)
Inline math: \(P = (p_{sell} - p_{buy}) / p_{buy} \cdot S - F\) where \(S\) is size and \(F\) is total fees.
Display math:
$$ \text{Net at $1k} = 1000 \cdot \frac{p_{sell} - p_{buy}}{p_{buy}} - 2 \cdot t_{fee} \cdot 1000 - g_{network} \[
Funding-rate normalisation:
\] r_{8h} = r_{cycle} \cdot \frac{8h}{t_{cycle}} $$
Embeds
Lazy Twitter/X — placeholder card, click to open in a new tab. No third-party JS loaded:
YouTube — thumbnail with play overlay, click opens YouTube in a new tab. No iframe / cookies until consent:
Blockquotes
Standard markdown blockquote. Useful for emphasising a line or pulling a quote from elsewhere.
Horizontal rules
Use --- to break a long post into thematic sections.
Images
Local images live in landing/assets/blog/ and are referenced by absolute path:

Frontmatter reference
Every field supported in the --- block at the top:
| Field | Required | Description |
|---|---|---|
slug |
yes | URL slug, stable after publication |
title |
yes | h1 + <title> + OG title |
description |
no | meta description; falls back to title |
date |
yes | publish date YYYY-MM-DD |
updated |
no | last-edited date for dateModified; defaults to date |
author |
no | defaults to Finder team |
tags |
no | list of strings, lowercased |
hero_image |
no | absolute path under /assets/blog/... for OG image |
en_slug / ru_slug |
no | cross-locale link for hreflang + lang switch |
draft |
no | true = hidden from list/sitemap, URL stays accessible with noindex |
That's it. Delete this skeleton file or move it under posts/_drafts/ once real posts exist.