NAME

    EPublisher - Publish documents in new format

VERSION

    version 1.27

SYNOPSIS

      use EPublisher;
      
      my $yaml     = './test.yml';
      my @projects = qw(Test);
      
      my $deploy   = EPublisher->new;
      $deploy->config( $yaml );
      $deploy->run( \@projects );

    The correspondend YAML file:

      ---
      Test:
        source:
          type: Module
          path: YAML::Tiny
        target:
          type: Text
          path: C:\anything\YAML_Tiny.txt

DESCRIPTION

    This tool aims to simplify publishing of documents, mainly POD. To be
    extendable, it uses a simple plugin system. It uses YAML files for
    configuration (see YAML::Tiny) and many CPAN modules for this task.

    You can write your own plugins for your favourite source format (see
    EPublisher::Source::Base) and/or a plugin for your favourite output
    format.

 Sources

    "Sources" are input sources of the POD. In this base package there are
    three source plugins:

      * Dir

      Get all *.pm and *.pod files in the given directory and its
      subdirectories. See EPublisher::Source::Plugin::Dir.

      * File

      The Pod will be extracted from the given file.

      * Module

      This tool will try to get the POD off the module (without loading the
      module).

    EPublisher::Source::Base describes how you can write your own
    Source-Plugin.

 Targets

    "Targets" are output formats. Currently there are two formats
    supported, but other target plugins will follow.

      * Text

      converts POD to plain text.

    EPublisher::Target::Base describes how you can write your own
    Target-Plugin.

METHODS

    All methods available for EPublisher are described in the subsequent
    sections

 new

 config

 run

 projects

 deploy

 debug

PSEUDO PROTOCOL

    There is a small "pseudo" protocol for the debug messages:

      100 start running source
      101 stop running source (success)
      102 error
      
      200 start running target plugin
      201 stop running target plugin (success)
      202 error
      203 info from target plugin

PREREQUESITS

    YAML::Tiny, Carp, File::Spec, File::Glob,

AUTHOR

    Renee Baecker <module@renee-baecker.de>

COPYRIGHT AND LICENSE

    This software is Copyright (c) 2015 by Renee Baecker.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)