В двух типах блоках документации Pod используются конфигурационные параметры. Это - разграниченные блоки( Delimited blocks ) и блоки-параграфы ( Paragraph blocks ).

Спецификация диалекта Pod выделяет несколько стандартных конфигурационных параметров и описывает их значение. В результате моей переписки с автором спецификации, Домианом Конвей (Damian Conway), возник повод для пересмотра некоторых из них ( :nested, :allow). Приведенные ниже (и далее) материалы описывают реализацию одобренных предложений.

Стандартные конфигурационные параметры

Pod резервирует несколько стандартных параметров для использования во встроенных типах блоков. Список этих параметров следующий:

:numbered
Данный параметр указывает, что блок является нумерованным. Это свойство используется в заголовках (=head1, =head2) и списках (=item), но может быть указано для любого блока.

В случае произвольных блоков, стандарт передает интерпретацию данного свойства на усмотрение программе обрабатывающей этот блок.

Например:

Ягоды: =for item :numbered Клубника =for item :numbered Земляника =for item :numbered Черника

Будет выглядеть как :

Ягоды:

  1. Клубника
  2. Земляника
  3. Черника

Примененное к заголовкам это свойство добавляет номер уровня.

:term
Это свойство указывает на то , что данный список - список определений. Поэтому это свойство устонавливается для блоков =item.
:formatted
Данный параметр дает указание интерпретировать содержимое блока, так словно оно обрамлено кодами форматирования.

Например вместо:

=begin para B<I< Warning: Do not immerse in water. Do not expose to bright light. Do not feed after midnight. >> =end para

можно использовать:

=begin para :formatted<B I> Warning: Do not immerse in water. Do not expose to bright light. Do not feed after midnight. =end para

Данные формы во внутреннем представлении почти эквивалентны. Единственное различие: во втором случае свойство :formatted остается в атрибутах объекта блока.

Коды форматирования, указанные в свойстве :formatted, дополняют уже примененные к блоку.

:like
Замечательное свойство :like помогает навести порядок в параметрах блоков. Она указывает имена блоков, чьи свойства применить к текущему, тем самым снижая дублирование. Вполне подобное поведение можно назвать наследованием.

Параметр :like может быть применен к любому блоку, а также к директиве =config.

Пример:

=config head1 :numbered =config head2 :like<head1> :formatted<I>

В этом примере, благодаря :like, блоки заголовков второго уровня =head2 становятся нумерованными.

:allow
Данное свойство разрешает использование внутри блока только указанные коды форматирования (оригинальная спецификация ограничивала применение этого кода блоками =code ).