diff options
Diffstat (limited to '')
-rwxr-xr-x | slides/website-slides | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/slides/website-slides b/slides/website-slides new file mode 100755 index 0000000..a6a774c --- /dev/null +++ b/slides/website-slides @@ -0,0 +1,66 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i perl -p less git perl --pure -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-18.09.tar.gz + +=head1 NAME + +website slides - Create new HTML slide presentations from org-mode template. + +=head1 SYNOPSIS + +website slides [options] + + Options: + --help Show the manpage. + --name The name of the folder containing the slideshow. + +=head1 OPTIONS + +=over 4 + +=item B<-h, --help> + +Prints the manual page and exits. + +=item B<-n, --name> + +The name of the folder containing the slideshow. + +=back + +=head1 DESCRIPTION + +B<website slides> creates an slideshow org-mode text files, that are later processed to produce HTML to be deployed statically. + +=cut + +use strict; +use warnings; +use Getopt::Long qw(:config no_ignore_case bundling); +use Pod::Usage qw(pod2usage); +use File::Basename qw(dirname); +use File::Path qw(make_path); +use File::Copy qw(copy); + +my $help = 0; +my $name = ''; +GetOptions( + 'help|h|?' => \$help, + 'name|n=s' => \$name +) or pod2usage(-verbose => 1, -exitval => 2); +pod2usage(-verbose => 2, -exitval => 0) if $help; + +if (!$name) { + die "Missing required --name argument."; +} + +my $dirname = dirname(__FILE__); +chdir $dirname ; +make_path "$name/reveal.js/"; + +chdir "reveal.js/"; +`git --work-tree="../$name/reveal.js" checkout HEAD -- .`; +`git checkout \$(cat "../$name/reveal.js/VERSION" &> /dev/null || printf ".")`; +`git rev-parse HEAD > "../$name/VERSION"`; +chdir "../"; + +copy("base.org", "$name/index.org") or die "Failed to copy base.org file: $!"; |