forked from HPR/hpr_generator
		
	Merge pull request '[I92] paramertize paths for configuration, templates, and HTML files' (#93) from I92-templates_and_output_directory_options into main
Reviewed-on: rho_n/hpr_generator#93
This commit is contained in:
		| @@ -8,12 +8,13 @@ | ||||
|  | ||||
| 	site-generator [OPTION]... PAGE|PAGE=<comma separated list of ids>... | ||||
|  | ||||
| 	-a, --all      generate all pages defined in configuration file | ||||
| 	-l, --list     print list of configured pages | ||||
| 	-p, --preview  print generated pages to standard out | ||||
| 	-q, --quiet    suppress progress information while generating pages | ||||
| 	-v, --verbose  print extended progress information while generating pages | ||||
| 	--help         print this help message | ||||
| 	-a, --all       generate all pages defined in configuration file | ||||
| 	-c, --configure path to configuration file | ||||
| 	-l, --list      print list of configured pages | ||||
| 	-p, --preview   print generated pages to standard out | ||||
| 	-q, --quiet     suppress progress information while generating pages | ||||
| 	-v, --verbose   print extended progress information while generating pages | ||||
| 	--help          print this help message | ||||
|  | ||||
| 	Where I<PAGE> is a file name of a web page  | ||||
| 	or the special I<ALL> (to generate all pages). | ||||
| @@ -109,15 +110,17 @@ sub main { | ||||
|  | ||||
| 	# Argument parsing | ||||
| 	my $all; | ||||
| 	my $configuration_path; | ||||
| 	my $preview; | ||||
| 	my $verbose; | ||||
| 	my $quiet; | ||||
| 	GetOptions( | ||||
| 		'all'     => \$all, | ||||
| 		'list'    => \&print_available_pages, | ||||
| 		'preview' => \$preview, | ||||
| 		'verbose' => \$verbose, | ||||
| 		'quiet'   => \$quiet, | ||||
| 		'all'			=> \$all, | ||||
| 		'configuration=s' => \$configuration_path, | ||||
| 		'list'			=> \&print_available_pages, | ||||
| 		'preview'		=> \$preview, | ||||
| 		'verbose'		=> \$verbose, | ||||
| 		'quiet'			=> \$quiet, | ||||
| 	) or pod2usage(1); | ||||
| 	pod2usage(1) unless @ARGV || $all; | ||||
| 	my (@page_args) = @ARGV; | ||||
| @@ -126,10 +129,21 @@ sub main { | ||||
| 		$verbose = 'quiet'; | ||||
| 	}; | ||||
|  | ||||
| 	# Load config file | ||||
| 	read_config "site.cfg" => my %config; | ||||
| 	if (!$configuration_path) { | ||||
| 		$configuration_path = "site.cfg"; | ||||
| 	} | ||||
|  | ||||
| 	my $tt = get_template_html($config{DBI}); | ||||
| 	my %config; | ||||
| 	if ( -f $configuration_path ) { | ||||
| 		# Load config file | ||||
| 		read_config $configuration_path => %config; | ||||
| 	} | ||||
| 	else { | ||||
| 		print STDOUT "Could not read configuration file: $configuration_path\n";  | ||||
| 		exit 1; | ||||
| 	} | ||||
|  | ||||
| 	my $tt = get_template_html($config{DBI}, $config{app_paths}); | ||||
|  | ||||
| 	# If command line option all is set, parse configuration file  | ||||
| 	# for all pages | ||||
| @@ -140,7 +154,7 @@ sub main { | ||||
| 		# from the generated list of pages. | ||||
| 		@page_args= grep { $_ ne 'DBI' } @page_args; | ||||
| 		@page_args= grep { $_ ne 'root_template' } @page_args; | ||||
| 		@page_args= grep { $_ ne 'media_hostname' } @page_args; | ||||
| 		@page_args= grep { $_ ne 'app_paths' } @page_args; | ||||
|  | ||||
| 	}; | ||||
| 	foreach my $page_arg (@page_args) { | ||||
| @@ -193,8 +207,8 @@ sub get_template_html (\%@)  { | ||||
| 	# HTML comments to make the template file valid HTML. | ||||
| 	# | ||||
| 	return Template->new({ | ||||
| 			INCLUDE_PATH => './templates', | ||||
| 			OUTPUT_PATH	 => './public_html', | ||||
| 			INCLUDE_PATH => $_[1]{templates_path}, | ||||
| 			OUTPUT_PATH	 => $_[1]{output_path}, | ||||
| 			EVAL_PERL    => 1, | ||||
| 			START_TAG	 => '<!--%', | ||||
| 			END_TAG		 => '%-->', | ||||
|   | ||||
							
								
								
									
										5
									
								
								site.cfg
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								site.cfg
									
									
									
									
									
								
							| @@ -13,6 +13,11 @@ | ||||
| #user: hpr-generator  (Suggested user with read-only privileges) | ||||
| #password: *********  (Password for user) | ||||
|  | ||||
| # Configure the location of the templates and the generated HTML | ||||
| [app_paths] | ||||
| templates_path: ./templates | ||||
| output_path: ./public_html | ||||
|  | ||||
| # Configure the root template page which pulls in the navigation and  | ||||
| # content templates used by each page. An optional baseurl property may  | ||||
| # be defined. This is useful when opening files directly from local  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user