Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

add pod docs; half objects

  • Loading branch information...
commit dd16659265e376cdc9779c581ca423bf956ebec5 1 parent 3540c53
Aliaksandr Zahatski authored

Showing 51 changed files with 1,614 additions and 94 deletions. Show diff stats Hide diff stats

  1. BIN  Pod/3block_datapng.png
  2. BIN  Pod/3blocks.jpg.png
  3. BIN  Pod/berries.png
  4. BIN  Pod/bloks.jpg
  5. BIN  Pod/img/bold1.jpg
  6. BIN  Pod/img/comment.jpg
  7. BIN  Pod/img/footnote.jpg
  8. BIN  Pod/img/input.jpg
  9. BIN  Pod/img/lists.jpg
  10. BIN  Pod/img/matroshki.jpg
  11. BIN  Pod/img/unicode.jpg
  12. BIN  Pod/indeX.jpg
  13. BIN  Pod/iobloks.jpg
  14. BIN  Pod/oldnew.png
  15. +46 0 Pod/p01_struct.pod6
  16. +147 0 Pod/p02_bloks.pod6
  17. +81 0 Pod/p03_conf.pod6
  18. +72 0 Pod/p04_ext.pod6
  19. +45 0 Pod/p05_semantic.pod6
  20. +41 0 Pod/p06_iobloks.pod6
  21. +42 0 Pod/p07_fcodeX.pod6
  22. +62 0 Pod/p08_fcodeE.pod6
  23. +33 0 Pod/p09_fcodeN.pod6
  24. +137 0 Pod/p10_pseud.pod6
  25. +49 0 Pod/p11_nested.pod6
  26. +358 0 Pod/p12_lists.pod6
  27. +28 0 Pod/p13_levels.pod6
  28. +23 0 Pod/p14_fcodeD.pod6
  29. +58 0 Pod/p15_fcodeZ.pod6
  30. +23 0 Pod/p16_fcodeS.pod6
  31. +74 0 Pod/p17_fcode_codspec.pod6
  32. +64 0 Pod/pod.pod6
  33. BIN  Pod/semantic.png
  34. BIN  latest_build/ru-perl6-book-0.6.pdf
  35. BIN  latest_build/ru-perl6-book-html-chunk.zip
  36. BIN  latest_build/ru-perl6-book-html.zip
  37. BIN  latest_build/ru-perl6-book.pdf
  38. +67 0 perl6-book.pod
  39. +1 1  src/STATUS
  40. +1 1  src/basics.pod
  41. +2 1  src/book_preface.pod
  42. +1 1  src/builtins.pod
  43. +151 82 src/classes-and-objects.pod
  44. +1 1  src/grammars.pod
  45. +1 1  src/multi-dispatch.pod
  46. +1 1  src/operators.pod
  47. +1 1  src/preface.pod
  48. +1 1  src/regexes.pod
  49. +1 1  src/roles.pod
  50. +1 1  src/subs-n-sigs.pod
  51. +1 1  src/subtypes.pod
BIN  Pod/3block_datapng.png
BIN  Pod/3blocks.jpg.png
BIN  Pod/berries.png
BIN  Pod/bloks.jpg
BIN  Pod/img/bold1.jpg
BIN  Pod/img/comment.jpg
BIN  Pod/img/footnote.jpg
BIN  Pod/img/input.jpg
BIN  Pod/img/lists.jpg
BIN  Pod/img/matroshki.jpg
BIN  Pod/img/unicode.jpg
BIN  Pod/indeX.jpg
BIN  Pod/iobloks.jpg
BIN  Pod/oldnew.png
46 Pod/p01_struct.pod6
... ... @@ -0,0 +1,46 @@
  1 +=begin pod
  2 +=head1 Структура Pod
  3 +
  4 +Одна из особенностей формата B<Pod> - его структура. На первый взгляд, есть некоторое внешнее сходство между документацией, написанной в формате B<Perl5 POD>, и текстом в формате B<Perl6 Pod>. Это потому, что различия лежат в основе синтаксической структуры обоих форматов.
  5 +
  6 +=head1 Синтаксическая структура Pod
  7 +
  8 +Основным элементом формата Pod (I<как и в perl5 POD>) являются B<директивы>, используемые для определения границ B<блоков Pod>, описания конфигурационной информации (I<=config>) и т.д. Каждая директива начинается с символа "равно" (=) в начале строки.
  9 +
  10 +Примеры директив:
  11 +
  12 + =config head2 :like<head1> :formatted<I>
  13 + =begin pod
  14 + =end pod
  15 +
  16 +Содержимое документа состоит из одного или нескольких B<блоков>. Каждый B<блок Pod> может быть определен в виде трех равнозначных формах:
  17 +
  18 +=item Разграниченные блоки /Delimitedblocks
  19 +=item Блоки-параграфы/Paragraph blocks
  20 +=item Сокращенные блоки /Abbreviated blocks
  21 +
  22 +Все три формы соответственно представлены на рисунке.
  23 +
  24 +=Image 3blocks.jpg.png
  25 +
  26 +
  27 +Каждая из форм имеет свои границы. Все содержимое документа, находящееся вне блоков Pod, определяется спецификацией как "молчаливый" материал. Этим материалом зачастую является исходный код программ, для документирования которого предназначен Pod.
  28 +
  29 +В perl5 POD блок документации начинается с первой встреченной директивы и закачивается директивой B<=cut>. Например:
  30 +
  31 + =head1 test head
  32 +
  33 + Some text
  34 +
  35 + =cut
  36 +
  37 +Таким образом получается, что структура Perl5 POD состоит из B<одного> типа блока с указанными правилами определения границ, где директива B<=cut> является неотъемлемой частью и служит признаком завершения блока. После этой директивы, обработчик (parser) Perl5 POD переключается в "молчаливый" режим пока не встретит следующий символ B<=> в начале строки.
  38 +
  39 +Именно изменения в определении границ блоков документации и являются тем B<фундаментальным> различием обоих форматов.
  40 +
  41 +=Image oldnew.png
  42 +
  43 +Новые 3 формы определения B<блока Pod> стали эволюционным развитием Perlpod Pod от POD (Plain Old Documentation).
  44 +
  45 +=end pod
  46 +
