#!/usr/bin/perl -w
my $RCS_Id = '$Id: tt2site,v 1.5 2005/02/27 15:34:03 jv Exp $ ';
# Author : Johan Vromans
# Created On : Mon Dec 6 21:48:07 2004
# Last Modified By: Johan Vromans
# Last Modified On: Fri Feb 4 21:12:51 2005
# Update Count : 153
# Status : Unknown, Use with caution!
################ Common stuff ################
use strict;
# Package name.
my $my_package = 'TT2Site';
# Program name and version.
my ($my_name, $my_version) = $RCS_Id =~ /: (.+),v ([\d.]+)/;
# Tack '*' if it is not checked in into RCS.
$my_version .= '*' if length('$Locker: $ ') > 12;
################ The Process ################
BEGIN {
if ( $ENV{TT2SITE_LIB} ) {
unshift(@INC, $ENV{TT2SITE_LIB});
}
}
use Template::TT2Site;
sub ident(*);
sub usage(;$);
@ARGV = qw(build) unless @ARGV;
use Getopt::Long qw(:config require_order no_ignore_case pass_through);
GetOptions("ident" => sub { ident(*STDERR) },
"version|V" => sub { ident(*STDOUT); exit(0); },
"help" => sub { usage(0); },
)
or usage(2);
Template::TT2Site->execute(@ARGV);
################ Subroutines ################
sub ident(*) {
my $fd = shift;
print $fd ("This is $my_package [$my_name $my_version] ",
"using Template::TT2Site version ",
$Template::TT2Site::VERSION, "\n");
}
sub usage(;$) {
my $ret = shift;
my $usage = "Usage: tt2site [ options ] command\n";
if ( defined($ret) && $ret ) {
print STDERR $usage,
"Use \"--help\" for a list of commands\n";
}
else {
print STDOUT $usage, "\n",
"Commands:\n\n";
Template::TT2Site->command_help;
}
exit($ret) if $ret;
}
__END__
=head1 NAME
tt2site - Template Toolkit site builder
=head1 SYNOPSIS
tt2site [options] [setup|build|rebuild|clean|realclean]
Options:
--ident show identification and TT2Site version
--version -V show identification and TT2Site version, and exit
--help --usage show command usage, and exit
=head1 COMMANDS
NOTE: For the actual commands supported by this particular version,
use the C<--help> option.
Commands that are usually supported:
=over 8
=item B<setup>
Initialises a new site directory. This command must be run once before
you can do anything else.
=item B<build>
Runs the C<ttree> application to update the site files.
=item B<rebuild>
Runs the C<ttree> application to completely rebuild all site files.
=item B<clean>
Cleans the generated HTML files, and editor backup files.
=item B<realclean>
Cleans the generated HTML files, editor backup files, and all files
originally installed using the B<setup> command.
You'll be asked for confirmation before your files are removed.
=back
=head1 OPTIONS
=over 8
=item B<--version> B<-V>
Prints a version identification to standard output and exits.
=item B<--help>
Prints a brief help message to standard output and exits.
=item B<--ident>
Prints a program identification.
=back
=head1 DESCRIPTION
B<tt2site> is the main tool to use the C<Template::TT2Site> program.
For more information, see the HTML documentation in the
distribution, or visit the web site at
L<http://www.squirrel.nl/people/jvromans/tt2site/index.html>.
=head1 AUTHOR
Johan Vromans <jvromans@squirrel.nl>
=head1 COPYRIGHT
This programs is Copyright 2004-2005, Squirrel Consultancy.
This program is free software; you can redistribute it and/or modify
it under the terms of the Perl Artistic License or the GNU General
Public License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
=cut