频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

如何撰写POD

作者: fayland 出处:中国Perl协会 FPC(Foundation of Perlchina)  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-09-08 18:10
关 键 词:D
阅读提示:本文介绍的是如何撰写经常用于在perl程序和模块中的文档书写POD。

简介

pod(Plain Old Documentation), 是一种简单而易用的标记型语言(置标语言),它经常用于在perl程序和模块中的文档书写。

在pod中,用段类型可分为三种,普通段落,字面段落(Verbatim Paragraph)和命令段落。

三者的区分非常简单,以=pod|head1|cut|over等指示字开始的段落为命令段落,以空格或制表符(\t)等缩进字符开始的段落为字面段落,其余的就是普通段落。

pod中有其独特的格式代码来表现粗体,斜体,超链接等。

在pod中,对于字面段落的文本,是从来都不进行格式代码转义的。pod2html时用<pre >将其包围。所以字面段落非常适合在引用语言与代码块时运用。

当然,值得注意的是,对于pod2xxx脚本来说,段落意味着前后各有一个空行

下面我们要介绍的pod,都是用于pod2html这项功能的。

命令指示字

=head1

=head2

=head3

=head4

上面的四个指示字产生指定级别的标题。在pod2html时,用他们各自对应的

..

来包围此段落,并且自动生成a的命名/name和索引/index.

一个简单的例子:

=head1 NAME

pod2html - convert .pod files to .html files
pod2html后NAME的标签为h1, 而后面的那段为p。

=pod

=cut

=pod 只告诉编译器pod文档开始了,而=cut则是pod文档的结束。

一个简单的例子:

return;
}

=pod
Here we start our pod

=cut
sub _ {
=over NUMBER

=item SYMBOL

=back

上面三个标签是连在一起的。=over后面必须要跟一个=back,而这两者之间最少要有一个=item,同时不能有=head1至head4。

pod2html时依据item后面的SYMBOL不同将其转化为<dl><ol><ul>中的一种。

当SYMBOL为数字时使用ol, SYBMOL为*时使用ul, 其余的使用dl.

而=over后面的NUMBER只是用来确定缩进中的空格。不同的格式器(pod2xxxx)对于NUMBER有着不同地处理,另外有些格式器对此则进行忽略。默认的NUMBER为4。

=item 能自动生成a的命名,但不参加索引/index(与head不同)。

一个简单的例子:

=over 4

=item L<http://www.perl.com/>

Perl 的首页 (由欧莱礼公司维护)

=item L<http://www.cpan.org/>

Perl 综合典藏网 (Comprehensive Perl Archive Network)

=item L<http://lists.perl.org/>

Perl 邮递论坛一览

=back
此例子摘自perlcn.pod

=for format text =begin format =end format 此指示字的作用是对此段落使用特殊的格式/format(如html, text等)。 =for与=begin+=end作用相同。区别在于=for只处理一个段落,而=begin+=end却能处理它们中间的多个段落。 format为html时,可以用于增加“命令指示字和格式代码”都不能实现的特殊格式。如<img或其它html标签。

一个简单的例子:

=begin html

<hr> <img src="thang.png">
<p> This is a raw HTML paragraph </p>

=end html
pod2html时会原文拷贝此段代码。

=encoding

用于制定文档的编码,默认为不指定。

格式代码

格式代码可以用于除字面段落外的所有段落,包括命令段落。
  • I<text> 用斜体表示text, 效果如text
  • B<text> 用粗体表示text, 效果如text
  • C<code> pod2html时用<code>包围。
  • L<text|name/sec> 超链接。 其中name可以为模块名,也可以为一个网址。pod2html时,当name为模块名时,转化为module/name.html.name为a里href参数的内容其中text为连接所显示的内容,若没有text,name为模块名时,显示 the module::name manpage;name为网址时,不允许存在text。pod2html时转化为<a>和</a>之间的东西。

    sec参数当name为模块名时指向该模块名的sec部分,没有name时指向当前页的sec部分。这些sec部分一般被=head或=item所定义。pod2html时转化为href里的#部分。

    下面是一个正确的例子:
    L<Net::Ping> – <a href="/Net/Ping.html">the Net::Ping manpage</a>
    L<http://www.1313s.com> – <a href='http://www.1313s.com'>http://www.1313s.com/</a>
    L<Perl Error Messages|perldiag> - <a href='perldiag.html'>Perl Error Message</a>
    L<perlsyn/"For Loops"> - <a href='perlsyn.html#for_loops'>the perlsyn manpage</a>
    
    而下面的一个例子就是一个典型的错误:
    L<fayland|http://www.1313s.com> - name为网址时不允许存在text
    
  • E<escape> 字符转义。
    • E<lt> – <
    • E<gt> – >
    • E<verbar> – |
    • E<sol> – /
    • 更多的请参考perldoc perlpod
  • 更多的如F<filename>, S<text>等请参考perldoc perlpod

实例

最后给出一个简单的例子,用以使大家加深对pod的印象。
=pod

=head1 Examples

it's just a examples for pod newcomer.

=head1 how to write a pod?

=over 4

=item 1

know all pod command's meanings such as "head1, over, item, begin".

=item 2

try to write a example by yourself.

=item 3

use 'pod2html' utility convert pod to html format.

=item 4

modify and pod2html again until u a satisfied.

=back

=head1 FAQ

=head2 want to add a B<img>?

use code as follows:

 =begin html

 <img src='http://www.1313s.com/f/fayland_gmail.png' />

 =end html

=head2 how to add E<lt>bE<gt> etc.

 E<lt>bE<gt>

=head1 link I<this> page

L<http://www.1313s.com/f/POD.html>

=cut

perldoc & pod2html

pod可以转化为n多种格式。在bin目录下以pod2开头的工具有很多,也有2pod的工具。但最常用的是perldoc和pod2html.

perldoc用于在命令控制台下查看pod文档,而pod2html则把pod转化为html格式。

pod2html

你可以通过pod2html—help来查看pod2html的所有参数。因为所有的参数都是很容易看懂的,也就不多加解释了。

将上面的例子保存为examples.pod, 然后进入控制台/console:

pod2html examples.pod >examples.html -css=Active.css
All is Done.

参考

=over 4

=item *

perldoc L<perlpod>

=item *

perldoc L<perlpodspec>

=item *

<Programming Perl> Chapter 26 大骆驼书第26章

=back
:) have fun.
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看51744次)
·UML类图详解 (查看46336次)
·Java编程开发手册 (查看24866次)
·UML统一建模语言 (查看23863次)
·C#技术开发指南 (查看21930次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (248个好)
·PB开发教程 (208个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有