md_proc 0.7.0

Новая версия библиотеки — и снова множество нововведений. Конечно же, главным изменением стала поддержка новой версии спецификации CommonMark за номером 0.21. В ней поменялась обработка символа '', из-за чего пришлось не только переписать значительную часть кода, но и поправить библиотеку комбинаторов парcеров (parsers), на которой базируется md_proc. Второе значительно изменение спецификации — новые правила разбора встроенных html-блоков. На мой взгляд, всё стало проще и логичнее.

Читать далее...
Оптимизируем блог и экономим трафик: часть 2

Я уже рассказывал про ускорение загрузки страницы с помощью оптимизации картинок. Пришла пора двигаться дальше и заняться оптимизацией всех остальных файлов. Я расскажу, что такое zopfli, и поделюсь программкой, которая поможет легче оптимизировать статические данные. Честно говоря, я внедрил всё это в блог несколько месяцев назад, но всё как-то не доходили руки поделиться.

Читать далее...
md_proc 0.5.0

Я давно ничего не писал об этом моём проекте. Но это совершенно не значит, что он забыт и заброшен. Конечно, он не в самой активной фазе разработки, тем не менее обновления я публикую с некоторой периодичностью. В первую очередь период связан с обновлениями спецификации CommonMark. Нынешняя версия библиотеки (0.5.0) реализует спецификацию 0.20.

Кроме того, с момента предыдущего поста были добавлены следующие нововведения:

Как обычно, библиотеку можно взять на GitHub или pub.dartlang.

md_proc 0.2.3

Продолжаю работать над библиотекой для работы с CommonMark. Следующий этап — генерация Markdown из AST — готов. Теперь можно использовать библиотеку для автоматического преобразования Markdown. Собственно, это то, к чему я стремлюсь. Но до завершения, к сожалению, ещё далеко. Во-первых, сама спецификация CommonMark ещё не готова, а во-вторых, для использования библиотеки с теми файлами, что у меня уже есть, неплохо было бы реализовать некоторое количество расширений, выходящих за рамки официальной спецификации.

План на ближайшее будущее:

  1. Продолжать следовать изменениям в спецификации.
  2. Реализовать некоторые расширения Markdown из pandoc (формулы, сноски и прочее). Затем преобразовать их в расширения CommonMark по мере их принятия в стандарт.
  3. Код для преобразования абстрактного синтаксического дерева. Я пока не слишком много думал об этом, поэтому всякие советы только приветствуются.

Как обычно, библиотеку можно взять на GitHub или pub.dartlang.

md_proc 0.1.1

Обновил парсер CommonMark, написанный на Dart. Теперь он соответствует версии 0.12 спецификации. Правда один из тестов не проходит, но исключительно из-за ошибки в самом тесте. Ошибку уже поправили, так что следующая версия спецификации выйдет без неё.

Сама спецификация несколько поменялась со времени публикации предыдущей версии парсера. Самое крупное изменение: теперь можно использовать вложенные emphasis и strong. Например:

*Это *вложенный* emphasis*

**Это **вложенный** strong**

Не знаю, насколько это применимо на практике, но, видимо, изменению спецификации предшествовало продолжительное обсуждение.

В общем, милости прошу за библиотекой на GitHub или pub.dartlang.

← Старше