feature: implement page building

This commit is contained in:
Prof. Dr. Matthias Jung DL9MJ
2025-06-24 22:04:13 +02:00
committed by Tim Grelka
parent 952006fa3a
commit 43e7bdc118
4 changed files with 113 additions and 8 deletions
+22 -8
View File
@@ -190,8 +190,7 @@ class Build:
def build_assets(self):
shutil.copytree("assets", "build/assets", dirs_exist_ok=True)
def __build_index(self):
template = self.env.get_template("index.html")
def __parse_snippets(self):
with open("data/snippets.json") as f:
snippets = json.load(f)
@@ -200,14 +199,29 @@ class Build:
snippets[key] = renderer.render_inner(Document(value))
# Remove leading <p> and trailing </p>:
snippets[key] = snippets[key][3:-4]
return snippets
result = template.render({"snippets": snippets})
def __build_index(self, snippets):
template = self.env.get_template("index.html")
result = template.render({"snippets": snippets})
with open("build/index.html", "w") as file:
result = self.__build_page(result)
result = BeautifulSoup(result, "html.parser").prettify()
file.write(result)
with open("build/index.html", "w") as file:
result = self.__build_page(result)
result = BeautifulSoup(result, "html.parser").prettify()
file.write(result)
def __build_course_page(self, snippets, template, page):
template = self.env.get_template(f"{template}.html")
result=template.render({"snippets": snippets})
with open(f"build/{page}.html", "w") as file:
result = self.__build_page(result)
result = BeautifulSoup(result, "html.parser").prettify()
file.write(result)
def build_website(self):
self.__build_index()
snippets = self.__parse_snippets()
self.__build_index(snippets)
self.__build_course_page(snippets, "kurse-karte", "kurse_vor_ort_karte")
self.__build_course_page(snippets, "kurse-liste", "kurse_vor_ort_liste")
self.__build_course_page(snippets, "patenkarte", "patenkarte")