URI: 
       LSG.pm - lsg - Lumidify Site Generator
  HTML git clone git://lumidify.org/lsg.git (fast, but not encrypted)
  HTML git clone https://lumidify.org/lsg.git (encrypted, but very slow)
  HTML git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/lsg.git (over tor)
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       LSG.pm (1369B)
       ---
            1 #!/usr/bin/env perl
            2 
            3 # LSG.pm - Lumidify Site Generator
            4 # Written by lumidify <nobody@lumidify.org>
            5 #
            6 # To the extent possible under law, the author has dedicated
            7 # all copyright and related and neighboring rights to this
            8 # software to the public domain worldwide. This software is
            9 # distributed without any warranty.
           10 #
           11 # You should have received a copy of the CC0 Public Domain
           12 # Dedication along with this software. If not, see
           13 # <http://creativecommons.org/publicdomain/zero/1.0/>.
           14 
           15 # Note: cross-platform path processing is used wherever possible, but
           16 # other parts won't work properly anyways if the path separator isn't /.
           17 # Good that nobody important uses any OS on which that's the case.
           18 
           19 package LSG;
           20 use strict;
           21 use warnings;
           22 use LSG::Config;
           23 use LSG::Template;
           24 use LSG::UserFuncs;
           25 use LSG::Metadata;
           26 use LSG::Generate;
           27 use Data::Dumper;
           28 
           29 # FIXME: don't just chdir into $path, in case that messes up anything
           30 # the calling script wanted to do afterwards
           31 sub init {
           32         my $path = shift;
           33         chdir($path) or die "Unable to access directory \"$path\": $!\n";
           34         LSG::Config::init_config("config.ini", "modified_dates");
           35         LSG::Template::init_templates();
           36         LSG::Metadata::init_metadata();
           37         LSG::UserFuncs::init_userfuncs();
           38 }
           39 
           40 sub generate_site {
           41         LSG::Generate::gen_files();
           42         LSG::Generate::delete_obsolete();
           43         LSG::Config::write_modified_dates("modified_dates");
           44 }
           45 
           46 1;