Compare commits

...

13 Commits

Author SHA1 Message Date
5248bae90a Sync dev with master
Some checks failed
website-dev / dev-build (push) Failing after 59s
2023-07-31 20:59:17 +02:00
5d7b32d3c9
Merge branch 'refactor/layouts-cleanup'
Some checks failed
website-main / prod-build (push) Failing after 1m1s
website-main / test-build (push) Failing after 50s
website-main / auto-rebuild (push) Has been skipped
2023-07-31 20:55:36 +02:00
b1d3a2156f
update cms previews to new layouts. close #234 2023-07-31 20:54:52 +02:00
de38c3da9f Merge pull request 'Cleanup templates' (#233) from refactor/layouts-cleanup into master
Some checks failed
website-main / prod-build (push) Has been cancelled
website-main / test-build (push) Has been cancelled
website-main / auto-rebuild (push) Has been cancelled
Reviewed-on: #233
2023-07-30 09:53:48 +02:00
1af5f54900
WIP 2023-07-30 09:53:00 +02:00
93fb7f1b1a
WIP 2023-07-29 13:16:25 +02:00
7e86759eb5 Merge branch 'master' into refactor/layouts-cleanup 2023-07-24 12:06:15 +02:00
18a823cb6a cleanup templates:
- move out shared functions to shared templates
  - remove useless classes
  - simplify
  - various cleanups & enhancements
2023-07-24 12:02:51 +02:00
d82fa673aa Artikel gratulation-zum-vizeeuropameister-titel aktualisiert
All checks were successful
website-main / prod-build (push) Successful in 1m17s
website-main / test-build (push) Successful in 1m10s
website-main / auto-rebuild (push) Has been skipped
2023-07-23 17:50:46 +02:00
da35869812 Artikel gratulation-zum-vizeeuropameister-titel aktualisiert
All checks were successful
website-main / prod-build (push) Successful in 1m34s
website-main / test-build (push) Successful in 1m3s
website-main / auto-rebuild (push) Has been skipped
2023-07-23 17:50:34 +02:00
f66ed70c82 Artikel gratulation-zum-vizeeuropameister-titel aktualisiert
All checks were successful
website-main / prod-build (push) Successful in 51s
website-main / test-build (push) Successful in 50s
website-main / auto-rebuild (push) Has been skipped
2023-07-23 17:00:57 +02:00
7feaef33ae Artikel gratulation-zum-vizeeuropameister-titel aktualisiert
All checks were successful
website-main / prod-build (push) Successful in 1m11s
website-main / test-build (push) Successful in 1m3s
website-main / auto-rebuild (push) Has been skipped
2023-07-23 16:59:43 +02:00
709ca3e9da Artikel gratulation-zum-vizeeuropameister-titel erstellt
All checks were successful
website-main / prod-build (push) Successful in 1m39s
website-main / test-build (push) Successful in 1m5s
website-main / auto-rebuild (push) Has been skipped
2023-07-23 16:55:32 +02:00
78 changed files with 986 additions and 1370 deletions

@ -414,6 +414,12 @@ details[open] summary {
color: var(--gcg-color-primary);
}
.tag-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.tag-list a {
display: block;
padding: 5px 10px;
@ -531,7 +537,7 @@ details[open] summary {
.intro-video .play-btn {
position: absolute;
top: 50%;
left: 0;
left: calc(50% - 40px);
transform: translateY(-50%);
}
@ -908,12 +914,6 @@ link:focus,
}
}
@media (min-width: 768px) {
.termin-tc {
width: 25%;
}
}
@media (max-width: 991px) {
.navigation {
background: var(--gcg-color-secondary);
@ -976,3 +976,15 @@ link:focus,
padding-right: 10%;
}
}
#map {
height: 50vh;
}
.object-cover {
object-fit: cover;
}
.min-w-0 {
min-width: 0;
}

