forked from rho_n/hpr_generator
Add logic to process file arguments
Process all files if the special ALL argument is passed in, or process the list of files passed in as arguments.
This commit is contained in:
parent
dd8b9b655b
commit
dfaae39202
@ -11,7 +11,8 @@ siteGenerator - HPR Site Generator
|
|||||||
-v, --verbose use verbose mode
|
-v, --verbose use verbose mode
|
||||||
--help print this help message
|
--help print this help message
|
||||||
|
|
||||||
Where I<PAGE> is a file name of a web page.
|
Where I<PAGE> is a file name of a web page
|
||||||
|
or the special ALL (to generate all pages).
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
@ -51,12 +52,36 @@ sub main {
|
|||||||
pod2usage(1) unless @ARGV;
|
pod2usage(1) unless @ARGV;
|
||||||
my (@pages) = @ARGV;
|
my (@pages) = @ARGV;
|
||||||
|
|
||||||
|
# Set flag indicating whether or not to generate all pages.
|
||||||
|
# The flag is set to true if the special argument ALL is
|
||||||
|
# passed into the generator
|
||||||
|
my $ALL = grep { $_ eq 'ALL' } @pages;
|
||||||
|
|
||||||
# Load config file
|
# Load config file
|
||||||
read_config "site.cfg" => my %config;
|
read_config "site.cfg" => my %config;
|
||||||
|
|
||||||
my $tt = get_template_html($config{DBI});
|
my $tt = get_template_html($config{DBI});
|
||||||
generate_page($tt, $config{root_template}{content}, $config{correspondents}{navigation}, $config{correspondents}{content});
|
|
||||||
|
|
||||||
|
if ($ALL) {
|
||||||
|
@pages = keys %config;
|
||||||
|
|
||||||
|
# Remove non page sections of the configuration file
|
||||||
|
# from the generated list of pages.
|
||||||
|
@pages= grep { $_ ne 'DBI' } @pages;
|
||||||
|
@pages= grep { $_ ne 'root_template' } @pages;
|
||||||
|
};
|
||||||
|
foreach my $page (@pages) {
|
||||||
|
|
||||||
|
if (exists($config{$page})) {
|
||||||
|
verbose ($verbose, "Generating page: $page");
|
||||||
|
generate_page($tt, $config{root_template}{content}, $config{$page}{navigation}, $config{$page}{content});
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
verbose (1, "\nWarning: Page $page is not defined in the configuration file.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
verbose (1, "\nFinished processing the files.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,3 +116,12 @@ sub generate_page {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub verbose {
|
||||||
|
my ($verbose, $message) = @_;
|
||||||
|
if ($verbose) {
|
||||||
|
print "$message\n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print ".";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user