內容

名稱

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) 的捷徑。它旨在方便從命令列呼叫。

但是,捷徑需要您指定兩個確切的命令列參數,indirs 和 outdir。

範例

% 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(...);

也就是說,它會執行轉換,並使用您指定的任何 inputdirs 和 output dir 的預設選項。

存取方法

以下都是存取方法,也就是說,它們本身不會執行任何動作,只是變更轉換物件的內容,其中包含此特定批次轉換的選項。

我們在下方顯示存取器的「設定」形式 (也就是說,您用於將存取器設定為特定值的語法)。但您也可以呼叫每個方法,而不使用任何參數來取得其目前的數值。例如,$self->contents_file() 會傳回 contents_file 屬性的目前數值。

$batchconv->verbose( 非負整數 );

這會控制在批次轉換期間的詳細程度,例如關於轉換進度的 STDOUT (或任何 select 的) 註解。如果為 0,則不會印出任何進度資訊。如果為 1 (預設值),則會印出一些進度資訊。更高的值會印出更多資訊。

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

這會控制每個 HTML 頁面是否會在頂端有一個小目錄 (我們基於歷史原因稱之為「索引」)。預設為 true。

$batchconv->contents_file( filename );

如果設定,應為一個檔案名稱(在輸出目錄中)用於寫入 HTML 索引。預設值為「index.html」。如果您將其設定為 false 值,則不會寫入任何內容檔案。

$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 );

如果為 true(預設值),我們會在輸出目錄中自動產生一些 CSS 檔案,並設定我們的 HTML 檔案使用這些檔案。待辦事項:繼續

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

如果為 true(預設值),我們會在輸出目錄中自動產生一個 JavaScript,並設定我們的 HTML 檔案使用它。目前,JavaScript 僅用於讓瀏覽器記住它偏好的樣式表。待辦事項:繼續

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

待辦事項

$batchconv->html_render_class( classname );

這會設定用於呈現檔案的類別。預設值為「Pod::Simple::HTML」。如果您將其設定為其他值,則它可能是 Pod::Simple::HTML 的子類別,而且您應該「require」或「use」該類別,以便在 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 的問題或討論應寄送至 pod-people@perl.org 郵件清單。寄送一封空白電子郵件至 pod-people-subscribe@perl.org 以訂閱。

此模組在開放的 GitHub 儲存庫中管理,https://github.com/perl-pod/pod-simple/。歡迎分岔和貢獻,或複製 git://github.com/perl-pod/pod-simple.git 並傳送修補程式!

歡迎針對 Pod::Simple 的修補程式。請將錯誤報告寄送至 <bug-pod-simple@rt.cpan.org>。

版權和免責聲明

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

此程式庫是免費軟體;您可以在與 Perl 相同的條款下重新散布或修改它。

此程式以希望它會有所幫助的方式散布,但不提供任何擔保;甚至沒有對特定目的的適售性或適用性的默示擔保。

作者

Pod::Simple 由 Sean M. Burke <sburke@cpan.org> 建立。但不要打擾他,他已退休。

Pod::Simple 由下列人員維護