NAME

Blog::Simple::HTMLOnly - Very simple weblog (blogger) with just Core modules.

SYNOPSIS

my $blog = Blog::Simple::HTMLOnly->new();
$blog->create_index(); # generally only needs to be called once
#
# ...
#
my $content="<p>blah blah blah in XHTM</p><p><b>Better</b> when done in
HTML!</p>";
my $title  = 'some title';
my $author = 'a.n. author';
my $email  = 'anaouthor@somedomain.net';
my $smmry  = 'blah blah';
my $ctent  = '<blockquote>Twas in the month of Liverpool and the city of July...</blockquote>',
$blog->add($title,$author,$email,$smmry,$ctent);
#
# ...
#
my $format = {
	simple_blog_wrap => '<table width='100%'><tr><td>',
	simple_blog => '<div class="box">',
	title       => '<div class="title"><b>',
	author      => '<div class="author">',
	email       => '<div class="email">',
	ts          => '<div class="ts">',
	summary     => '<div class="summary">',
	content     => '<div class="content">',
};
$blog->render_current($format,3);
$blog->render_all($format);
$blog->remove('08');
exit;

Please see the *.cgi files included in the tar distribution for examples of simple use.

DEPENDENCIES

Nothing outside of the core perl distribution.

EXPORT

Nothing.

DESCRIPTION

This is a backwards-compatible modification of Blog::Simple by JA Robson <gilad@arbingersys.com>, indentical in all but the need for XML::XSLT and Perl 5.6.1. It also includes an additional method to render a specific blog, and the latest n blogs.

Instead of XML::XSLT, this module uses HTML::TokeParser, of the core distribution. Naturally formatting is rather restricted, but it can produce some useful results if you know your way around CSS (http://www.zvon.org), and is better than a poke in the eye with a sharp stick.

USAGE

Please read the documentation for Blog::Simple before continuing, but ignore the documentation for the rendering methods.

The rendering methods render_current and render_all no longer take a paramter of an XSLT file, but instead a reference to a hash, the keys of which are the names of the nodes in a Blog::Simple XML file, values being HTML to wrap around the named node.

Only the opening tags need be supplied: the correct end-tags will supplied in lower-case by this module.

For an example, please see the SYNOPSIS.

METHOD render_current_by_author

As METHOD render_current but accepts a format hash, number of entries to display, an optional author ID, and optional output file.

METHOD render_all_by_author

Identical to render_all but takes an additional argument, that is the author ID.

METHOD: render_these_blogs

Alias for render_this_blog.

METHOD: render_this_blog

Renders to STDOUT the nominated blog(s).

In addition to the method's object reference, accepts a date and an author, and a format hash (see above). The date should be in a localtime output with spaces turned to underscores (_).

On success, returns a reference to the Blog in HTML. On failure returns undef, sending a warning to STDERR if you have warnings on (-w).

OTHER MODIFICATIONS TO Blog::Simple

The only other things I've changed are:

  • All files flock if not running on Win32 (cygwin is ignored as I don't know if it needs it; presumably it does, though).

  • The render routines return a reference to a scalar, which is the formatted HTML.

    -item *

    for loops simplified.

SEE ALSO

See Blog::Simple, HTML::TokeParser.

AUTHOR

Lee Goddard (lgoddard -at- cpan -dot- org), Most of the work already done by J. A. Robson, <gilad@arbingersys.com>

COPYRIGHT

This module: Copyright (C) Lee Goddard, 2003, and J. A. Robson. All Rights Reserved. Made available under the same terms as Perl itself.