Layout-Anpassungen nach BS v5 Migration (#222)

This commit is contained in:
Denys Konovalov 2023-04-05 14:16:33 +02:00
parent 64f85e41c2
commit b9a30e3175
36 changed files with 308 additions and 232 deletions

@ -57,7 +57,8 @@
// venobox popup
$(document).ready(function () {
new VenoBox({
selector: '.vb-video'
selector: '.vb-video',
spinner: 'grid'
});
new VenoBox({
selector: '.vb-gallery',
@ -76,7 +77,8 @@
new Filterizr(
'.filtr-container',
{
layout: 'sameWidth'
layout: 'sameWidth',
gutterPixels: 10
}
);
}

@ -218,7 +218,6 @@ textarea.form-control {
justify-content: center;
.page-item {
margin: 0 10px;
&.active {
.page-link {
@ -228,11 +227,6 @@ textarea.form-control {
}
}
&:first-child .page-link,
&:last-child .page-link {
border-radius: 0;
}
.page-link {
color: $text-color;
}
@ -376,11 +370,6 @@ details[open] summary {
}
}
#wc-canvas {
width: 100%;
height: 400px;
}
.top-banner {
padding-top: 160px !important;
}
@ -402,4 +391,9 @@ details[open] summary {
.fb-tile-icon {
font-size: 96px;
}
.wc-canvas {
width: 100%;
height: 600px;
}

@ -14,4 +14,4 @@ $gray: #f8f8f8;
// Font Variables
$primary-font: 'Fira Sans', sans-serif;
$secondary-font: 'Fira Sans', sans-serif;
$icon-font: 'Material Design Icons';
$icon-font: 'Material Design Icons';

@ -36,7 +36,7 @@ params:
- https://assets.cantorgymnasium.de/fonts/fira/fira.css
- https://assets.cantorgymnasium.de/fonts/tilt-warp/tilt-warp.css
js:
- https://assets.cantorgymnasium.de/bootstrap/v5/js/bootstrap.min.js
- https://assets.cantorgymnasium.de/bootstrap/v5/js/bootstrap.bundle.min.js
- https://assets.cantorgymnasium.de/slick/v1.8/slick.min.js
- https://assets.cantorgymnasium.de/lazyload/v17/dist/lazyload.min.js
head_js:

@ -12,7 +12,7 @@ aliases:
Seit 1995, dem Jahr des 150. Geburtstages Georg Cantors, wird jährlich ein herausragender Schüler bzw. eine herausragende Schülerin mit dem Cantorpreis geehrt. Die Preisträger erhalten einen vom Förderverein des Georg-Cantor-Gymnasiums gestifteten Zinnbecher mit Motiven der Stadt Halle und 150€ Preisgeld. Mit diesem Preis werden Schüler für besondere Leistungen und Engagement für unsere Schule ausgezeichnet. In den einzelnen Jahren unser Chronik werden die Cantorpreisträger vorgestellt
{{< image src="/media/about/cantorpreis.webp" >}}
{{< image src="/media/schulchronik/1995/cantorpreis.webp" >}}
## 2. Die Kultur- und Wissenschaftswoche

@ -2,18 +2,27 @@
title: Kontakt
draft: false
bg_image: media/backgrounds/page-title.webp
description: Eine Nachricht schreiben.
description: Wenn Sie noch weitere Fragen haben, können Sie hier eine Nachricht an die Schulleitung schreiben.
kontaktdaten:
- name: Herr OStD Dr. Bernd Gorsler
position: Schulleiter
email: gorsler@cantor-gymnasium.de
- name: Frau StD Claudia Schapitz
position: stellv. Schulleiterin
email: schapitz@cantor-gymnasium.de
- name: Herr Dr. Andreas Koch
position: Oberstufenkoordinator
email: koch@cantor-gymnasium.de
- name: Herr Falko Plinke
position: Koordinator für Planung
email: plinke@cantor-gymnasium.de
- name: Frau Gabriele Felke
position: Koordinatorin für den inhaltlichen Schwerpunkt
email: felke@cantor-gymnasium.de
- name: Frau S. Kretzschmar / Frau J.-M. Jaschak
position: Sekretariat
email: schulleitung@cantor-gymnasium.de
---
Wenn Sie noch weitere Fragen haben, können Sie hier eine Nachricht an die Schulleitung schreiben.
| | | |
|---|---|---|
|Schulleiter|Herr OStD Dr. Bernd Gorsler|[gorsler(at)cantor-gymnasium.de](mailto:gorsler@cantor-gymnasium.de)|
|stellv. Schulleiterin|Frau StD Claudia Schapitz|[schapitz(at)cantor-gymnasium.de](mailto:schapitz@cantor-gymnasium.de)|
|Oberstufenkoordinator|Herr Dr. Andreas Koch|[koch(at)cantor-gymnasium.de](mailto:koch@cantor-gymnasium.de)|
|Koordinator für Planung|Herr Falko Plinke|[plinke(at)cantor-gymnasium.de](mailto:plinke@cantor-gymnasium.de)|
|Koordinatorin für den inhaltlichen Schwerpunkt|Frau Gabriele Felke|[felke(at)cantor-gymnasium.de](mailto:felke@cantor-gymnasium.de)|
|Sekretariat|Frau S. Kretzschmar / Frau J.-M. Jaschak|[schulleitung(at)cantor-gymnasium.de](mailto:schulleitung@cantor-gymnasium.de), Tel.: [+49-0345/6903156](tel:+493456903156), Fax.: [+49-0345/6903157](tel:+493456903157)|

@ -13,18 +13,19 @@ analogen Schulchronik gesammelt sind. Seit 2011 sind wir vom Digitalisierungswah
befallen und haben eine eigene Homepage erstellt, die als Teil der Schulhomepage
jedem Interessierten die wechselvolle Geschichte des GCG präsentiert.
---
<div class="row">
<div class="col-md-3 col-12">
<img src="/media/schulchronik/cantor1.webp">
<div class="card mb-3">
<div class="row g-0">
<div class="col-md-3">
<img src="/media/schulchronik/cantor1.webp" class="img-fluid rounded w-100" alt="...">
</div>
<div class="col-md-9 d-flex align-items-center">
<div class="card-body">
<p class="h2 card-title">"Aus dem Paradies, das Cantor uns geschaffen, soll uns niemand vertreiben können."</p>
<p class="card-text"><small class="text-muted">aus 'David Hilbert, Über das Unendliche', Math. Ann. 95</small></p>
</div>
</div>
</div>
</div>
<div class="col-md-9 col-12">
<p class="fs-1 fw-bold">"Aus dem Paradies, das Cantor uns geschaffen, soll uns niemand vertreiben können."</p>
aus 'David Hilbert, Über das Unendliche', Math. Ann. 95
</div>
</div>
---
## Statistische Daten

@ -306,9 +306,6 @@ tiles:
bg_color: "#0051e5"
icon: mdi mdi-all-inclusive
content: >
## **Flashmob**
Unser geliebtes Gymnasium feierte im Jahr 2018 sein 30-jähriges Jubiläum.
Nach reichlicher Überlegung kam unserem Schuldirektor Herrn Gorsler

@ -1,6 +1,6 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="card-body">
<h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 30 }}</a></h4>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>{{ i18n "show_more"}}</a>
</div>
</div>

@ -1,7 +1,9 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.image | relURL }}" alt="{{ .Title }}"></a>
<div class="card-body">
<h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm text-uppercase" data-pagefind-ignore>{{ i18n "read_more"}}</a>
<a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.image | relURL }}"
alt="{{ .Title }}"></a>
<div class="card-body d-flex flex-column">
<h4 class="card-title text-truncate mt-auto"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm text-uppercase align-self-start" data-pagefind-ignore>{{ i18n
"read_more"}}</a>
</div>
</div>

