diff options
author | daniel-Jones <daniel@danieljon.es> | 2018-01-27 12:03:38 +1030 |
---|---|---|
committer | daniel-Jones <daniel@danieljon.es> | 2018-01-27 12:03:38 +1030 |
commit | 39c5033dce652b663260e754884f33a0d2d7d0ff (patch) | |
tree | 2ebf3a0b6fafb83db879d186c5bbb923abd11aaa | |
parent | 9a073980788faebe4f947b7c31e212375af277c4 (diff) | |
download | website-39c5033dce652b663260e754884f33a0d2d7d0ff.tar.gz website-39c5033dce652b663260e754884f33a0d2d7d0ff.zip |
added ability to generate copies with different themes. first argument is the template file to use, second argument is the name of the directory that will be used
-rw-r--r-- | generatesite.py | 63 |
1 files changed, 42 insertions, 21 deletions
diff --git a/generatesite.py b/generatesite.py index 071f478..919570e 100644 --- a/generatesite.py +++ b/generatesite.py @@ -8,6 +8,7 @@ import configparser; import errno; import os; import glob; +import sys; from shutil import copyfile; from tempfile import mkstemp; from shutil import move; @@ -23,9 +24,11 @@ def replace(file_path, pattern, subst): remove(file_path); move(abs_path, file_path); -def generateindex(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateindex(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); indexsrc = cfg.get("index", "src"); print("generating {}/index.html from {}".format(outdir, indexsrc)); copyfile(template, outdir + "/index.html"); @@ -47,9 +50,11 @@ def generatepagebar(currentpage, pagecount): pages += "<a href='" + str(1 if currentpage == pagecount else int(currentpage)+1) + "'>next</a></div>"; return pages; -def generateportfolio(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateportfolio(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); portfoliosrc = cfg.get("portfolio", "src"); print("generating {}/portfolio.html from {}".format(outdir, portfoliosrc)); copyfile(template, outdir + "/portfolio.html"); @@ -67,9 +72,11 @@ def deletefiles(ddir): if os.path.isfile(file_path): os.unlink(file_path); -def generateblog(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateblog(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); blogdir = cfg.get("blog", "dir"); directdir = cfg.get("blog", "direct"); blogsrc = cfg.get("blog", "srcdir"); @@ -139,11 +146,14 @@ def generateblog(): -def generateopinions(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generateopinions(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); opinionssrc = cfg.get("opinions", "src"); opinionsdir = cfg.get("opinions", "dir"); + os.makedirs(outdir + "/" + opinionsdir, exist_ok=True); print("generating {}/{}/index.html from {}".format(outdir, opinionsdir, opinionssrc)); copyfile(template, outdir + "/" + opinionsdir + "/index.html"); with open(opinionssrc, "r") as contentfile: @@ -174,11 +184,14 @@ def generateopinions(): replace(outdir + "/" + opinionsdir + "/everything.html", "{TIME}", strftime("%Y-%m-%d %H:%M:%S", gmtime())); -def generatewaifus(): - template = cfg.get("output", "template"); - outdir = cfg.get("output", "dir"); +def generatewaifus(special): + if special: + outdir = specialoutput; + else: + outdir = cfg.get("output", "dir"); waifussrc = cfg.get("waifus", "src"); waifusdir = cfg.get("waifus", "dir"); + os.makedirs(outdir + "/" + waifusdir, exist_ok=True); print("generating {}/{}/index.html from {}".format(outdir, waifusdir, waifussrc)); copyfile(template, outdir + "/" + waifusdir + "/index.html"); with open(waifussrc, "r") as contentfile: @@ -191,9 +204,17 @@ def generatewaifus(): if __name__ == "__main__": cfg = configparser.ConfigParser(); cfg.read("settings.cfg"); - os.makedirs(cfg.get("output", "dir"), exist_ok=True); - generateindex(); # index - generateblog(); # blog with individual pages - generateportfolio(); # portfolio - generateopinions(); # opinions/anime - generatewaifus(); # my waifus + orgoutdir = cfg.get("output", "dir"); + if len(sys.argv) > 2: + template = sys.argv[1]; + special = True; # if set output will be output/sys.argv[2] + specialoutput = orgoutdir + "/" + sys.argv[2]; + else: + special = False; + template = cfg.get("output", "template"); + os.makedirs(orgoutdir, exist_ok=True); + generateindex(special); # index + generateblog(special); # blog with individual pages + generateportfolio(special); # portfolio + generateopinions(special); # opinions/anime + generatewaifus(special); # my waifus |