147 Pod/p02_bloks.pod6
... ... @@ -0,0 +1,147 @@
  1 +=begin pod
  2 +=head1 Блоки Pod
  3 +
  4 +Основной структурной единицей нового диалекта L<Pod|http://perlcabal.org/syn/S26.html> является L<блок документации|doc:dc5f6be4deb411de9f49a464fa0cbd7f>. Он может быть представлен в виде 3 равнозначных форм:
  5 +
  6 +=item Разграниченные блоки / Delimited blocks
  7 +=item Блоки-параграфы / Paragraph blocks
  8 +=item Сокращенные блоки / Abbreviated blocks
  9 +=item Блоки-деклараторы / Declarator blocks
  10 +
  11 +
  12 +=head2 Разграниченные блоки / Delimited blocks
  13 +
  14 +Разграниченные блоки имеют явно определенные границы. Для этого используются директивы I<=begin> и I<=end>, за каждой из которых следует имя типа блока (I<typename>). Имена состоят из букв, цифр и символов подчеркивания, а начинаются с буквы или знака подчеркивания. Имена, состоящие целиком из символов нижнего (I<=begin head1>) и верхнего I<=begin SYNOPSIS> регистра, зарезервированы.
  15 +
  16 +В строке с директивой I<=begin> после имени блока следует I<конфигурация данного блока>. Среди особенностей нового диалекта Pod - эта одна из самых замечательных. Конфигурация блока может использоваться в различных целях, в том числе и при создании I<расширений для Pod>.
  17 +
  18 +Конфигурационные параметры блока представлены в виде парной нотации в стиле Perl6 ( L<SYNOPSIS 02|http://perlcabal.org/syn/S02.html> ).
  19 +
  20 +=for table :caption('Парная нотация конфигурации блоков Pod')
  21 + значение формат определения также... также ..(*)
  22 + ==============+===================+================+==============
  23 + Boolean(true) :key :key(1) key=>1
  24 + Boolean(false) :!key :key(0) key=>0
  25 + String :key<str> :key('str') key=>'str'
  26 + List :key<1 2 3> :key[1,2,3 ] key=>[1,2,3]
  27 + Hash :key{a=>1, b=>2} - key=>{a=>1, b=>2}
  28 +
  29 +(*) - последняя форма не поддерживается в реализации L<Perl6::Pod|http://search.cpan.org/dist/Perl6-Pod/>.
  30 +
  31 +Если параметры блока не помещаются в одну строку, конфигурационный блок можно продолжить со следующей. В этом случае в начале строки ставиться символ I<=> и пробел, далее конфигурационные параметры продолжаются.
  32 +
  33 +Между директивами I<=begin> и I<=end> располагается I<содержимое блока>. Сроки внутри блока могут содержать отступы, но они интерпретируются как блоки кода только в блоках I<=pod>, I<=item> I<=code> и B<семантических блоках> (например: I<=METHOD>). То есть содержимое блока I<=para> может отстоять от начала строки и не интерпретироваться при этом как код ( verbitim paragraph в Perl5 POD).
  34 +
  35 +Синтаксис блока выглядит следующим образом:
  36 +
  37 + =begin BLOCK_TYPE OPTIONAL CONFIG INFO
  38 + = OPTIONAL EXTRA CONFIG INFO
  39 + BLOCK CONTENTS
  40 + =end BLOCK_TYPE
  41 +
  42 +Например:
  43 +
  44 + =begin table :caption<Table of Contents>
  45 + Constants 1
  46 + Variables 10
  47 + Subroutines 33
  48 + Everything else 57
  49 + =end table
  50 +
  51 + =begin Name :required
  52 + = :width(50)
  53 + The applicant's full name
  54 + =end Name
  55 +
  56 + =begin Contact :optional
  57 + The applicant's contact details
  58 + =end Contact
  59 +
  60 +Пустые строки между директивами, как это было в Perl5 POD не нужны; если они есть - то интерпретируются как часть содержимого блока. Кстати "пустыми" в Pod считаются также строки, содержащие только пробелы!
  61 +
  62 +=head2 Блоки-параграфы / Paragraph blocks
  63 +
  64 +Блоки параграфы начинаются с директивы I<=for> и завершаются следующий директивой или пустой строкой ( она не считается частью блока ). После директивы I<=for> следует имя блока и необязательные конфигурационные параметры.
  65 +
  66 +Синтаксис этого типа блоков следующий:
  67 +
  68 + =for BLOCK_TYPE OPTIONAL CONFIG INFO
  69 + = OPTIONAL EXTRA CONFIG INFO
  70 + BLOCK DATA
  71 +
  72 +Примеры:
  73 +
  74 + =for table :caption<Table of Contents>
  75 + Constants 1
  76 + Variables 10
  77 + Subroutines 33
  78 + Everything else 57
  79 +
  80 + =for Name :required
  81 + = :width(50)
  82 + The applicant's full name
  83 +
  84 + =for Contact :optional
  85 + The applicant's contact details
  86 +
  87 +=head2 Сокращенные блоки / Abbreviated blocks
  88 +
  89 +Сокращенные блоки начинаются с символа I<=> за которым неразрывно следует имя блока. Продолжение строки интерпретируется как содержимое блока. Конфигурационных параметров в этой форме блока нет. Блок заканчивается перед следующей директивой Pod или пустой строкой ( которая не ситается частью данных блока).
  90 +
  91 +Синтаксис блока следующий:
  92 +
  93 + =BLOCK_TYPE BLOCK DATA
  94 + MORE BLOCK DATA
  95 +
  96 +Пример:
  97 +
  98 + =table
  99 + Constants 1
  100 + Variables 10
  101 + Subroutines 33
  102 + Everything else 57
  103 +
  104 + =Name The applicant's full name
  105 + =Contact The applicant's contact details
  106 +
  107 +Этот тип блока подходит для случаев, когда можно обойтись без конфигурирования блока.
  108 +Иначе придется воспользоваться I<=for> или I<=begin/=end> директивами.
  109 +
  110 +=head2 Блоки-деклараторы / Declarator blocks
  111 +
  112 +Блоки-деклараторы особый тип блоков, который встроен в комментарии:
  113 +=for code :lang<perl>
  114 + my $declared_thing; #= Pod here until end of line
  115 + sub declared_thing () { #=[ Pod here
  116 + until matching
  117 + closing bracket
  118 + ]
  119 + ...
  120 + }
  121 +
  122 +
  123 +=head2 Равнозначность стилевых блоков
  124 +
  125 +Описанные выше типы блоков одинаково представлены во внутренней структуре документа. То есть если имя типа блока - параграф (I<=para>), то он остается параграфом независимо от формы его описания.
  126 +
  127 +Практически это означает, что приведенные ниже блоки:
  128 +
  129 + =begin para
  130 + Text
  131 + =end para
  132 +
  133 + =for para text
  134 +
  135 + =para text
  136 +
  137 +при конвертации в html будут преобразованы в один и тот же текст:
  138 +
  139 + <p>text</p>
  140 +
  141 +
  142 +Если тип блока таблица, то она останется ею в любом случае.
  143 +
  144 +=for Image :caption('Три формы блока')
  145 +3block_datapng.png
  146 +
  147 +=end pod
