NAME
App::Followme::FolderData - Build metadata from folder information
SYNOPSIS
use Cwd;
use App::Followme::FolderData;
my $directory = cwd();
my $data = App::Followme::FolderData->new(directory => $directory);
@filenames = $data->get_files();
foreach my $filename (@filename) {
print "$filename\n";
}
DESCRIPTION
This module contains the methods that build metadata values that can be computed from properties of the file system, that is, without opening a file or without regard to the type of file. It serves as the base of all the metadata classes that build metadata for specific file types.
METHODS
All data are accessed through the build method.
- my %data = $obj->build($name, $filename);
-
Build a variable's value. The first argument is the name of the variable. The second argument is the name of the file the metadata is being computed for. If it is undefined, the filename in the object is used.
VARIABLES
The folder metadata class can evaluate the following variables. When passing a name to the build method, the sigil should not be used.
- @all_files
-
A list of matching files in a directory and its subdirectories.
- @top_files
-
A list of the most recently created files in a directory and its subdirectory. The length of the list is determined by the configuration parameter list_length.
-
A list of breadcrumb filenames, which are the names of the index files above the filename passed as the argument.
-
A list of files with the same file root name as a specified file. This list is not filtered by the configuration variables extension and exclude.
- @files
-
A list of matching files in a directory.
- @folders
-
A list of folders under the default folder that contain an index file.
-
The name of the author of a file
- $absolute_url
-
The absolute url of a web page from a filename.
- $date
-
A date string built from the creation date of the file. The date is built using the template in date_format which contains the fields:
weekday, month,day, year, hour, minute,
andsecond.
- $mdate
-
A date string built from the modification date of the file. The date is built using the template in date_format which contains the fields:
weekday, month,day, year, hour, minute,
andsecond.
- $is_current
-
One if the filename matches the default filename, zero if it does not.
- $is_index
-
One of the filename is an index file and zero if it is not.
- $keywords
-
A list of keywords describing the file from the filename path.
- $remote_url
-
The remote url of a web page from a filename.
- $site_url
-
The url of the website. Does not have a trailing slash
- $index_url
-
The url of the index page in the same folder as a file.
- $title
-
The title of a file is derived from the file name by removing the filename extension, removing any leading digits,replacing dashes with spaces, and capitalizing the first character of each word.
- $url
-
Build the relative url of a web page from a filename.
- $url_base
-
Build the relative url of a filename minus any extension and trailing dot
- $extension
-
The extension of a filename.
- $url_next
-
Build the relative url of a web page from the next filename in the loop sequence. Empty string if there is no next filename.
- $url_previous
-
Build the relative url of a web page from the previous filename in the loop sequence. Empty string if there is no previous filename.
CONFIGURATION
The following fields in the configuration file are used in this class and every class based on it:
- filename
-
The filename used to retrieve metatdata from if no filename is passed to the build method.
- directory
-
The directory used to retrieve metadata. This is used by list valued variables.
- extension
-
A comma separated list of extensions of files to include in a list of files. If it is left empty, it is set to the web extension.
- date_format
-
The format used to produce date strings. The format is described in the POD for Time::Format.
- remote_url
-
The url of the remote website, e.g. http://www.cloudhost.com.
- site_url
-
The url of the local website, e.g. http://www.example.com.
- sort_numeric
-
If one, use numeric comparisons when sorting. If zero, use string comparisons when sorting.
- exclude_index
-
If the value of this variable is true (1) exclude the index page in the list of files. If it is false (0) include the index page. The default value is 0.
- exclude
-
The files to exclude when traversing the list of files. Leave as a zero length string if there are no files to exclude.
- exclude_dirs
-
The directories excluded while traversing the list of directories. The default value of this parameter is '.*,_*',
- web_extension
-
The extension used by web pages. This controls which files are returned. The default value is 'html'.
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>