forked from rho_n/hpr_generator
Initial add of site-generator app and config file
A Perl program which uses Template Toolkit to generate static html files for Hacker Public Radio. Signed-off-by: Roan Horning <roan.horning@gmail.com>
This commit is contained in:
parent
158550d7e2
commit
5cb694de14
61
site-generator
Executable file
61
site-generator
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
siteGenerator - HPR Site Generator
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
siteGenerator [OPTION]... PAGE...
|
||||||
|
|
||||||
|
-v, --verbose use verbose mode
|
||||||
|
--help print this help message
|
||||||
|
|
||||||
|
Where I<PAGE> is a file name of a web page.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
Generate two specific pages:
|
||||||
|
siteGenerator index about
|
||||||
|
|
||||||
|
Generate the whole site:
|
||||||
|
siteGenerator ALL
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
This is a site generator based upon the Perl Templates Toolkit.
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Roan Horning <roan.horning@no-spam.gmail.com>
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Getopt::Long qw(:config auto_help);
|
||||||
|
use Pod::Usage;
|
||||||
|
use Config::Std;
|
||||||
|
|
||||||
|
exit main();
|
||||||
|
|
||||||
|
sub main {
|
||||||
|
|
||||||
|
# Argument parsing
|
||||||
|
my $verbose;
|
||||||
|
GetOptions(
|
||||||
|
'verbose' => \$verbose,
|
||||||
|
) or pod2usage(1);
|
||||||
|
pod2usage(1) unless @ARGV;
|
||||||
|
my (@pages) = @ARGV;
|
||||||
|
|
||||||
|
# Load config file
|
||||||
|
read_config "site.cfg" => my %config;
|
||||||
|
|
||||||
|
use Data::Dumper 'Dumper';
|
||||||
|
warn Dumper [ \%config ];
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
23
site.cfg
Normal file
23
site.cfg
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Configure the navigation menu and the content templates for each page
|
||||||
|
# of the site:
|
||||||
|
# [page_name]
|
||||||
|
# navigation: <name of navigation template>
|
||||||
|
# content: <name of page content template>
|
||||||
|
|
||||||
|
[index]
|
||||||
|
naviation: navigation-main.tpl.html
|
||||||
|
content: content-index.tpl.html
|
||||||
|
|
||||||
|
[about]
|
||||||
|
navigation: navigation-about.tpl.html
|
||||||
|
content: content-about.tpl.html
|
||||||
|
|
||||||
|
[correspondents]
|
||||||
|
navigation: navigation-about.tpl.html
|
||||||
|
content: content-correspondents.tpl.html
|
||||||
|
|
||||||
|
[contact]
|
||||||
|
navigation: navigation-about.tpl.html
|
||||||
|
content: content-contact.tpl.html
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user