package Pod::Pandoc;
use strict;
use warnings;
require 5.010;

our $VERSION = '0.5.0';

use Pod::Simple::Pandoc;
use Pod::Pandoc::Modules;
use App::pod2pandoc;


=head1 NAME

Pod::Pandoc - process Plain Old Documentation format with Pandoc

=begin markdown


[![Unix Build Status](](
[![Windows Build status](](
[![Coverage Status](](
[![Kwalitee Score](](
[![Code Climate Issue Count](](
[![Documentation Status](](

=end markdown


The Plain Old Documentation format (Pod) is a markup language used to document
Perl code (see L<perlpod> for reference). Several Perl modules exist to process
and convert Pod into other formats.

Pod::Pandoc is an attempt to unify and extend Pod converting based on the
L<Pandoc|> document converter. Pandoc supports more document
formats in a more detailled and uniform way than any set of Perl modules will
ever do. For this reason Pod::Pandoc provides methods to convert Pod to the
Pandoc document model for further processing with Pandoc.

=head1 OUTLINE



L<pod2pandoc> is a command line script to convert Pod to any format supported
by Pandoc.


L<App::pod2pandoc> provides functionality of L<pod2pandoc> to be used in Perl code.


L<Pod::Simple::Pandoc> converts Pod to the abstract document model of Pandoc.


L<Pod::Pandoc::Modules> manages a set of Pod documents of Perl modules.



Installation of this module does not require Pandoc but it is needed to make
actual use of it. See L<> for installation.


=head2 Replace L<pod2html>

  # pod2html --css=style.css --title=TITLE > output.html
  pod2pandoc --css=style.css --toc --name -o output.html

Pandoc option C<--toc> corresponds to pod2html option C<--index> and is
disabled by default. pod2pandoc adds title and subtitle from NAME section.

=head2 Replace L<pod2markdown>

  # pod2markdown input.pod
  pod2pandoc input.pod -t markdown

  # pod2markdown input.pod
  pod2pandoc input.pod -o

=head2 GitHub wiki

The L<GitHub wiki of this project|>
is automatically populated with its module documentation.  Wiki pages
are created with L<pod2pandoc> as following (see script C<>):

  pod2pandoc lib/ script/ wiki/ --ext md --index Home --wiki -t markdown_github

=head2 Sphinx and Read The Docs

The L<Sphinx documentation generator|> recommends
documents in reStructureText format. It further requires a configuration file
C<> and some links need to be adjusted because Pandoc does not support
wikilinks in rst output format (see script C<>:

  pod2pandoc lib/ script/ docs/ --ext rst --wiki -t rst --standalone
  perl -pi -e 's!`([^`]+) <([^>]+)>`__!-e "docs/$2.rst" ? ":doc:`$1 <$2>`" : "`$1 <$2>`__"!e' docs/*.rst
  make -C docs html

The result is published automatically at

=head1 SEE ALSO

This module is based on the wrapper module L<Pandoc> to execute pandoc from Perl
and on the module L<Pandoc::Elements> for pandoc document processing.

This module makes obsolete several specialized C<Pod::Simple::...> modules such
as L<Pod::Simple::HTML>, L<Pod::Simple::XHTML>, L<Pod::Simple::LaTeX>,
L<Pod::Simple::RTF> L<Pod::Simple::Text>, L<Pod::Simple::Wiki>, L<Pod::WordML>,
L<Pod::Perldoc::ToToc> etc. It also covers batch conversion such as
L<Pod::Simple::HTMLBatch>, L<Pod::ProjectDocs>, L<Pod::POM::Web>, and

=encoding utf8

=head1 AUTHOR

Jakob Voß E<lt>jakob.voss@gbv.deE<gt>


Benct Philip Jonsson


Copyright 2017- Jakob Voß

GNU General Public License, Version 2


=begin rst

.. toctree::


=end rst