ДовідникПайплайнВічнозеленаоновлено 2026.085 хв читання
Довідник · конвеєр Markdown у дії

Демонстраційний стенд

Кожен елемент конвеєра Markdown цього сайту виступає на цій сторінці рівно один раз: рядкові позначки, вікіпосилання, таблиці, що обертаються на картки, callout у трьох написаннях, математика, кодові рамки, діаграми, emoji-шорткоди, додатки GFM — і час читання в смузі вгорі теж порахував конвеєр. Те, що сторінка взагалі збирається, і є демонстрацією: контроль вмісту відкидає кожне зіпсоване написання з переліку наприкінці, тож ви бачите рівно те, що приймає діалект. Два перемикачі, які цей сайт лишає вимкненими, — пресет нумерації sections і префікс підшляху base — описано в інструкції.

4 частини · кожен перемикач, який вмикає цей сайт · перелік відмов контролю наприкінці

PART IТекст

§1.1Рядкові позначки

Розбір виділення дружній до CJK: жирний закривається навіть упритул до китайської пунктуації**报文。**同时 рендериться як 报文。同时, а не як буквальні зірочки. Курсив, закреслення та рядковий код працюють як завжди; з увімкненим gemoji шорткод на кшталт :sparkles: рендериться як ✨. Символи всередині рядкового коду не беруть участі в жодному розборі, тож зворотні лапки — безпечний спосіб показати синтаксис: **, $…$ і > [!note] з’являються буквально. Щоб показати зірочку в тексті, екрануйте її — *отак* лишається простим текстом.

§1.2Вікіпосилання

З увімкненим wikilinks посилання [[у подвійних дужках]] розв’язуються по колекції нотаток так, як і належить вікі: за id (design-tokens — з українського дзеркала спершу шукається дзеркало тією самою мовою, і лише за його відсутності посилання веде до англійського оригіналу), за псевдонімом (boundaries досягає нотатки з id three-way-split) і з підписом (інструкція швидкого старту). Ціль, яку не вдалося розв’язати, рендериться позначеним мертвим посиланням, а не валить збірку — про неї звітує рушіїв check-wikilinks у CI, де гниттю посилань і місце.

§1.3Таблиці: прокручування в широкому контейнері, картки у вузькому

Таблиця на шість і більше колонок у вузькому контейнері має перекладатися по картці на рядок, а не тиснути кожну клітинку до двох символів. Ця семиколонкова таблиця — водночас шпаргалка варіантів callout і жива перевірка того перекладання (звузьте вікно до ширини телефона):

ВаріантКласКлючові слова синтаксису цитатРамкаТлоТиповий заголовокТипове застосування
notecalloutnote info赭 вохра --color-accent3тло формул --color-math-bgNoteнейтральні примітки збоку
intuitioncallout intuitiontip intuition hint黛 бірюза --color-accent2тло формулIntuitionаналогії, що будують інтуїцію
warncallout warnwarn warning caution danger石 палений жовтогарячий --color-accentсуміш 8% акцентуWarningзастереження перед ризикованим кроком
systemcallout systemimportant system紫 фіолет --color-accent4суміш 8% фіолетуImportantсистемні домовленості
abstractcallout abstractabstract summary quoteбліда туш --color-ink-faintм’яка поверхня --color-bg-softAbstractстислі огляди на початку розділу
badcallout bad(лише сирий HTML)石 палений жовтогарячийсуміш 10% акцентузафіксовані помилки, відхилені рішення

Типові заголовки — англійські; сайт міняє весь набір через опцію calloutLabels у siteMarkdown, напр. calloutLabels: { tip: 'Інтуїція', warn: 'Попередження' }. Заголовок, написаний у синтаксисі цитат (> [!tip] Мій заголовок), завжди переважає.

PART IICallout і математика

§2.1Callout: три написання

Перше — синтаксис цитат у стилі Obsidian/GitHub (доступний із callouts: true, працює й у файлах із чистим Markdown):

Позначка згортання з Obsidian теж шанується: > [!note]- рендериться згорнутим, > [!note]+ — розгорнутим:

Згорнута нотатка

Клацніть заголовок, щоб розгорнути. Згорнуті callout-и рендеряться як <details> із заголовком у ролі <summary>.

Друге — компонент пакета в MDX (astro-inkstone/components/Callout.astro, імпорт за шляхом). Без title він показує типовий підпис варіанта — той самий, що й у синтаксису цитат:

Третє — сирий HTML, усі шість варіантів за один прохід (один в один із правилами .callout у base.css):

Нотатка
Нейтральна примітка. Клас .callout без модифікаторів — це саме вона.

Інтуїція
Бірюзовий лівий кант — для абзаців про те, як це уявити, а не що це таке.

Попередження
Лівий кант паленого жовтогарячого над тлом із 8% акценту — з’являється перед кроком, який може піти не так.

Система
Фіолетовий лівий кант — для системних домовленостей: спершу зрозумійте, навіщо вона існує, а вже потім міняйте.

Анотація
Кант блідою тушшю на м’якій поверхні — для швидкого огляду на чолі розділу.

Антиприклад
Фіксує помилки та відхилені реалізації. Без цього варіанта сам факт «це неправильно» губиться мовчки.

§2.2Математика

Рядкові формули сидять просто в тексті: оптична товща записується як τ=κρds\tau = \int \kappa \rho \, \mathrm{d}s. Виносна математика бере трирядкову форму ($$ на окремих рядках) — однорядкову контроль відкидає, бо вона мовчки відрендерилася б маленькою рядковою формулою:

01x2dx=13\int_0^1 x^2 \, \mathrm{d}x = \frac{1}{3}

Тло формул — навмисно інший папір, ніж у тексту, і воно міняється разом із темою. Принагідно: ціни в доларах у тексті екрануйте — ця кава коштує $3.

PART IIIКод і діаграми

§3.1Кодові рамки

Огорожа з title="…" дістає смугу заголовка з іменем файлу; кнопка копіювання в кутку єдина на весь сайт. Рядкові анотації [!code ++] / [!code --] рендеряться тлом diff-а:

pipeline.py
def build_pipeline(opts):
    plugins = [remark_math]  
    plugins = [remark_gemoji, remark_math]  
    return assemble(plugins, guard=opts.guard)

Рамка з позначкою collapse починає згорнутою і займає місце, лише коли її розгорнуть — саме те для довгих конфігураційних файлів:

inkstone.example.yamlExpandCollapse
yaml
site:
  markdown:
    numbering: chapters
    math: true
    codeFrame: true
    mermaid: true
    callouts: true
    wikilinks: true
  styles:
    - astro-inkstone/styles/tokens.css
    - astro-inkstone/styles/base.css

Двотемне підсвічування дає shiki, який видає обидва набори кольорів одразу; base.css вибирає один за data-theme в одному-єдиному місці — без перетягування специфічності.

§3.2Діаграми mermaid

Огорожа ```mermaid на етапі збірки лишає тільки заглушку; рендерер довантажується динамічно лише на сторінках із діаграмою (сторінки без неї не платять нічого) і перемальовує її, коли перемикається тема:

flowchart LR
  A["astro-inkbrush<br/>рушій: редагування / діалект / контроль"] --> C["ваш сайт<br/>ідентичність / маршрути / розгортання"]
  B["astro-inkstone<br/>папір: токени / стилі / конвеєр"] --> C
  A -. один спільний діалект .-> B

§3.3Додатки GFM

Списки завдань і виноски їдуть разом із GFM:

  • токени імпортовано
  • base.css імпортовано
  • палітру ідентичності перевизначено

Твердження, варте джерела, дістає виноску.1

PART IVКонтроль

§4.1Що контроль відкидає на цій сторінці

Те, що ця сторінка збирається, якраз і доводить: усе вище — правильної форми. Ось написання, які завалили б збірку на місці (спробуйте одне, а тоді npm run build):

  • маркер виділення, якому немає пари, — як-от **, покинутий незакритим наприкінці рядка;
  • однорядкове $$x$$ (пишіть трирядкову форму);
  • нумерація заголовків руками — запис заголовка цього розділу як ## 9. Що контроль… зіткнувся б із нумерацією часу збірки й був би відхилений;
  • MDX, що обчислює фігурні дужки в тексті: {0,1,2,3} відрендерилося б самою лише трійкою, тому контроль вимагає екранованої форми {0,1,2,3};
  • формула, яку KaTeX не може відрендерити (контроль наново рендерить кожну формулу в суворому режимі, замість пускати на сторінку червоний текст помилки).

Footnotes

  1. Виноски рендеряться внизу сторінки зі зворотними посиланнями; стилі дає шар вмісту.

Заголовки, підрозділи й основний текст — цією мовою.
    ↑↓ · Enter · Escastro-inkstone