From 818fc25ff9256081056e378abeb6c170e80d57a6 Mon Sep 17 00:00:00 2001 From: Roan Horning Date: Mon, 8 Aug 2022 21:30:22 -0400 Subject: [PATCH] Add option to site-generator to list configured pages --- site-generator | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/site-generator b/site-generator index 6cdc0a3..99ef842 100755 --- a/site-generator +++ b/site-generator @@ -8,6 +8,7 @@ site-generator [OPTION]... PAGE|PAGE=... + -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 @@ -95,6 +96,7 @@ sub main { my $verbose; my $quiet; GetOptions( + 'list' => \&print_available_pages, 'preview' => \$preview, 'verbose' => \$verbose, 'quiet' => \$quiet, @@ -275,3 +277,20 @@ sub get_filename { } return $filename; } + +sub print_available_pages { + # Load config file + read_config "site.cfg" => my %config; + + my @page_args = sort (keys %config); + + # Remove non page sections of the configuration file + # from the generated list of pages. + @page_args= grep { $_ ne 'DBI' } @page_args; + @page_args= grep { $_ ne 'root_template' } @page_args; + + foreach my $page_arg (@page_args) { + print "$page_arg\n"; + } + exit; +}