81 Pod/p03_conf.pod6
... ... @@ -0,0 +1,81 @@
  1 +=begin pod
  2 +
  3 +=head1 Стандартные конфигурационные параметры
  4 +
  5 +=Image berries.png
  6 +
  7 +Pod резервирует несколько стандартных параметров для использования во встроенных типах блоков. Список этих параметров следующий:
  8 +
  9 +=for item :term<:numbered>
  10 +Данный параметр указывает, что блок является нумерованным. Это свойство используется в заголовках (I<=head1>, I<=head2>) и списках (I<=item>), но может быть указано для любого блока.
  11 +
  12 +В случае произвольных блоков, стандарт передает интерпретацию данного свойства на усмотрение программе обрабатывающей этот блок.
  13 +
  14 +Например:
  15 +
  16 + Ягоды:
  17 + =for item :numbered
  18 + Клубника
  19 + =for item :numbered
  20 + Земляника
  21 + =for item :numbered
  22 + Черника
  23 +
  24 +Будет выглядеть как :
  25 +
  26 +Ягоды:
  27 +
  28 +=for item :numbered
  29 +Клубника
  30 +=for item :numbered
  31 +Земляника
  32 +=for item :numbered
  33 +Черника
  34 +
  35 +Примененное к заголовкам это свойство добавляет номер уровня.
  36 +
  37 +=for item :term<:term>
  38 +Это свойство указывает на то , что данный список - список определений. Поэтому это свойство устонавливается для блоков I<=item>.
  39 +
  40 +=for item :term<:formatted>
  41 +Данный параметр дает указание интерпретировать содержимое блока, так словно оно обрамлено кодами форматирования.
  42 +
  43 +Например вместо:
  44 +
  45 + =begin para
  46 + B<I<
  47 + Warning: Do not immerse in water. Do not expose to bright light.
  48 + Do not feed after midnight.
  49 + >>
  50 + =end para
  51 +
  52 +можно использовать:
  53 +
  54 + =begin para :formatted<B I>
  55 + Warning: Do not immerse in water. Do not expose to bright light.
  56 + Do not feed after midnight.
  57 + =end para
  58 +
  59 +Данные формы во внутреннем представлении почти эквивалентны. Единственное различие: во втором случае свойство I<:formatted> остается в атрибутах объекта блока.
  60 +
  61 +Коды форматирования, указанные в свойстве I<:formatted>, дополняют уже примененные к блоку.
  62 +
  63 +
  64 +=for item :term<:like>
  65 +Замечательное свойство I<:like> помогает навести порядок в параметрах блоков. Она указывает имена блоков, чьи свойства применить к текущему, тем самым снижая дублирование. Вполне подобное поведение можно назвать B<наследованием>.
  66 +
  67 +Параметр I<:like> может быть применен к любому блоку, а также к директиве I<=config>.
  68 +
  69 +Пример:
  70 +
  71 + =config head1 :numbered
  72 + =config head2 :like<head1> :formatted<I>
  73 +
  74 +В этом примере, благодаря I<:like>, блоки заголовков второго уровня I<=head2> становятся нумерованными.
  75 +
  76 +=for item :term<:allow>
  77 +Данное свойство разрешает использование внутри блока только указанные коды форматирования (I<оригинальная спецификация ограничивала применение этого кода блоками =code> ).
  78 +
  79 +=end pod
  80 +
  81 +
72 Pod/p04_ext.pod6
... ... @@ -0,0 +1,72 @@
  1 +=begin pod
  2 +
  3 +=head1 Загружаемые модули
  4 +
  5 +=Image bloks.jpg
  6 +
  7 +Механизм, с помощью которого можно расширить синтаксис, семантику а так же содержимое документации, реализуется посредством директивы B<=use>.
  8 +
  9 +Данная директива дает указание Perldoc парсеру загрузить соответствующий модуль в указанное место. В случае неуспеха произойдет исключительная ситуация с сообщением об ошибке.
  10 +
  11 +Подключаемые таким образом модули дополняют содержимое документа посредством содержащейся в них документации, а также регистрируются как обработчики новых типов блоков документации или кодов форматирования. В последнем случае, программный код используется только для обработки содержимого блоков и не влияет на работу основного парсера Perldoc. За счет этих условий сохраняется стабильность синтаксиса Perldoc.
  12 +
  13 +Директива B<=use> может использована как с указанием имени модуля, так и с указанием URI:
  14 +
  15 +
  16 +=code
  17 + =use MODULE_NAME OPTIONAL CONFIG DATA
  18 + = OPTIONAL EXTRA CONFIG DATA
  19 + =use URI
  20 +
  21 +В случае использования URI указанный адрес интерпретируется как источник Pod документации для включения в документ в месте использования директивы.
  22 +
  23 +Примеры использования директивы B<=use>:
  24 +
  25 +
  26 + =use Perldoc::Plugin::Image :Jpeg prefix=>'http://dev.perl.org'
  27 + =use file:/full/path/spec/Pod/Insertion/Name.pod
  28 + =use http://www.website.com/Pod/Insertion/Name.pod
  29 +
  30 +Для явного указания на документацию вместо программного модуля, используется префикс B<pod:>:
  31 +
  32 + =use pod:Some::Other::Module
  33 +
  34 +Для загрузки модуля - B<perl6:>:
  35 +
  36 + =use perl6:New::Perldoc::Subclass
  37 +
  38 +=head1 Именованные блоки
  39 +
  40 +Блоки документации, имена которых не определены как встроенные в Pod, предназначаются для специальной обработки при экспорте в определенный формат или загружаемыми плагинами.
  41 +Пример использования именованного блока:
  42 +
  43 + =begin Xhtml
  44 + <object type="video/quicktime" data="onion.mov">
  45 + =end Xhtml
  46 +
  47 +или
  48 +
  49 + =Image http://www.perlfoundation.org/images/perl_logo_32x104.png
  50 +
  51 +Загрузка модулей для обработки производится с помощью директивы B<=use>.
  52 +Если не определен модуль для обработки такого блока он игнорируется.
  53 +Имена всех блоков, состоящие исключительно из заглавных или строчных букв зарезервированы.
  54 +
  55 +=head1 Определенные пользователем коды форматирования
  56 +
  57 +Для расширения функционала кодов форматирования используется код B<M>. Формат данного кода подразумевает указание имени блока и данных.
  58 +
  59 +Пример:
  60 +
  61 + =use Perldoc::TT
  62 + =head1 Overview of the M<TT: $CLASSNAME > class
  63 + (version M<TT: $VERSION>)
  64 +
  65 + M<TT: get_description($CLASSNAME) >
  66 +
  67 +Код форматирования B<M> является строковой формой именованных блоков.
  68 +Если не определен обработчик (I<не загружен с помощью =use>), данные после двоеточия интерпретируются как обычный текст.
  69 +
  70 +=end pod
  71 +
  72 +