@ -2,7 +2,7 @@
<a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.Image | relURL }}" alt="{{ .Title }}"></a>
<div class="card-body">
<div class="row col-12 mb-3"><div class="col-1"><i class="mdi mdi-bookmark-outline me-2"></i></div><div class="col-11">{{ .Params.category }}</div></div>
<h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 30 }}</a></h4>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm text-uppercase" data-pagefind-ignore>{{ i18n "read_more"}}</a>
</div>
</div>

@ -1,6 +1,6 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.image | relURL }}" alt="{{ .Title }}"></a>
<div class="card-body">
<div class="card-body d-flex flex-column">
<div class="row mb-2">
<div class="col-6"><i class="mdi mdi-calendar-today me-2"></i>{{ time.Format "02. Jan 2006" .PublishDate }}</div>
<div class="col-6">
@ -8,8 +8,8 @@
<a href="{{ `author` | relLangURL }}/{{ .Params.author | urlize }}">{{ .Params.author | title }}</a>
</div>
</div>
<h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 30 }}</a></h4>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<p class="card-text">{{ .Summary | truncate 100 }}</p>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>{{ i18n "read_more" }}</a>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm mt-auto align-self-start" data-pagefind-ignore>{{ i18n "read_more" }}</a>
</div>
</div>

@ -5,7 +5,7 @@
<div class="row mb-2"><div class="col-1"><i class="mdi mdi-calendar-today"></i></div><div class="col-11">{{ .Params.schedule }}</div></div>
<div class="row mb-2"><div class="col-1"><i class="mdi mdi-crowd"></i></div><div class="col-11">{{ .Params.class }}</div></div>
</div>
<h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 20 }}</a></h4>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>{{ i18n "show_more"}}</a>
</div>
</div>

