Введение

Язык разметки для документации Perl. Plain Old Documentation (pod) — это простой язык разметки, используемый для документирования языка программирования Perl, а также модулей и программ на Perl.

Использование

Pod — это язык, используемый для большей части документации в мире Perl. Это включает в себя сам Perl, почти все общедоступные модули, множество скриптов, большинство проектной документации, множество статей на Perl.com и других веб-сайтах, связанных с Perl, а также виртуальную машину Parrot. Pod редко читают в исходном виде, хотя он разработан таким образом, чтобы быть читаемым без использования инструментов форматирования. Вместо этого его читают с помощью инструмента perldoc или преобразуют в страницы руководства Unix или веб-страницы HTML. Также возможно использовать Pod в других контекстах, отличных от Perl. Например, для добавления простой документации к скриптам bash, которые затем можно легко преобразовать в страницы руководства. Такие случаи использования полагаются на специфические для языка приемы, чтобы скрыть часть Pod, например (в bash) добавлением префикса :<<=cut к разделу POD, что работает путем вызова команды bash no op : с целым блоком Pod в качестве входных данных в формате here document. Чистые Pod-файлы обычно имеют расширение pod, но чаще всего Pod используется непосредственно в коде Perl, который обычно имеет расширения pl и pm. (Парсер интерпретатора Perl разработан для игнорирования Pod в коде Perl.) В файлах исходного кода документация обычно размещается после маркера END (который также помогает некоторым редакторам выделять синтаксис, отображая ее как комментарии). Pod можно легко преобразовать в другие форматы, например, в различные форматы Wiki, такие как: WikiWikiWeb, Kwiki, TWiki, UseModWiki, TiddlyWiki, Textile, MediaWiki, MoinMoin или Confluence, используя Pod::Simple::Wiki.

Пример

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

Подробности форматирования

Файлы Pod написаны в кодировке, совместимой с ASCII, такой как Latin 1 или UTF-8. Парсер Pod всегда предполагает, что анализируемый файл не начинается с директивы Pod; он игнорирует все строки до тех пор, пока не встретит директиву Pod. Директивы Pod должны находиться в начале строки и все начинаются со знака равенства. После этого парсер Pod будет считать все последующие строки как Pod, пока не встретит строку, состоящую из директивы "=cut". Любое содержимое после этого игнорируется до тех пор, пока парсер не встретит другую директиву Pod. Таким образом, Pod можно смешивать с исполняемым исходным кодом, если парсер языка умеет распознавать и игнорировать Pod. Содержимое Pod разделено на абзацы пустыми строками. Абзацы, начинающиеся с пробельных символов (табуляций или пробелов), считаются "дословными абзацами" и остаются полностью без форматирования; они используются для примеров кода, ASCII-арта и т.п. Абзацы, начинающиеся со знака равенства, называются "командными абзацами"; последовательность буквенно-цифровых символов, непосредственно следующая за знаком равенства, рассматривается как директива Pod, а остальная часть абзаца форматируется в соответствии с этой директивой. Некоторые директивы также влияют на последующие абзацы. Если абзац начинается не со знака равенства или пробельного символа, он считается "обычным абзацем". Как обычные абзацы, так и содержимое командных абзацев анализируются на предмет кодов форматирования. Форматирование в Pod очень простое; оно в основном ограничено полужирным, курсивом, подчеркиванием, моноширинным шрифтом и несколькими другими стилями. Также существует код для создания ссылок между документами Pod или на другой раздел в том же документе. Коды форматирования состоят либо из: одной заглавной буквы, за которой следует знак меньше (<), форматируемое содержимое и знак больше (>), например B<полужирный текст>, либо из одной заглавной буквы, двух или более знаков меньше (<<), пробела, форматируемого содержимого, другого пробела и такого же количества знаков больше, как использовалось ранее, например B<<полужирный текст>>. Эта форма часто используется для фрагментов кода, содержащих знак больше, который в противном случае завершил бы код форматирования. Команды в Pod включают четыре уровня заголовков, маркированные и нумерованные списки, а также команды для обозначения разделов, написанных на другом языке. Последняя функция позволяет использовать специальное форматирование для парсеров, которые ее поддерживают.