45 Pod/p05_semantic.pod6
... ... @@ -0,0 +1,45 @@
  1 +=begin pod
  2 +=head1 Семантические блоки
  3 +
  4 +=Image semantic.png
  5 +
  6 +Все блоки, имена которых состоят только из заглавных букв, зарегистрированы для стандартной документации, издательства и документирования программного кода. Так например, все стандартные компоненты документации по Perl или используемые в man страницах имеют зарезервированные аналоги имен в верхнем регистре.
  7 +
  8 +Стандартные семантические блоки:
  9 +
  10 + =NAME
  11 + =VERSION
  12 + =SYNOPSIS
  13 + =DESCRIPTION
  14 + =USAGE
  15 + =INTERFACE
  16 + =METHOD
  17 + =SUBROUTINE
  18 + =OPTION
  19 + =DIAGNOSTIC
  20 + =ERROR
  21 + =WARNING
  22 + =DEPENDENCY
  23 + =BUG
  24 + =SEEALSO
  25 + =ACKNOWLEDGEMENT
  26 + =AUTHOR
  27 + =COPYRIGHT
  28 + =DISCLAIMER
  29 + =LICENCE
  30 + =LICENSE
  31 + =TITLE
  32 + =SECTION
  33 + =CHAPTER
  34 + =APPENDIX
  35 + =TOC
  36 + =INDEX
  37 + =FOREWORD
  38 + =SUMMARY
  39 +
  40 +Для указанных имен зарегистрированы соответствующие имена во множественном числе.
  41 +
  42 +В модели документа данные блоки представлены заголовками первого уровня.
  43 +
  44 +=end pod
  45 +
41 Pod/p06_iobloks.pod6
... ... @@ -0,0 +1,41 @@
  1 +=begin pod
  2 +=head1 Блоки I/O
  3 +
  4 +=Image iobloks.jpg
  5 +
  6 +L<Pod|http://zag.ru/perl6-pod/S26.html> предусматривает специальные блоки для указания последовательности ввода и результатов вывода программ.
  7 +
  8 +Это следующие блоки:
  9 +
  10 +=for item :term('=input')
  11 +предварительно форматированный ввод с клавиатуры
  12 +=for item :term('=output')
  13 +экранный или файловый вывод результатов работы программы
  14 +
  15 +Оба эти блока отображаются как есть, с сохранением форматирования и пробелов.
  16 +
  17 +Подобно блокам C<=code> , оба C<=input> и C<=output> блоки имеют неявный уровень вложения (I<level of nesting, т.е. уровни вложения - предмет отдельного разговора, т.к. описаны они в спецификации вскользь и неопределенно>). Блоки ввода-вывода, подобно блокам C<=code>, отображаются с использованием шрифта фиксированной ширины (I<fixed width font>), однако желательно, чтобы все три блока в документе отображались различными сочетаниями шрифт/ширина. Например : код - обычным шрифтом с засечками (I<regular serifed>),
  18 +ввод с клавиатуры - жирным sans-serif, а
  19 +C<=output> - обычным sans-serif.
  20 +
  21 +В отличии от блока C<=code>, оба блока допускают коды форматирования в их содержимом. В Pod имеются коды форматирования ( B<K> - ввод с клавиатуры и B<T> - вывод на терминал) указывающие на ввод или вывод данных. Данная особенность привносит элемент интерактивности в документы, и делает возможным визуально демонстрировать процесс ввода данных и вывод результатов.
  22 +
  23 +Пример демонстрации действий пользователя представлен ниже:
  24 +
  25 +=begin code
  26 + =begin output
  27 + Name: Baracus, B.A.
  28 + Rank: Sgt
  29 + Serial: 1PTDF007
  30 +
  31 + Do you want additional personnel details? K<y>
  32 +
  33 + Height: 180cm/5'11"
  34 + Weight: 104kg/230lb
  35 + Age: 49
  36 +
  37 + Print? K<n>
  38 + =end output
  39 +=end code
  40 +=end pod
  41 +
42 Pod/p07_fcodeX.pod6
... ... @@ -0,0 +1,42 @@
  1 +=begin pod
  2 +=head1 Код форматирования X - индекс терминов
  3 +
  4 +=Image indeX.jpg
  5 +
  6 +Содержимое кода C<X<>> является элементом индекса. Текст внутри C<X> отображается в итоговом тексте, а также используется как элемент индекса:
  7 +
  8 + An X<array> is an ordered list of scalars indexed by number,
  9 + starting with 0. A X<hash> is an unordered collection of scalar
  10 + values indexed by their associated string key.
  11 +
  12 +Возможно точное указание I<индексируемого текста> и I<элемента индекса>. Для этого используется вертикальная черта:
  13 +
  14 + An X<array|arrays> is an ordered list of scalars indexed by number,
  15 + starting with 0. A X<hash|hashes> is an unordered collection of
  16 + scalar values indexed by their associated string key.
  17 +
  18 +В таком случае, элемент индекса располагается после черты. Элементы индекса чувствительны к регистру. В примере "array" - индексируемый текст, а "arrays" - элемент индекса.
  19 +
  20 +Для указания индексных уровней используется запятая:
  21 +
  22 + An X<array|arrays, definition of> is an ordered list of scalars
  23 + indexed by number, starting with 0. A X<hash|hashes, definition of>
  24 + is an unordered collection of scalar values indexed by their
  25 + associated string key.
  26 +
  27 +Можно указывать двое или больше элементов индекса для одного участка индексируемого текста. В качестве разделителя используется символ "точка с запятой":
  28 +
  29 + A X<hash|hashes, definition of; associative arrays>
  30 + is an unordered collection of scalar values indexed by their
  31 + associated string key.
  32 +
  33 +Индексируемый текст может быть пустым. Элемент индекса будет в таком случае "нулевой ширины":
  34 +
  35 + X<|puns, deliberate>This is called the "Orcish Manoeuvre"
  36 + because you "OR" the "cache".
  37 +
  38 +Это может оказаться полезным, кода необходимо привязать термин к абзацу или участку текста.
  39 +
  40 +=end pod
  41 +
  42 +