@ -7,12 +7,12 @@
<div class="row">
{{ $paginator := .Paginate ( where .Data.Pages "Type" "post") }}
{{ range $paginator.Pages }}
<div class="col-sm-6">
<div class="col-md-6 d-flex align-items-stretch">
{{ .Render "card" }}
</div>
{{ end }}
<div class="col-12 mt-4">
{{ template "_internal/pagination.html" . }}
{{ partial "pagination" . }}
</div>
</div>
</div>

@ -9,7 +9,7 @@
</div>
<div class="row">
{{ range .Params.elements }}
<div class="col-lg-6 col-sm-6 mb-4">
<div class="col-lg-6 col-sm-6 mb-4 d-flex align-items-stretch">
<div class="card rounded-0 hover-shadow border-primary">
<div class="card-body">
<h4 class="card-title mb-3">{{ .title }}</h4>

@ -13,7 +13,7 @@
<div class="container">
<div class="row">
{{ range sort .Data.Pages ".Params.index" }}
<div class="col-lg-4 col-sm-6">
<div class="col-lg-4 col-sm-6 d-flex align-items-stretch">
{{ .Render "card-btn" }}
</div>
{{ end }}

@ -6,9 +6,9 @@
<div class="col-12">
<div class="container">
{{ range .Data.Pages }}
<div class="d-md-table w-100 border-bottom hover-shadow p-3">
<div class="card d-md-table w-100 border-primary hover-shadow p-3 mb-2">
<div class="d-md-table-cell px-4 vertical-align-middle mb-4 mb-md-0">
<a href="{{ .Permalink }}" class="h4 mb-3 d-block">{{ .Title }}</a>
<a href="{{ .Permalink }}" class="h4 mb-3 d-block card-title">{{ .Title }}</a>
<p class="mb-0">{{ .Summary | truncate 100 }}</p>
</div>
<div class="d-md-table-cell text-end pe-0 pe-md-4" data-pagefind-ignore><a href="{{ .Permalink }}" class="btn btn-primary">{{ i18n "read_more"}}</a></div>

@ -10,14 +10,7 @@
<div class="row">
<div class="col-12 content">
{{ range .Params.files }}
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="card-body mb-0">
<h4 class="card-title"><a class="text-decoration-none" href='{{ .link }}'>{{ .title }}</a></h4>
<a href='{{ .link }}' class="text-decoration-none btn btn-primary btn-sm mb-0"><i class="mdi mdi-tray-arrow-down mb-0"></i> Download</a>
</div>
</div>
</div>
{{ partial "download" . }}
{{ end }}
{{ .Content }}
</div>

