0
Perl 6 Pod - формат ведения документации            Александр Загацкий                   lvee
Кто я     http://search.cpan.org/∼zag/     lang/rakudo ( FreeBSD )     книга "Все о Perl 6"Perl 6 Pod - формат ведения док...
Содержание     Основные моменты:            Введение в Pod            Структура Pod            Фитчи Pod            Реализ...
Synopsis 26     18 октября 1994 В списке анонса perl 5.000 присутвует                  поддержка POD     9 апреля 2005 Syn...
POD -> Pod            POD - Plain Old Documentation            Pod в S26:            Pod - является эволюцией POD. В сравн...
Отличия POD от Pod: Границы блоков документции.     POD           §                                                 ¤     ...
Параметры блоков     Конфигурационные параметры представлены парной нотацией     в стиле Perl 6 (S02)            =for Imag...
Равнозначность стилевых блоков     Типы блоков одинаково представлены во внутренней структуре     документа.Perl 6 Pod - ф...
Блоки-деклараторы / Declarator blocks     Блоки без имен.Ассоциируются с ближайшим декларатором.           §              ...
access to pod/doc text by codePerl 6 Pod - формат ведения документации   Александр Загацкий
Доступ к документации из кода     Программы будущего будут согласовывать свои действия с     документацией !Perl 6 Pod - ф...
Особенности Pod            =item, =itemN - уровни в списках            =table определение таблиц            =alias - псевд...
Уровни в списках           §                                     ¤               1   =item1 Animal               2   =item...
Таблицы (=table)Perl 6 Pod - формат ведения документации   Александр Загацкий
Таблицы (=table)Perl 6 Pod - формат ведения документации   Александр Загацкий
Именованные псевдонимы       =alias PROGNAME                Earl Irradiatem Eventually       =alias VENDOR                ...
Именованные псевдонимы.     A<$?FILE> - имя теущего файла     A<$?ROUTINE> - подпрограмма, внутри которой размещен     бло...
Контекстуальные псевдонимы     Включение кода без копирования           §                                                 ...
Семантические блоки            =begin SYNOPSIS                use Magic::Parser                my Magic::Parser $parser .=...
=config и :like     Предварительное конфигурирование       =config      head1 :formatted<B     U> :numbered       =config  ...
Расширяемость            Режим документации            perl –doc DBI::DBD::Metadata            Подключение расширений     ...
1.Реализация на Perl 5 (Domian Conway)     http://search.cpan.org/dist/Perl6-Perldoc/Perl 6 Pod - формат ведения документа...
2.Реализация на Perl 5: Perl6::Pod     http://search.cpan.org/dist/Perl6-Pod/Perl 6 Pod - формат ведения документации     ...
3.Реaлизация на Rakudo (Martin Berends)     http://github.com/eric256/perl6-examples/tree/master/binPerl 6 Pod - формат ве...
4.Реaлизация на Rakudo (SUPERNOVA)     http://github.com/lue/SUPERNOVAPerl 6 Pod - формат ведения документации   Александр...
5.Google Summer of Code     "Pod parser for Rakudo"Perl 6 Pod - формат ведения документации   Александр Загацкий
Презентации: Perl6::Pod::Slide     Perl6::Pod::Slide: Latex + beamer           §                                          ...
Perl6::Pod::Slide: Списки     Перечисляемые списки:       =item руководства для конечных пользователей       =item Wiki, C...
Perl6::Pod::Slide: Списки     Перечисляемые списки:       =item руководства для конечных пользователей       =item Wiki, C...
Perl6::Pod::Slide: Списки и атрибуты     Нумерованные списки и атрибут :pause:       =for item :numbered       Списки     ...
Perl6::Pod::Slide: Списки и атрибуты     Нумерованные списки и атрибут :pause:       =for item :numbered       Списки     ...
Perl6::Pod::Slide: Списки и атрибуты     Нумерованные списки и атрибут :pause:       =for item :numbered       Списки     ...
Perl6::Pod::Slide: Вставка кода     Perl 6       =for code :lang(’Perl’)       my @keys = <a b c d e>;       my @vals = ^5...
Perl6::Pod::Slide: Вставка кода     JavaScript       =begin code :lang(’JavaScript’)       var keys = [’a’, ’b’, ’c’];    ...
Perl6::Pod::Slide: Создание pdf     Экспорт в Tex:       pod6slide < tech_docs.pod > tech_docs.tex     Конвертация в Pdf: ...
zag.ru: Формат для блога     Расширяем для поддержки доп функционала. Например:     =ImagePerl 6 Pod - формат ведения доку...
Формат для книги о Perl 6     Книга "Все о Perl 6". http://zag.ru/perl6-book/Perl 6 Pod - формат ведения документации     ...
Глава посвященная PodPerl 6 Pod - формат ведения документации   Александр Загацкий
Perl 6 Pod to HTML: http://zag.ru/perl6-pod/Perl 6 Pod - формат ведения документации       Александр Загацкий
WriteAt.com - cоздание и публикация книг в сетиPerl 6 Pod - формат ведения документации          Александр Загацкий
Как это работаетPerl 6 Pod - формат ведения документации   Александр Загацкий
Вопросы     Вопросы ?            S26 Documentation            https://github.com/zag/specs/raw/master/S26-            docu...
Upcoming SlideShare
Loading in...5
×