62 Pod/p08_fcodeE.pod6
... ... @@ -0,0 +1,62 @@
  1 +=begin pod
  2 +=head1 Код форматирования E - определение сущностей
  3 +
  4 +Для вставки в Pod документ кодовой точки I<(code point)> Unicode или ссылки на HTML5 символ, укажите необходимую сущность I<(entity)>, используя код форматирования C<E<>>.
  5 +
  6 +Если C<E<>> содержит число, оно интерпретируется как десятичное значение требуемой Unicode кодовой точки. Например:
  7 +
  8 + Perl 6 makes considerable use of E<171> and E<187>.
  9 +
  10 +Можно также использовать явно двоичные, восьмеричные, десятичные и шестнадцатеричные числа (используя нотацию Perl 6 для указания формата представления):
  11 +
  12 + Perl 6 makes considerable use of E<0b10101011> and E<0b10111011>.
  13 + Perl 6 makes considerable use of E<0o253> and E<0o273>.
  14 + Perl 6 makes considerable use of E<0d171> and E<0d187>.
  15 + Perl 6 makes considerable use of E<0xAB> and E<0xBB>.
  16 +
  17 +
  18 +Если содержимое C<E<>> отлично от числа, оно интерпретируется как имя символа Unicode ( которое всегда в верхнем регистре ) или именованная ссылка на символ HTML5. Например:
  19 +
  20 + Perl 6 makes considerable use of E<LEFT DOUBLE ANGLE BRACKET>
  21 + and E<RIGHT DOUBLE ANGLE BRACKET>.
  22 +
  23 +что эквивалентно:
  24 +
  25 + Perl 6 makes considerable use of E<laquo> and E<raquo>.
  26 +
  27 +Множество последовательно расположенных сущностей ( в любом формате представления) могут быть указаны в одном коде C<E<>>, разделенных точкой с запятой:
  28 +
  29 + Perl 6 makes considerable use of E<LEFT DOUBLE ANGLE BRACKET;hellip;0xBB>.
  30 +
  31 +=head2 Примеры
  32 +
  33 +=begin item
  34 +Get E<0x02328> I<(keyboard)> and type E<0x0080> I<(Euro)>.
  35 +
  36 +=code
  37 +Get E<0x02328> I<(keyboard)> and type E<0x0080> I<(Euro)>.
  38 +
  39 +=end item
  40 +
  41 +=begin item
  42 +Do : E<0x02460>,E<0x02461>,E<0x02462>,E<0x02463>,E<0x02464>.
  43 +=code
  44 +Do : E<0x02460>,E<0x02461>,E<0x02462>,E<0x02463>,E<0x02464>.
  45 +
  46 +=end item
  47 +=begin item
  48 +Snow : E<0x2744> E<0x2745> E<0x2746>
  49 +
  50 +=code
  51 +Snow : E<0x2744> E<0x2745> E<0x2746>
  52 +
  53 +=end item
  54 +
  55 +В качестве источника я использовал следующие L<таблицы Unicode|http://www.tamasoft.co.jp/en/general-info/unicode.html>.
  56 +
  57 +=for Image :align("right")
  58 +img/unicode.jpg
  59 +
  60 +=end pod
  61 +
  62 +
33 Pod/p09_fcodeN.pod6
... ... @@ -0,0 +1,33 @@
  1 +=begin pod
  2 +=head1 Код форматирования N - примечания
  3 +
  4 +=for Image
  5 +img/footnote.jpg
  6 +
  7 +Содержимое кода C<N<>> является встроенным B<примечанием>.
  8 +Например:
  9 +
  10 +=begin code :allow<B>
  11 + Use a C<for> loop instead.B<N<The Perl 6 C<for> loop is far more
  12 + powerful than its Perl 5 predecessor.>> Preferably with an explicit
  13 + iterator variable.
  14 +=end code
  15 +
  16 +Трансляторы Pod N<Трансляторы Pod - программы, преобразующие документы Pod в различные форматы. Например: I<pod6xml>.> могут отображать содержимое примечаний разными способами: как сноски, как пояснения в конце книги или главы, как боковые панели с текстом, как всплывающие окна или подсказки, как разворачивающиеся элементы, и т.д. Однако они никогда не отображаются обычным текстом. Таким образом, предыдущий пример может быть отображен как:
  17 +
  18 +=begin code :allow<C B E>
  19 +Use a C<for> loop instead.E<dagger> Preferably with an explicit iterator
  20 +variable.
  21 +=end code
  22 +
  23 +и далее:
  24 +
  25 +=begin code :allow<B E C>
  26 +B<Footnotes>
  27 +E<dagger> The Perl 6 C<for> loop is far more powerful than its Perl 5
  28 +predecessor.
  29 +
  30 +=end code
  31 +
  32 +=end pod
  33 +