@ -104,29 +104,40 @@
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="section-title">{{ $data.homepage.blog.title }}</h2>
<div class="d-flex align-items-center section-title justify-content-between">
<h2 class="mb-0 text-nowrap me-3">{{ $data.homepage.blog.title }}</h2>
<div class="border-top w-100 border-primary d-none d-sm-block"></div>
<div>
<a href="{{ `blog` | relLangURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">{{ i18n "see_all" }}</a>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-4 col-sm-6 mb-5 mb-lg-0">
<div class="card rounded-0 border-primary hover-shadow">
<img class="card-img-top rounded-0" src="{{ $data.ausblick.image | relURL }}" alt="{{ $data.ausblick.title }}">
<div class="card-body">
<ul class="list-inline mb-3">
<li class="list-inline-item me-3 ms-0"><i class="mdi mdi-fountain-pen-tip"></i> <a
href="{{ `author` | relLangURL }}/{{ $data.ausblick.author | urlize }}">{{ $data.ausblick.author | title }}</a></li>
</ul>
<h4 class="card-title">{{ $data.ausblick.title }}</h4>
<p class="card-text">{{ $data.ausblick.content | truncate 100 }}</p>
<button type="button" class="btn btn-primary btn-sm" onclick="$('#{{ md5 $data.ausblick.title }}').modal('show');">{{
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0 d-flex align-items-stretch">
<div class="card border-info rounded-0 hover-shadow mb-4">
<span class="position-absolute top-0 start-0 ms-5 translate-middle p-2 text-bg-info border border-light rounded-pill">
<i class="mdi mdi-pin me-2">Angeheftet</i>
</span>
<img class="card-img-top rounded-0" src="{{ $data.ausblick.image | relURL }}" alt="{{ $data.ausblick.title }}" onclick="$('#{{ md5 $data.ausblick.title }}').modal('show');">
<div class="card-body d-flex flex-column">
<div class="row mb-2">
<div class="col-6">
<i class="mdi mdi-fountain-pen-tip me-2"></i>
<a href="{{ `author` | relLangURL }}/{{ $data.ausblick.author | urlize }}">{{ $data.ausblick.author | title }}</a>
</div>
</div>
<h4 class="card-title text-truncate" onclick="$('#{{ md5 $data.ausblick.title }}').modal('show');">{{ $data.ausblick.title }}</h4>
<p class="card-text" onclick="$('#{{ md5 $data.ausblick.title }}').modal('show');">{{ $data.ausblick.content | truncate 100 }}</p>
<button type="button" class="btn btn-primary btn-sm mt-auto align-self-start" onclick="$('#{{ md5 $data.ausblick.title }}').modal('show');">{{
i18n "show_more"}}</button>
</div>
</div>
</div>
{{ range first 2 (where .Site.RegularPages "Type" "post")}}
<article class="col-lg-4 col-sm-6 mb-5 mb-lg-0">
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0 d-flex align-items-stretch">
{{ .Render "card" }}
</article>
</div>
{{ end }}
</div>
</div>
@ -217,7 +228,7 @@
{{ end }}
{{ if $data.homepage.termine.enable }}
<section class="section bg-gray">
<section class="section-sm bg-gray">
<div class="container">
<div class="row">
<div class="col-12">
@ -242,27 +253,7 @@
{{ end }}
{{ range first 3 $events }}
<li class="d-md-table mb-4 w-100 border-bottom hover-shadow ps-0">
<div class="d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0 termin-tc">
<span class="h2 d-block">{{ time.Format "2" .date}}</span>
<span class="d-block">{{ time.Format "Jan 2006" .date}}</span>
{{ with .enddate }}
<br>
bis {{ time.Format "2 Jan 2006" . }}
{{ end }}
</div>
<div class="d-md-table-cell px-4 vertical-align-middle mb-4 mb-md-0 p-2">
<p class="h4 mb-0 d-block">{{ .title }}</p>
</div>
{{ with .location }}
<div class="d-md-table-cell text-end pe-0 pe-md-4 p-2 vertical-align-middle">
<p>
<i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i>
{{ . | markdownify }}
</p>
</div>
{{ end }}
</li>
{{ partial "termin" . }}
{{ end }}
{{ end }}
@ -308,7 +299,7 @@
{{ with $data.homepage.footer_logos }}
<section class="bg-footer">
<div class="container">
<div class="row align-items-center">
<div class="row justify-content-center">
{{ range .logos }}
<div class="col-md-2 col-4 order-1 order-md-2 mb-4">
<a href="{{ .link }}" target="_blank" title="{{ .title }}"><img class="img-fluid w-100" src="{{ .image }}"></a>

@ -8,14 +8,6 @@ crossorigin=""/>
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<style>
#map {
height: 500px;
border: 1px solid #aaa;
border-radius: 15px;
}
</style>
<section class="section-sm bg-gray">
<div class="container">
<div class="row">
@ -25,15 +17,32 @@ crossorigin=""/>
<div hidden>
<input type="text" name="bad_email" value="" />
</div>
<input type="text" class="form-control mb-3" id="name" name="visitor_name" placeholder="Ihr Name">
<input type="email" class="form-control mb-3" id="mail" name="visitor_email" placeholder="Ihre E-Mail Adresse">
<input type="text" class="form-control mb-3" id="subject" name="email_title" placeholder="Betreff">
<textarea name="visitor_message" id="message" class="form-control mb-3" placeholder="Nachricht"></textarea>
<input type="text" class="form-control form-control-lg mb-3" id="name" name="visitor_name" placeholder="Ihr Name" required>
<input type="email" class="form-control form-control-lg mb-3" id="mail" name="visitor_email" placeholder="Ihre E-Mail Adresse" required>
<input type="text" class="form-control form-control-lg mb-3" id="subject" name="email_title" placeholder="Betreff" required>
<textarea name="visitor_message" id="message" class="form-control form-control-lg mb-3" placeholder="Nachricht" required></textarea>
<button type="submit" value="send" class="btn btn-primary">{{ i18n "send" }}</button>
</form>
</div>
<div class="col-lg-6 content">
{{ .Content }}
<div class="col-lg-6">
<div class="card">
<div class="card-header fw-bold">
Kontaktdaten
</div>
<ul class="list-group list-group-flush">
{{ range .Params.kontaktdaten }}
<li class="list-group-item">
<p class="card-title mb-0">{{ .name }}</p>
<p class="text-muted mb-0">{{ .position }}</p>
<p class="card-text"><a href="mailto:{{ .email }}"><i class="mdi mdi-email-multiple-outline me-2"></i>{{ with (split .email "@") }}{{ print (index . 0) "(at)" (index . 1) }}{{ end }}</a></p>
</li>
{{ end }}
<li class="list-group-item">
<p class="card-text"><i class="mdi mdi-phone-outline me-2"></i>Telefon: <a href="tel:+493456903156">+49-0345/6903156</a></p>
<p class="card-text"><i class="mdi mdi-fax me-2"></i>Fax: <a href="tel:+493456903157">+49-0345/6903157</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
@ -41,8 +50,10 @@ crossorigin=""/>
<section class="section pt-0 bg-gray">
<div class="container">
<div id="map">
<script src="/js/map.js"></script>
<div class="row">
<div id="map" class="card col-12" style="height: 50vh;">
<script src="/js/map.js"></script>
</div>
</div>
</div>
</section>

@ -3,7 +3,7 @@
<i class="{{ .icon }} fb-tile-icon" style="color: {{ .font_color }}"></i>
</div>
<div class="card-body">
<h4 class="card-title">{{ .title | truncate 55 }}</h4>
<h4 class="card-title text-truncate">{{ .title }}</h4>
<button type="button" class="btn btn-primary btn-sm" onclick="$('#{{ md5 .title }}').modal('show');">{{
i18n "show_more"}}</button>
</div>

@ -0,0 +1,8 @@
<div class="card border-primary rounded-2 hover-shadow mb-4">
<div class="card-body mb-0">
<details class="mb-0">
<summary class="mb-0">{{ .title }}</summary>
<div class="content mt-4">{{ .content | markdownify }}</div>
</details>
</div>
</div>

@ -0,0 +1,8 @@
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow mb-5">
<div class="card-body mb-0">
<h4 class="card-title"><a class="text-decoration-none" href='{{ .link }}'>{{ .title }}</a></h4>
<a href='{{ .link }}' class="text-decoration-none btn btn-primary btn-sm mb-0"><i class="mdi mdi-tray-arrow-down mb-0 me-2"></i>Download</a>
</div>
</div>
</div>

@ -34,7 +34,7 @@
{{ end }}
</ul>
</div>
<div class="col-lg-2 col-sm-4 col-6 mb-5 mb-md-0">
<div class="col-lg-4 col-sm-4 col-6 mb-5 mb-md-0">
<h4 class="text-white mb-5 text-uppercase">Aktuelles</h4>
<ul class="list-unstyled">
{{ range first 5 (where .Site.RegularPages "Type" "post")}}

@ -37,8 +37,6 @@
<script src="{{ . | absURL }}"></script>
{{ end }}
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
@ -54,7 +52,6 @@
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
{{ partial "opengraph" . }}
{{ partial "twitter" . }}

@ -33,7 +33,7 @@
<a class="navbar-brand" href="{{ .Site.BaseURL | relLangURL }}"><img height="60"
src="{{ .Site.Params.logo | absURL }}" class="py-2" alt="{{ .Site.Title }}"></a>
<button class="navbar-toggler rounded-0" type="button" data-toggle="collapse" data-target="#navigation"
<button class="navbar-toggler rounded-0" type="button" data-bs-toggle="collapse" data-bs-target="#navigation"
aria-controls="navigation" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
@ -46,17 +46,17 @@
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
{{ .Name }}
</a>
<div class="dropdown-menu">
<ul class="dropdown-menu">
{{ range .Children }}
<a class="dropdown-item text-uppercase" href="{{ .URL | absLangURL }}" target="{{ if .Params.External }}_blank{{ else }}_self{{end}}">{{ .Name }}</a>
<li><a class="dropdown-item text-uppercase" href="{{ .URL | absLangURL }}" target="{{ if .Params.External }}_blank{{ else }}_self{{end}}">{{ .Name }}</a></li>
{{ if .Params.separator }}
<hr>
<hr class="dropdown-divider">
{{ end }}
{{ end }}
</div>
</ul>
</li>
{{ else }}
<li class="nav-item">

@ -10,17 +10,8 @@
{{ .content | markdownify }}
</div>
{{ range .unterhaufen }}
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow mb-2">
<div class="card-body mb-0">
<details class="mb-0">
<summary class="mb-0">{{ .title }}</summary>
<div class="content"><p class="content">{{ .content | markdownify }}</p></div>
</details>
</div>
</div>
</div>
{{ end }}
{{ partial "collapsible" . }}
{{ end }}
</div>
</div>
</div>

@ -0,0 +1,67 @@
{{ $paginator := .Paginator }}
{{ $adjacent_links := 2 }}
{{ $max_links := (add (mul $adjacent_links 2) 1) }}
{{ $lower_limit := (add $adjacent_links 1) }}
{{ $upper_limit := (sub $paginator.TotalPages $adjacent_links) }}
{{ if gt $paginator.TotalPages 1 }}
<nav>
<ul class="pagination">
{{ if ne $paginator.PageNumber 1 }}
<li class="page-item">
<a class="page-link" href="{{ $paginator.First.URL }}">
<i class="mdi mdi-step-backward-2"></i>
</a>
</li>
{{ end }}
{{ if $paginator.HasPrev }}
<li class="page-item">
<a href="{{ $paginator.Prev.URL }}" class="page-link">
<i class="mdi mdi-step-backward"></i>
</a>
</li>
{{ end }}
{{ range $paginator.Pagers }}
{{ $.Scratch.Set "page_number_flag" false }}
{{ if gt $paginator.TotalPages $max_links }}
{{ if le $paginator.PageNumber $lower_limit }}
{{ if le .PageNumber $max_links }}
{{ $.Scratch.Set "page_number_flag" true }}
{{ end }}
{{ else if ge $paginator.PageNumber $upper_limit }}
{{ if gt .PageNumber (sub $paginator.TotalPages $max_links) }}
{{ $.Scratch.Set "page_number_flag" true }}
{{ end }}
{{ else }}
{{ if and ( ge .PageNumber (sub $paginator.PageNumber $adjacent_links) ) ( le .PageNumber (add $paginator.PageNumber $adjacent_links) ) }}
{{ $.Scratch.Set "page_number_flag" true }}
{{ end }}
{{ end }}
{{ else }}
{{ $.Scratch.Set "page_number_flag" true }}
{{ end }}
{{ if eq ($.Scratch.Get "page_number_flag") true }}
<li class="page-item {{ if eq . $paginator }}active{{ end }}">
<a href="{{ .URL }}" class="page-link">
{{ .PageNumber }}
</a>
</li>
{{ end }}
{{ end }}
{{ if $paginator.HasNext }}
<li class="page-item">
<a href="{{ $paginator.Next.URL }}" class="page-link">
<i class="mdi mdi-step-forward"></i>
</a>
</li>
{{ end }}
{{ if ne $paginator.PageNumber $paginator.TotalPages }}
<li class="page-item">
<a class="page-link" href="{{ $paginator.Last.URL }}">
<i class="mdi mdi-step-forward-2"></i>
</a>
</li>
{{ end }}
</ul>
</nav>
{{ end }}

@ -0,0 +1,15 @@
<div class="card d-md-table w-100 hover-shadow border-primary ps-0 mb-4">
<div class="d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0 termin-tc rounded">
<span class="h2 d-block">{{ time.Format "2" .date}}</span>
<span class="d-block">{{ time.Format "Jan 2006" .date}}</span>
{{ with .enddate }}<br>bis {{ time.Format "2 Jan 2006" . }}{{ end }}
</div>
<div class="d-md-table-cell px-4 vertical-align-middle mb-4 mb-md-0 p-2">
<p class="h4 mb-0 d-block">{{ .title }}</p>
</div>
{{ with .location }}
<div class="d-md-table-cell text-end pe-0 pe-md-4 p-2 vertical-align-middle">
<p><i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i>{{ . | markdownify }}</p>
</div>
{{ end }}
</div>

@ -7,7 +7,7 @@
<div class="container">
<div class="row">
{{ range (where .Data.Pages "Params.type" "schulchronik") }}
<div class="col-lg-4 col-sm-6 mb-3">
<div class="col-lg-4 col-sm-6">
{{ .Render "card-btn-ni" }}
</div>
{{ end }}

@ -4,21 +4,41 @@
<div class="container">
<div class="row">
<div class="col-12 mb-4">
{{ if .Params.Cantorpreisträger }}
{{ if or .Params.Cantorpreisträger (where (where .Site.RegularPages "Title" (print "Abiturienten " .Params.Title ) ) "Type" "=" "abiturienten") }}
<div class="col-12">
<h2 class="mb-3">{{ i18n "cantorpreisträger" }}</h2>
{{ range where (where .Site.RegularPages "Title" .Params.Title ) "Type" "=" "cantorpreis" }}
<div class="d-flex justify-content-between align-items-center flex-wrap">
<div class="d-flex mb-2 mb-sm-0 align-items-center">
<img class="me-4 img-fluid person-thumb-sm" src="{{ .Params.Image | relURL }}" alt="{{ .Title }}">
<div class="flex-grow-1">
<h4 class="mt-0"><a href="{{ .Permalink }}">{{ .Params.Name }}</a></h4>
{{ .Description }}
<div class="card-group">
{{ range where (where .Site.RegularPages "Title" .Params.Title ) "Type" "=" "cantorpreis" }}
<div class="card">
<div class="row">
<div class="col-md-3 col-4">
<a href="{{ .Permalink }}"><img src="{{ .Params.Image | relURL }}" class="img-fluid rounded w-100" style="height:150px; object-fit: cover;"></a>
</div>
<div class="col-md-9 col-8 card-body">
<a href="/cantorpreis"><h3 class="card-title">Cantorpreisträger:in</h3></a>
<a href="{{ .Permalink }}"><p class="h4 card-text">{{ .Params.name }}</p></a>
</div>
</div>
</div>
{{ end }}
{{ range where (where .Site.RegularPages "Title" (print "Abiturienten " .Params.Title ) ) "Type" "=" "abiturienten" }}
<div class="card pe-0">
<div class="row">
<div class="col-7 card-body ps-4">
<a href="{{ .Permalink }}"><h3 class="card-title">{{ .Title }}</h3></a>
{{ $abiturdurchschnitte := getJSON "static/data/abiturdurchschnitte.json" }}
{{ range $abiturdurchschnitte.abiturdurchschnitte }}
{{ if eq (string (index . "jahr")) "2008" }}<a href="/chronikseiten/abiturdurchschnitte"><p class="h4 card-text">Abiturdurchschnitt: {{ .schnitt }}</p></a>{{ end }}
{{ end }}
</div>
<div class="col-5">
<a href="{{ .Permalink }}">
<img src="{{ .Params.Image | relURL }}" class="img-fluid rounded align-self-end w-100" style="height: 150px;object-fit: cover;">
</a>
</div>
</div>
</div>
{{ end }}
</div>
{{ end }}
<div class="border-bottom border-primary mt-4"></div>
</div>
{{ end }}
{{ range .Params.topics }}
@ -27,7 +47,7 @@
{{ if and .Params.pretext (ne .Params.pretext "\n\n\n") }}
{{ partial "modal" (dict "title" .Title "content" .Params.pretext) }}
{{ end }}
<div id="wc-canvas"></div>
<div id="wc-canvas" class="wc-canvas"></div>
{{ $topics := slice }}
{{ if .Params.pretext }}
{{ $topics = $topics | append (slice (slice .Params.Title 200 (md5 .Title))) }}

@ -1,4 +0,0 @@
<details>
<summary>{{ .Get "title" }}</summary>
<div class="content"><p class="content">{{ .Inner }}</p></div>
</details>

@ -1,10 +1 @@
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow">
<div class="card-body mb-0">
<details class="mb-0">
<summary class="mb-0">{{ .Get "title" }}</summary>
<div class="content"><p class="content">{{ .Inner }}</p></div>
</details>
</div>
</div>
</div>
{{ partial "collapsible" (dict "title" (.Get "title") "content" .Inner )}}

@ -1,8 +1 @@
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow mb-5">
<div class="card-body mb-0">
<h4 class="card-title"><a class="text-decoration-none" href='{{ .Get "link" }}'>{{ .Get "title" }}</a></h4>
<a href='{{ .Get "link" }}' class="text-decoration-none btn btn-primary btn-sm mb-0"><i class="mdi mdi-tray-arrow-down mb-0"></i> Download</a>
</div>
</div>
</div>
{{ partial "download" (dict "link" (.Get "link") "title" (.Get "title"))}}

@ -1,44 +1,46 @@
<div class="carousel carousel-dark slide" data-bs-ride="true" id='slider-{{ md5 (.Get "dir") }}'>
{{ $dir := (.Get "dir") }}
{{ with $dir }}
{{ $files := readDir (print "/static/" .) }}
<div class="carousel-indicators">
{{ range $index, $file := $files }}
{{ $isimg := lower $file.Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}
{{ if $isimg }}
{{ $linkURL := print $.Site.BaseURL "/" ($.Get "dir") "/" $file.Name | absURL }}
{{ if eq $index 0 }}
<button type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide-to="{{ $index }}" class="active"></button>
{{ else }}
<button type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide-to="{{ $index }}"></button>
<div class="card border-primary rounded-3">
<div class="carousel carousel-dark slide mb-0" data-bs-ride="true" id='slider-{{ md5 (.Get "dir") }}'>
{{ $dir := (.Get "dir") }}
{{ with $dir }}
{{ $files := readDir (print "/static/" .) }}
<div class="carousel-indicators mb-0">
{{ range $index, $file := $files }}
{{ $isimg := lower $file.Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}
{{ if $isimg }}
{{ $linkURL := print $.Site.BaseURL "/" ($.Get "dir") "/" $file.Name | absURL }}
{{ if eq $index 0 }}
<button type="button mb-5" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide-to="{{ $index }}" class="active"></button>
{{ else }}
<button type="button mb-5" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide-to="{{ $index }}"></button>
{{ end }}
{{ end }}
{{ end }}
{{ end }}
</div>
<div class="carousel-inner">
{{ range $index, $file := $files }}
{{ $isimg := lower $file.Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}
{{ if $isimg }}
{{ $linkURL := print $.Site.BaseURL "/" ($.Get "dir") "/" $file.Name | absURL }}
{{ if eq $index 0 }}
<div class="carousel-item active">
<img src="{{ $linkURL }}" class="d-block w-100">
</div>
{{ else }}
<div class="carousel-item">
<img src="{{ $linkURL }}" class="d-block w-100">
</div>
</div>
<div class="carousel-inner mb-0">
{{ range $index, $file := $files }}
{{ $isimg := lower $file.Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}
{{ if $isimg }}
{{ $linkURL := print $.Site.BaseURL "/" ($.Get "dir") "/" $file.Name | absURL }}
{{ if eq $index 0 }}
<div class="carousel-item mb-0 active">
<img src="{{ $linkURL }}" class="d-block w-100 mb-0 rounded-3">
</div>
{{ else }}
<div class="carousel-item mb-0">
<img src="{{ $linkURL }}" class="d-block w-100 mb-0 rounded-3">
</div>
{{ end }}
{{ end }}
{{ end }}
{{ end }}
</div>
{{ end }}
<button class="carousel-control-prev" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Zurück</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Vor</span>
</button>
{{ end }}
</div>
{{ end }}
<button class="carousel-control-prev mb-0" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Zurück</span>
</button>
<button class="carousel-control-next mb-0" type="button" data-bs-target="#slider-{{ md5 $dir }}" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Vor</span>
</button>
</div>
</div>

@ -20,25 +20,13 @@
}
</style>
</noscript>
<ul class="list-unstyled filtr-container">
<div class="filtr-container">
{{ range .Params.events }}
<li class="d-md-table mb-4 w-100 hover-shadow filtr-item" data-category="{{ if or (ge (.date | time.AsTime).Unix now.Unix) (and .enddate (ge (.enddate | time.AsTime).Unix now.Unix)) }}upcoming{{else}}past{{end}}" data-time="{{.date}}">
<div class="d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0 termin-tc">
<span class="h2 d-block">{{ time.Format "2" .date}}</span>
<span class="d-block">{{ time.Format "Jan 2006" .date}}</span>
{{ with .enddate }}<br>bis {{ time.Format "2 Jan 2006" . }}{{ end }}
</div>
<div class="d-md-table-cell px-4 vertical-align-middle mb-4 mb-md-0 p-2 border-bottom">
<p class="h4 mb-0 d-block">{{ .title }}</p>
</div>
{{ with .location }}
<div class="d-md-table-cell text-end pe-0 pe-md-4 p-2 vertical-align-middle border-bottom">
<p><i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i>{{ . | markdownify }}</p>
</div>
{{ end }}
</li>
<div class="mb-2 mt-2 col-12 filtr-item" data-category="{{ if or (ge (.date | time.AsTime).Unix now.Unix) (and .enddate (ge (.enddate | time.AsTime).Unix now.Unix)) }}upcoming{{else}}past{{end}}" data-time="{{.date}}">
{{ partial "termin" . }}
</div>
{{ end }}
</ul>
</div>
</div>
</div>
</div>