Pod::POM::View::Restructured(3pm) | User Contributed Perl Documentation | Pod::POM::View::Restructured(3pm) |
Pod::POM::View::Restructured - View for Pod::POM that outputs reStructuredText
use Pod::POM::View::Restructured; my $view = Pod::POM::View::Restructured->new; my $parser = Pod::POM->new; my $pom = $parser->parse_file("$top_dir/lib/Pod/POM/View/Restructured.pm"); my $out = $pom->present($view);
This module outputs reStructuredText that is expected to be used with Sphinx. Verbatim sections (indented paragraphs) in the POD will be output with syntax highlighting for Perl code by default. See "POD commands specifically for reStructuredText" for how to change this for a particular block.
This module can be downloaded from <https://metacpan.org/release/Pod-POM-View-Restructured>.
Constructor. \%params is optional. If present, the following keys are valid:
Converts the POD in $source_file to reStructuredText. If $dest_file is defined, it writes the output there. If $title is defined, it is used for the title of the document. Otherwise, an attempt is made to infer the title from the NAME section (checks if the body looks like "/\A\s*(\w+(?:::\w+)+)\s+-\s+/s").
Returns the output as a string.
$source_file and $dest_file can be either file names or file handles.
Converts the files given in $file_spec to reStructuredText. If $index_file is provided, it is the path to the index file to be created (with a table of contents pointing to all of the files created). If $index_title is provided, it is used as the section title for the index file. $out_dir is the directory the generated files will be written to.
$file_spec is a reference to an array of hashes specifying attributes for each file to be converted. The valid keys are:
Currently the only valid callback is "link". It is given the text inside a L<> section from the POD, and is expected to return a tuple "($url, $label)". If the value returned for $label is undefined, the value of $url is used as the label.
This method returns a hash ref with a table of contents (the "toc" field) suitable for a reStructuredText table of contents.
E.g.,
my $conv = Pod::POM::View::Restructured->new; my $files = [ { source_file => "$base_dir/Restructured.pm" }, { source_file => "$base_dir/DWIW.pm" }, { source_file => "$base_dir/Wrapper.pm" }, ]; my $rv = $conv->convert_files($files, "$dest_dir/index.rst", 'My Big Test', $dest_dir);
The following sequences can be used in POD to request actions specifically for this module.
This sets up the next verbatim section, i.e., the next indented paragraph to be highlighted according to the syntax of the programming/markup/config language lang. Verbatim sections are assumed to be Perl code by default. Sphinx uses Pygments to do syntax highlighting in these sections, so you can use any value for lang that Pygments supports, e.g., Python, C, C++, Javascript, SQL, etc.
pod2rst --infile=Restructured.pm --outfile=restructured.rst
Need to document:
Inherits from Pod::POM::View::Text that comes with the Pod::POM distribution.
Pod::POM
Pod::POM::View::HTML
pod2rst (distributed with Pod::POM::View::HTML)
reStructuredText: <http://docutils.sourceforge.net/rst.html>
Sphinx (uses reStructuredText): <https://www.sphinx-doc.org/>
Pygments (used by Sphinx for syntax highlighting): <https://pygments.org/>
Don Owens <don@regexguy.com>
Jeff Fearn <Jeff.Fearn@gmail.com>
Alex Muntada <alexm@cpan.org>
This software is copyright (c) 2010 by Don Owens <don@regexguy.com>, 2016 by Jeff Fearn <Jeff.Fearn@gmail.com>, and 2016-2021 by Alex Muntada <alexm@cpan.org>.
This software is available under the same terms as the perl 5 programming language system itself.
1.000003
2021-01-31 | perl v5.32.0 |