LINUX.ORG.RU

MD4C 0.5.3

 , , md4c, ,


0

1

20-го апреля, после более чем двухлетней паузы, состоялся выпуск 0.5.3 быстрой библиотеки MD4C («Markdown for C»), предназначенной для парсинга данных в формате Markdown и конвертирования их в формат HTML. Поддерживаются спецификации Markdown CommonMark 0.31 и GitHub Flavored Markdown (GFM).

В комплект поставки также входит консольная утилита md2html.

Проект написан на языке C без сторонних зависимостей и распространяется по лицензии MIT.

Основные изменения:

  • префикс language- больше не повторяется в блоке кода, если входные данные уже явно содержат этот префикс;
  • поддержка автоссылок (опции вида MD_FLAG_PERMISSIVExxxAUTOLINKS) теперь стала чуть более разрешающей: символы «+» и «-» теперь могут находиться в любом месте частей URL. Это также улучшило совместимость с GFM;
  • поддержка Unicode 18.0 (пока в статусе alpha);
  • исправлены многие ошибки.

>>> Почему MD4C такой быстрый?

>>> Подробности на GitHub

★★★★★

Проверено: CrX ()
Последнее исправление: dataman (всего исправлений: 5)
Ответ на: комментарий от Zhbert

Ну, вон lowdown может:

-tlatex  

Simple LaTeX output. The following packages are required: amsmath and amssymb for maths, graphicx for images, inputenc (utf8) for UTF-8 input, frontend (T1) and textcomp for output glyphs, lmodern for Latin modern font, xcolor for the difference engine output, and hyperref for links.

dataman ★★★★★
() автор топика
Ответ на: комментарий от dataman

Спасибо, записал.
А ты по опыту или просто как всегда знаешь странные сишные либы? :)
А HTML в MD? Или ещё лучше → md, в котором есть HTML-вставки…

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

просто как всегда знаешь странные сишные либы? :)

Ага. :) Я lowdown использую только для просмотра .md в консоли. А ещё в нём есть утилита lowdown-diff, тоже иногда бывает нужна.

А HTML в MD?

Повспоминаю. :)
А pandoc разве не может?

dataman ★★★★★
() автор топика
Последнее исправление: dataman (всего исправлений: 1)

Я бы вообще не отказалсЯ от графического редактора. Чтобы быстро расставлять тэги кнопкой. Чтобы была преамбула для опрелеления тонких настроек типа шрифтов отступов и прочего. Расширения вроде содержания и списка источников… Это было бы удобнее всего для большинства и проще латеха

unname
()
Ответ на: комментарий от unname

но в целом почему нет?

Потому что "в целом" мы имеем совершенно разные задачи.

LaTeX хорош для вёрстки книг. Причём он полностью раскрывается только когда нужны формулы, которые кроме него мало кто умеет в полной мере.

А для художки он уже оверхед — слишком много телодвижений. Как и для комментов на форуме, даже техническом.

Писать им документацию тоже не всегда практично: если ты пишешь документацию где нужны — необходимы! — формулы и сложное форматирование (зачем?), то, безусловно, он нужен. Но в 90% случаев это всё равно лишние телодвижения.

Если верстать блог… тут от тематики зависит. Для физико-математической тематики — да, агонь, но если у тебя кулинарный блог про котиков — нафига?

Делай одну вещь и делай её колодцем!
Do one thing and do it well.

mord0d ★★★★★
()
Ответ на: комментарий от unname

Я бы вообще не отказалсЯ от графического редактора.

Ну вот на Расте есть навайбленный Ferrite:

A fast, native Markdown editor
No Electron. No web views. Just native code that launches in milliseconds and sips memory while you write.

Даже с поддержкой диаграмм Mermaid.

Чтобы быстро расставлять тэги кнопкой.

А вот этого не понял: какие теги, где?

dataman ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Ну говно же формат…

А можно пару аргументов в пользу этого постулата?

  1. https://commonmark.org/ :

John Gruber’s canonical description of Markdown’s syntax does not specify the syntax unambiguously.

