#!/usr/bin/env perl # vim: ts=8 sts=4 et sw=4 sr sta use strict; use warnings; use Zucchini::Version; our $VERSION = $Zucchini::VERSION; use Getopt::Long; use Pod::Usage; use version; use Zucchini; # evil globals my ($zucchini, %cliopt); # get command-line options from user GetOptions ( \%cliopt, 'config_file|f=s', 'create-config!', 'dry-run!', 'force!', 'fsync!', 'fsync-only!', 'ftp-debug', 'help!', 'quiet', 'rsync!', 'rsync-only!', 'showdest!', 'showpath!', 'site=s', 'sites', 'v|verbose+', 'version!' ); if ($cliopt{help}) { pod2usage(); # exits for us } if ($cliopt{version}) { my $vstring = version->new($VERSION)->normal; print "Zucchini ($vstring)\n"; exit; } # create a new zucchini object $zucchini = Zucchini->new( \%cliopt ); # call the high-level function that works out what needs doing ... and does it $zucchini->gogogo; exit; # all done __END__ =pod =head1 NAME zucchini - script to generate and upload template based websites =head1 DESCRIPTION TODO =head1 SYNOPSIS zucchini [options] --site=LABEL process the site called LABEL --config=FILE use an alternative configuration file [you may also use -f FILE] --force force all templates to be regenerated --showpath show paths relative from site's --showdest show full path to files written to site's --rsync transfer generated site to server using rsync --rsync-only transfer generated site to server using rsync [do not regenerate site first] --dry-run perform a dry-run of the rsync - do not transfer any files --fsync transfer generated site to server using fsync --fsync-only transfer generated site to server using fsync [do not regenerate site first] --ftp-debug show FTP debugging information --create-config write a new (sample) config file as ~/.zucchini --verbose increase the verbosity of the script can be used multiple times to increase further --version output the version string --help display this help information =head1 SEE ALSO Zucchini =head1 AUTHOR Chisel Wright C<< >> =head1 LICENSE Copyright 2008 by Chisel Wright This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See =cut