Explorer — формат контента статей
Статьи Explorer пишутся в Markdown с кастомными блоками. Каждый блок оборачивается в теги :::тип … :::.
Общие правила:
- Блоки идут один за другим сверху вниз.
- Пустые строки внутри блока сохраняются (для абзацев в
details). - Атрибуты указываются в фигурных скобках после типа:
:::тип{ключ=значение}. - Значения с пробелами — в кавычках:
title="The Trust Problem". - Термины глоссария:
[[gloss:ключ|подпись]]— подпись необязательна. - Внутренние ссылки на статьи (для HTML-блоков):
/slug-статьи#s1.
Режим Visual — блочный редактор. Preview — итоговый вид как на фронте (без редактирования). Markdown — исходник.
section — заголовок секции
Номер секции (01, 02…) считается автоматически по порядку блоков.
:::section{mins=5}
The Trust Problem
:::
- Тело блока — заголовок секции (H2).
mins— время чтения секции в минутах (~5 minна фронте).
lead — вводный абзац с левой чертой
Один на секцию, обычно первый блок.
:::lead
Любая [[gloss:transaction|транзакция]] между незнакомцами требует доверия.
:::
p — обычный абзац
По умолчанию — простой текст (поддерживается глоссарий).
:::p
Текст абзаца. Можно использовать [[gloss:bitcoin|Bitcoin]].
:::
p с HTML
Для жирного, курсива, ссылок, таблиц и формул:
:::p{html}
В 1982 году доказали: нужно минимум <span class="art-adv-formula">n ≥ 3f + 1</span> участников.
:::
callout — блок с иконкой (лампочка)
:::callout
Посредник — это судья. Без него каждый считает, что мяч был аут.
:::
Своя иконка:
:::callout{icon=⚠️}
Важное предупреждение.
:::
По умолчанию иконка: 💡
keypoints — список Key points
:::keypoints{label="Key points"}
- Без доверия обмен невозможен
- Посредник решает проблему, но создаёт зависимость
- html: <strong>Жирный пункт</strong> с разметкой
:::
- Каждая строка с
-— отдельный пункт. - Строка
html: ...— пункт с HTML (без-передhtml:). - Атрибут
labelнеобязателен (по умолчанию:Key points).
howto — How to think about this
Список с стрелкой → у каждого пункта.
:::howto{label="How to think about this"}
- [[gloss:blockchain|Blockchain]] — это <strong>не база данных</strong>.
- Вы доверяете не сети, а <strong>инcentives</strong>.
:::
Каждая строка - ... становится пунктом (содержимое — HTML).
details — раскрывающийся блок Advanced
Несколько блоков details подряд в одной секции — допустимо. Внутри — абзацы и вложенные :::p{html}.
:::details{badge=Advanced title="The Byzantine Generals Problem"}
Картина: шесть византийских генералов окружили город...
:::p{html}
Доказано: нужно <span class="art-adv-formula">n ≥ 3f + 1</span> участников.
:::
Сатоши переформулировал вопрос: «а что если лгать просто дорого?»
:::
- Пустая строка между абзацами — новый абзац
p. badge— подпись слева (Advanced, Practical, Timeline, Глубже).title— заголовок в summary.
further — Further reading
:::further{label="Further reading"}
- [Satoshi Nakamoto Whitepaper](https://bitcoin.org/bitcoin.pdf) | bitcoin.org
- [Byzantine Generals Problem](https://lamport.azurewebsites.net/pubs/byz.pdf) | PDF
:::
Формат строки: - [Заголовок](URL) | источник
quiz — Check yourself
:::quiz{id=q-1-1-s1 label="Check yourself" correct=1}
Почему вообще понадобился blockchain?
- Чтобы платежи были быстрее банков
- Чтобы обмениваться без доверенного посредника
- Чтобы шифровать данные от государства
- Чтобы заменить кредитные карты
:::
- Первая непустая строка после открытия — вопрос.
- Строки
- ...— варианты ответа (порядок с 0). correct— индекс правильного ответа (0, 1, 2…).id— уникальный идентификатор (необязателен).explanation— HTML-пояснение после ответа:
:::quiz{correct=1 explanation="<strong>Верно.</strong> Суть — доверие между незнакомцами."}
Вопрос здесь
- Вариант A
- Вариант B
:::
higrid — карточки в сетке (2+ колонки)
:::higrid
:::card{icon=🌍 cat=Access title="Anyone with a phone"}
No bank account, no ID needed.
:::
:::card{icon=⚡ cat="Speed & cost" title="$100M in 10 minutes" html}
A SWIFT wire: 3–5 days. Crypto: <strong>minutes</strong>.
:::
:::card{icon=⚠️ cat=Tradeoff title="You are the bank" variant=warn}
Mistakes are irreversible. Lose your key — lose everything.
:::
:::
| Атрибут карточки | Описание |
|---|---|
icon |
Эмодзи |
cat |
Категория (мелкий текст сверху) |
title |
Заголовок |
variant=warn |
Оранжевая рамка (предупреждение) |
html |
Тело карточки — HTML (иначе plain text) |
timeline — вертикальный таймлайн
:::timeline
:::item{year=2008}
[[gloss:bitcoin|Bitcoin]] Whitepaper — 9 страниц
:::
:::item{year=2017 variant=warn}
ICO boom — billions raised; many projects failed
:::
:::item{year=2023–24 variant=acc}
US spot Bitcoin ETFs — TradFi entry
:::
:::
variant |
Вид точки |
|---|---|
| (нет) | Зелёная (по умолчанию) |
warn |
Оранжевая |
acc |
Акцентная |
Атрибут html на :::item — тело как HTML.
misconceptions — сетка Myth / Fact
:::misconceptions
:::myth{title="Crypto = Bitcoin"}
[[gloss:bitcoin|Bitcoin]] — один из тысяч активов.
:::
:::myth{title="It's for criminals" fact="Fact"}
Доля illicit-транзакций мала по оценкам Chainalysis.
:::
:::
title— заголовок мифа (обязателен).fact— подпись перед фактом (по умолчанию:Fact).- Тело — plain text или HTML с атрибутом
html.
Типичный порядок блоков в секции
lead → p (×N) → [howto?] → callout? → keypoints → details (×1–3) → further? → quiz?
Не все блоки обязательны.
Пример минимальной секции
:::section{mins=5}
The Trust Problem
:::
:::lead
Краткий вводный тезис секции.
:::
:::p
Основной текст абзаца.
:::
:::keypoints
- Первый ключевой пункт
- Второй ключевой пункт
:::
:::quiz{correct=0}
Проверочный вопрос?
- Правильный ответ
- Неправильный ответ
:::
Что пока не в markdown
Эти элементы задаются в метаданных статьи в админке, а не в теле:
- Заголовок статьи (H1), описание, concepts, общее время чтения/изучения
- Prerequisites, closing (key idea, bridge), симуляции
Заголовки секций (:::section) и их время — в теле статьи.