forked from HPR/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:
		
							
								
								
									
										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 | ||||||
|  |  | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user