137 Pod/p10_pseud.pod6
... ... @@ -0,0 +1,137 @@
  1 +=begin pod
  2 +=head1 Псевдонимы
  3 +
  4 +С помощью директивы C<=aliases> можно определить ограниченный лексической областью видимости псевдоним для: части Pod текста, определения (мета) объекта в коде или даже куска программного кода. Данные псевдонимы используются в тексте Pod благодаря коду форматирования C<A<>>.
  5 +
  6 +Директива C<=alias> является такой же фундаментальной, как C<=begin> или C<=for>. Она не может быть представлена в виде разграниченного I<(delimited)> или параграфного I<(paragraph)> блока.
  7 +
  8 +Существует два вида псевдонимов: псевдонимы для макросов и контекстуальные I<(contextual)> псевдонимы. Для обоих этих видов существует лексическая область видимости, ограниченная текущим Pod блоком.
  9 +
  10 +=head2
  11 +Псевдонимы для макросов
  12 +
  13 +Данная форма определения псевдонима наиболее простая: требуются только два аргумента. Первый - идентификатор, который обычно состоит из символов в верхнем регистре (I< хотя данное условие необязательно >). Следующий аргумент состоит из одной или нескольких строк текста для подстановки.
  14 +
  15 +В результате создается макрос Perl 6 с лексической областью видимости, который может быть вызван в процессе обработки документации. Для этого идентификатор макроса помещается в код форматирования C<A<>>. В результате код форматирования заменяется на результат вызова макроса,а проще говоря, на текст, указанный при определении псевдонима.
  16 +
  17 +Замещаемый текст начинается с первого непробельного (non-whitespace) символа, следующего за идентификатором псевдонима и продолжается до конца строки. Возможно определение замещаемого текста виде нескольких строк. Для этого в начале каждой следующей замещаемой строки ставиться знак C<=> (I<с тем же отступом от начала строки как и C<=alias>>) и затем по крайней мере один пробел. Каждая из дополнительный строк использует отступ слева такой же как и первая строка ( с директивой C<=alias>) замещаемого текста.
  18 +
  19 +Например, для текста:
  20 +
  21 +=begin code
  22 + =alias PROGNAME Earl Irradiatem Evermore
  23 + =alias VENDOR 4D Kingdoms
  24 + =alias TERMS_URLS =item L<http://www.4dk.com/eie>
  25 + = =item L<http://www.4dk.co.uk/eie.io/>
  26 + = =item L<http://www.fordecay.ch/canttouchthis>
  27 +
  28 + The use of A<PROGNAME> is subject to the terms and conditions
  29 + laid out by A<VENDOR>, as specified at:
  30 +
  31 + A<TERMS_URL>
  32 +
  33 +=end code
  34 +
  35 +
  36 +будет получен следующий результат:
  37 +
  38 +
  39 + The use of Earl Irradiatem Evermore is subject to the terms and
  40 + conditions laid out by 4D Kingdoms Inc, as specified at:
  41 +
  42 + =item L<http://www.4dk.com/eie>
  43 + =item L<http://www.4dk.co.uk/eie.io/>
  44 + =item L<http://www.fordecay.ch/canttouchthis>
  45 +
  46 +Преимущества использования псевдонимов очевидны. Они могут быть использованы многократно в документации и достаточно отредактировать текст в определении псевдонима, чтобы эти изменения стали актуальными во всех частях документа.
  47 +
  48 +=begin code
  49 + =alias PROGNAME Count Krunchem Constantly
  50 + =alias VENDOR Last Chance Receivers Intl
  51 + =alias TERMS_URLS L<http://www.c11.com/generic_conditions>
  52 +=end code
  53 +
  54 +=head2 Контекстуальные псевдонимы
  55 +
  56 +Если директива C<=alias> указана только с одним аргументом ( идентификатором ),то создается контекстуальный псевдоним. В данной форме за директивой C<=alias> должен следовать программный код Perl 6 ( а не Pod блок ).
  57 +
  58 +Единственный аргумент директивы используется в качестве имени псевдонима и следующая за ним часть программного кода Perl 6 сохраняется в качестве замещаемого текста (как результат вызова макроса).
  59 +
  60 +Программный код, следующий за C<=alias>, является исполняемым реальным кодом программы. Парсер Perl 6 позволяет использовать эту часть кода в качестве замещаемого текста для псевдонима. Таким образом разработчик может цитировать в документации необходимую часть программного кода без копирования.
  61 +
  62 +Если код программы, следующий за одноаргументной формой директивы C<=alias>, представляет собой блок кода, ограниченный скобками, то качестве текста для подстановки используется содержимое блока I<без> скобок.
  63 +
  64 +Например, для следующего кода :
  65 +
  66 +=begin code
  67 +
  68 + # This is actual code...
  69 +
  70 + sub hash_function ($key)
  71 + =alias HASHCODE
  72 + {
  73 + my $hash = 0;
  74 + for $key.split("") -> $char {
  75 + $hash = $hash*33 + $char.ord;
  76 + }
  77 + return $hash;
  78 + }
  79 +
  80 + =begin pod
  81 + An ancient (but fast) hashing algorithm is used:
  82 +
  83 + =begin code :allow<A>
  84 + A<HASHCODE>
  85 + =end code
  86 +
  87 + =end pod
  88 +=end code
  89 +
  90 +Результат будет следующим:
  91 +
  92 +=begin code
  93 + An ancient (but fast) hashing algorithm is used:
  94 +
  95 + my $hash = 0;
  96 + for $key.split("") -> $char {
  97 + $hash *= 33;
  98 + $hash += $char.ord;
  99 + }
  100 + return $hash;
  101 +=end code
  102 +
  103 +Если за директивой C<=alias> I<не> следует открывающая скобки, то ожидается декларатор ( например: C<my>, C<class>, C<sub> и т.д.). Определенный с помощью одного из деклараторов объект становиться значением (raead-only) псевдонима.
  104 +Например:
  105 +
  106 +=begin code :allow<B>
  107 + B<=alias CLASSNAME>
  108 + class Database::Handle {
  109 + B<=alias ATTR>
  110 + has IO $!handle;
  111 +
  112 + B<=alias OPEN>
  113 + my Bool method open ($filename?) {...}
  114 +
  115 + B<=alias DEFNAME>
  116 + constant Str DEFAULT_FILENAME = 'db.log';
  117 +
  118 + =for para
  119 + Note that the B<A<OPEN.name>> method of class B<A<CLASSNAME>>
  120 + stores the resulting low-level database handle
  121 + in its private B<A<ATTR.name>> attribute. By default,
  122 + handles are opened to the file "B<A<DEFNAME>>".
  123 +
  124 + }
  125 +=end code
  126 +
  127 +Результат :
  128 +
  129 +=for para :nested
  130 +Note that the C<open> method of class C<Database::Handle> stores the
  131 +resulting low-level database handle in its private C<$!handle>
  132 +attribute. By default, handles are opened to the file "C<db.log>".
  133 +
  134 +=end pod
  135 +
  136 +
  137 +
49 Pod/p11_nested.pod6
... ... @@ -0,0 +1,49 @@
  1 +=begin pod
  2 +=head1 Вложенность блоков
  3 +
  4 +=Image img/matroshki.jpg
  5 +
  6 +Уровень вложенности в Pod - одна из составляющих его объектной модели документа. Вложенность блоков зачастую отмечается дополнительными отступами, но возможны и другие способы отображения: рамками, элементами сворачивания.
  7 +
  8 +Любой блок может быть вложенным I<(nested)>. Для этого достаточно указать атрибут блока C<:nested>:
  9 +
  10 + =begin para :nested
  11 + We are all of us in the gutter,
  12 + but some of us are looking at the stars!
  13 + =end para
  14 +
  15 +Однако, указание атрибута вложенности для каждого блока быстро становится утомительным занятием, если таких блоков несколько или требуется несколько уровней вложенности:
  16 +
  17 + =begin para :nested
  18 + We are all of us in the gutter,
  19 + but some of us are looking at the stars!
  20 + =end para
  21 + =begin para :nested(2)
  22 + -- Oscar Wilde
  23 + =end para
  24 +
  25 +Формат Pod предоставляет блок C<=nested>, который означает, что все его содержимое должно быть вложенным:
  26 +
  27 + =begin nested
  28 + We are all of us in the gutter,
  29 + but some of us are looking at the stars!
  30 + =begin nested
  31 + -- Oscar Wilde
  32 + =end nested
  33 + =end nested
  34 +
  35 +Блоки вложенности C<=nested> могут содержать любое количество блоков, включая неявные параграфы и блоки кода. Следует отметить, что физические отступы блоков не играют роли при определении их уровня вложенности. Предидущий пример может быть переписан с учетом этого следующим образом:
  36 +
  37 + =begin nested
  38 + We are all of us in the gutter,
  39 + but some of us are looking at the stars!
  40 + =begin nested
  41 + -- Oscar Wilde
  42 + =end nested
  43 + =end nested
  44 +
  45 +
  46 +=end pod
  47 +
  48 +
  49 +
