Initial commit

This commit is contained in:
Govindas 2022-01-21 12:16:26 +02:00
commit 1cb3e103a8
5 changed files with 57 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
website-output

1
About.page Normal file
View File

@ -0,0 +1 @@
About page

2
Home.page Normal file
View File

@ -0,0 +1,2 @@
Welcome!
This is the homepage of our website.

51
generate.py Normal file
View File

@ -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 + "<li><a href='" + split[1] + "'>" + split[0] + "</a></li>"
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("<ul>" + navbar + "</ul>" + str(doc))

2
navbar Normal file
View File

@ -0,0 +1,2 @@
Home;/
About;/about