内容

名称

Pod::Simple::HTMLBatch - 将多个 Pod 文件转换为多个 HTML 文件

概要

perl -MPod::Simple::HTMLBatch -e 'Pod::Simple::HTMLBatch::go' in out

描述

此模块用于批量转换大量 HTML 文档。

此类不是 Pod::Simple::HTML 的子类(也不是旧的 Pod::Html),尽管它使用 Pod::Simple::HTML 来转换每个文档。

此类的正常使用方式如下

use Pod::Simple::HTMLBatch;
my $batchconv = Pod::Simple::HTMLBatch->new;
$batchconv->some_option( some_value );
$batchconv->some_other_option( some_other_value );
$batchconv->batch_convert( \@search_dirs, $output_dir );

从命令行

请注意,此类还提供(但不导出)函数 Pod::Simple::HTMLBatch::go。这基本上只是 Pod::Simple::HTMLBatch->batch_convert(@ARGV) 的快捷方式。它旨在方便从命令行调用。

但是,此快捷方式要求您指定恰好两个命令行参数,indirsoutdir

示例

% mkdir out_html
% perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go @INC out_html
    (to convert the pod from Perl's @INC
     files under the directory ./out_html)

(请注意,命令行中包含一个字面上的 atsign-I-N-C。这是由 batch_convert 作为特殊情况处理的,以避免您在想要“只使用 @INC 中的内容”时,必须将 "" 作为第一个命令行参数输入。)

示例

% mkdir ../seekrut
% chmod og-rx ../seekrut
% perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../seekrut
    (to convert the pod under the current dir into HTML
     files under the directory ./seekrut)

示例

% perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go happydocs .
    (to convert all pod from happydocs into the current directory)

主要方法

$batchconv = Pod::Simple::HTMLBatch->new;

这将创建一个新的批处理转换器。该方法不接受参数。要更改转换器的属性,请使用下面的 "访问器方法"

$batchconv->batch_convert( indirs, outdir );

这将搜索 indirs 中给定的目录,并为每个目录写入 HTML 文件到 outdir 中的对应目录。目录 outdir 必须存在。

$batchconv->batch_convert( undef , ...);
$batchconv->batch_convert( q{@INC}, ...);

这两个 indirs 值指定了正常的 Perl @INC

$batchconv->batch_convert( \@dirs , ...);

这指定了输入目录是数组引用 \@dirs 中的项目。

$batchconv->batch_convert( "somedir" , ...);

这指定了目录 "somedir" 是输入。(这可以是绝对路径或相对路径,无关紧要。)

您可能想要的一个常用值只是 ".",表示当前目录

$batchconv->batch_convert( "." , ...);
$batchconv->batch_convert( 'somedir:someother:also' , ...);

这指定了您想要扫描目录“somedir”、“someother”和“also”,就像您传递了数组引用[qw( somedir someother also)]一样。请注意,在 Unix 下,“:” 分隔符是正常的,但在 MSWin 下,您需要使用'somedir;someother;also',因为 MSWin 上的路径分隔符是“;”,而不是“:”。(而是因为“:” 经常出现在路径中,例如"c:/perl/lib"。)

(应该使用哪个分隔符字符,是从$Config::Config{'path_sep'} 中获取的,通过Config 模块。)

$batchconv->batch_convert( ... , undef );

这指定了您想要将 HTML 输出放到当前目录中。

(请注意,在第一个插槽中,缺少或未定义的值与第二个插槽中的含义不同。这样,batch_convert() 没有参数(或未定义参数)就意味着“从 @INC 转到当前目录”。)

$batchconv->batch_convert( ... , 'somedir' );

这指定了您想要将 HTML 输出放到目录 'somedir' 中。(这可以是绝对路径或相对路径,无关紧要。)

请注意,您也可以将 batch_convert 作为类方法调用,如下所示

Pod::Simple::HTMLBatch->batch_convert( ... );

这只是以下内容的简写

Pod::Simple::HTMLBatch-> new-> batch_convert(...);

也就是说,它使用默认选项运行转换,用于您指定的任何输入目录和输出目录。

访问器方法

以下是所有访问器方法——也就是说,它们本身不执行任何操作,而只是更改转换对象的內容,该对象包含此特定批处理转换的选项。

