The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Comics - Comics aggregator in the style of Gotblah

SYNOPSIS

  perl -MComics -e 'main()' -- [options] [plugin ...]

or

  perl Comics.pm [options] [plugin ...]

If the associated collect tool has been installed properly:

  collect [options] [plugin ...]

   Options:
     --spooldir=XXX     where resultant images and index must be stored
     --enable           enables the plugins (no aggregation)
     --disable          disables the plugins (no aggregation)
     --list             lists the plugins (no aggregation)
     --rebuild          rebuild index.html, no fetching
     --refresh          consider all images as new
     --ident            shows identification
     --help             shows a brief help message and exits
     --man              shows full documentation and exits
     --verbose          provides more verbose information
     --quiet            provides no information unless failure

OPTIONS

--spooldir=XXX

Designates the spool area. Downloaded comics and index files are written here.

--enable

The plugins that are named on the command line will be enabled for future runs of the aggregator. Default is to enable all plugins.

Note that when this command is used, the program exits after enabling the plugins. No aggregation takes place.

--disable

The plugins that are named on the command line will be disabled for future runs of the aggregator. Default is to disable all plugins.

Note that when this command is used, the program exits after disabling the plugins. No aggregation takes place.

--list

Provides information on the selected (default: all) plugins.

Note that when this command is used, no aggregation takes place.

--rebuild

Recreates index.html in the spooldir without fetching new comics.

--help

Prints a brief help message and exits.

--man

Prints the manual page and exits.

--ident

Prints program identification.

--verbose

Provides more verbose information. This option may be repeated for even more verbose information.

--quiet

Silences verbose information.

plugin

If present, process only the specified plugins.

This is used for disabling and enabling plugins, but it can also be used to test individual plugins.

DESCRIPTION

The normal task of this program is to perform aggregation. it will load the available plugins and run all of them.

The plugins will examine the contents of comics sites and update the 'cartoon of the day' in the spool area.

Upon completion, an index.html is generated in the spool area to view the comics collection.

It is best to run this program from the spool area itself.

Special commands

Note that no aggregation is performed when using any of these commands.

With command line option --list a listing of the plugins is produced.

Plugins can be enabled and disabled with --enable and --disable respectively.

PLUGINS

Important: This program assumes that the plugins can be found in ../lib relative to the location of the executable file.

All suitable Comics::Plugin::plugin.pm files are examined and loaded.

Plugins are derived from Fetcher classes, see below.

See Comics::Plugin::Sigmund for a fully commented plugin.

FETCHERS

Fetchers implement different fetch strategies. Currently provided are:

Comics::Fetcher::Cascade - fetch a comic by loading and examining a series of URLs.

Comics::Fetcher::Direct - fetch a comic by URL.

Comics::Fetcher::Single - fetch a comic by examining the comic's home page.

Comics::Fetcher::GoComics - fetch a comic from a GoComics site.

AUTHOR

Johan Vromans, <JV at CPAN dot org>

SUPPORT

Development of this module takes place on GitHub: https://github.com/sciurius/comics .

You can find documentation for this module with the perldoc command.

    perldoc Comics

Please report any bugs or feature requests using the issue tracker on GitHub.

ACKNOWLEDGEMENTS

The people behind Gotblah, for creating the original tool.

LICENSE

Copyright (C) 2016,2018 Johan Vromans,

This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.