NAME
EPublisher - Publish documents in new format
VERSION
version 1
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) 2012 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)