您正在从Perl 5.005查看此文档的版本。查看最新版本

内容

名称

perlpod-普通的旧文档

描述

pod-to-whatever转换器逐段读取pod文件,并将其转换为适当的输出格式。有三种类型的段落:逐字记录,命令、和普通文本.

逐字段落

逐字段落,以缩进区分(即以空格或制表符开头)。它应该准确地复制,假定标签位于8列边界上。这里没有特殊的格式转义,所以你不能用斜体或类似的东西。A表示\,其他什么都没有。

命令段落

所有命令段落都以“=”开头,后跟标识符,然后是命令可以随意使用的任意文本。当前识别的命令有

=标题1标题=头2标题=项目文本=超过N=背面=切割=吊舱=对于X=开始X=结束X
=吊舱
=切割

“=pod”指令除了告诉编译器通过下一个“=cut”停止解析代码之外,什么也没有做。如果您经常混淆代码和pod,那么在文档中添加另一段很有用。

=头部1
=头部2

标题1和标题2产生一级和二级标题,文本与构成标题描述的“=headn”指令位于同一段落中。

=超过
=背面
=项目

项、over和back需要更多的解释:“=over”使用“=Item”命令启动一个专门用于生成列表的部分。在列表的末尾,使用“=back”来结束它。您可能希望将“4”作为数字,以“=over”,因为一些格式化程序会使用它进行缩进。这可能是默认设置。还请注意,使用=item有一些基本规则:不要在=over/=后块外使用它们,在=over/=后块内至少使用一个,如果列表刚好从文档中溢出,则不必包含=back,而且可能最重要的是,保持项的一致性:或者对所有项使用“=item*”,以生成项目符号,或使用“=项1.”、“=项2.”等来生成编号列表,或使用“=item foo”、“=item-bar”等,即看起来与项目符号或数字完全不同的东西。如果您以项目符号或数字开头,请坚持使用它们,因为许多格式化程序使用第一个“=item”类型来决定如何格式化列表。

=用于
=开始
=结束

For、begin和end允许您包含未解释为pod文本但直接传递给特定格式化程序的部分。可以使用该格式的格式化程序将使用该节,否则它将被完全忽略。指令“=for”规定,整个下一段的格式由“=for”后面的第一个单词表示,如下所示:

=用于html<p>这是一个原始的HTML段落</p>

成对的命令“=begin”和“=end”的工作方式与“=for”非常类似,但不是只接受单个段落,而是将“=be开始”到匹配“=ends”的段落的所有文本都视为特定格式。

以下是如何使用这些选项的一些示例:

=开始html<br>图1.<IMG SRC=“figure1.png”><br>=结束html=开始文本---------------|foo公司||巴|---------------^^^^图1^^^^=结束文本

目前已知格式化程序接受的一些格式名称包括“roff”、“man”、“latex”、“tex”、“text”和“html”。(一些格式化程序将其中一些视为同义词。)

在使用任何命令时,不要忘记该命令将一直持续到段落,而不是线路。因此,在下面的示例中,您可以看到每个命令后面的空行以结束其段落。

列表的一些示例包括:

=大于4=项目*第一项=项目*第二项=背面=大于4=项目Foo()Foo函数描述=项目栏()Bar功能说明=背面

普通文本块

它会被填满,甚至可能被证明是合理的。某些内部序列在此处和命令中都可以识别:

I<text>斜体文本,用于强调或变量B<text>boxeden文本,用于开关和程序S<text>text包含非中断空格C<code>文字代码L链接(交叉引用)到名称L手册页手册页面中的项目其他手册页面中的L<名称/“秒”>部分本手册页面中的L<“sec”>部分(引号是可选的)L</“秒”>同上同上,但只有“text”用于输出。(文本不能包含字符“|”或“>”)L<文本|名称>L<text|name/ident>L<text|name/“秒”>L<文本|“秒”>L<text|/“秒”>F<file>用于文件名X<索引>索引项Z<>零宽度字符命名字符(与HTML转义非常相似)E文字<E<gt>文字>(除其他内饰外,这些都是可选的序列和前面有大写字母时)E<n>字符数n(可能是ASCII)一些非数字html实体,例如作为E<阿格拉夫>

目的

就是这样。目的是简单,而不是权力。我希望段落看起来像段落(块格式),以便它们在视觉上脱颖而出,并且可以很容易地通过fmt运行它们来重新格式化它们(这是我版本的F7不及物动词). 我想让翻译人员(而不是我)担心“or”是填充文本中的左引号还是右引号,我想让它以逐字模式保留引号,该死的,这样我可以在一个工作程序中发出声音,将它移到4个空格上,然后逐字打印出来。而且可能是以恒定宽度的字体。

特别是,您可以在文本中逐字保留如下内容:

波尔文件句柄$变量函数()手册页(3r)

毫无疑问,在此过程中还需要添加一些其他命令或序列,但我对这些命令或序列处理得非常好。

请注意,我根本不认为这足以制作一本书。我只是想为nroff、TeX和其他用于在线文档的标记语言创建一个防白痴的通用源代码。存在的转换器吊舱2man(这是针对nroff(1)和troff(1,播客2文本,豆荚2小时,荚果2乳胶、和播客2fm.

在Perl模块中嵌入Pods

您可以在Perl脚本中嵌入pod文档。文档开始时使用“=head1”命令,结束时使用“=cut”命令。Perl将忽略pod文本。有关示例,请参阅提供的任何库模块。如果要将pods放在文件的末尾,并且使用__end__或__DATA__剪切标记,请确保在第一个pod指令之前放一个空行。

__完__=头1名称现代化-我是一个现代化的模块

如果你没有那个空行,那么翻译人员就不会看到它。

常见吊舱陷阱

另请参阅

吊舱2manperlsyn中的“POD:嵌入式文档”

作者

拉里·沃尔