358 Pod/p12_lists.pod6
... ... @@ -0,0 +1,358 @@
  1 +=begin pod
  2 +=head1 Списки
  3 +
  4 +=for Image
  5 +img/lists.jpg
  6 +
  7 +Списки в Pod представлены в виде групп, следующих друг за другом блоков C<=item>. Каких либо специальных директив-"контейнеров" или разделителей для определения границ списков нет. Например:
  8 +
  9 +=begin code
  10 + The seven suspects are:
  11 +
  12 + =item Happy
  13 + =item Dopey
  14 + =item Sleepy
  15 + =item Bashful
  16 + =item Sneezy
  17 + =item Grumpy
  18 + =item Keyser Soze
  19 +=end code
  20 +
  21 +Элементы списка имеют неявный уровень вложенности:
  22 +
  23 +=begin nested
  24 +The seven suspects are:
  25 +
  26 +=item Happy
  27 +=item Dopey
  28 +=item Sleepy
  29 +=item Bashful
  30 +=item Sneezy
  31 +=item Grumpy
  32 +=item Keyser Soze
  33 +=end nested
  34 +
  35 +
  36 +Списки могут быть многоуровневыми. Каждый уровень указывается с помощью блоков C<=item1>, C<=item2>, C<=item3> и т.д. В этом смысле блок C<=item> является синонимом C<=item1>. Например:
  37 +
  38 +=begin code
  39 + =item1 Animal
  40 + =item2 Vertebrate
  41 + =item2 Invertebrate
  42 +
  43 + =item1 Phase
  44 + =item2 Solid
  45 + =item2 Liquid
  46 + =item2 Gas
  47 + =item2 Chocolate
  48 +=end code
  49 +
  50 +Результат следующий:
  51 +
  52 +=for para :nested
  53 +E<bull> Animal
  54 +=for para :nested(2)
  55 +E<ndash> Vertebrate
  56 +=for para :nested(2)
  57 +E<ndash> Invertebrate
  58 +
  59 +=for para :nested
  60 +E<bull> Phase
  61 +=for para :nested(2)
  62 +E<ndash> Solid
  63 +=for para :nested(2)
  64 +E<ndash> Liquid
  65 +=for para :nested(2)
  66 +E<ndash> Gas
  67 +=for para :nested(2)
  68 +E<ndash> Chocolate
  69 +
  70 +Обработчики Pod должны выдавать предупреждающее сообщение в случаях, когда разность между уровнями вложенности соседствующих блоков больше 1. Например, если за блоком C<=item1> следует блок C<=item3>.
  71 +
  72 +Блоки C<=item> не могут содержать вложенные списки. Это значит, что даже элементы с более низким уровнем вложенности I<не> могут присутствовать внутри C<=item> более высокого уровня.
  73 +
  74 +=begin code
  75 + =comment НЕВЕРНО...
  76 + =begin item1 --------------
  77 + The choices are: |
  78 + =item2 Liberty ==< Level 2 |==< Level 1
  79 + =item2 Death ==< Level 2 |
  80 + =item2 Beer ==< Level 2 |
  81 + =end item1 --------------
  82 +=end code
  83 +
  84 +=begin code
  85 + =comment ПРАВИЛЬНО...
  86 + =begin item1 ---------------
  87 + The choices are: |==< Level 1
  88 + =end item1 ---------------
  89 + =item2 Liberty ==================< Level 2
  90 + =item2 Death ==================< Level 2
  91 + =item2 Beer ==================< Level 2
  92 +=end code
  93 +
  94 +
  95 +=head2 Нумерованные списки
  96 +
  97 +Нумерованный список состоит из элементов, имеющих конфигурационный параметр C<:numbered>.
  98 +
  99 +=begin code
  100 + =for item1 :numbered
  101 + Visito
  102 +
  103 + =for item2 :numbered
  104 + Veni
  105 +
  106 + =for item2 :numbered
  107 + Vidi
  108 +
  109 + =for item2 :numbered
  110 + Vici
  111 +=end code
  112 +
  113 +Приведенный код преобразуется в следующего вида текст:
  114 +
  115 +=begin nested
  116 +=para
  117 +1. Visito
  118 +
  119 +=begin nested
  120 +=para
  121 +1.1. Veni
  122 +
  123 +=para
  124 +1.2. Vidi
  125 +
  126 +=para
  127 +1.3. Vici
  128 +=end nested
  129 +=end nested
  130 +
  131 +Схема нумерации целиком определяется средствами подготовки того или иного формата вывода. Поэтому возможен следующий вид нумерации:
  132 +
  133 +=begin nested
  134 +=para
  135 +1. Visito
  136 +
  137 +=begin nested
  138 +=para
  139 +1a. Veni
  140 +
  141 +=para
  142 +1b. Vidi
  143 +
  144 +=para
  145 +1c. Vici
  146 +=end nested
  147 +=end nested
  148 +
  149 +или даже :
  150 +
  151 +=begin nested
  152 +A: Visito
  153 +
  154 +=begin nested
  155 +=para
  156 +E<nbsp;nbsp>(i) Veni
  157 +
  158 +=para
  159 +E<nbsp>(ii) Vidi
  160 +
  161 +=para
  162 +(iii) Vici
  163 +=end nested
  164 +=end nested
  165 +
  166 +Эквивалентным свойству C<:numbered> в свойствах элемента, является указание C<#> первым символом
  167 +в тексте элемента списка.
  168 +
  169 +=begin code
  170 + =item1 # Visito
  171 + =item2 # Veni
  172 + =item2 # Vidi
  173 + =item2 # Vici
  174 +=end code
  175 +
  176 +В случаях, когда требуется использовать символ C<#> первым без интерпретации его как признака нумерованного списка, используется код форматирования C<V<>>:
  177 +
  178 +=begin code :allow<B>
  179 + =item B<V<#>> introduces a comment
  180 +=end code
  181 +
  182 +или явное отрицание нумерации:
  183 +
  184 +=begin code :allow<B>
  185 + =for item B<:!numbered>
  186 + # introduces a comment
  187 +=end code
  188 +
  189 +Следующие друг за другом элементы первого уровня C<=item1> нумеруются последовательно. Их нумерация начинается заново, если их последовательность прерывается каким либо блоком Pod. В следующем примере, список прерывается параграфом:
  190 +
  191 +
  192 +=begin code
  193 + The options are:
  194 +
  195 + =item1 # Liberty
  196 + =item1 # Death
  197 + =item1 # Beer
  198 +
  199 + The tools are:
  200 +
  201 + =item1 # Revolution
  202 + =item1 # Deep-fried peanut butter sandwich
  203 + =item1 # Keg
  204 +=end code
  205 +
  206 +Результат будет следующим:
  207 +
  208 +
  209 +=begin nested
  210 +The options are:
  211 +=begin nested
  212 +=para 1. Liberty
  213 +=para 2. Death
  214 +=para 3. Beer
  215 +=end nested
  216 +
  217 +The tools are:
  218 +
  219 +=begin nested
  220 +=para 1. Revolution
  221 +=para 2. Deep-fried peanut butter sandwich
  222 +=para 3. Keg
  223 +=end nested
  224 +=end nested
  225 +
  226 +Нумерация вложенных элементов ( C<=item2>, C<=item3>, C<=item4> ) сбрасывается каждый раз, когда встречается элемент более высокого уровня вложенности.
  227 +
  228 +Чтобы продолжить нумерацию C<=item1>, после разрыва списка блоком Pod, достаточно указать свойство C<:continued>:
  229 +
  230 +=begin code :allow<B>
  231 + =for item1
  232 + # Retreat to remote Himalayan monastery
  233 +
  234 + =for item1
  235 + # Learn the hidden mysteries of space and time
  236 +
  237 + I<????>
  238 +
  239 + =for item1 B<:continued>
  240 + # Prophet!
  241 +=end code
  242 +
  243 +Указанный код будет преобразован в следующий текст:
  244 +
  245 +=begin nested
  246 +=para 1. Retreat to remote Himalayan monastery
  247 +=para 2. Learn the hidden mysteries of space and time
  248 +=para I<????>
  249 +=para 3. Prophet!
  250 +=end nested
  251 +
  252 +=head2 Маркированные списки
  253 +
  254 +Список элементов без указанного свойства C<:numbered> интерпретируется как маркированный I<(unordered)> список. Элементы таких списков отмечаются маркерами, так называемыми буллитами I<(bullit)>N<Маркер списка (буллит) - типографский знак, используемый для выделения элементов списка. L<Маркер списка|http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0> >.
  255 +
  256 +Так к примеру текст
  257 +
  258 +=begin code
  259 + =item1 Reading
  260 + =item2 Writing
  261 + =item3 'Rithmetic
  262 +=end code
  263 +
  264 +может выглядеть следующим образом:
  265 +
  266 +=for para :nested(1)
  267 +E<bull;nbsp;nbsp>Reading
  268 +=for para :nested(2)
  269 +E<mdash;nbsp;nbsp>Writing
  270 +=for para :nested(3)
  271 +E<curren;nbsp;nbsp>'Rithmetic
  272 +
  273 +Как и в случае нумерованных списков, стиль маркеров различных уровней вложенности возлагается на программу преобразования в формат вывода.
  274 +
  275 +
  276 +=head2 Параграфы в элементах списков
  277 +
  278 +Чтобы в составе элемента списка использовать несколько параграфов, используется разграниченная I<(delimited)> форма блока C<=item>.
  279 +
  280 +=begin code
  281 + Let's consider two common proverbs:
  282 +
  283 + =begin item :numbered
  284 + I<The rain in Spain falls mainly on the plain.>
  285 +
  286 + This is a common myth and an unconscionable slur on the Spanish
  287 + people, the majority of whom are extremely attractive.
  288 + =end item
  289 +
  290 + =begin item :numbered
  291 + I<The early bird gets the worm.>
  292 +
  293 + In deciding whether to become an early riser, it is worth
  294 + considering whether you would actually enjoy annelids
  295 + for breakfast.
  296 + =end item
  297 +
  298 + As you can see, folk wisdom is often of dubious value.
  299 +=end code
  300 +
  301 +Результат будет следующий:
  302 +
  303 +=begin nested
  304 +=config item :numbered
  305 +Let's consider two common proverbs:
  306 +
  307 +=begin item
  308 +I<The rain in Spain falls mainly on the plain.>
  309 +
  310 +This is a common myth and an unconscionable slur on the Spanish
  311 +people, the majority of whom are extremely attractive.
  312 +=end item
  313 +
  314 +=begin item
  315 +I<The early bird gets the worm.>
  316 +
  317 +In deciding whether to become an early riser, it is worth
  318 +considering whether you would actually enjoy annelids
  319 +for breakfast.
  320 +=end item
  321 +
  322 +As you can see, folk wisdom is often of dubious value.
  323 +=end nested
  324 +
  325 +=head2 Списки определений
  326 +
  327 +Для создания списка определений используется блок C<=defn>. Данный блок идентичен блоку C<=item> в том, что серия последовательных блоков C<=defn> явно определяет список. Отличие заключается в том, что при преобразовании в HTML используются тэги C<< <DL>...</DL> >> вместо C<< <UL>...</UL> >>.
  328 +
  329 +Первая непустая строка содержимого блока интерпретируется как термин, а оставшееся содержимое - как определение термина.
  330 +
  331 +=begin code
  332 + =defn MAD
  333 + Affected with a high degree of intellectual independence.
  334 +
  335 + =defn MEEKNESS
  336 + Uncommon patience in planning a revenge that is worth while.
  337 +
  338 + =defn
  339 + MORAL
  340 + Conforming to a local and mutable standard of right.
  341 + Having the quality of general expediency.
  342 +=end code
  343 +
  344 +Как и другие, элементы списков определений могут быть пронумерованы. Для этого используется свойство C<:numbered> или символ C<#> в начале строки:
  345 +
  346 +=begin code :allow<B>
  347 + =for defn B<:numbered>
  348 + SELFISH
  349 + Devoid of consideration for the selfishness of others.
  350 +
  351 + =defn B<#> SUCCESS
  352 + The one unpardonable sin against one's fellows.
  353 +=end code
  354 +
  355 +=end pod
  356 +
  357 +
  358 +
28 Pod/p13_levels.pod6
... ... @@ -0,0 +1,28 @@
  1 +=begin pod
  2 +=head1 Уровни значимости текста
  3 +
  4 +=for Image
  5 +img/bold1.jpg
  6 +
  7 +Pod предоставляет три кода форматирования для отметки уровня значимости текста:
  8 +
  9 +=item
  10 +Код C<U<>> означает, что указанный текст является B<необычным> или отличным от остального, что равнозначно I<минимальному уровню значимости>. Отмеченный подобным образом текст обычно выделен подчеркиванием.
  11 +
  12 +=item
  13 +Код форматирование C<I<>> предназначен для выделения B<важного> текста, что соответствует I<основному уровню важности>. Содержимое этого уровня отображается курсивом или с помощью тэгов C<< <em>...<em/> >>.
  14 +
  15 +=item
  16 +Код C<B<>> выделяет текст, который является B<базисным> или фокусным для окружающего текста. Данным образом отмечается I<фундаметальная значимость>. Подобный текст отображается жирным стилем или тэгами C<< <strong>...</strong> >>.
  17 +
  18 +Пример использования: