Анонс: Podlite - простой блок-ориентированный язык разметки.
Я хотел бы представить простой блок-ориентированный язык разметки Podlite 🚀. Я посвятил работе над его спецификацией большую часть прошлого года. В нее вошли результаты предыдущих лет работы и использования Raku Pod (aka pod6).
Цель статьи - познакомить с возможностями Podlite накануне выпуска первой версии спецификации.
Основные функции языка разметки включают в себя:
Блок является базовой единицей документа
Блоки могут иметь атрибуты
Разметка поддерживает связывание блоков различными типами отношений
Поддерживаются формулы
Markdown является стандартным блоком. Это означает, что можно переключаться в режим markdown при необходимости в любой части документа.
Поддерживаются таблицы, изображения, оглавление и различные типы списков
Podlite расширяемый на уровне блоков и inline элементов
Есть хранение в документе raw данных
Включение одного документа в другой
Podlite - блок-ориентированный язык разметки. Блоки могут быть представлены в трех эквивалентных формах блоков: разграниченные (delimited), блоки-параграфы (paragraph) и сокращенные (abbreviated) блоки.
=begin table :caption<Summary>
Constants 1
Variables 10
=end table
=for table :caption<Summary>
Constants 1
Variables 10
=table
Constants 1
Variables 10
Podlite не содержит в себе какой-то концепции и не привязан к какому-то конкретному языку программирования. Это позволяет ему быть встроенным в любой язык программирования, который поддерживает блочные или многострочные комментарии.
Например, в javascript:
/*
=head1 Documentation
This is a general overview:
=begin Mermaid
graph LR
A-->B
B-->C
C-->A
D-->C
=end Mermaid
=begin markdown
# header
* text
* text
=end markdown
*/
В Podlite имеются разные варианты связей между блоками, документами, терминами и определениями. Это делает его отличным средством для построения баз знаний, а так же создания документации, блогов, учебных материалов и многого другого.
Спецификация Podlite опубликована под открытой лицензией Artistic license 2.0.
Планирую продолжать развивать этот язык. Он открыт новым идеям и надеюсь найдет интересные сферы применения. По крайней мере в ближайших моих планах продолжить его применять в построении баз знаний.
Всвязи с предстоящим релизом буду рад отзывам и предложениям.
Текущий статус Podlite
на данный момент спецификация Podlite находится в стадии beta, но в ближайшее время выйдет первая версия
есть реализация на Typescript (https://github.com/podlite/podlite), с помощью которой построен пакет web публикации и web редактор
есть бесплатный редактор для десктопа, доступный во всех сторах : https://github.com/podlite/podlite-desktop
есть плагин для VS Code c функциями AI (сейчас на ранней стадии разработки)
Полезные ссылки
Specification : https://github.com/podlite/podlite-specs ⭐️🙏 , [в формате html]
github: https://github.com/podlite
website: https://podlite.org
web playground: https://pod6.in