По итогам YAPC::Russia
По итогам выступления на YAPC::Russia отметил следующие моменты:
- Возможна ли фильтрация блоков документации ?
- В спецификации есть момент, описывающий способ решения подобной задачи. Для этого используется код форматирования
Z<>
(inline comment). Содержимое этого блока является комментарием и удаляется трансляторами при обработке. Однако, содержимое может служить признаком, конфиденциальности, если в нем содержится например слово "КОНФИДИЦИАЛЬНО". Таким образом, при обработке блоки, удовлетворяющие условию/КОНФИДИЦИАЛЬНО/
, могут быть пропущены. - Для подобных целей я использую свойства у блоков. Есть некоторое количество зарезервированных свойств, но их количесво мало. В использовании произвольных свойств спецификация не ограничивает:
- Данный параграф недоступен для публикации
- Фильтрация блоков происходит при обработке пользовательской директивы
=Include
. Реализация этого блока находится в библиотеке Perl6::Pod::Lib. Синтаксис параметров фильтрации следующий: - Данный блок вставит в указанное место только блоки
para
с свойствомpublic
из файлаapi.pod
.
class Widget is Bauble
{
has $.things; #= a collection of other stuff
#={
This variable needs to be replaced for political reasons
}
}
- Использование Pod в Perl 5
- Модуль Perl6::Pod представляет собой SourceFilter и позволяет использовать блоки Pod в тексте программ Perl 5. Конечно же парсер не позволяет использовать блоки-деклараторы и подобные фитчи Pod, привязанные к грамматике Perl 6.
- Чтобы писать документацию в формате Pod достаточно указать в начале программы:
- Единственный недостаток использования этого модуля: он недостаточно хорошо протестирован.
use Perl6::Pod;
- Создание презентаций в Perl 6 Pod
- Библиотека Perl6-Pod-Slide позволяет создавать презентации, используя Perl 6 Pod. Принцип ее работы прост: текст Pod транслируется в Tex, а затем "родными" средствами Tex преобразуется в Pdf. Делается это в два шага:
pod6slide < tech_docs.pod > tech_docs.tex
pdflatex tech_docs.tex
Также хотелось бы отметить качественный уровень конференции этого года. Были приглашены активные разрабочики Perl 6: Джонатан Вортингтон (Jonathan Worthington) и Карл Мэсак (Carl Masak).
Благодаря яндексовцам открыл для себя psgi.streaming. С учетом этой возможности PSGI стал применим для моих практических задач.