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

NAME

 $> plog - The one and a half minute blog

USAGE

 $> plog [--option[s]] command [argument] [argument] ...

OPTIONS

 --h|help                displays this help
 --blog_id=s (a string)  the blog to work on
 --configuration_path=s  override the default configuration path
 --temporary_directory=s use path as temporary working directory

COMMANDS

Default commands implemented in App::Plog::Commands (see CONFIGURATION);

add

Instantiates a new blog entry from a template

ls

List all the entries in the default directory in chronological order

ls_blogs

List all the blogs found in the plog root directory (see CONFIGURATION)

copy data [data] ...

Copies the files passed as arguments to the elements directory (see CONFIGURATION) of the blog. If the argument is a directory, its contents as well as the contents of its sub directories are copied

generate

Creates the blog document and feed

update

Generates and publishes the blog

CONFIGURATION

A .plog directory will be created in your home directory to store configuration files. The configuration files must be edited before they can be used.

Global Plog configuration

At installation time, App::Plog will creates :

~/.plog/config.pl which contains:

 {
 # where blogs configurations are stored
 plog_root_directory => 'home/you/.plog',
 
 # the blog to work with if no --blog_id is passed to plog
 default_blog => ,
 }

and the directory ~/.plog/template which contains an exemple template for a blog.

The INSTALL file contains a step by step description of the configuration changes you need to do.

Configuration per blog

Each blog configuration is kept within its blog directory which is directly under $plog_root_directory, as defined in "Plog global configuration". The configuration allows you to fine tune the generation of your blog. eg: ~/.plog/perl/configuration.pl is the configuration for your Perl blog.

The configuration file contents should be self explanatory (send me a mail if you ever have problems configuring your blog. You may also find me on irc.perl.org on #perl.)

You can also add commands to the script by deriving from App::Plog::Commands and settings the commands field of the configuration to your derived class, see App::Plog documentation.

The INSTALL file contains a step by step description of the configuration changes you need to do.

DOCUMENTATION

This module installs a script that allow you to generate a rudimentary blog using your prefered editor and the command line.

Supported in the default Plog installation

  • single HTML file blog

  • no DB or web blog application installation

  • git backend

  • multiple blogs

  • Pod input (IE)

    • css

    • HTML

    • links to URLS, and other supported by Pod

  • Asciidoc input

  • Atom feed

May be supported at some point

  • syntax hilighting for programming languages

Probably never supported

  • Answers to blog entries, note that nothing stops you from putting your blog on a git hub and merge answers

  • xmlrpc, pingback

  • fancy searching and sorting, ...

BLOG ENTRIES ORDER

New blog entries or modified blog entries will be placed at the top of the blog as logic dictates but not how most other blog software do.

If you have blog entries [A, B, C, D], where A is the oldest entry thus displayed at the bottom of your blog, and you modify entry A, the new blog order will be [B, C, D, A]. The module responsible for the rendering can be overridden allowing you to have another sorting order.

EXAMPLES

 # add or update a blog entry in the default blog
 $> plog add entry_name
 
 # add or update a blog entry in the specified blog
 $> plog add --blog_id perl entry_name
 
 # list all the blog entries for the default blog in chronologic order
 $> plog ls
 
 # list all the blogs
 $> plog ls_blogs
 
 # list all the blog entries for your perl blog
 $> plog ls --blog_id perl
 
 # copy resources to the default plog
 $> plog copy some_image.png
 
 # generate default blog on standard output
 $> plog generate
 
 # generate and put the default blog online
 $> plog update
 
 # generate and  put the specified blog online
 $> plog update --blog_id perl

 # take configuration from specified directory (not ~/.plog)
 $> plog --configuration_path ./my_configuration_path ...

EXIT STATUS

0 (zero) if plog could run your command to completion

AUTHOR

        Nadim ibn hamouda el Khemir
        CPAN ID: NKH
        mailto: nkh@cpan.org