#doc #hate 

Пустые строки перед списками Markdown

http://xahlee.info/comp/fuck_markdown.html
Очередная статья на тему "нафиг markdown!". Размеры его спецификации
просто огромны. Это сложный, сильно сложный формат. Никем толком не
поддерживается, как и CommonMark. Только какие-то подмножества, да и то
с разной интерпретацией/багами.

Для меня сразу же падает ценность/серьёзность проекта где используется
.md. Никого из серьёзных не знаю, кто бы его для дела применял в больших
документациях. А сам я преобладающую часть всех своих проектов перевёл
на свой SWG. Вот это -- реально простой формат. gemtext в целом тоже
можно отнести бы было, но он не подходит для чтения людьми, из-за
длинных строк (то есть это формат для машины).

    [оставить комментарий]
    комментарий 0:
    From: ярик сысоев
    Date: 2026-04-22 10:00:48Z
    
    А я уж думал я один маркдауна не смог осилить. У меня изначально на сайте все страницы были в формате маркдауна, но его стало не хватать, поэтому постепенно скрипт генерации вырос в что-то такое:
    
    cat "$1" | preprocessor1 | preprocessor2 | ... | pandoc -f markdown | cat header - footer
    
    Но, как оказалось, pandoc обрабатывает inline HTML так, как только одному ему известно.
    (сводящего меня с ума браузера, который додумывает за меня вёрстку было, видимо, мало)
    
    В итоге не выдержал и написал свой DSL. Не без косяков, но зато у меня теперь есть достаточная власть, чтобы их исправлять.
    Да и в книжку собирать так явно удобнее стало, чем через башевые скрипты
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2026-04-22 10:17:10Z
    
    *** ярик сысоев [2026-04-22 13:00]:
    >У меня изначально на сайте все страницы были в формате маркдауна, но его стало не хватать
    
    У меня почти везде возможностей MD не хватало бы тоже.
    Те же относительные или внутренние ссылки.
    
    >В итоге не выдержал и написал свой DSL. Не без косяков, но зато у меня теперь есть достаточная власть, чтобы их исправлять.
    >Да и в книжку собирать так явно удобнее стало, чем через башевые скрипты
    
    Понимаю, понимаю.
    
    комментарий 2:
    From: ярик сысоев
    Date: 2026-04-22 10:27:57Z
    
    >Те же относительные или внутренние ссылки.
    
    С ними же вроде всё нормально, нет? Или речь про сборке в пдф? Я делал так, чтобы ссылки вида /chess/a/abilityname превращались а #chess:a:abilityname , чтобы при склеивании страниц в один документ они продолжали работать, вы об этом?
    
    комментарий 3:
    From: Sergey Matveev
    Date: 2026-04-22 11:21:59Z
    
    *** ярик сысоев [2026-04-22 13:27]:
    >С ними же вроде всё нормально, нет?
    
    Я не вижу в спецификации CommonMark как можно бы было сослаться на
    соседний файл. Беглый поиск говорит, что конкретно GitHub позволяет
    указать относительные ссылки:
    https://github.blog/news-insights/product-news/relative-links-in-markup-files/
    но только после конвертации в HTML они же уже не будут .md файлами, а .html.
    В PDF или Info тоже поломаются настоящие URI, ведь мы заранее же не можем
    сказать во что хотим сконвертировать.
    
    комментарий 4:
    From: ярик сысоев
    Date: 2026-04-22 12:44:27Z
    
    >Я не вижу в спецификации CommonMark
    Даже если там и нет, уверен, 100% его реализаций просто содержимое круглых скобок в href запихивают и оно просто работает.
    
    Если речь про то, что **на** маркдаун сослаться нельзя, то не представляю, как это можно решить лучше, чем есть сейчас (при этом не заставляя браузеры и остальных добавлять нативную поддержку для него).
    
    Copyparty вот, например, позволяет ссылаться на .md файлы.
    Если это относительная ссылка, то он добавляет ?v в url, чтобы открыть не как сырой файл.
    Если внешняя ссылка - игнорирует и оставляет как есть.
    
    Я (и наверняка много кто ещё, кто хранит исходники блога в md) просто не высовывают его наружу и в ссылках вообще не указывают расширение.
    
    комментарий 5:
    From: Sergey Matveev
    Date: 2026-04-22 12:59:22Z
    
    *** ярик сысоев [2026-04-22 15:44]:
    >Даже если там и нет, уверен, 100% его реализаций просто содержимое круглых скобок в href запихивают и оно просто работает.
    
    Уверен что все просто пихают что будет указано в URI, всё так. Но если я
    в .md укажу относительную ссылку на .html, то значит пока я редактирую
    .md я не смогу в редакторе перейти на этот файл (ведь .html не будет,
    пока только .md!). А если я генерирую вывод не только в .html, но в
    .pdf/.info/whatever? Делать постпроцессор, который бы для каждого
    нужного выхлопа подправлял ссылки? Вариант, и наверное только такой.
    
    >Я (и наверняка много кто ещё, кто хранит исходники блога в md) просто не высовывают его наружу и в ссылках вообще не указывают расширение.
    
    Наверное да, как-то так. И по моему это говно какое-то, раз такую
    базовую потребность MD/CM не закрывают.
    
    Я посмотрел как в suckless сайтах устроено. А всё банально: они просто
    указывают ссылки на результирующий HTML, даже подставляя домен. То есть,
    локально их всё равно не посмотреть по человечески.