Статус формата Perl 6 Pod ( Synopsis 26 )

Спецификация "Synopsis 26" на данный формат перестала быть черновиком. Данный статус зафиксирован 31 июля [1], вскоре после выхода Rakudo-Star. Сам документ "Synopsis 26" [2] написан в формате Perl 6 Pod и поэтому является своего рода тестом для проверки реализаций этого формата :-).

По сравнению со прежней, черновой спецификацией (от 2007-2009 года), произошли изменения:

  • Pod перестал быть диалектом более общего формата разметки Perldoc. Теперь Pod - просто эволюция формата Perl 5 POD (Plain Old Documentation).
  • Помимо существовавших ранее трех блоков документации, добавился еще один - декларативный блок (Declarator block). Он облегчает документирование Perl 6 кода, привязывая блоки документации к структурам языка.
  • Изменился формат представления списков определений (Definition lists). Теперь вместо свойства :term, для данного типа списков используется блок =defn.
  • Добавились синонимы (aliases). Для их определения используется блок =aliases, а применяются они в коде форматирования A<>.
  • Изменения коснулись директивы =use.

На смену директиве =use (подключение внешних библиотек) пришла следующая конструкция:

    DOC use Pod6::TT;

Прежняя форма

    =use Perldoc::Plugin::Image  :Jpeg  :prefix('http://dev.perl.org') 

на мой взгляд, была синтаксически лучше (по крайней мере для применений Pod кроме документирования Perl 6 кода).

В реализации этого формата, над которой работаю [3], еще предстоит учесть последние изменения. Однако, тот факт что сама спецификация зафиксирована - хороший повод двигаться в ее реализации дальше, а так же шире использовать этот формат.

На сегодня Perl 6 Pod используется мной в следующих случаях:

  • Как основной формат создания статей в этом блоге. Например, эту статью можно увидеть в оригинальном виде: в формате Perl 6 Pod.
  • В этом формате создается книга "Все о Perl 6".
  • Готовлю презентации в Perl 6 Pod [4].
  • Пишу рабочую документацию по разрабатываемым проектам.

На данный момент Pod можно конвертировать в docbook, xml, xhtml. Следующие форматы, которые планирую реализовать - man и LaTeX. Формат man особенно ожидаем конкретным человеком.

NOTES

1. Спецификации Perl 6 : Perl 6 specification documents

2. Спецификация формата Perl 6 Pod. Synopsis 26

3. Реализация Pod на Perl 5. Perl6::Pod

4. Создание презентаций в формате Perl6 Pod: библиотека Perl6-Pod-Slide

All Articles