Анонс: 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

Полезные ссылки