Because there is no unambiguous spec, implementations have diverged considerably over the last 10 years. As a result, users are often surprised to find that a document that renders one way on one system (say, a GitHub wiki) renders differently on another (say, converting to docbook using Pandoc). To make matters worse, because nothing in Markdown counts as a “syntax error,” the divergence often isn’t discovered right away.

  1. https://spec.commonmark.org/0.31.2 :

A bullet list marker is a -, +, or * character.

  1. https://spec.commonmark.org/0.31.2/#thematic-break :

When both a thematic break and a list item are possible interpretations of a line, the thematic break takes precedence:

  1. https://spec.commonmark.org/0.31.2/#atx-heading :
# foo
## foo
### foo

==

 ### foo
  ## foo
   # foo
  1. https://spec.commonmark.org/0.31.2/#setext-heading-underline :
Foo *bar*
=========

==

Foo *bar*
---------

Он битком набит двусмысленностями и двумя - тремя способами сделать одно и то же, что для формального языка приговор. При этом отсутствуют довольно базовые вещи - подчёркивание, например. Сфокусирован на выхлоп исключительно html контента, при этом в объёме не достаточном для генерации разумного html-документа.

r--r--r--
()
Ответ на: комментарий от r--r--r--

Он битком набит двусмысленностями и двумя - тремя способами сделать одно и то же

Видимо и поэтому тоже, автор CommonMark и создал https://djot.net.

При этом отсутствуют довольно базовые вещи - подчёркивание, например.

В Djot это {+текст+}

MarkupResult
_italic_ or {_italic_}italic
*bold* or {*bold*}bold
`verbatim/code`verbatim/code
H~2~OH2O
20^th^20th
{=highlighted=}highlighted
{+insert+}insert
{-delete-}delete

Хотели бы такое на ЛОРе? ;)

dataman ★★★★★
() автор топика
Ответ на: комментарий от dataman

Спасибо за (ещё одну) интересную ссылку.

У Djot нет scala / java реализации, только js - значит не возможна реализация на бэке. Он технически не влезет в лор.

На моей памяти маркдаун прикрутили для новостей в первую очередь. В комменты его добавили, потому что он уже прикручен для новостей. Текущую задачу по форматированию новостей и комментов существующий маркдаун решает, некоторая кривизна по мелочам не существенна.

Ну и главный баг с форматированием конкретно на лоре - это вредительская подмена двойных кавычек из терминала (") на типографскую экзотику из детских книжек - «_».

r--r--r--
()
Ответ на: комментарий от r--r--r--

У Djot нет scala / java реализации, только js - значит не возможна реализация на бэке. Он технически не влезет в лор.

Да я уже запилил опрос в модераторском чатике. Пока только мой голос «за», и три «против», включая @maxcom. :)

dataman ★★★★★
() автор топика
Ответ на: комментарий от mord0d

Вы слишком узко мыслите. Латех отличный инструмент. В аспирантские годы я даже презентации в нем готовил. Это великолепный инструмент для работы, пусть и достаточно сложный для не программистов

unname
()
Ответ на: комментарий от unname

Вы слишком узко мыслите.

С таким подходом можно и микроскопом начать гвозди забивать…

Это великолепный инструмент для работы

Предлагаю попробовать сверстать этот тред в LaTeX, а потом сделать то же самое в Markdown, и обратить внимание на разницу затраченного времени.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

На самом деле с готовым шаблоном в латехе затраченное время и количество кода будет одинаковым +-. Тех это универсальная система и она отлично работает с любыми проявлениями текстовой информации. И поверьте слайды презентации в латехе делаются весьма просто.

unname
()
Ответ на: комментарий от unname

И поверьте слайды презентации в латехе делаются весьма просто.

Причём здесь слайды презентации? У LaTeX и Markdown разная область применения, они не могут заменить друг друга. Их сравнение в принципе некорректно.

mord0d ★★★★★
()
Ответ на: комментарий от unname

Ты же сам ростом выше предлагал сравнить.

Я не предлагал сравнивать синтаксис Markdown и LaTeX. Единственное, где я притянул за уши последний — сравнение читабельности таблиц.

mord0d ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.