(メモ) Pod::Simple::HTML による Perl ドキュメントのカスタム生成
Pod::Simple::HTML
の POD に書いてある通りですが、Pod::Simple::HTML
を継承したクラスを作って、生成する HTML をカスタマイズすることができます。
例えば、do_pod_link
メソッドをオーバーライドすることで、L<...>
で記述するリンクタグの挙動を変更できます。
package My::PodParser; use parent 'Pod::Simple::HTML'; # override parent method sub do_pod_link { my ($self, $link) = @_; # Links local to our web site if ($link->tagname eq 'L' and $link->attr('type') eq 'pod') { my $to = $link->attr('to'); if ($to =~ /^My::/) { $to =~ s{::}{/}g; return "/docs/My/$to.html"; } } # All other links are generated by the parent class my $ret = $self->SUPER::do_pod_link($link); return $ret; }
上のように書くと、"My::" で始まるモジュールのリンク先は /docs/My/....html
となるので、ドキュメントをホスティングしているサイト上で適切に配置しておけば、独自モジュールのドキュメントでも相互にリンクさせることができます。
DarkPAN( *1,*2 ) などのドキュメントを運用する際に使えそうです。