feature: implement page building
This commit is contained in:
+22
-8
@@ -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")
|
||||
@@ -0,0 +1,53 @@
|
||||
<div class="row flex-lg-row-reverse align-items-top g-5">
|
||||
|
||||
<div class="col-lg-7">
|
||||
<iframe src="https://ajw.darc.de/lehrgangskarte/" width="100%" height="800px"></iframe>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item"><a href="lernen.html">Lernen</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Kurse vor Ort</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<h1>Kurse vor Ort</h1>
|
||||
<p>Erfahrene Ausbilder halten – meist einmal in der Woche abends – Lektionen. Zwischen den Treffen solltest du selbständig den Lernstoff vertiefen und üben.</p>
|
||||
|
||||
|
||||
<a class="btn btn-outline-secondary btn-sm px-4 gap-3" href="kurse_vor_ort_liste.html">Online-Kurse</a>
|
||||
|
||||
<hr class="col-md-12 mb-3">
|
||||
|
||||
<div><b>Ausbildungskurs</b></div>
|
||||
<div class="d-grid gap-4 d-sm-flex mb-2 align-items-center">
|
||||
<div class="d-grid gap-2 d-sm-flex mb-2 align-items-center">
|
||||
<img src="https://ajw.darc.de/lehrgangskarte/img/Lehrgang-neu.png">
|
||||
neu
|
||||
</div>
|
||||
<div class="d-grid gap-2 d-sm-flex mb-2 align-items-center">
|
||||
<img src="https://ajw.darc.de/lehrgangskarte/img/Lehrgang-begonnen.png">
|
||||
läuft
|
||||
</div>
|
||||
<div class="d-grid gap-2 d-sm-flex mb-2 align-items-center">
|
||||
<img src="https://ajw.darc.de/lehrgangskarte/img/Lehrgang-jederzeit.png">
|
||||
auf Anfrage
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div><b>Online-Kurs mit Präsenzanteil</b></div>
|
||||
<div class="d-grid gap-4 d-sm-flex mb-2 align-items-center">
|
||||
<div class="d-grid gap-2 d-sm-flex mb-2 align-items-center">
|
||||
<img src="https://ajw.darc.de/lehrgangskarte/img/Online-neu.png">
|
||||
neu
|
||||
</div>
|
||||
<div class="d-grid gap-2 d-sm-flex mb-2 align-items-center">
|
||||
<img src="https://ajw.darc.de/lehrgangskarte/img/Online-begonnen.png">
|
||||
läuft
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item"><a href="lernen.html">Lernen</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Kurse vor Ort</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<h1>Kurse vor Ort</h1>
|
||||
<p>Erfahrene Ausbilder halten – meist einmal in der Woche abends – Lektionen. Zwischen den Treffen solltest du selbständig den Lernstoff vertiefen und üben.</p>
|
||||
|
||||
|
||||
<a class="btn btn-outline-secondary btn-sm px-4 gap-3" href="kurse_vor_ort_karte.html">Kartenansicht</a>
|
||||
|
||||
<hr class="col-md-12 mb-3">
|
||||
|
||||
<script src="https://darc.de/fileadmin/config/Resources/Public/JavaScript/tx_t3jquery/jquery-1.8.x-1.9.x-1.2.x.js?1619439474" type="text/javascript"></script>
|
||||
<script id="onlinekurse" type="text/javascript" src="https://ajw.darc.de/lehrgangskarte/onlinelehrgaenge.js"></script>
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
|
||||
<li class="breadcrumb-item"><a href="lernen.html">Lernen</a></li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Ausbildungspaten</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row flex-lg-row-reverse align-items-top g-5 py-1">
|
||||
<div class="col-lg-7">
|
||||
<iframe src="https://ajw.darc.de/patenkarte/" width="100%" height="800px"></iframe>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<h1>Ausbildungspaten</h1>
|
||||
<p>Die DARC-Ausbildungspaten sind erfahrene Funkamateure und helfen dir gerne beim Einstieg in den Amateurfunk. Sie beantworten Fragen, Helfen beim Lernen und können mit dir praktischen Ausbildungsfunk machen.</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user