X-Git-Url: https://git.exim.org/exim-website.git/blobdiff_plain/9d0f50e12e32b7cf6732e7f2924f3ce290933e43..af44fdf3233d792599ff095849f0721c1e1a299e:/script/gen diff --git a/script/gen b/script/gen index dfb174e..5015bce 100755 --- a/script/gen +++ b/script/gen @@ -15,6 +15,7 @@ use JavaScript::Minifier::XS; use Pod::Usage; use XML::LibXML; use XML::LibXSLT; +use FindBin qw'$Bin'; my $canonical_url = 'https://www.exim.org/'; @@ -133,8 +134,17 @@ sub do_doc { my $xml = XML::LibXML->new()->parse_file($xml_path) or die $!; ## Get the version number - my $version = $xml->findvalue('/book/bookinfo/revhistory/revision/revnumber'); - die "Unable to get version number\n" unless defined $version && $version =~ /^\d+(\.\d+)*$/; + my $version = do { + my $version = $xml->findvalue('/book/bookinfo/revhistory/revision/revnumber'); + die "Unable to get version number\n" + unless defined $version and $version =~ /^ + (? + \d+ # major + (?:\.\d+(?:\.\d+)?)? # (minor(.patch)) + ) + (?:-RC\d+)?$/x; # -RCX + $+{version}; + }; ## Prepend chapter filenames? my $prepend_chapter = $type eq 'filter' ? 'filter_' : ''; @@ -464,7 +474,7 @@ sub error_help { ## Parse arguments sub parse_arguments { - my %opt = ( spec => [], filter => [], help => 0, man => 0, web => 0, minify => 1, verbose => 0, localstatic => 0 ); + my %opt = ( spec => [], filter => [], help => 0, man => 0, web => 0, minify => 1, verbose => 0, localstatic => 0, tmpl => "$Bin/../templates" ); GetOptions( \%opt, 'help|h!', 'man!', 'web!', 'spec=s{1,}', 'filter=s{1,}', 'latest=s', 'tmpl=s', 'docroot=s', 'minify!', 'verbose!', 'localstatic!' @@ -506,11 +516,11 @@ __END__ =head1 NAME -gen.pl - Generate exim html documentation and website +gen - Generate exim html documentation and website =head1 SYNOPSIS -gen.pl [options] +gen [options] Options: --help display this help and exits @@ -590,7 +600,7 @@ Generates the exim website and HTML documentation. =head1 EXAMPLE - script/gen.pl \ + script/gen \ --web \ --spec docbook/*/spec.xml \ --filter docbook/*/filter.xml \