commit 1cb3e103a8f639e456d1e5b22782a89ac7e8c5a2 Author: Govindas Date: Fri Jan 21 12:16:26 2022 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5fbb87 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +website-output diff --git a/About.page b/About.page new file mode 100644 index 0000000..e718280 --- /dev/null +++ b/About.page @@ -0,0 +1 @@ +About page diff --git a/Home.page b/Home.page new file mode 100644 index 0000000..a38dc49 --- /dev/null +++ b/Home.page @@ -0,0 +1,2 @@ +Welcome! +This is the homepage of our website. diff --git a/generate.py b/generate.py new file mode 100644 index 0000000..b39c488 --- /dev/null +++ b/generate.py @@ -0,0 +1,51 @@ +import os +from html5tagger import Document, E +from shutil import rmtree + +#if homepage is at Home.page, set homepage to "Home" +homepage = "Home" + +try: + os.mkdir("./website-output") +except FileExistsError: + print("Output directory already exists, let's clean it!") + + #deleting contents of folder without deleting the folder, to increase compatibility with various systems + for root, dirs, files in os.walk('./website-output'): + for f in files: + os.unlink(os.path.join(root, f)) + for d in dirs: + rmtree(os.path.join(root, d)) + +#generate navigation bar +navbarfound = False +if os.path.exists("./navbar"): + with open("./navbar", 'r') as navbarfile: + navbarfound = True + navbar = "" + for line in navbarfile.readlines(): + split = line.strip().split(";", 1) + navbar = navbar + "
  • " + split[0] + "
  • " + print(navbar) +else: + print("No 'navbar' file found, there will be no navigation bar.") + +#generate pages +for file in os.listdir("./"): + if file.endswith(".page"): + with open(file, 'r') as page: + pagetitle = os.path.basename(file).replace(".page", "") + doc = Document(pagetitle, lang="en") + for line in page.readlines(): + doc.p(line.strip()) + + #creates ./website-output/pagetitle/index.html file if it is not homepage + if pagetitle == homepage: + foldername = "" + else: + foldername = "/" + pagetitle.replace(" ", "-").lower() + os.mkdir("./website-output" + foldername) + + with open("./website-output" + foldername + "/index.html", 'w') as newpage: + if navbarfound: + newpage.write("" + str(doc)) diff --git a/navbar b/navbar new file mode 100644 index 0000000..e1de320 --- /dev/null +++ b/navbar @@ -0,0 +1,2 @@ +Home;/ +About;/about