NAME
App::Followme::FileData
SYNOPSIS
use App::Followme::FileData;
my $data = App::Followme::FileData->new();
my $html = App::Followme::Template->new('example.htm', $data);
DESCRIPTION
This module extracts data from a file. It assumes the file is a text file with the metadata in a nested text block preceding a content block that is in html format or convertible to html format. The two sections are separated by a line of three or more dots. These asumptions can be overriden by overriding the methods in the class. Like the other data classes, this class is normally called by the Template class and not directly by user code.
METHODS
All data classes are first instantiated by calling new and the object created is passed to a template object. It calls the build method with an argument name to retrieve that data item, though for the sake of efficiency, all the data are read from the file at once.
VARIABLES
The file metadata class can evaluate the following variables. When passing a name to the build method, the sigil should not be used.
- $body
-
The main content of the file.
- $description
-
A one sentence description of the file contents
- $date
-
The creation date of a file. The display format is controlled by the configuration variable, data_format
- $summary
-
A summary of the file's contents, by default the first paragraph.
- $title
-
The title of the file, either derived from the content or the file metadata.
CONFIGURATION
This class has the following configuration variable:
- base_directory
-
The top directory containing the files to be processed
- title_template
-
A set of html tags that bound the title in the file's contents. The default value is "<h1></h1>".
LICENSE
Copyright (C) Bernie Simon.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Bernie Simon <bernie.simon@gmail.com>