@ -0,0 +1,28 @@
---
title: Gratulation zum Vizeeuropameister-Titel
date: 2023-07-23T16:41:40.796+02:00
draft: false
image: /media/blog/2023/gratulationelias.webp
author:
- herr-berger
categories:
- Wettbewerbe
- Sport
- Sonstiges
tags:
- "2023"
type: post
---
## Wir gratulieren Elias Peschek zum Vizeeuropameister-Titel im Speedskating mit dem Halleschen Inline Skate Club.
**Das #TEAMD gewinnt beim Staffellauf die Silbermedaille.**
Weitere Eindrücke vom Wettbewerb:
{{< card title="Instagram-Post des Halleschen ISC" link="https://www.instagram.com/p/Cu-ZtanNZHc/?igshid=MTc4MmM1YmI2Ng==" >}}
_Bildquelle:_ [_https://www.instagram.com/p/CuctCMntYtL/?igshid=MTc4MmM1YmI2Ng==_](https://www.instagram.com/p/CuctCMntYtL/?igshid=MTc4MmM1YmI2Ng==)

@ -2,13 +2,9 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="content">
<h3>Hier geht es leider nicht weiter.</h3>
<a class="btn btn-primary" href="{{ .Site.BaseURL | relURL }}">Zurück zur Startseite</a>
</div>
</div>
<div class="content">
<h3>Hier geht es leider nicht weiter.</h3>
<a class="btn btn-primary" href="{{ .Site.BaseURL | relURL }}">Zurück zur Startseite</a>
</div>
</div>
</section>

@ -3,12 +3,12 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-lg-8 order-2 order-lg-1">
<div class="col-lg-8">
<div class="row">
{{ $paginator := .Paginate ( where .Data.Pages "Type" "post") }}
{{ range $paginator.Pages }}
<div class="col-md-6 d-flex align-items-stretch">
{{ partial "card" . }}
{{ partial "card-article" . }}
</div>
{{ end }}
<div class="col-12 mt-4">

@ -3,46 +3,29 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-lg-8 order-2 order-lg-1">
<div class="row">
<div class="col-12 mb-4">
<img src="{{ .Params.image | relURL }}" alt="{{ .Title }}" class="img-fluid w-100">
<div class="col-lg-8">
<img src="{{ .Params.image | relURL }}" alt="{{ .Title }}" class="img-fluid w-100 mb-4">
<div class="d-flex flex-wrap gap-2 justify-content-between">
<div class="text-body-secondary">
<span class="fw-bold me-1">Geschrieben von:</span>
{{ partial "authors" (dict "Site" .Site "author" .Params.author )}}
</div>
<div class="col-12">
<div class="row mb-3">
<div class="col-6 mb-md-0 text-white text-body-tertiary">
<span class="fw-bold me-1">Geschrieben von:</span>
{{ range $index, $elements := where (where .Site.RegularPages "Type" "author") "File.BaseFileName" "in" .Params.author }}
{{ if ne $index 0 }}, {{ end }}
{{ if .Params.simplified }}
{{ .Title }}
{{ else }}
<a href="{{ .Permalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
</div>
<div class="col-6 mb-3 mb-md-0 text-body-tertiary">
<span class="fw-bold me-1">Datum:</span>
{{ time.Format "02. Jan 2006" .PublishDate }}
</div>
<div class="text-body-secondary">
<span class="fw-bold me-1">Datum:</span>
{{ time.Format "02. Jan 2006" .PublishDate }}
</div>
<div class="row">
<div class="col-12 mb-md-0 text-body-tertiary">
<div class="text-body-secondary">
<span class="fw-bold me-1">Kategorien:</span>
{{ range $index, $elements := .Params.categories }}
{{ if ne $index 0 }}, {{ end }}
<a href="{{ `categories/` | relURL }}{{ . | urlize | lower }}">{{ . | title }}</a>
{{ end }}
</div>
</div>
</div>
<div class="col-12 my-4">
<div class="border-bottom"></div>
</div>
<div class="col-12 mb-5 content text-justify">
{{ .Content }}
</div>
</div>
<div class="border-bottom my-4"></div>
<div class="content text-justify mb-4">
{{ .Content }}
</div>
</div>
{{ partial "blog-sidebar.html" . }}
</div>

@ -4,9 +4,7 @@
<div class="container">
<div class="row">
{{ range .Pages }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn" . }}
</div>
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>

@ -2,13 +2,9 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 mb-4">
<img src="{{ .Params.image | relURL }}" class="img-fluid w-100">
</div>
<div class="col-12 content">
{{ .Content }}
</div>
<img src="{{ .Params.image | relURL }}" class="img-fluid w-100 mb-4">
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</section>

@ -2,13 +2,11 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
{{ with .Params.image }}
<img class="img-fluid w-100 mb-4" src="{{ . | relURL }}" alt="about image">
{{ end }}
{{ .Content }}
</div>
{{ with .Params.image }}
<img class="img-fluid w-100 mb-4" src="{{ . | relURL }}" alt="Foto der Schule">
{{ end }}
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</section>
@ -32,6 +30,6 @@
{{ end }}
{{ end }}
{{ partial "info.html" . }}
{{ partial "info" . }}
{{ end }}

@ -2,91 +2,86 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-lg-12">{{ .Content }}</div>
<div class="col-lg-8 mb-4 mb-lg-0">
<form
action="https://php.cantorgymnasium.de/formtools/process.php"
method="post"
>
<input type="hidden" name="form_tools_form_id" value="7" />
<div hidden>
<input type="text" name="bad_email" value="" />
</div>
<div class="input-group">
<input
type="text"
class="form-control mb-3"
id="surname"
name="surname"
placeholder="Name"
required
/>
<input
type="text"
class="form-control mb-3"
id="name"
name="name"
placeholder="Vorname"
required
/>
</div>
<input
type="text"
class="form-control mb-3"
id="year"
name="year"
placeholder="Abiturjahrgang"
required
/>
<input
type="email"
class="form-control mb-3"
id="mail"
name="mail"
placeholder="E-Mail-Adresse"
required
/>
<textarea
name="message"
id="message"
class="form-control mb-3"
placeholder="Nachricht/Sonstiges"
></textarea>
<div class="input-group mb-3">
<div class="input-group-text">
<input
type="checkbox"
class="form-check-input"
id="accept"
name="accept"
required
/>
</div>
<p class="form-control mb-0">
Ich willige hiermit ein, dass meine E-Mail-Adresse zur
Kontaktaufnahme eingesetzt wird.
</p>
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input
type="checkbox"
class="form-check-input"
id="public_email"
name="public_email"
/>
</div>
<p class="form-control mb-0">
Meine E-Mail-Adresse darf für andere Adressaten sichtbar sein.
</p>
</div>
<button type="submit" value="send" class="btn btn-primary">
Speichern
</button>
</form>
<form
action="https://php.cantorgymnasium.de/formtools/process.php"
method="post"
>
<input type="hidden" name="form_tools_form_id" value="7" />
<div hidden>
<input type="text" name="bad_email" value="" />
</div>
</div>
<div class="input-group">
<input
type="text"
class="form-control mb-3"
id="surname"
name="surname"
placeholder="Name"
required
/>
<input
type="text"
class="form-control mb-3"
id="name"
name="name"
placeholder="Vorname"
required
/>
</div>
<input
type="text"
class="form-control mb-3"
id="year"
name="year"
placeholder="Abiturjahrgang"
required
/>
<input
type="email"
class="form-control mb-3"
id="mail"
name="mail"
placeholder="E-Mail-Adresse"
required
/>
<textarea
name="message"
id="message"
class="form-control mb-3"
placeholder="Nachricht/Sonstiges"
></textarea>
<div class="input-group mb-3">
<div class="input-group-text">
<input
type="checkbox"
class="form-check-input"
id="accept"
name="accept"
required
/>
</div>
<p class="form-control mb-0">
Ich willige hiermit ein, dass meine E-Mail-Adresse zur
Kontaktaufnahme eingesetzt wird.
</p>
</div>
<div class="input-group mb-3">
<div class="input-group-text">
<input
type="checkbox"
class="form-check-input"
id="public_email"
name="public_email"
/>
</div>
<p class="form-control mb-0">
Meine E-Mail-Adresse darf für andere Adressaten sichtbar sein.
</p>
</div>
<button type="submit" value="send" class="btn btn-primary">
Speichern
</button>
</form>
</div>
</section>

@ -1,6 +1,6 @@
{{ define "main" }}
<section class="section bg-body-tertiary">
<section class="section">
<div class="container">
<div class="row">
<div class="col-lg-8 mb-4 mb-lg-0">

@ -2,10 +2,8 @@
<section class="section">
<div class="container">
<div class="row mb-4">
<div class="col-md-6 content">
{{ .Content }}
</div>
<div class="content text-justify">
{{ .Content }}
</div>
<div class="row">
{{ range .Params.elements }}
@ -13,7 +11,7 @@
<div class="card rounded-0 hover-shadow border-primary">
<div class="card-body">
<h4 class="card-title mb-3">{{ .title }}</h4>
<div class="content">{{ .content | markdownify }}</div>
<div class="content text-justify">{{ .content | markdownify }}</div>
</div>
</div>
</div>

@ -2,36 +2,29 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="container">
{{ range .Pages }}
<div class="card mb-4">
<div class="row g-0">
<div class="col-md-2 col-5">
{{ if .Params.image }}
<img class="rounded img-fluid w-100" src="{{.Params.image | relURL }}"
style="height: 160px;object-fit: cover;">
{{ else if .Params.email }}
<img class="rounded img-fluid w-100"
src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=160&pg&d=identicon" style="height: 160px;object-fit: cover;">
{{ end }}
</div>
<div class="col-md-10 col-7">
<div class="card-body text-end">
<h5 class="card-title text-start">{{ .Title }}</h5>
<p class="card-text text-truncate text-start">{{ .Summary }}</p>
{{ if not .Params.simplified }}
<a href="{{ .Permalink }}" class="btn btn-primary">Mehr anzeigen</a>
{{ end }}
</div>
</div>
</div>
</div>
{{ range .Pages }}
<div class="card mb-4">
<div class="d-flex">
<div class="flex-shrink-0">
{{ if .Params.image }}
<img class="rounded-circle m-3 object-cover" src="{{.Params.image | relURL }}" width="128px" height="128px">
{{ else if .Params.email }}
<img class="rounded-circle img-fluid m-3"
src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon">
{{ end }}
</div>
<div class="flex-grow">
<div class="card-body">
<h5 class="card-title">{{ .Title }}</h5>
<p class="card-text">{{ partial "summary" .Content }}</p>
{{ if not .Params.simplified }}
<a href="{{ .Permalink }}" class="btn btn-primary">Mehr anzeigen</a>
{{ end }}
</div>
</div>
</div>
</div>
{{ end }}
</div>
</section>

@ -1,45 +1,33 @@
{{ define "main" }}
<section class="section bg-light">
<div class="container">
<div class="row">
<div class="col-lg-10 mx-auto">
<div class="text-center">
<figure>
{{ if .Params.image }}
<img class="rounded-circle img-fluid mb-4" src="{{.Params.Image | relURL }}" width="128px">
{{ else if .Params.email}}
<img class="rounded-circle img-fluid mb-4" src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon">
{{ end }}
<figcaption>
<h4 class="fw-bold">{{ .Title }}</h4>
</figcaption>
</figure>
<hr>
{{ .Content }}
<hr>
<ul class="list-inline">
{{ with .Params.email }}
<li class="list-inline-item"><a href="mailto:{{ . }}"><i class="mdi mdi-at"></i></a></li>
{{ end }}
</ul>
</div>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="title text-center">
<div class="text-center">
{{ if .Params.image }}
<img class="rounded-circle img-fluid mb-4" src="{{.Params.Image | relURL }}" width="128px" height="128px">
{{ else if .Params.email}}
<img class="rounded-circle img-fluid mb-4" src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon">
{{ end }}
<h4 class="fw-bold">{{ .Title }}</h4>
<hr>
{{ .Content }}
<hr>
{{ with .Params.email }}
<a href="mailto:{{ . }}"><i class="mdi mdi-at"></i></a>
{{ end }}
</div>
</div>
</section>
<section class="section pt-0">
<div class="container">
<div class="title text-center">
<h2 class="mb-4">Geschrieben von {{ .Title }}</h2>
</div>
</div>
<div class="row">
{{ range where .Site.RegularPages "Params.author" "intersect" (slice .File.BaseFileName) }}
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0 d-flex align-items-stretch">
{{ partial "card" . }}
<div class="col-lg-4 col-sm-6 d-flex align-items-stretch">
{{ partial "card-article" . }}
</div>
{{ end }}
</div>

@ -3,14 +3,9 @@
<section class="section">
<div class="container">
<div class="row">
{{ .Content }}
</div>
<div class="row">
{{ range .Pages }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn" . }}
</div>
{{ end }}
{{ range .Pages }}
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>
</section>

@ -1,22 +1,14 @@
{{ define "main" }}
{{ partial "header-cl-url" (dict "Params" .Params "Content" .Content) }}
{{ partial "header-contest" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="mb-4">Weitere Begabtenförderungsangebote</h2>
</div>
</div>
<h2 class="mb-4">Weitere Begabtenförderungsangebote</h2>
<div class="row" data-pagefind-ignore="all">
{{ $related := (where .Site.RegularPages "Type" "begabte") | intersect (where .Site.Pages ".Title" "!=" .Title) | union (.Site.RegularPages.Related . ) | shuffle | first 3}}
{{ range first 3 $related }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn" . }}
</div>
{{ end }}
{{ range partial "related" . }}
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>
</section>

@ -2,21 +2,13 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="content">
{{ .Content }}
</div>
</div>
<div class="content text-justify">
{{ .Content }}
</div>
</div>
<div class="container">
<div class="row">
{{ range sort .Data.Pages ".Params.index" }}
<div class="col-lg-4 col-sm-6 d-flex align-items-stretch">
{{ partial "card-btn" . }}
</div>
{{ end }}
{{ range sort .Data.Pages ".Params.index" }}
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>
</section>

@ -2,13 +2,9 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 mb-4">
<img src="{{ .Params.Image | relURL }}" class="img-fluid w-100">
</div>
<div class="col-12 content">
{{ .Content }}
</div>
<img src="{{ .Params.Image | relURL }}" class="img-fluid w-100 mb-4">
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</section>

@ -4,11 +4,11 @@
<div class="container">
<div class="row">
{{ range .Pages }}
<div class="col-lg-3 col-sm-4 col-6">
<div class="col-lg-3 col-sm-4 col-6 d-flex align-items-stretch">
<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>
<div class="card-body d-flex flex-column">
<h4 class="card-title mt-auto"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<p class="card-text">{{ .Params.name }}</p>
</div>
</div>

@ -3,14 +3,14 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-md-5 mb-5">
<img class="img-fluid w-75" src="{{ .Params.Image | relURL }}" alt="{{ .Title }}">
<div class="col-sm-5 mb-4">
<img class="img-fluid w-100" src="{{ .Params.Image | relURL }}" alt="{{ .Title }}">
</div>
<div class="col-md-7 mb-5">
<div class="col-sm-7">
<h3>{{ .Params.Name }}</h3>
<h6 class="text-body-secondary">{{ .Title }}</h6>
<div class="content">
{{ .Content | markdownify }}
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</div>

@ -2,21 +2,15 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="container">
{{ range .Data.Pages }}
<div class="card d-md-table w-100 border-primary hover-shadow p-3 mb-2">
<div class="d-md-table-cell px-4 align-middle mb-4 mb-md-0">
<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">Mehr anzeigen</a></div>
</div>
{{ end }}
{{ range .Data.Pages }}
<div class="card flex-row border-primary hover-shadow p-4 mb-2 align-items-center flex-wrap gap-3">
<div class="flex-grow-1">
<a href="{{ .Permalink }}" class="h4 mb-3 card-title">{{ .Title }}</a>
<p class="mb-0">{{ partial "summary" .Content }}</p>
</div>
<div class="flex-shrink-0" data-pagefind-ignore><a href="{{ .Permalink }}" class="btn btn-primary">Mehr anzeigen</a></div>
</div>
</div>
{{ end }}
</div>
</section>

@ -2,18 +2,12 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="mb-4">{{ .Title }}</h2>
</div>
</div>
<div class="row">
<div class="col-12 content">
{{ range .Params.files }}
{{ partial "download" . }}
{{ end }}
{{ .Content }}
</div>
<h2 class="mb-4">{{ .Title }}</h2>
<div class="content text-justify">
{{ range .Params.files }}
{{ partial "download" . }}
{{ end }}
{{ .Content }}
</div>
</div>
</section>

@ -3,13 +3,13 @@
<section class="section">
<div class="container">
{{ partial "filter-controls" . }}
<div class="row filtr-container">
{{ range .Data.Pages }}
<div data-category="{{ .Params.category | urlize }}" class="col-lg-4 col-sm-6 mb-5 filtr-item">
{{ partial "ganztag" . }}
</div>
{{ end }}
</div>
<div class="filtr-container">
{{ range .Data.Pages }}
<div data-category="{{ .Params.category | urlize }}" class="col-lg-4 col-sm-6 filtr-item">
{{ partial "ganztag" . }}
</div>
{{ end }}
</div>
</div>
</section>

@ -2,75 +2,26 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 mb-4">
<img src="{{ .Params.image | relURL }}" class="img-fluid w-100">
</div>
<img src="{{ .Params.image | relURL }}" class="img-fluid w-100 mb-4">
<h2 class="mb-4">{{ .Title }}</h2>
<div class="row mb-4">
{{ partial "icon-element" (dict "size" 3 "icon" "mdi-calendar-today-outline" "title" "Zeit" "content" .Params.schedule) }}
{{ partial "icon-element" (dict "size" 3 "icon" "mdi-timer-sand" "title" "Dauer" "content" .Params.duration) }}
{{ partial "icon-element" (dict "size" 3 "icon" "mdi-crowd" "title" "Klassen" "content" .Params.class) }}
{{ partial "icon-element" (dict "size" 3 "icon" "mdi-map-marker-radius-outline" "title" "Raum" "content" .Params.room) }}
</div>
<h2>{{ .Title }}</h2>
<div class="row align-items-center mb-4">
<div class="col-12">
<div class="row">
<div class="col-lg-3 col-sm-6 mb-3 mb-sm-0">
<div class="d-flex align-items-center">
<i class="mdi mdi-calendar-today-outline text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Zeit</h6>
<p class="mb-0">{{ .Params.schedule }}</p>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6 mb-3 mb-sm-0">
<div class="d-flex align-items-center">
<i class="mdi mdi-timer-sand text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Dauer</h6>
<p class="mb-0">{{ .Params.duration }}</p>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6 mb-3 mb-sm-0">
<div class="d-flex align-items-center">
<i class="mdi mdi-crowd text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Klassen</h6>
<p class="mb-0">{{ .Params.class }}</p>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6 mb-3 mb-sm-0">
<div class="d-flex align-items-center">
<i class="mdi mdi-map-marker-radius-outline text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Raum</h6>
<p class="mb-0">{{ .Params.room }}</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 mt-4">
<div class="border-bottom border-primary"></div>
</div>
</div>
<div class="row">
<div class="col-12 content">
<hr class="mb-4">
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</div>
</section>
<section class="section pt-0" data-pagefind-ignore="all">
<div class="container">
<h2 class="mb-4">Andere Arbeitsgemeinschaften</h2>
<div class="row">
<div class="col-12">
<h2 class="mb-4">Andere Arbeitsgemeinschaften</h2>
</div>
</div>
<div class="row">
{{ $related := (where .Site.RegularPages "Type" "ganztagsangebote") | intersect (where .Site.Pages ".Title" "!=" .Title) | union (.Site.RegularPages.Related . ) | shuffle | first 3}}
{{ range first 3 $related }}
{{ range partial "related" . }}
<div class="col-lg-4 col-sm-6">
{{ partial "ganztag" . }}
</div>

@ -6,20 +6,20 @@
{{ with $data.homepage.slider }}
<section class="hero-section overlay bg-cover hero-default" data-background="{{ .bg_image | absURL }}">
<div class="container">
<div class="row">
<div class="col-md-12">
<h2 class="text-white position-relative">{{ $data.homepage.slider.title | markdownify }}</h2>
<div class="hero-slider">
{{ range .slider_item }}
<div class="hero-slider-item">
<p class="text-muted mb-4" >{{ .content | markdownify }}</p>
{{ if .button.enable }}
<a href="{{ .button.link | absURL }}" class="btn btn-primary">{{ .button.label }}</a>
{{ end }}
</div>
<div class="row">
<div class="col-md-12">
<h2 class="text-white position-relative">{{ $data.homepage.slider.title | markdownify }}</h2>
<div class="hero-slider">
{{ range .slider_item }}
<div class="hero-slider-item">
<p class="text-muted mb-4" >{{ .content | markdownify }}</p>
{{ if .button.enable }}
<a href="{{ .button.link | absURL }}" class="btn btn-primary">{{ .button.label }}</a>
{{ end }}
</div>
</div>
{{ end }}
</div>
</div>
</div>
</div>
</section>
@ -56,7 +56,7 @@
<div class="container">
<div class="row align-items-center">
{{ range .logos }}
<div class="col-md-3 col-6 order-1 order-md-2 mt-4">
<div class="col-md-3 col-6 mt-4">
<a href="{{ .link }}" target="_blank" title="{{ .title }}"><img class="img-fluid w-100" src="{{ .image }}"></a>
</div>
{{ end }}
@ -73,7 +73,7 @@
<div class="row align-items-center">
<div class="col-md-10 order-2 order-md-1">
<h3 class="mb-4">{{ .title | markdownify }}</h3>
<div class="content">
<div class="content text-justify">
{{ .content | markdownify }}
</div>
{{ if .button.enable }}
@ -102,42 +102,29 @@
{{ if $data.homepage.blog.enable }}
<section class="section mb-4">
<div class="container">
<div class="row">
<div class="col-12">
<div class="d-flex align-items-center mb-4 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` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">Alle anzeigen</a>
</div>
</div>
<div class="d-flex align-items-center mb-4 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` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">Alle anzeigen</a>
</div>
</div>
<div class="row justify-content-center">
{{ if $data.ausblick.enable }}
{{ with $data.ausblick }}
<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">
<div class="card border-info rounded-0 hover-shadow mb-2">
<span class="position-absolute top-0 start-0 ms-5 translate-middle p-2 text-bg-info border border-info rounded-pill">
<i class="mdi mdi-pin me-2">Angeheftet</i>
</span>
<img class="card-img-top rounded-0" src="{{ .image | relURL }}" alt="{{ .title }}" onclick="$('#{{ md5 .title }}').modal('show');">
<div class="card-body d-flex flex-column">
<div class="row mb-2">
<div class="col-12">
<i class="mdi mdi-fountain-pen-tip me-2"></i>
{{ range $index, $elements := where (where $.Site.RegularPages "Type" "author") "File.BaseFileName" "in" .author }}
{{ if ne $index 0 }}, {{ end }}
{{ if .Params.simplified }}
{{ .Title }}
{{ else }}
<a href="{{ .Permalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
</div>
</div>
<span class="text-truncate mb-2">
<i class="mdi mdi-fountain-pen-tip me-2"></i>
{{ partial "authors" (dict "Site" $.Site "author" .author )}}
</span>
<h4 class="card-title text-truncate" onclick="$('#{{ md5 .title }}').modal('show');">{{ .title }}</h4>
<p class="card-text" onclick="$('#{{ md5 .title }}').modal('show');">{{ .content | markdownify | plainify | truncate 100 }}</p>
<p class="card-text" onclick="$('#{{ md5 .title }}').modal('show');">{{ partial "summary" .content }}</p>
<button type="button" class="btn btn-primary btn-sm mt-auto align-self-start" onclick="$('#{{ md5 .title }}').modal('show');">Mehr anzeigen</button>
</div>
</div>
@ -146,7 +133,7 @@
{{ end }}
{{ range first (cond $data.ausblick.enable (int $data.homepage.blog.number) (add $data.homepage.blog.number 1)) (where .Site.RegularPages "Type" "post")}}
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0 d-flex align-items-stretch">
{{ partial "card" . }}
{{ partial "card-article" . }}
</div>
{{ end }}
</div>
@ -158,25 +145,21 @@
{{ with $data.homepage.success_banner }}
<section class="section bg-cover" data-background="{{ .image | absURL }}" id="success">
<div class="container">
<div class="row no-gutters">
<div class="col-12">
<div class="row feature-blocks bg-white justify-content-between">
{{ range .feature_item }}
<div class="col-xl-5 mb-xl-5 mb-4">
{{ with .image }}
<img src="{{ . }}" class="mb-xl-4 mb-lg-3 mb-4 feature-icon"></img>
{{ end }}
{{ with .icon }}
<i class="{{ . }} mb-xl-4 mb-lg-3 mb-4 feature-icon"></i>
{{ end }}
<h3 class="mb-xl-4 mb-lg-3 mb-4">{{ .name | markdownify }}</h3>
<div class="content">
{{ .content | markdownify }}
</div>
</div>
{{ end }}
<div class="row feature-blocks bg-white justify-content-between">
{{ range .feature_item }}
<div class="col-xl-5 mb-xl-5 mb-4">
{{ with .image }}
<img src="{{ . }}" class="mb-xl-4 mb-lg-3 mb-4 feature-icon"></img>
{{ end }}
{{ with .icon }}
<i class="{{ . }} mb-xl-4 mb-lg-3 mb-4 feature-icon"></i>
{{ end }}
<h3 class="mb-xl-4 mb-lg-3 mb-4">{{ .name | markdownify }}</h3>
<div class="content">
{{ .content | markdownify }}
</div>
</div>
{{ end }}
</div>
</div>
</section>
@ -186,15 +169,11 @@
{{ if $data.homepage.ganztagsangebote.enable }}
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="d-flex align-items-center mb-4 justify-content-between">
<h2 class="mb-0 text-nowrap me-3">{{ $data.homepage.ganztagsangebote.title }}</h2>
<div class="border-top w-100 border-primary d-none d-sm-block"></div>
<div>
<a href="{{ `ganztagsangebote` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">Alle anzeigen</a>
</div>
</div>
<div class="d-flex align-items-center mb-4 justify-content-between">
<h2 class="mb-0 text-nowrap me-3">{{ $data.homepage.ganztagsangebote.title }}</h2>
<div class="border-top w-100 border-primary d-none d-sm-block"></div>
<div>
<a href="{{ `ganztagsangebote` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">Alle anzeigen</a>
</div>
</div>
<div class="row justify-content-center">
@ -204,11 +183,6 @@
</div>
{{ end }}
</div>
<div class="row">
<div class="col-12 text-center">
<a href="{{ `ganztagsangebote` | relURL }}" class="btn btn-sm btn-primary-outline d-sm-none d-inline-block">Alle anzeigen</a>
</div>
</div>
</div>
</section>
{{ end }}
@ -216,18 +190,14 @@
{{ if $data.homepage.cta.enable }}
{{ with $data.homepage.cta }}
<section class="section bg-primary">
<div class="container">
<div class="row">
<div class="col-12 text-center">
<h2 class="text-white mb-0">{{ .title | markdownify }}</h2>
<h5 class="mb-4 text-white">{{ .subtitle | markdownify }}</h5>
{{ if .button.enable }}
{{ with .button }}
<a href="{{ .link | absURL }}" class="btn btn-secondary text-uppercase">{{ .label }}</a>
{{ end }}
{{ end }}
</div>
</div>
<div class="container text-center">
<h2 class="text-white mb-0">{{ .title | markdownify }}</h2>
<h5 class="mb-4 text-white">{{ .subtitle | markdownify }}</h5>
{{ if .button.enable }}
{{ with .button }}
<a href="{{ .link | absURL }}" class="btn btn-secondary text-uppercase">{{ .label }}</a>
{{ end }}
{{ end }}
</div>
</section>
{{ end }}
@ -240,15 +210,11 @@
{{ if $data.homepage.termine.enable }}
<section class="section bg-body-tertiary">
<div class="container">
<div class="row">
<div class="col-12">
<div class="d-flex align-items-center mb-4 justify-content-between">
<h2 class="mb-0 text-nowrap me-3">{{ $data.homepage.termine.title }}</h2>
<div class="border-top w-100 border-primary d-none d-sm-block"></div>
<div>
<a href="{{`termine` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block text-nowrap">Alle anzeigen</a>
</div>
</div>
<div class="d-flex align-items-center mb-4 justify-content-between">
<h2 class="mb-0 text-nowrap me-3">{{ $data.homepage.termine.title }}</h2>
<div class="border-top w-100 border-primary d-none d-sm-block"></div>
<div>
<a href="{{`termine` | relURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block text-nowrap">Alle anzeigen</a>
</div>
</div>
<div class="row justify-content-center px-2">
@ -311,7 +277,7 @@
<div class="container">
<div class="row justify-content-center">
{{ range .logos }}
<div class="col-md-2 col-4 order-1 order-md-2 mb-4">
<div class="col-md-2 col-4 mb-4">
<a href="{{ .link }}" target="_blank" title="{{ .title }}"><img class="img-fluid w-100" src="{{ .image }}"></a>
</div>
{{ end }}

@ -1,14 +1,10 @@
{{ define "main" }}
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""/>
<link rel="stylesheet" href="https://unpkg.com/leaflet@^1.7.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<script src="https://unpkg.com/leaflet@^1.7.1/dist/leaflet.js"></script>
<section class="section pb-0 bg-body-tertiary">
<section class="section pb-0">
<div class="container">
<div class="row">
<div class="col-lg-6 mb-4 mb-lg-0">
@ -48,28 +44,22 @@ crossorigin=""/>
</div>
</section>
<section class="section bg-body-tertiary">
<div class="container">
<div class="row">
<div id="map" class="card col-12" style="height: 50vh;">
<script>
var map = L.map('map', {
scrollWheelZoom: false
}).setView([51.473361, 11.965619], 100);
<div id="map" class="mt-4">
<script>
var map = L.map('map', {
scrollWheelZoom: false
}).setView([51.473361, 11.965619], 100);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var marker = L.marker([51.473361, 11.965619]).addTo(map);
var marker = L.marker([51.473361, 11.965619]).addTo(map);
map.on('click', (e) => {
marker.bindPopup('Georg-Cantor-Gymnasium<br>Torstraße 13<br>06110 Halle (Saale)<br><b><a href="https://www.qwant.com/maps/place/osm:way:54033279@Georg-Cantor-Gymnasium">Route</a>').openPopup();
});
</script>
</div>
</div>
</div>
</section>
map.on('click', (e) => {
marker.bindPopup('Georg-Cantor-Gymnasium<br>Torstraße 13<br>06110 Halle (Saale)<br><b><a href="https://www.qwant.com/maps/place/osm:way:54033279@Georg-Cantor-Gymnasium">Route</a>').openPopup();
});
</script>
</div>
{{ end }}

@ -2,12 +2,8 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="content">
{{ .Content | safeHTML }}
</div>
</div>
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</section>

@ -0,0 +1,8 @@
{{ range $index, $elements := where (where .Site.RegularPages "Type" "author") "File.BaseFileName" "in" .author }}
{{ if ne $index 0 }}, {{ end }}
{{ if .Params.simplified }}
{{ .Title }}
{{ else }}
<a href="{{ .Permalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}

@ -1,37 +1,37 @@
<aside class="col-lg-4 order-4 order-lg-2" data-pagefind-ignore="all">
<div class="bg-white mb-4">
<aside class="col-lg-4 mt-4 mt-lg-0" data-pagefind-ignore="all">
<div class="mb-4">
<h4 class="mb-4">Kategorien</h4>
{{ $transliterations := .Site.Data.transliterations.transliterations }}
{{- if isset .Site.Taxonomies "categories" }}
{{- if not (eq (len .Site.Taxonomies.categories) 0) }}
<ul class="list-inline tag-list">
{{- range $name, $items := .Site.Taxonomies.categories }}
<li class="list-inline-item mb-2"><a href="{{ `categories/` | relURL }}{{ $name | urlize | lower }}">{{ if (index $transliterations $name) }}{{ index $transliterations $name }}{{ else }}{{ $name | title }}{{end}}</a></li>
{{- end }}
</ul>
{{- end }}
{{- end }}
{{ if isset .Site.Taxonomies "categories" }}
{{ if not (eq (len .Site.Taxonomies.categories) 0) }}
<div class="tag-list">
{{ range $name, $items := .Site.Taxonomies.categories }}
<a href="{{ `categories/` | relURL }}{{ $name | urlize | lower }}">{{ if (index $transliterations $name) }}{{ index $transliterations $name }}{{ else }}{{ $name | title }}{{end}}</a>
{{ end }}
</div>
{{ end }}
{{ end }}
</div>
<div class="bg-white mb-4">
<div class="mb-4">
<h4 class="mb-4">Tags</h4>
{{- if isset .Site.Taxonomies "tags" }}
{{- if not (eq (len .Site.Taxonomies.tags) 0) }}
<ul class="list-inline tag-list">
{{- range $name, $items := .Site.Taxonomies.tags }}
<li class="list-inline-item mb-2"><a href="{{ `tags/` | relURL }}{{ $name | urlize | lower }}">{{ $name }}</a></li>
{{- end }}
</ul>
{{- end }}
{{- end }}
{{ if isset .Site.Taxonomies "tags" }}
{{ if not (eq (len .Site.Taxonomies.tags) 0) }}
<div class="tag-list">
{{ range $name, $items := .Site.Taxonomies.tags }}
<a href="{{ `tags/` | relURL }}{{ $name | urlize | lower }}">{{ $name }}</a>
{{ end }}
</div>
{{ end }}
{{ end }}
</div>
<div class="bg-white">
<h4 class="mb-4">Neuste Beiträge</h4>
{{ range first 5 ( where .Site.Pages "Type" "post" )}}
<div class="d-flex border-bottom border-color pb-3 mb-3">
<a href="{{ .Permalink }}"><img class="me-3 post-thumb-sm" src="{{ .Params.Image | absURL }}"></a>
<div class="flex-grow-1">
<a href="{{ .Permalink }}"><img class="me-3 post-thumb-sm" src="{{ .Params.image | absURL }}"></a>
<div class="flex-grow-1 min-w-0 d-flex flex-column justify-content-between">
<a href="{{ .Permalink }}">
<h5 class="mt-0">{{ .Title }}</h5>
<h5 class="text-truncate">{{ .Title }}</h5>
</a>
{{ time.Format "02. Jan 2006" .PublishDate }}
</div>

@ -0,0 +1,15 @@
<div class="card border-primary rounded-0 hover-shadow mb-2">
<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">
<div class="d-flex justify-content-between gap-1 flex-wrap mb-2">
<span><i class="mdi mdi-calendar-today me-2"></i>{{ time.Format "02. Jan 2006" .PublishDate }}</span>
<span class="text-truncate">
<i class="mdi mdi-fountain-pen-tip me-2"></i>
{{ partial "authors" (dict "Site" .Site "author" .Params.author )}}
</span>
</div>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<p class="card-text">{{ partial "summary" .Summary }}</p>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm mt-auto align-self-start" data-pagefind-ignore>Mehr anzeigen</a>
</div>
</div>

@ -1,7 +0,0 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="card-body">
<h4 class="card-title text-truncate"><a href="{{ .link }}">{{ .title }}</a></h4>
<a href="{{ .link }}" class="btn btn-primary btn-sm" data-pagefind-ignore>Mehr anzeigen</a>
</div>
</div>

@ -1,8 +1,12 @@
<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 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>Mehr anzeigen</a>
<div class="col-lg-4 col-sm-6 d-flex align-items-stretch">
<div class="card border-primary rounded-0 hover-shadow mb-2 w-100">
{{ with .Params.image }}
<a href="{{ $.Permalink }}"><img class="card-img-top rounded-0" src="{{ . | relURL }}"
alt="{{ $.Title }}"></a>
{{ end }}
<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 align-self-start" data-pagefind-ignore>Mehr anzeigen</a>
</div>
</div>
</div>

@ -1,8 +1,8 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="card border-primary rounded-0 hover-shadow mb-2">
<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>
<div class="mb-2"><i class="mdi mdi-bookmark-outline me-2"></i>{{ .Params.category }}</div>
<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>Mehr anzeigen</a>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>Mehr anzeigen</a>
</div>
</div>

@ -1,9 +0,0 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="container fb-tile-color" style="background-color:{{ .bg_color }};">
<i class="{{ .icon }} fb-tile-icon" style="color: {{ .font_color }}"></i>
</div>
<div class="card-body">
<h4 class="card-title text-truncate">{{ .title }}</h4>
<button type="button" class="btn btn-primary btn-sm" onclick="$('#{{ md5 .title }}').modal('show');">Mehr anzeigen</button>
</div>
</div>

@ -1,22 +0,0 @@
<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 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 text-truncate">
<i class="mdi mdi-fountain-pen-tip me-2"></i>
{{ range $index, $elements := where (where .Site.RegularPages "Type" "author") "File.BaseFileName" "in" .Params.author }}
{{ if ne $index 0 }}, {{ end }}
{{ if .Params.simplified }}
{{ .Title }}
{{ else }}
<a href="{{ .Permalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
</div>
</div>
<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 mt-auto align-self-start" data-pagefind-ignore>Mehr anzeigen</a>
</div>
</div>

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

@ -1,8 +1,6 @@
<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 class="card border-primary rounded-0 hover-shadow mb-2">
<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 me-2"></i>Download</a>
</div>
</div>

@ -1,21 +1,10 @@
<div class="row gta-cat">
<div class="col-lg-12">
<ul class="list-inline text-center filter-controls mb-5">
<li class="list-inline-item m-3 text-uppercase active" data-filter="all">Alle</li>
{{ $categories := slice }}
{{ range .Data.Pages }}
{{ $categories = $categories | append .Params.category }}
{{ end }}
{{ range ( $categories | uniq ) }}
<li class="list-inline-item m-3 text-uppercase" data-filter="{{ . | urlize }}">{{ . | humanize }}</li>
{{ end }}
</ul>
</div>
</div>
<noscript>
<style>
.gta-cat {
display: none;
}
</style>
</noscript>
<ul class="list-inline text-center filter-controls mb-4">
<li class="list-inline-item m-3 text-uppercase active" data-filter="all">Alle</li>
{{ $categories := slice }}
{{ range .Data.Pages }}
{{ $categories = $categories | append .Params.category }}
{{ end }}
{{ range ( $categories | uniq ) }}
<li class="list-inline-item m-3 text-uppercase" data-filter="{{ . | urlize }}">{{ . | humanize }}</li>
{{ end }}
</ul>

@ -2,40 +2,40 @@
<div class="footer bg-footer section">
<div class="container">
<div class="row">
<div class="col-lg-3 col-sm-8 mb-5 mb-lg-0">
<div class="col-lg-4 col-sm-6 mb-4 mb-lg-0 text-sm-start text-center">
<a class="logo-footer" href="{{ .Site.BaseURL | relURL }}"><img class="mb-4" height="60" src="{{ .Site.Params.logo | absURL }}" alt="{{ .Site.Title }}"></a>
<ul class="list-unstyled text-white text-opacity-50">
<li class="mb-4">
<li class="mb-3">
<a href="{{ .Site.Params.route_link }}">{{ .Site.Params.address | markdownify }}</a>
</li>
<li class="mb-4"><a href="mailto:{{ .Site.Params.email }}">{{ .Site.Params.email_pretty | markdownify }}</a></li>
<li class="mb-4"><a href="tel:{{ .Site.Params.mobile | markdownify }}">{{ .Site.Params.mobile | markdownify }}</a></li>
<li class="mb-4">
<li class="mb-3"><a href="mailto:{{ .Site.Params.email }}">{{ .Site.Params.email_pretty | markdownify }}</a></li>
<li class="mb-3"><a href="tel:{{ .Site.Params.mobile }}">{{ .Site.Params.mobile | markdownify }}</a></li>
<li class="mb-3">
<a href="{{ .Site.Params.impressumURL | absURL }}">Impressum</a>
</li>
<li class="mb-4">
<li class="mb-3">
<a href="{{ .Site.Params.dseURL | absURL }}">Datenschutz</a>
</li>
</ul>
</div>
<div class="col-lg-2 col-sm-4 col-6 mb-5 mb-md-0">
<h4 class="text-white mb-5 text-uppercase">Links</h4>
<div class="col-lg-2 col-sm-6 mb-4 mb-md-0 text-sm-start text-center">
<h4 class="text-white mb-4 text-uppercase">Links</h4>
<ul class="list-unstyled">
{{ range .Site.Menus.footer }}
<li class="mb-3"><a class="text-white text-opacity-50" href="{{ .URL | absURL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
</div>
<div class="col-lg-3 col-sm-4 col-6 mb-5 mb-md-0">
<h4 class="text-white mb-5 text-uppercase">Ganztagsangebote</h4>
<div class="col-lg-3 col-sm-6 mb-4 mb-md-0 text-sm-start text-center">
<h4 class="text-white mb-4 text-uppercase">Ganztagsangebote</h4>
<ul class="list-unstyled">
{{ range first 5 (where .Site.RegularPages "Type" "ganztagsangebote" | shuffle)}}
<li class="mb-3"><a class="text-white text-opacity-50" href="{{ .Permalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
</div>
<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>
<div class="col-lg-3 col-sm-6 mb-4 mb-md-0 text-sm-start text-center">
<h4 class="text-white mb-4 text-uppercase">Aktuelles</h4>
<ul class="list-unstyled">
{{ range first 5 (where .Site.RegularPages "Type" "post")}}
<li class="mb-3"><a class="text-white text-opacity-50" href="{{ .Permalink }}">{{ .Title | truncate 35 }}</a></li>

@ -1,10 +1,8 @@
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="card border-primary rounded-0 hover-shadow mb-2">
<a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.image | relURL }}" alt="{{ .Title }}"></a>
<div class="card-body">
<div class="container">
<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>
<div class="mb-2 text-truncate"><i class="mdi mdi-calendar-today me-2"></i>{{ .Params.schedule }}</div>
<div class="mb-2 text-truncate"><i class="mdi mdi-crowd me-2"></i>{{ .Params.class }}</div>
<h4 class="card-title text-truncate"><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>Mehr anzeigen</a>
</div>

@ -1,35 +0,0 @@
<section class="section">
<div class="container">
{{ if (and .Params.image (ne .Params.image "/media/image.webp") ) }}
<div class="row">
<div class="col-12 mb-4">
<img class="img-fluid w-100" src="{{ .Params.image | relURL }}">
</div>
</div>
{{ end }}
<div class="row mb-4">
<div class="col-7">
<div class="d-flex align-items-center">
<i class="mdi mdi-crowd text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Klassen</h6>
<p class="mb-0">{{ .Params.class }}</p>
</div>
</div>
</div>
{{ if .Params.web_url }}
<div class="col-5 text-end mb-4 mb-xl-0">
<a href="{{ .Params.web_url | safeURL }}" class="btn btn-primary">Website</a>
</div>
{{ end }}
<div class="col-12 mt-4">
<div class="border-bottom border-primary"></div>
</div>
</div>
<div class="row">
<div class="col-12 content">
{{ .Content }}
</div>
</div>
</div>
</section>

@ -0,0 +1,23 @@
<section class="section">
<div class="container">
{{ if (and .Params.image (ne .Params.image "/media/image.webp") ) }}
<img class="img-fluid w-100 mb-4" src="{{ .Params.image | relURL }}">
{{ end }}
<div class="d-flex justify-content-between mb-4">
<div class="d-flex align-items-center">
<i class="mdi mdi-crowd text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">Klassen</h6>
<p class="mb-0">{{ .Params.class }}</p>
</div>
</div>
{{ if .Params.web_url }}
<a href="{{ .Params.web_url | safeURL }}" class="btn btn-primary">Website</a>
{{ end }}
</div>
<hr>
<div class="content text-justify">
{{ .Content }}
</div>
</div>
</section>

@ -0,0 +1,9 @@
<div class="col-lg-{{.size}} col-sm-{{ mul (int .size) 2 }} mb-3 mb-sm-0">
<div class="d-flex align-items-center">
<i class="mdi {{ .icon }} text-primary icon-md me-2"></i>
<div class="text-start">
<h6 class="mb-0 text-uppercase">{{ .title }}</h6>
<p class="mb-0">{{ .content }}</p>
</div>
</div>
</div>

@ -9,7 +9,7 @@
</div>
<div class="col-lg-6 col-sm-8">
<div class="bg-white p-5">
<h2 class="mb-4">{{ .title | markdownify }}</h2>
<h2 class="mb-4">{{ .title }}</h2>
<p>{{ .content | markdownify }}</p>
</div>
</div>

@ -6,7 +6,7 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" data-pagefind-ignore></button>
</div>
<div class="modal-body">
<div class="content mb-4">
<div class="content text-justify mb-4">
{{ .content | markdownify }}
</div>
{{ range .unterhaufen }}

@ -0,0 +1,2 @@
{{ $related := (where .Site.RegularPages "Type" .Type) | intersect (where .Site.Pages ".Title" "!=" .Title) | union (.Site.RegularPages.Related . ) | shuffle | first 3 }}
{{ return $related }}

@ -0,0 +1 @@
{{ . | markdownify | plainify | truncate 100 }}

@ -1,15 +1,19 @@
<div class="card d-md-table w-100 hover-shadow border-primary ps-0 pe-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>
<div class="card hover-shadow border-primary mb-4 p-0">
<div class="row g-0">
<div class="col-md-3 text-center p-4 bg-primary text-white rounded">
<span class="h2">{{ time.Format "2" .date}}</span>
<span>{{ 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 align-middle mb-4 mb-md-0 p-2">
<p class="h4 mb-0 d-block">{{ .title }}</p>
<div class="col-md-9">
<div class="card-body h-100 d-flex flex-column justify-content-around">
<h4 class="card-title">{{ .title }}</h4>
{{ with .location }}
<div class="card-text">
<i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i>{{ . | markdownify }}
</div>
{{ end }}
</div>
</div>
{{ with .location }}
<div class="d-md-table-cell text-end pe-md-4 p-2 align-middle">
<p><i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i>{{ . | markdownify }}</p>
</div>
{{ end }}
</div>
</div>

@ -0,0 +1,25 @@
<section class="section superhaufen">
<div class="container">
<div class="content text-justify">
{{ .Content }}
</div>
</div>
<div class="container">
<div class="row">
{{ range .Params.tiles }}
{{ partial "modal" . }}
<div class="col-lg-4 col-sm-6">
<div class="card border-primary rounded-0 hover-shadow mb-4">
<div class="container fb-tile-color" style="background-color:{{ .bg_color }};">
<i class="{{ .icon }} fb-tile-icon" style="color: {{ .font_color }}"></i>
</div>
<div class="card-body">
<h4 class="card-title text-truncate">{{ .title }}</h4>
<button type="button" class="btn btn-primary btn-sm" onclick="$('#{{ md5 .title }}').modal('show');" data-pagefind-ignore>Mehr anzeigen</button>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>

@ -4,9 +4,7 @@
<div class="container">
<div class="row">
{{ range .Pages }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn-ni" (dict "title" .Title "link" .Permalink) }}
</div>
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>

@ -1,23 +1,5 @@
{{ define "main" }}
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 mb-4 content">
{{ .Content }}
</div>
</div>
</div>
<div class="container">
<div class="row">
{{ range .Params.tiles }}
{{ partial "modal" . }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-icon" . }}
</div>
{{ end }}
</div>
</div>
</section>
{{ partial "tile-modals" . }}
{{ end }}

@ -27,9 +27,7 @@
<h2 class="mb-4">Informationsseiten</h2>
<div class="row">
{{ range .Params.links }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn-ni" . }}
</div>
{{ partial "card-btn" (dict "Title" .title "Permalink" .link) }}
{{ end }}
</div>
</div>
@ -37,9 +35,7 @@
<h2 class="mb-4">Chronik</h2>
<div class="row">
{{ range (where .Data.Pages "Params.type" "schulchronik") }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-btn-ni" (dict "title" .Title "link" .Permalink) }}
</div>
{{ partial "card-btn" . }}
{{ end }}
</div>
</div>

@ -1,101 +1,92 @@
{{ define "main" }}
<section class="section">
<!-- TODO: everything -->
<div class="container">
<div class="row">
<div class="col-12 mb-4">
{{ if or .Params.Cantorpreisträger (where (where .Site.RegularPages "Title" (print "Abiturienten " .Params.Title ) ) "Type" "=" "abiturienten") }}
<div class="col-12">
<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>
{{ if or .Params.cantorpreisträger (where (where .Site.RegularPages "Title" (print "Abiturienten " .Params.Title ) ) "Type" "=" "abiturienten") }}
<div class="card-group">
{{ range where (where .Site.RegularPages "Title" .Params.Title ) "Type" "=" "cantorpreis" }}
<div class="card d-flex flex-row flex-wrap">
<div class="flex-shrink-0">
<a href="{{ .Permalink }}"><img src="{{ .Params.Image | relURL }}" class="rounded-circle m-3 object-cover" height="128px" width="128px"></a>
</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 class="flex-grow card-body min-w-0">
<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>
{{ end }}
</div>
</div>
{{ end }}
{{ range .Params.topics }}
{{ partial "modal" . }}
{{ end }}
{{ if and .Params.pretext (ne .Params.pretext "\n\n\n") }}
{{ partial "modal" (dict "title" .Title "content" .Params.pretext) }}
{{ end }}
<div id="wc-canvas"></div>
{{ $topics := slice }}
{{ if .Params.pretext }}
{{ $topics = $topics | append (slice (slice .Params.Title 200 (md5 .Title))) }}
{{ else }}
{{ $topics = $topics | append (slice (slice .Params.Title 200)) }}
{{ end }}
{{ range .Params.topics }}
{{ if .superhaufen.enable }}
{{ $topics = $topics | append (slice (slice .title 30 (.superhaufen.link | urlize) "superhaufen" )) }}
{{ else }}
{{ $topics = $topics | append (slice (slice .title 30 (md5 .title) )) }}
{{ end }}
{{ end }}
<script>
WordCloud(
document.getElementById('wc-canvas'),
{
click: function (item) {
if (item[1] != 200 || (item[1] == 200 && item[2] == '{{ md5 .Title }}')) {
if( item[3] == "superhaufen" ) {
window.location.href = "{{ `/superhaufen/` | relURL }}" + item[2];
} else {
$('#' + item[2]).modal('show');
}
}
},
color: function (word, weight) {
return (weight === 200) ? '#ffbc3b' : '#1a1a37';
},
/* hover: function(item, dimension, event) {
item && item[2] ? event.target.style.textDecorationLine = "underline" : null
},*/
fontFamily: 'Ubuntu, sans-serif',
fontWeight: 700,
list: JSON.parse("{{ $topics | jsonify }}"),
shrinkToFit: true,
gridSize: 50,
rotateRatio: 0,
shuffle: false,
shape: "square",
ellipticity: 1,
clearCanvas: true
}
);
</script>
{{ .Content }}
{{ range where (where .Site.RegularPages "Title" (print "Abiturienten " .Params.Title ) ) "Type" "=" "abiturienten" }}
<div class="card d-flex flex-row flex-wrap-reverse">
<div class="flex-grow card-body min-w-0">
<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="">
<a href="{{ .Permalink }}">
<img src="{{ .Params.Image | relURL }}" class="rounded-circle object-cover m-3" width="128px" height="128px">
</a>
</div>
</div>
</div>
{{ end }}
{{ end }}
{{ range .Params.topics }}
{{ partial "modal" . }}
{{ end }}
{{ if and .Params.pretext (ne .Params.pretext "\n\n\n") }}
{{ partial "modal" (dict "title" .Title "content" .Params.pretext) }}
{{ end }}
<div id="wc-canvas"></div>
{{ $topics := slice }}
{{ if .Params.pretext }}
{{ $topics = $topics | append (slice (slice .Params.Title 200 (md5 .Title))) }}
{{ else }}
{{ $topics = $topics | append (slice (slice .Params.Title 200)) }}
{{ end }}
{{ range .Params.topics }}
{{ if .superhaufen.enable }}
{{ $topics = $topics | append (slice (slice .title 30 (.superhaufen.link | urlize) "superhaufen" )) }}
{{ else }}
{{ $topics = $topics | append (slice (slice .title 30 (md5 .title) )) }}
{{ end }}
{{ end }}
<script>
WordCloud(
document.getElementById('wc-canvas'),
{
click: function (item) {
if (item[1] != 200 || (item[1] == 200 && item[2] == '{{ md5 .Title }}')) {
if( item[3] == "superhaufen" ) {
window.location.href = "{{ `/superhaufen/` | relURL }}" + item[2];
} else {
$('#' + item[2]).modal('show');
}
}
},
color: function (word, weight) {
return (weight === 200) ? '#ffbc3b' : '#1a1a37';
},
/* hover: function(item, dimension, event) {
item && item[2] ? event.target.style.textDecorationLine = "underline" : null
},*/
fontFamily: 'Ubuntu, sans-serif',
fontWeight: 700,
list: JSON.parse("{{ $topics | jsonify }}"),
shrinkToFit: true,
gridSize: 50,
rotateRatio: 0,
shuffle: false,
shape: "square",
ellipticity: 1,
clearCanvas: true
}
);
</script>
{{ .Content }}
</div>
</div>
</section>

@ -1,3 +1,3 @@
<div class="card">
<audio src='{{ .Get "src" }}' class="mb-0" controls></audio>
<audio src='{{ .Get "src" }}' class="mb-0" controls></audio>
</div>

@ -1,8 +1,6 @@
<div class="container mb-0">
<div class="card border-primary rounded-0 hover-shadow mb-2">
<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="mb-0 btn btn-primary btn-sm text-decoration-none">Mehr anzeigen</a>
</div>
<div class="card border-primary rounded-0 hover-shadow mb-2">
<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="mb-0 btn btn-primary btn-sm text-decoration-none">Mehr anzeigen</a>
</div>
</div>

@ -1,23 +1,5 @@
{{ define "main" }}
<section class="section">
<div class="container">
<div class="row">
<div class="col-12 content">
{{ .Content }}
</div>
</div>
</div>
<div class="container">
<div class="row">
{{ range .Params.tiles }}
{{ partial "modal" . }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-icon" . }}
</div>
{{ end }}
</div>
</div>
</section>
{{ partial "tile-modals" . }}
{{ end }}

@ -2,32 +2,17 @@
<section class="section">
<div class="container">
<div class="row">
<div class="col-12">
<div class="row gta-cat">
<div class="col-12">
<ul class="list-inline text-center filter-controls mb-5">
<li class="list-inline-item m-3 text-uppercase active" data-filter="all">Alle</li>
<li class="list-inline-item m-3 text-uppercase" data-filter="upcoming">Anstehend</li>
<li class="list-inline-item m-3 text-uppercase" data-filter="past">Vergangen</li>
</ul>
</div>
</div>
<noscript>
<style>
.gta-cat {
display: none;
}
</style>
</noscript>
<div class="filtr-container">
{{ range .Params.events }}
<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 }}
</div>
<ul class="list-inline text-center filter-controls mb-4">
<li class="list-inline-item m-3 text-uppercase active" data-filter="all">Alle</li>
<li class="list-inline-item m-3 text-uppercase" data-filter="upcoming">Anstehend</li>
<li class="list-inline-item m-3 text-uppercase" data-filter="past">Vergangen</li>
</ul>
<div class="filtr-container row">
{{ range .Params.events }}
<div class="filtr-item col-12" 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 }}
</div>
</div>
</section>

@ -2,13 +2,10 @@
<section class="section">
<div class="container">
<div class="row">
{{ .Content }}
</div>
{{ partial "filter-controls" . }}
<div class="row filtr-container">
{{ range .Data.Pages }}
<div data-category="{{ .Params.Category | urlize }}" class="col-lg-4 col-sm-6 filtr-item">
<div data-category="{{ .Params.category | urlize }}" class="col-lg-4 col-sm-6 filtr-item">
{{ partial "card-category" . }}
</div>
{{ end }}

@ -1,17 +1,12 @@
{{ define "main" }}
{{ partial "header-cl-url" (dict "Params" .Params "Content" .Content) }}
{{ partial "header-contest" . }}
<section class="section pt-0">
<div class="container">
<div class="row">
<div class="col-12">
<h2 class="mb-4">Weitere Wettbewerbe</h2>
</div>
</div>
<h2 class="mb-4">Weitere Wettbewerbe</h2>
<div class="row" data-pagefind-ignore="all">
{{ $related := (where .Site.RegularPages "Type" "wettbewerbe") | intersect (where .Site.Pages ".Title" "!=" .Title) | union (.Site.RegularPages.Related . ) | shuffle | first 3}}
{{ range first 3 $related }}
{{ range partial "related" . }}
<div class="col-lg-4 col-sm-6">
{{ partial "card-category" . }}
</div>

@ -1,4 +1,9 @@
import { Container, PageHeader, Section, Row } from "./components/index.js";
import {
Container,
PageHeader,
Section,
ContentJustify,
} from "./components/index.js";
const AbiturientenPreview = ({ widgetFor, entry, collection, fields }) => {
const imageField = useMemo(
@ -15,16 +20,10 @@ const AbiturientenPreview = ({ widgetFor, entry, collection, fields }) => {
return [
PageHeader(entry),
Section(
Container(
Row([
h(
"div",
{ className: "col-12 mb-4" },
h("img", { className: "img-fluid w-100", src: imageUrl })
),
h("div", { className: "col-12 content" }, widgetFor("body")),
])
)
Container([
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
ContentJustify(widgetFor("body")),
])
),
];
};

@ -1,4 +1,10 @@
import { PageHeader } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Row,
Section,
} from "./components/index.js";
const AboutPreview = ({ widgetFor, widgetsFor, entry, fields, collection }) => {
const imageField = useMemo(
@ -14,34 +20,18 @@ const AboutPreview = ({ widgetFor, widgetsFor, entry, fields, collection }) => {
);
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-12" },
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
widgetFor("body")
)
)
)
Section(
Container([
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
ContentJustify(widgetFor("body")),
])
),
entry.data.stats.enable
? h(
"section",
{ className: "section bg-primary" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
Container(
Row(
widgetsFor("stats").data.zahlen.map((element) => {
return h(
"div",

@ -1,17 +1,11 @@
import { PageHeader } from "./components/index.js";
import { Container, PageHeader, Row, Section } from "./components/index.js";
const AnmeldeformularPreview = ({ widgetFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section bg-body-tertiary" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
Section(
Container(
Row(
h(
"div",
{ className: "col-lg-8 mb-4 mb-lg-0" },

@ -1,22 +1,18 @@
import { PageHeader } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Row,
Section,
} from "./components/index.js";
const AnmeldungPreview = ({ widgetsFor, widgetFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row mb-4" },
h("div", { className: "col-md-6 content" }, widgetFor("body"))
),
h(
"div",
{ className: "row" },
Section(
Container([
ContentJustify(widgetFor("body")),
Row(
widgetsFor("elements").map(function (element, index) {
return h(
"div",
@ -35,8 +31,8 @@ const AnmeldungPreview = ({ widgetsFor, widgetFor, entry }) => {
)
);
})
)
)
),
])
),
];
};

@ -1,4 +1,4 @@
import { PageHeader, md5 } from "./components/index.js";
import { Container, PageHeader, Section, md5 } from "./components/index.js";
const AuthorPreview = ({ widgetFor, entry, fields, collection }) => {
const imageField = useMemo(
@ -14,57 +14,28 @@ const AuthorPreview = ({ widgetFor, entry, fields, collection }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section bg-light" },
h(
"div",
{ className: "container" },
Section(
Container([
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-lg-10 mx-auto" },
h(
"div",
{ className: "text-center" },
h(
"figure",
{},
h("img", {
className: "rounded-circle img-fluid mb-4",
src:
imageUrl ??
"https://www.gravatar.com/avatar/" +
md5(entry.data.email) +
"?s=128&pg&d=identicon",
width: "128px",
}),
h(
"figcaption",
{},
h("h4", { className: "fw-bold" }, entry.data.title)
)
),
h("hr"),
widgetFor("body"),
h("hr"),
h(
"ul",
{ className: "list-inline" },
entry.data.email
? h(
"li",
{ className: "list-inline-item" },
h("i", { className: "mdi mdi-at" })
)
: null
)
)
)
)
)
{ className: "text-center" },
h("img", {
className: "rounded-circle img-fluid mb-4",
src:
imageUrl ??
"https://www.gravatar.com/avatar/" +
md5(entry.data.email) +
"?s=128&pg&d=identicon",
width: "128px",
height: "128px",
}),
h("h4", { className: "fw-bold" }, entry.data.title),
h("hr"),
widgetFor("body"),
h("hr"),
entry.data.email ? h("i", { className: "mdi mdi-at" }) : null
),
])
),
];
};

@ -3,8 +3,6 @@ import {
PageHeader,
Section,
Container,
Col12,
Row,
} from "./components/index.js";
const BlogPreview = ({ widgetFor, entry, fields, collection }) => {
@ -21,67 +19,52 @@ const BlogPreview = ({ widgetFor, entry, fields, collection }) => {
return [
PageHeader(entry),
Section(
Container(
Row([
Container([
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
h(
"div",
{ className: "d-flex flex-wrap gap-2 justify-content-between" },
h(
"div",
{ key: "cover-image", className: "col-12 mb-4" },
h("img", { className: "img-fluid w-100", src: imageUrl })
),
Col12(
h(
"div",
{ className: "row mb-3" },
h(
"div",
{ className: "col-6 mb-md-0 text-body-tertiary" },
h("span", { className: "fw-bold me-1" }, "Geschrieben von:"),
widgetFor("author")
),
h(
"div",
{ className: "col-6 mb-3 mb-md-0 text-body-tertiary" },
h("span", { className: "fw-bold me-1" }, "Datum:"),
entry.data.date
? DateFormat({
date: entry.data.date,
format: {
day: "numeric",
month: "short",
year: "numeric",
},
})
: ""
)
)
),
Row(
h(
"div",
{ className: "col-12 mb-md-0 text-body-tertiary" },
h("span", { className: "fw-bold me-1" }, "Kategorie:"),
entry.data.categories
? entry.data.categories.map(
(category, index) => (index != 0 ? ", " : "") + category
)
: ""
)
{ className: "text-body-secondary" },
h("span", { className: "fw-bold me-1" }, "Geschrieben von:"),
widgetFor("author")
),
h(
"div",
{ key: "border-bottom", className: "col-12 my-4" },
h("div", { className: "border-bottom" })
{ className: "text-body-secondary" },
h("span", { className: "fw-bold me-1" }, "Datum:"),
entry.data.date
? DateFormat({
date: entry.data.date,
format: {
day: "numeric",
month: "short",
year: "numeric",
},
})
: ""
),
h(
"div",
{
key: "body-content",
className: "col-12 mb-5 content text-justify",
},
widgetFor("body")
),
])
)
{ className: "text-body-secondary" },
h("span", { className: "fw-bold me-1" }, "Kategorien:"),
entry.data.categories
? entry.data.categories.map(
(category, index) => (index != 0 ? ", " : "") + category
)
: ""
)
),
h("div", { className: "border-bottom my-4" }),
h(
"div",
{
className: "content text-justify mb-4",
},
widgetFor("body")
),
])
),
];
};

@ -3,7 +3,7 @@ import {
Section,
Container,
Row,
Content,
ContentJustify,
} from "./components/index.js";
const CantorpreisPreview = ({ widgetFor, entry, fields, collection }) => {
@ -26,19 +26,18 @@ const CantorpreisPreview = ({ widgetFor, entry, fields, collection }) => {
Row([
h(
"div",
{ className: "col-md-5 mb-5" },
{ className: "col-md-5 mb-4" },
h("img", {
className: "img-fluid w-75",
className: "img-fluid w-100",
src: imageUrl,
alt: entry.data.name,
})
),
h(
"div",
{ className: "col-md-7 mb-5" },
{ className: "col-md-7" },
h("h3", {}, entry.data.name),
h("h6", { className: "text-body-secondary" }, entry.data.title),
Content(widgetFor("body"))
ContentJustify(widgetFor("body"))
),
])
)

@ -1,4 +1,4 @@
import { PageHeader } from "./components/index.js";
import { Container, PageHeader, Section, Row } from "./components/index.js";
const ChronikIndexPreview = ({
widgetFor,
@ -20,14 +20,10 @@ const ChronikIndexPreview = ({
);
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h("div", { className: "container" }, widgetFor("body")),
Section(
Container(widgetFor("body")),
widgetsFor("infocard").data.enable
? h(
"div",
{ className: "container" },
? Container(
h(
"div",
{ className: "card mb-3" },
@ -68,34 +64,31 @@ const ChronikIndexPreview = ({
)
)
: null,
h(
"div",
{ className: "container" },
Container([
h("h2", { className: "mb-4" }, "Informationsseiten"),
h(
"div",
{ className: "row" },
Row(
widgetsFor("links").map((element) =>
h(
"div",
{ className: "col-lg-4 col-sm-6" },
{ className: "col-lg-4 col-sm-6 d-flex align-items-stretch" },
h(
"div",
{
className: "card border-primary rounded-0 hover-shadow mb-4",
className:
"card border-primary rounded-0 hover-shadow mb-2 w-100",
},
h(
"div",
{ className: "card-body" },
{ className: "card-body d-flex flex-column" },
h(
"h4",
{ className: "card-title text-truncate" },
{ className: "card-title text-truncate mt-auto" },
h("a", { href: element.data.link }, element.data.title)
),
h(
"a",
{
className: "btn btn-primary btn-sm",
className: "btn btn-primary btn-sm align-self-start",
href: element.data.link,
},
"Mehr anzeigen"
@ -104,8 +97,8 @@ const ChronikIndexPreview = ({
)
)
)
)
)
),
])
),
];
};

@ -2,7 +2,7 @@ const Section = (children) =>
h("section", { className: "section" }, children);
const Container = (children) => h("div", { className: "container" }, children);
const Row = (children) => h("div", { className: "row" }, children);
const Content = (children) => h("div", { className: "content" }, children);
const ContentJustify = (children) => h("div", { className: "content text-justify" }, children);
const Col12 = (children) => h("div", { className: "col-12" }, children);
export { Section, Container, Row, Content, Col12 };
export { Section, Container, Row, ContentJustify, Col12 };

@ -1,6 +1,6 @@
import PageHeader from "./page-header.js";
import DateFormat from "./date-format.js";
import md5 from "./md5.js";
import { Section, Container, Row, Content, Col12 } from "./base.js";
import { Section, Container, Row, ContentJustify, Col12 } from "./base.js";
export { PageHeader, DateFormat, md5, Section, Container, Row, Content, Col12 };
export { PageHeader, DateFormat, md5, Section, Container, Row, ContentJustify, Col12 };

@ -1,4 +1,9 @@
import { Container, PageHeader, Row, Section } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Section,
} from "./components/index.js";
const ContestPreview = ({ widgetFor, entry, fields, collection }) => {
const imageField = useMemo(() => {
@ -16,46 +21,28 @@ const ContestPreview = ({ widgetFor, entry, fields, collection }) => {
Section(
Container([
entry.data.image && entry.data.image != "/media/image.webp"
? Row(
h(
"div",
{ className: "col-12 mb-4" },
h("img", { className: "img-fluid w-100", src: imageUrl })
)
)
? h("img", { className: "img-fluid w-100 mb-4", src: imageUrl })
: null,
h(
"div",
{ className: "row mb-4" },
{ className: "d-flex justify-content-between mb-4" },
h(
"div",
{ className: "col-7" },
{ className: "d-flex align-items-center" },
h("i", { className: "mdi mdi-crowd text-primary icon-md me-2" }),
h(
"div",
{ className: "d-flex align-items-center" },
h("i", { className: "mdi mdi-crowd text-primary icon-md me-2" }),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0" }, "KLASSE(N)"),
h("p", { className: "mb-0" }, entry.data.class)
)
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Klassen"),
h("p", { className: "mb-0" }, entry.data.class)
)
),
entry.data.web_url
? h(
"div",
{ className: "col-5 text-end mb-4 mb-xl-0" },
h("a", { className: "btn btn-primary" }, "Website")
)
: null,
h(
"div",
{ className: "col-12 mt-4" },
h("div", { className: "border-bottom border-primary" })
)
? h("a", { className: "btn btn-primary" }, "Website")
: null
),
Row(h("div", { className: "col-12 content" }, widgetFor("body"))),
h("hr"),
ContentJustify(widgetFor("body")),
])
),
];

@ -1,145 +1,121 @@
import { PageHeader, DateFormat } from "./components/index.js";
function isFuture(date, enddate) {
let date1 = new Date(date ? date : 0);
let date2 = new Date(enddate ? enddate : 0);
let present = new Date();
if (date1 >= present || date2 >= present) {
return true;
} else {
return false;
}
}
import {
PageHeader,
DateFormat,
Section,
Container,
} from "./components/index.js";
const EventPreview = ({ widgetsFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h(
"div",
{ className: "container" },
Section(
Container([
h(
"ul",
{ className: "list-inline text-center filter-controls mb-5" },
h(
"li",
{ className: "list-inline-item m-3 text-uppercase active" },
"Alle"
),
h(
"li",
{ className: "list-inline-item m-3 text-uppercase" },
"Anstehend"
),
h(
"li",
{ className: "list-inline-item m-3 text-uppercase" },
"Vergangen"
)
),
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-12" },
{ className: "filtr-container row" },
widgetsFor("events").map((event) =>
h(
"div",
{ className: "row" },
{ className: "filtr-item col-12" },
h(
"div",
{ className: "col-12" },
h(
"ul",
{ className: "list-inline text-center filter-controls mb-5" },
h(
"li",
{ className: "list-inline-item m-3 text-uppercase active" },
"Alle"
),
h(
"li",
{ className: "list-inline-item m-3 text-uppercase" },
"Anstehend"
),
h(
"li",
{ className: "list-inline-item m-3 text-uppercase" },
"Vergangen"
)
)
)
),
h(
"div",
{ className: "filtr-container" },
widgetsFor("events").map((event) =>
{
className: "card hover-shadow border-primary mb-4 p-0",
},
h(
"div",
{ className: "mb-2 mt-2 col-12 filtr-item" },
{ className: "row g-0" },
h(
"div",
{
className:
"card d-md-table w-100 hover-shadow border-primary ps-0 pe-0 mb-4",
"col-md-3 text-center p-4 bg-primary text-white rounded",
},
h(
"div",
{
className:
"d-md-table-cell text-center p-4 bg-primary text-white mb-4 mb-md-0 termin-tc rounded",
},
h(
"span",
{ className: "h2 d-block" },
event.data.date != null && event.data.date != ""
? DateFormat({
date: event.data.date,
format: { day: "numeric" },
})
: null
),
h(
"span",
{ className: "d-block" },
event.data.date != null && event.data.date != ""
? DateFormat({
date: event.data.date,
format: { month: "short", year: "numeric" },
})
: null
),
event.data.enddate != null && event.data.enddate != ""
? [
h("br"),
"bis " +
DateFormat({
date: event.data.enddate,
format: {
day: "numeric",
month: "short",
year: "numeric",
},
}),
]
"span",
{ className: "h2" },
event.data.date != null && event.data.date != ""
? DateFormat({
date: event.data.date,
format: { day: "numeric" },
})
: null
),
h(
"span",
{},
event.data.date != null && event.data.date != ""
? DateFormat({
date: event.data.date,
format: { month: "short", year: "numeric" },
})
: null
),
event.data.enddate != null && event.data.enddate != ""
? [
h("br"),
"bis " +
DateFormat({
date: event.data.enddate,
format: {
day: "numeric",
month: "short",
year: "numeric",
},
}),
]
: null
),
h(
"div",
{ className: "col-md-9" },
h(
"div",
{
className:
"d-md-table-cell px-4 align-middle mb-4 mb-md-0 p-2",
"card-body h-100 d-flex flex-column justify-content-around",
},
h("p", { className: "h4 mb-0 d-block" }, event.data.title)
),
event.data.location
? h(
"div",
{
className:
"d-md-table-cell text-end pe-md-4 p-2 align-middle",
},
h(
"p",
{},
h("h4", { className: "card-title" }, event.data.title),
event.data.location
? h(
"div",
{
className: "card-text",
},
h("i", {
className:
"mdi mdi-map-marker-radius-outline icon-s text-primary me-2",
}),
event.data.location
)
)
: null
: null
)
)
)
)
)
)
)
)
),
])
),
];
};

@ -1,62 +1,44 @@
import { PageHeader } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Section,
} from "./components/index.js";
const FormsPreview = ({ widgetsFor, widgetFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-12" },
h("h2", { className: "mb-4" }, entry.data.title)
)
),
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-12 content" },
widgetsFor("files").map((file) =>
Section(
Container([
h("h2", { className: "mb-4" }, entry.data.title),
ContentJustify([
widgetsFor("files").map((file) =>
h(
"div",
{
className: "card border-primary rounded-0 hover-shadow mb-2",
},
h(
"div",
{ className: "container mb-0" },
{ className: "card-body mb-0" },
h("h4", { className: "card-title" }, file.data.title),
h(
"div",
"a",
{
className:
"card border-primary rounded-0 hover-shadow mb-5",
"text-decoration-none btn btn-primary btn-sm mb-0",
},
h(
"div",
{ className: "card-body mb-0" },
h("h4", { className: "card-title" }, file.data.title),
h(
"a",
{
className:
"text-decoration-none btn btn-primary btn-sm mb-0",
},
h("i", {
className: "mdi mdi-tray-arrow-down mb-0 me-2",
}),
"Download"
)
)
h("i", {
className: "mdi mdi-tray-arrow-down me-2",
}),
"Download"
)
)
),
widgetFor("body")
)
)
)
)
),
widgetFor("body"),
]),
])
),
];
};

@ -1,14 +1,12 @@
import {
Col12,
Container,
ContentJustify,
PageHeader,
Row,
Section,
} from "./components/index.js";
const GanztagPreview = ({
widgetFor,
widgetsFor,
entry,
fields,
collection,
@ -27,98 +25,84 @@ const GanztagPreview = ({
PageHeader(entry),
Section(
Container([
Row(
h(
"div",
{ className: "col-12 mb-4" },
h("img", { className: "img-fluid w-100", src: imageUrl })
)
),
h("img", { className: "img-fluid w-100 mb-4", src: imageUrl }),
h("h2", {}, entry.data.title),
h(
"div",
{ className: "row align-items-center mb-4" },
Col12(
Row([
{ className: "row mb-4" },
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-calendar-today-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-calendar-today-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0" }, "ZEIT"),
h("p", { className: "mb-0" }, entry.data.schedule)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-timer-sand text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0" }, "DAUER"),
h("p", { className: "mb-0" }, entry.data.duration)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-crowd text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0" }, "KLASSE(N)"),
h("p", { className: "mb-0" }, entry.data.class)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-map-marker-radius-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0" }, "RAUM"),
h("p", { className: "mb-0" }, entry.data.room)
)
)
),
])
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Zeit"),
h("p", { className: "mb-0" }, entry.data.schedule)
)
)
),
h(
"div",
{ className: "col-12 mt-4" },
h("div", { className: "border-bottom border-primary" })
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-timer-sand text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Dauer"),
h("p", { className: "mb-0" }, entry.data.duration)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className: "mdi mdi-crowd text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Klassen"),
h("p", { className: "mb-0" }, entry.data.class)
)
)
),
h(
"div",
{ className: "col-lg-3 col-sm-6 mb-3 mb-sm-0" },
h(
"div",
{ className: "d-flex align-items-center" },
h("i", {
className:
"mdi mdi-map-marker-radius-outline text-primary icon-md me-2",
}),
h(
"div",
{ className: "text-start" },
h("h6", { className: "mb-0 text-uppercase" }, "Raum"),
h("p", { className: "mb-0" }, entry.data.room)
)
)
)
),
Row(h("div", { className: "col-12 content" }, widgetFor("body"))),
h("hr", { className: "mb-4" }),
ContentJustify(widgetFor("body")),
])
),
];

@ -1,17 +1,13 @@
import { PageHeader } from "./components/index.js";
import { Container, PageHeader, Row } from "./components/index.js";
const KontaktPreview = ({ widgetsFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section bg-body-tertiary" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
{ className: "section pb-0" },
Container(
Row([
h(
"div",
{ className: "col-lg-6 mb-4 mb-lg-0" },
@ -88,8 +84,8 @@ const KontaktPreview = ({ widgetsFor, entry }) => {
)
)
)
)
)
),
])
)
),
];

@ -1,25 +1,14 @@
import { PageHeader } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Section,
} from "./components/index.js";
const PagePreview = ({ widgetFor, entry }) => {
return [
PageHeader(entry),
h(
"section",
{ className: "section" },
h(
"div",
{ className: "container" },
h(
"div",
{ className: "row" },
h(
"div",
{ className: "col-12" },
h("div", { className: "content" }, widgetFor("body"))
)
)
)
),
Section(Container(ContentJustify(widgetFor("body")))),
];
};

@ -1,12 +1,17 @@
import { Container, PageHeader, Row, Section } from "./components/index.js";
import {
Container,
ContentJustify,
PageHeader,
Row,
} from "./components/index.js";
const ProjektwochePreview = ({ widgetsFor, widgetFor, entry }) => {
return [
PageHeader(entry),
Section([
Container(
Row(h("div", { className: "col-12 mb-4 content" }, widgetFor("body")))
),
h(
"section",
{ className: "section superhaufen" },
Container(ContentJustify(widgetFor("body"))),
Container(
Row([
widgetsFor("tiles").map((tile) =>
@ -47,8 +52,8 @@ const ProjektwochePreview = ({ widgetsFor, widgetFor, entry }) => {
)
),
])
),
]),
)
),
];
};

@ -46,26 +46,22 @@ const CardShortcode = {
preview: ({ title, link }) => {
return h(
"div",
{ className: "container mb-0" },
{ className: "card border-primary rounded-0 hover-shadow mb-2" },
h(
"div",
{ className: "card border-primary rounded-0 hover-shadow mb-5" },
{ className: "card-body mb-0" },
h(
"div",
{ className: "card-body mb-0" },
h(
"h4",
{ className: "card-title" },
h("a", { className: "text-decoration-none", href: link }, title)
),
h(
"a",
{
className: "mb-0 btn btn-primary btn-sm text-decoration-none",
href: link,
},
"Mehr anzeigen"
)
"h4",
{ className: "card-title" },
h("a", { className: "text-decoration-none", href: link }, title)
),
h(
"a",
{
className: "mb-0 btn btn-primary btn-sm text-decoration-none",
href: link,
},
"Mehr anzeigen"
)
)
);

@ -46,27 +46,23 @@ const DownloadShortcode = {
preview: ({ title, link }) => {
return h(
"div",
{ className: "container mb-0" },
{ className: "card border-primary rounded-0 hover-shadow mb-2" },
h(
"div",
{ className: "card border-primary rounded-0 hover-shadow mb-5" },
{ className: "card-body mb-0" },
h(
"div",
{ className: "card-body mb-0" },
h(
"h4",
{ className: "card-title" },
h("a", { className: "text-decoration-none", href: link }, title)
),
h(
"a",
{
className: "mb-0 btn btn-primary btn-sm text-decoration-none",
href: link,
},
h("i", { className: "mdi mdi-tray-arrow-down mb-0 me-2" }),
"Download"
)
"h4",
{ className: "card-title" },
h("a", { className: "text-decoration-none", href: link }, title)
),
h(
"a",
{
className: "mb-0 btn btn-primary btn-sm text-decoration-none",
href: link,
},
h("i", { className: "mdi mdi-tray-arrow-down mb-0 me-2" }),
"Download"
)
)
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB