markdown-laconicism

0

Описание

Расширение семантики стандартного синтаксиса Markdown для эффективного создания технической документации или образовательных материалов.

Языки

  • JavaScript99,5%
  • Shell0,5%
readme.md

Markdown стал доминирующей плоской разметкой, с нулевой кривой входа, известной всем околоайтишникам и ИИ, и по сути похоронил массовое использование

SGML
/
[X]HTML
/
Dita
/
LaTeX
/
AsciiDoc
/
RST
/
[Media]Wiki
и прочих, возможно более умных разметок.

Может это и к лучшему, поддержка Markdown в code-server, с LaTeX-формулами-графами и кучей других возможностей позволяет эффективно делать и техдокументацию и обучающие материалы, не заморачиваясь с проблемами страничной «версткой книг», и не используя монструозные решения типа

pandoc
.

Особенно, учитывая что в markdown можно вставлять практически произвольные блоки HTML-кода, если нужно что-то особое, интерактивное или визуальное.

Но некоторые вещи в markdown можно улучшить «не отходя от кассы»

  • не изобретая новых расширений (pandoc-подход)
  • не добавляя новых элементов разметки
  • а расширяя идеи, уже заложенные в markdown, позволяя той же разметкой делать что-то компактней и лучше.

Например, в образовательных материалах и технической документации полезно вставлять маленькие иллюстрирующие медиаролики — как картинки, только живые, из мира Гарри Потера.

Но классический подход с

<div><video …>…</video>
тегами очень монструозен, ведь таких картинок может быть много.

Мы расширяем функциональность «включения» c учетом markdown расширения

image size
что можно включать не только картинки
![ALT]
(путь-к-картинке.png =ШиринаxВысота)
но и видео
![класс и стили]
(путь-к-видео.webm =ШиринаxВысота)

Также больным местом является трансклюзия других markdown-документов — то что есть во всех практически остальных разметках (LaTeX/SGML Docbook/MediaWiki/RST/…) тут из коробки нет.

Такую же «трансклюзию», мы тоже получаем, расширяя семантику «включения»

![класс и стили]
(путь-к-markdown-документу.md)

  • Причем если указывать абсолютный путь, мы получим включение относительно папки проекта
    ${workspaceFolder}

Еще частой необходимостью является автоматическая гиперлинковка на лежащие рядом markdown-документы и другие программные артефакты. Для этого, для «кодовых» литералов, начинающися с

./
типа
./путь-к/какому-то/артефакту.py
— автоматически превращается в гиперссылку относительно текущего пути.

А если ссылка идет на markdown-документ, то ссылка типа

./путь-к/какому-то/артефакту.md
(которую уже можно сделать активной в самом документе с помощью других расширений vscode/code-server/code-oss), в HTML превращается в ссылку
./путь-к/какому-то/артефакту.html
, позволяя из набора markdown документов сделать связанную техническую документацию или базу знаний.