summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordaniel-Jones <daniel@danieljon.es>2018-01-27 12:03:38 +1030
committerdaniel-Jones <daniel@danieljon.es>2018-01-27 12:03:38 +1030
commit39c5033dce652b663260e754884f33a0d2d7d0ff (patch)
tree2ebf3a0b6fafb83db879d186c5bbb923abd11aaa
parent9a073980788faebe4f947b7c31e212375af277c4 (diff)
downloadwebsite-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.py63
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