我们在下面显示了访问器的“put”形式(即,用于将访问器设置为特定值的语法)。但您也可以在不带参数的情况下调用每个方法来获取其当前值。例如,$self->contents_file() 返回 contents_file 属性的当前值。

$batchconv->verbose( 非负整数 );

这控制了在批处理转换期间的详细程度,就有关转换进度的 STDOUT(或任何被select 的内容)的说明而言。如果为 0,则不打印任何进度信息。如果为 1(默认值),则会打印一些进度信息。更高的值会打印更多信息。

$batchconv->index( true-or-false );

这控制了每个 HTML 页面是否可能在顶部有一个小目录表(出于历史原因,我们称之为“索引”。)。默认情况下,这是真的。

$batchconv->contents_file( 文件名 );

如果设置,则应为要写入 HTML 索引的文件名(在输出目录中)。默认值为“index.html”。如果将其设置为假值,则不会写入任何内容文件。

$batchconv->contents_page_start( HTML_string );

这指定了在内容页开头应放置的字符串。默认情况下,字符串类似于以下内容

<html>
<head><title>Perl Documentation</title></head>
<body class='contentspage'>
<h1>Perl Documentation</h1>
$batchconv->contents_page_end( HTML_string );

这指定了在内容页末尾应放置的字符串。默认情况下,字符串类似于以下内容

<p class='contentsfooty'>Generated by
Pod::Simple::HTMLBatch v3.01 under Perl v5.008
<br >At Fri May 14 22:26:42 2004 GMT,
which is Fri May 14 14:26:42 2004 local time.</p>
$batchconv->add_css( $url );

待办事项

$batchconv->add_javascript( $url );

待办事项

$batchconv->css_flurry( true-or-false );

如果为真(默认值),我们将自动在输出目录中生成一些 CSS 文件,并将我们的 HTML 文件设置为使用这些文件。待办事项:继续

$batchconv->javascript_flurry( true-or-false );

如果为真(默认值),我们将自动在输出目录中生成一个 JavaScript,并将我们的 HTML 文件设置为使用它。目前,JavaScript 仅用于让浏览器记住它喜欢的样式表。待办事项:继续

$batchconv->no_contents_links( true-or-false );

待办事项

$batchconv->html_render_class( classname );

这将设置用于渲染文件的类。默认值为“Pod::Simple::HTML”。如果将其设置为其他内容,则它可能应该是 Pod::Simple::HTML 的子类,并且您应该requireuse该类,以便在 Pod::Simple::HTMLBatch 尝试加载它之前加载它。

$batchconv->search_class( classname );

此选项设置用于搜索文件的类。默认值为 "Pod::Simple::Search"。如果您将其设置为其他值,它应该是一个 Pod::Simple::Search 的子类,并且您应该使用 `require` 或 `use` 加载该类,以便在 Pod::Simple::HTMLBatch 尝试加载它之前加载它。

自定义说明

待办事项

call add_css($someurl) to add stylesheet as alternate
call add_css($someurl,1) to add as primary stylesheet

call add_javascript

subclass Pod::Simple::HTML and set $batchconv->html_render_class to
  that classname
and maybe override
  $page->batch_mode_page_object_init($self, $module, $infile, $outfile, $depth)
or maybe override
  $batchconv->batch_mode_page_object_init($page, $module, $infile, $outfile, $depth)
subclass Pod::Simple::Search and set $batchconv->search_class to
  that classname

参见

Pod::SimplePod::Simple::HTMLBatchperlpodperlpodspec

支持

有关 POD 和 Pod::Simple 的问题或讨论,请发送到 [email protected] 邮件列表。发送空邮件到 [email protected] 订阅。

此模块在开放的 GitHub 仓库中管理,https://github.com/perl-pod/pod-simple/。欢迎您随意 fork 和贡献,或克隆 git://github.com/perl-pod/pod-simple.git 并发送补丁!

欢迎针对 Pod::Simple 的补丁。请将错误报告发送到 <[email protected]>。

版权和免责声明

版权所有 (c) 2002 Sean M. Burke。

此库是自由软件;您可以根据与 Perl 本身相同的条款重新发布和/或修改它。

此程序按“原样”提供,没有任何形式的明示或暗示的保证,包括但不限于适销性和特定用途适用性的暗示保证。

作者

Pod::Simple 由 Sean M. Burke <[email protected]> 创建。但不要打扰他,他已经退休了。

Pod::Simple 由以下人员维护: