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.