Perl6 pod as new documentation format

400

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
400
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Perl6 pod as new documentation format"

  1. 1. Perl 6 Pod - формат ведения документации Александр Загацкий lvee
  2. 2. Кто я http://search.cpan.org/∼zag/ lang/rakudo ( FreeBSD ) книга "Все о Perl 6"Perl 6 Pod - формат ведения документации Александр Загацкий
  3. 3. Содержание Основные моменты: Введение в Pod Структура Pod Фитчи Pod Реализации Применение PodPerl 6 Pod - формат ведения документации Александр Загацкий
  4. 4. Synopsis 26 18 октября 1994 В списке анонса perl 5.000 присутвует поддержка POD 9 апреля 2005 Synopsis 26.Автор - Damian Conway. 25 апреля 2007 Вторая редакция 16 августа 2009 S26 - The Next Generation 31 июля 2010 Последняя редакция. :!DRAFTPerl 6 Pod - формат ведения документации Александр Загацкий
  5. 5. POD -> Pod POD - Plain Old Documentation Pod в S26: Pod - является эволюцией POD. В сравнении с POD, Perl 6 Pod более однороден, компактен и выразительнее. Pod также характеризуется описательной нотацией разметки, вместо презентационной. Таким образом Pod избавился от слова "старый".Perl 6 Pod - формат ведения документации Александр Загацкий
  6. 6. Отличия POD от Pod: Границы блоков документции. POD § ¤ 1 =head1 2 ... 3 4 =cut ¦ ¥ Pod Разграниченные блоки / Delimited blocks Блоки-параграфы / Paragraph blocks Сокращенные блоки / Abbreviated blocks Блоки-деклараторы / Declarator blocks (*)Perl 6 Pod - формат ведения документации Александр Загацкий
  7. 7. Параметры блоков Конфигурационные параметры представлены парной нотацией в стиле Perl 6 (S02) =for Image :title(’3 стиля для =table’) = :align(’center’) :!border src/3block_datapng.pngPerl 6 Pod - формат ведения документации Александр Загацкий
  8. 8. Равнозначность стилевых блоков Типы блоков одинаково представлены во внутренней структуре документа.Perl 6 Pod - формат ведения документации Александр Загацкий
  9. 9. Блоки-деклараторы / Declarator blocks Блоки без имен.Ассоциируются с ближайшим декларатором. § ¤ 1 sub fu ( #= This text stored in &fu.WHY 2 Any $bar, #= This text stored in $bar.WHY 3 Mode :$baz #= This text stored in $baz.WHY 4 ) { ... } 5 6 #= This is a special chainsaw 7 my SwissArmy $chainsaw #= (It has a rocket launcher) 8 9 say $chainsaw.WHY; # prints: This is a special chainsaw 10 # (It has a rocket launcher) ¦ ¥Perl 6 Pod - формат ведения документации Александр Загацкий
  10. 10. access to pod/doc text by codePerl 6 Pod - формат ведения документации Александр Загацкий
  11. 11. Доступ к документации из кода Программы будущего будут согласовывать свои действия с документацией !Perl 6 Pod - формат ведения документации Александр Загацкий
  12. 12. Особенности Pod =item, =itemN - уровни в списках =table определение таблиц =alias - псевдонимы: именованные, контекстуальные =SYNOPSIS, =NAME ... - семантические блоки =config, :like - предварительное конфигурирование и параметр :like DOC use - расширяемостьPerl 6 Pod - формат ведения документации Александр Загацкий
  13. 13. Уровни в списках § ¤ 1 =item1 Animal 2 =item2 Vertebrate 3 =item2 Invertebrate 4 5 =item1 Phase 6 =item2 Solid 7 =item2 Chocolate ¦ ¥ Результат * Animal - Vertebrate - Invertebrate * Phase - Solid - ChocolatePerl 6 Pod - формат ведения документации Александр Загацкий
  14. 14. Таблицы (=table)Perl 6 Pod - формат ведения документации Александр Загацкий
  15. 15. Таблицы (=table)Perl 6 Pod - формат ведения документации Александр Загацкий
  16. 16. Именованные псевдонимы =alias PROGNAME Earl Irradiatem Eventually =alias VENDOR 4D Kingdoms =alias TERMSURL L<http://www.4dk.com/eie> The use of A<PROGNAME> is subject to the terms and conditions laid out by A<VENDOR>, as specified at A<TERMSURL>.Perl 6 Pod - формат ведения документации Александр Загацкий
  17. 17. Именованные псевдонимы. A<$?FILE> - имя теущего файла A<$?ROUTINE> - подпрограмма, внутри которой размещен блок Pod A<$?CLASS> - текущий класс Программные константы в документации: § ¤ 1 # Actual code... 2 constant $GROWTH_RATE of Num where 0..* = 1.6; 3 =pod 4 =head4 Standard Growth Rate 5 The standard growth rate is assumed 6 to be A<$GROWTH_RATE>. ¦ ¥Perl 6 Pod - формат ведения документации Александр Загацкий
  18. 18. Контекстуальные псевдонимы Включение кода без копирования § ¤ 1 # This is actual code... 2 sub hash_function ($key) 3 =alias HASHCODE 4 { 5 my $hash = 0; 6 for $key.split("") -> $char { 7 $hash = $hash*33 + $char.ord; 8 } 9 return $hash; 10 } 11 =begin pod 12 An ancient (but fast) hashing algorithm is used: 13 =begin code :allow<A> 14 A<HASHCODE> 15 =end code 16 =end pod ¦ ¥Perl 6 Pod - формат ведения документации Александр Загацкий
  19. 19. Семантические блоки =begin SYNOPSIS use Magic::Parser my Magic::Parser $parser .= new(); my $tree = $parser.parse($fh); =end SYNOPSISPerl 6 Pod - формат ведения документации Александр Загацкий
  20. 20. =config и :like Предварительное конфигурирование =config head1 :formatted<B U> :numbered =config head2 :like<head1> :formatted<I> =config head3 :formatted<U> =config head4 :like<head3> :formatted<I> =config C<> :allow<E I> :like - блок имеет такие же параметры форматирования как имя блока указанного в качестве значения. =for para :like<head4> some textPerl 6 Pod - формат ведения документации Александр Загацкий
  21. 21. Расширяемость Режим документации perl –doc DBI::DBD::Metadata Подключение расширений DOC use Pod6::Image; =Image http://example.com/perl_logo_32x104.png Переопределение Pod обработчика: DOC INIT { use My::Pod::To::Text; pod_to_text( $=POD ); exit(0); }Perl 6 Pod - формат ведения документации Александр Загацкий
  22. 22. 1.Реализация на Perl 5 (Domian Conway) http://search.cpan.org/dist/Perl6-Perldoc/Perl 6 Pod - формат ведения документации Александр Загацкий
  23. 23. 2.Реализация на Perl 5: Perl6::Pod http://search.cpan.org/dist/Perl6-Pod/Perl 6 Pod - формат ведения документации Александр Загацкий
  24. 24. 3.Реaлизация на Rakudo (Martin Berends) http://github.com/eric256/perl6-examples/tree/master/binPerl 6 Pod - формат ведения документации Александр Загацкий
  25. 25. 4.Реaлизация на Rakudo (SUPERNOVA) http://github.com/lue/SUPERNOVAPerl 6 Pod - формат ведения документации Александр Загацкий
  26. 26. 5.Google Summer of Code "Pod parser for Rakudo"Perl 6 Pod - формат ведения документации Александр Загацкий
  27. 27. Презентации: Perl6::Pod::Slide Perl6::Pod::Slide: Latex + beamer § ¤ 1 =begin Slide :title(’5.Google Summer of Code’) 2 "Pod parser for Rakudo" 3 =Image i/p6-gscode.jpg 4 =end Slide ¦ ¥ + возможность ввода формул 1−α 2 kd Γ0 S0 (1 − α)2 = kd α2 ⇒ = α Γ0 S0Perl 6 Pod - формат ведения документации Александр Загацкий
  28. 28. Perl6::Pod::Slide: Списки Перечисляемые списки: =item руководства для конечных пользователей =item Wiki, CMS ... =item книги Результат:Perl 6 Pod - формат ведения документации Александр Загацкий
  29. 29. Perl6::Pod::Slide: Списки Перечисляемые списки: =item руководства для конечных пользователей =item Wiki, CMS ... =item книги Результат: руководства для конечных пользователей Wiki, CMS ... книгиPerl 6 Pod - формат ведения документации Александр Загацкий
  30. 30. Perl6::Pod::Slide: Списки и атрибуты Нумерованные списки и атрибут :pause: =for item :numbered Списки =for item :numbered :pause Таблицы =for item :numbered Уровни заголовков Результат:Perl 6 Pod - формат ведения документации Александр Загацкий
  31. 31. Perl6::Pod::Slide: Списки и атрибуты Нумерованные списки и атрибут :pause: =for item :numbered Списки =for item :numbered :pause Таблицы =for item :numbered Уровни заголовков Результат: 1 Списки 2 ТаблицыPerl 6 Pod - формат ведения документации Александр Загацкий
  32. 32. Perl6::Pod::Slide: Списки и атрибуты Нумерованные списки и атрибут :pause: =for item :numbered Списки =for item :numbered :pause Таблицы =for item :numbered Уровни заголовков Результат: 1 Списки 2 Таблицы 3 Уровни заголовковPerl 6 Pod - формат ведения документации Александр Загацкий
  33. 33. Perl6::Pod::Slide: Вставка кода Perl 6 =for code :lang(’Perl’) my @keys = <a b c d e>; my @vals = ^5; my %hash = @keys Z @vals; Результат: § ¤ 1 my @keys = <a b c d e>; 2 my @vals = ^5; 3 my %hash = @keys Z @vals; ¦ ¥Perl 6 Pod - формат ведения документации Александр Загацкий
  34. 34. Perl6::Pod::Slide: Вставка кода JavaScript =begin code :lang(’JavaScript’) var keys = [’a’, ’b’, ’c’]; var values = [1, 2, 3]; var map = {}; //this is a comment for(var i in keys) { map[ keys[i] ] = values[i]; } =end code Результат: § ¤ 1 var keys = [’a’, ’b’, ’c’]; 2 var values = [1, 2, 3]; 3 var map = {}; //this is a comment 4 for(var i in keys) { 5 map[ keys[i] ] = values[i]; 6 } ¦ ¥Perl 6 Pod - формат ведения документации Александр Загацкий
  35. 35. Perl6::Pod::Slide: Создание pdf Экспорт в Tex: pod6slide < tech_docs.pod > tech_docs.tex Конвертация в Pdf: pdflatex tech_docs.texPerl 6 Pod - формат ведения документации Александр Загацкий
  36. 36. zag.ru: Формат для блога Расширяем для поддержки доп функционала. Например: =ImagePerl 6 Pod - формат ведения документации Александр Загацкий
  37. 37. Формат для книги о Perl 6 Книга "Все о Perl 6". http://zag.ru/perl6-book/Perl 6 Pod - формат ведения документации Александр Загацкий
  38. 38. Глава посвященная PodPerl 6 Pod - формат ведения документации Александр Загацкий
  39. 39. Perl 6 Pod to HTML: http://zag.ru/perl6-pod/Perl 6 Pod - формат ведения документации Александр Загацкий
  40. 40. WriteAt.com - cоздание и публикация книг в сетиPerl 6 Pod - формат ведения документации Александр Загацкий
  41. 41. Как это работаетPerl 6 Pod - формат ведения документации Александр Загацкий
  42. 42. Вопросы Вопросы ? S26 Documentation https://github.com/zag/specs/raw/master/S26- documentation.pod Все о Perl 6 http://zag.ru/perl6-book/ home page, mail http://zag.ru, zag(at)cpan.orgPerl 6 Pod - формат ведения документации Александр Загацкий
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×