Этот пост — справочник по фичам. Каждое markdown-расширение, которое блог поддерживает, продемонстрировано ниже. Скопируй файл, поменяй frontmatter и пиши свой пост поверх тела.

Заголовки

## для секций (h2). Заголовок поста отрендерится в hero как h1. ### для подсекций, h4 — изредка.

Inline-форматирование

Стандартный markdown: жирный, курсив, inline-код, зачёркнутый, внешняя ссылка, внутренняя ссылка.

Внешние ссылки получают target="_blank" + rel="noopener nofollow" автоматически. Внутренние (с "finder") открываются в той же вкладке.

Списки

Маркированный:

  • Первый пункт
  • Второй пункт
  • Вложенный:
    • Под-пункт A
    • Под-пункт B

Нумерованный:

  1. Шаг один
  2. Шаг два
  3. Шаг три

Блоки кода

Inline код в бэктиках. Fenced-блоки с language hint получают syntax highlighting от pygments:

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]
# bash example
docker compose --env-file .env --env-file .env.test up -d dashboard
curl -s http://localhost:8765/ru/blog | head -3

Таблицы

Тир Спред Min прибыль на $1k Частота
LOW ≥ 1.5% $10 50–150 / день
MEDIUM ≥ 5% $25 15–30 / день
HIGH ≥ 10% $50 2–8 / день
VERY_HIGH ≥ 15% $150 0–3 / день

Callouts

Стандартная заметка. Используй для контекста, который интересен но не требует действий.
Совет с заголовком

Pro insight. Подсвечивай когда читатель может сэкономить время / деньги / нервы.

Внимание

Для не-фатальных предостережений — "у этой биржи депозиты подтверждаются 10 минут", "стратегия требует $5k+ чтобы покрыть фиксированные комиссии".

Так делать нельзя

Используй редко для реальных "можешь потерять деньги" предупреждений. Liquidation риск, триггеры банов, регуляторные вопросы.

Callouts могут содержать жирный, курсив, ссылки и списки:

Многопараграфный callout

Первый параграф.

Второй параграф со списком:

  • Пункт один
  • Пункт два

Заключение.

Math (KaTeX)

Inline math: \(P = (p_{sell} - p_{buy}) / p_{buy} \cdot S - F\) где \(S\) — размер, \(F\) — суммарные комиссии.

Display math:

$$ \text{Нет на $1k} = 1000 \cdot \frac{p_{sell} - p_{buy}}{p_{buy}} - 2 \cdot t_{fee} \cdot 1000 - g_{network} \[

Нормализация funding-rate:

\] r_{8h} = r_{cycle} \cdot \frac{8h}{t_{cycle}} $$

Embed'ы

Lazy Twitter/X — карточка-плейсхолдер, клик открывает новую вкладку. Никакого third-party JS:

YouTube — thumbnail с play-оверлеем, клик открывает YouTube в новой вкладке. Никаких iframe / cookies до consent'а:

Blockquote

Стандартный blockquote. Полезно для эмфазиса строки или цитаты.

Горизонтальные линии


Используй --- для разделения длинного поста на тематические секции.

Frontmatter справочник

Поле Обязательно Описание
slug да URL slug, стабильный после публикации
title да h1 + <title> + OG title
description нет meta description; fallback на title
date да дата публикации YYYY-MM-DD
updated нет дата последнего редактирования; default = date
author нет default = Finder team
tags нет список строк, lowercase
hero_image нет абсолютный путь под /assets/blog/... для OG image
en_slug / ru_slug нет cross-locale ссылка для hreflang + lang switch
draft нет true = скрыт из листинга/sitemap, URL остаётся доступен с noindex

Всё. Удали этот скелет или перенеси в posts/_drafts/ когда появятся реальные посты.