Bootstrap v5 Migration, Style Cleanups, Formular-Umgestaltung, Layout-Verbesserungen (schließt #222)
This commit is contained in:
		| @@ -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 20 }}</a></h4> | ||||
|     <h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 30 }}</a></h4> | ||||
|     <a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>{{ i18n "show_more"}}</a> | ||||
|   </div> | ||||
| </div> | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| <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="row col-12 mb-3"><i class="mdi mdi-bookmark-outline mr-2"></i>{{ .Params.category }}</div> | ||||
|     <h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 20 }}</a></h4> | ||||
|     <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> | ||||
|     <a href="{{ .Permalink }}" class="btn btn-primary btn-sm text-uppercase" data-pagefind-ignore>{{ i18n "read_more"}}</a> | ||||
|   </div> | ||||
| </div> | ||||
|   | ||||
| @@ -2,13 +2,13 @@ | ||||
|   <a href="{{ .Permalink }}"><img class="card-img-top rounded-0" src="{{ .Params.image | relURL }}" alt="{{ .Title }}"></a> | ||||
|   <div class="card-body"> | ||||
|     <div class="row mb-2"> | ||||
|       <div class="col-6"><i class="mdi mdi-calendar-today mr-2"></i>{{ time.Format "02. Jan 2006" .PublishDate }}</div> | ||||
|       <div class="col-6"><i class="mdi mdi-calendar-today me-2"></i>{{ time.Format "02. Jan 2006" .PublishDate }}</div> | ||||
|       <div class="col-6"> | ||||
|         <i class="mdi mdi-fountain-pen-tip mr-2"></i> | ||||
|         <i class="mdi mdi-fountain-pen-tip me-2"></i> | ||||
|         <a href="{{ `author` | relLangURL }}/{{ .Params.author | urlize }}">{{ .Params.author | title }}</a> | ||||
|       </div> | ||||
|     </div> | ||||
|     <h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title }}</a></h4> | ||||
|     <h4 class="card-title"><a href="{{ .Permalink }}">{{ .Title | truncate 30 }}</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> | ||||
|   </div> | ||||
|   | ||||
| @@ -2,8 +2,8 @@ | ||||
|   <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"><i class="mdi mdi-calendar-today mr-2"></i>{{ .Params.schedule }}</div> | ||||
|       <div class="row mb-2"><i class="mdi mdi-crowd mr-2"></i>{{ .Params.class }}</div> | ||||
|       <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> | ||||
|     <a href="{{ .Permalink }}" class="btn btn-primary btn-sm" data-pagefind-ignore>{{ i18n "show_more"}}</a> | ||||
|   | ||||
| @@ -11,17 +11,17 @@ | ||||
|           <div class="col-12"> | ||||
|             <div class="row mb-3"> | ||||
|               <div class="col-6 mb-md-0 text-light"> | ||||
|                 <span class="font-weight-bold mr-1">{{ i18n "posted_by" }}:</span> | ||||
|                 <span class="fw-bold me-1">{{ i18n "posted_by" }}:</span> | ||||
|                 <a href="{{ `author/` | relLangURL }}{{ .Params.Author | urlize }}">{{ .Params.author | title }}</a> | ||||
|               </div> | ||||
|               <div class="col-6 mb-3 mb-md-0 text-light"> | ||||
|                 <span class="font-weight-bold mr-1">{{ i18n "date" }}:</span> | ||||
|                 <span class="fw-bold me-1">{{ i18n "date" }}:</span> | ||||
|                 {{ time.Format "02. Jan 2006" .PublishDate }} | ||||
|               </div> | ||||
|           </div> | ||||
|           <div class="row"> | ||||
|             <div class="col-12 mb-md-0 text-light"> | ||||
|               <span class="font-weight-bold mr-1">{{ i18n "category" }}:</span> | ||||
|               <span class="fw-bold me-1">{{ i18n "category" }}:</span> | ||||
|               {{ range $index, $elements:= .Params.categories }} | ||||
|                 {{ if ne $index 0 }}, {{ end }} | ||||
|                 <a href="{{ `categories/` | relLangURL }}{{ . | urlize | lower }}">{{ . | title }}</a> | ||||
|   | ||||
| @@ -6,37 +6,54 @@ | ||||
|       <div class="col-lg-8 mb-4 mb-lg-0"> | ||||
|         <form action="https://php.cantorgymnasium.de/formtools/process.php" method="post" enctype="multipart/form-data"> | ||||
|           <input type="hidden" name="form_tools_form_id" value="5" /> | ||||
|           <div style="display:none"> | ||||
|           <div hidden> | ||||
|             <input type="text" name="bad_email" value="" /> | ||||
|           </div> | ||||
|           <input type="text" class="form-control mb-3" id="surname" name="visitor_surname" placeholder="Name (Schüler/in)" required> | ||||
|           <input type="text" class="form-control mb-3" id="name" name="visitor_name" placeholder="Vorname" required> | ||||
|           <label for="birthday">Geburtsdatum</label> | ||||
|           <input type="date" class="form-control mb-3" id="birthday" name="visitor_birthday" min="2005-01-01" required> | ||||
|           <div class="row"> | ||||
|             <input type="text" class="form-control mb-3 col-lg-8 ml-3 mr-4" id="street" name="street" placeholder="Straße" required><input type="text" class="form-control mb-3 col-lg-3" id="house" name="house" placeholder="Hausnummer" required> | ||||
|           <div class="input-group"> | ||||
|             <input type="text" class="form-control mb-3" id="surname" name="visitor_surname" placeholder="Name (Schüler/in)" required> | ||||
|             <input type="text" class="form-control mb-3" id="name" name="visitor_name" placeholder="Vorname" required> | ||||
|           </div> | ||||
|           <input type="text" class="form-control mb-3" id="adresszusatz" name="adresszusatz" placeholder="Adresszusatz"> | ||||
|           <div class="row"> | ||||
|             <input type="text" inputmode="numeric" class="form-control mb-3 col-lg-5 ml-3 mr-4" id="zipcode" name="zipcode" placeholder="PLZ" pattern="[0-9]{5}" title="Postleitzahlen bestehen aus exakt 5 Ziffern" required><input type="text" class="form-control mb-3 col-lg-6" id="city" name="city" placeholder="Stadt" required>  | ||||
|           <div class="input-group mb-3"> | ||||
|             <span class="input-group-text">Geburtsdatum</span> | ||||
|             <input type="date" class="form-control" id="birthday" name="visitor_birthday" min="2005-01-01" required> | ||||
|           </div> | ||||
|           <input type="text" class="form-control mb-3" id="street" name="street" placeholder="Straße" required> | ||||
|           <div class="input-group"> | ||||
|             <input type="text" class="form-control mb-3" id="house" name="house" placeholder="Hausnummer" required> | ||||
|             <input type="text" class="form-control mb-3" id="adresszusatz" name="adresszusatz" placeholder="Adresszusatz"> | ||||
|           </div> | ||||
|           <div class="input-group"> | ||||
|             <input type="text" inputmode="numeric" class="form-control mb-3" id="zipcode" name="zipcode" placeholder="PLZ" pattern="[0-9]{5}" title="Postleitzahlen bestehen aus exakt 5 Ziffern" required> | ||||
|             <input type="text" class="form-control mb-3" id="city" name="city" placeholder="Stadt" required>  | ||||
|           </div> | ||||
|           <input type="text" class="form-control mb-3" id="landkreis" name="landkreis" placeholder="Landkreis"> | ||||
|           <div class="row"> | ||||
|             <input type="tel" class="form-control mb-3 col-lg-5 ml-3 mr-4" id="tpriv" name="tpriv" placeholder="Telefon privat"><input type="tel" class="form-control mb-3 col-lg-6" id="tdienstl" name="tdienstl" placeholder="Telefon dienstl."> | ||||
|           <div class="input-group"> | ||||
|             <input type="tel" class="form-control mb-3" id="tpriv" name="tpriv" placeholder="Telefon privat"> | ||||
|             <input type="tel" class="form-control mb-3" id="tdienstl" name="tdienstl" placeholder="Telefon dienstl."> | ||||
|           </div> | ||||
|           <input type="text" class="form-control mb-3" id="dpname" name="dpname" placeholder="Abweichender Elternname"> | ||||
|           <input type="text" class="form-control mb-3" id="grundschule" name="grundschule" placeholder="Grundschule" required> | ||||
|           <input type="email" class="form-control mb-3" id="mail" name="visitor_email" placeholder="Ihre E-Mail Adresse" required> | ||||
|           <textarea name="visitor_message" id="message" class="form-control mb-3" placeholder="Bemerkungen"></textarea> | ||||
|           <label for="zeugnis_1">Zeugnis (Vorderseite)</label> | ||||
|           <input type="file" class="form-control mb-3" id="zeugnis_1" name="zeugnis_1" accept="image/*,.pdf"> | ||||
|           <label for="zeugnis_2">Zeugnis (Rückseite)</label> | ||||
|           <input type="file" class="form-control mb-3" id="zeugnis_2" name="zeugnis_2" accept="image/*,.pdf"> | ||||
|           <label for="slbe">Schullaufbahnempfehlung</label> | ||||
|           <input type="file" class="form-control mb-3" id="slbe" name="slbe" accept="image/*,.pdf"> | ||||
|           <input type="checkbox" id="accept" name="accept" required> | ||||
|           <label for="accept" class="mr-2">Hiermit melden wir unser Kind verbindlich zur Aufnahmeprüfung an.</label> | ||||
|           <button type="submit" value="send" class="btn btn-primary">{{ i18n "send" }}</button> | ||||
|           <div class="input-group mb-3"> | ||||
|             <input type="file" class="form-control" id="zeugnis_1" name="zeugnis_1" accept="image/*,.pdf"> | ||||
|             <span class="input-group-text">Zeugnis (Vorderseite)</span> | ||||
|           </div> | ||||
|           <div class="input-group mb-3"> | ||||
|             <input type="file" class="form-control" id="zeugnis_2" name="zeugnis_2" accept="image/*,.pdf"> | ||||
|             <span class="input-group-text">Zeugnis (Rückseite)</span> | ||||
|           </div> | ||||
|           <div class="input-group mb-3"> | ||||
|             <input type="file" class="form-control" id="slbe" name="slbe" accept="image/*,.pdf"> | ||||
|             <span class="input-group-text">Schullaufbahnempfehlung</span> | ||||
|           </div> | ||||
|           <div class="input-group"> | ||||
|             <div class="input-group-text"> | ||||
|               <input type="checkbox" class="form-check-input" id="accept" name="accept" required> | ||||
|             </div> | ||||
|             <span class="input-group-text">Hiermit melden wir unser Kind verbindlich zur Aufnahmeprüfung an.</span> | ||||
|             <button type="submit" value="send" class="btn btn-primary">{{ i18n "send" }}</button> | ||||
|           </div> | ||||
|         </form> | ||||
|       </div> | ||||
|       <div class="col-lg-4"> | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
|                 <a href="{{ .Permalink }}" class="h4 mb-3 d-block">{{ .Title }}</a> | ||||
|                 <p class="mb-0">{{ .Summary | truncate 100 }}</p> | ||||
|               </div> | ||||
|               <div class="d-md-table-cell text-right pr-0 pr-md-4" data-pagefind-ignore> | ||||
|               <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> | ||||
|             </div> | ||||
|   | ||||
| @@ -12,7 +12,7 @@ | ||||
| 			  <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="font-weight-bold">{{ .Title }}</h4> | ||||
| 			  <h4 class="fw-bold">{{ .Title }}</h4> | ||||
| 			</figcaption> | ||||
| 		  </figure> | ||||
| 		  <hr> | ||||
|   | ||||
| @@ -11,7 +11,7 @@ | ||||
|                 <a href="{{ .Permalink }}" class="h4 mb-3 d-block">{{ .Title }}</a> | ||||
|                 <p class="mb-0">{{ .Summary | truncate 100 }}</p> | ||||
|               </div> | ||||
|               <div class="d-md-table-cell text-right pr-0 pr-md-4" data-pagefind-ignore><a href="{{ .Permalink }}" class="btn btn-primary">{{ i18n "read_more"}}</a></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> | ||||
|             </div> | ||||
|           {{ end }} | ||||
|         </div> | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="row"> | ||||
|       <div class="col-12 mb-50 content"> | ||||
|       <div class="col-12 content"> | ||||
|         {{ range .Params.files }} | ||||
|           <div class="container mb-0"> | ||||
|             <div class="card border-primary rounded-0 hover-shadow mb-4"> | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|   <div class="container"> | ||||
|     <div class="row"> | ||||
|       <div class="col-12 mb-4"> | ||||
|         <img style="height: 500px;width: 100%;object-fit: cover;" src="{{ .Params.image | relURL }}" | ||||
|         <img class="w-100" style="height: 600px;object-fit: cover;" src="{{ .Params.image | relURL }}" | ||||
|           class="img-fluid w-100"> | ||||
|       </div> | ||||
|     </div> | ||||
| @@ -16,8 +16,8 @@ | ||||
|         <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 mr-2"></i> | ||||
|               <div class="text-left"> | ||||
|               <i class="mdi mdi-calendar-today-outline text-primary icon-md me-2"></i> | ||||
|               <div class="text-start"> | ||||
|                 <h6 class="mb-0">{{ i18n "schedule" | upper }}</h6> | ||||
|                 <p class="mb-0">{{ .Params.schedule }}</p> | ||||
|               </div> | ||||
| @@ -25,8 +25,8 @@ | ||||
|           </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 mr-2"></i> | ||||
|               <div class="text-left"> | ||||
|               <i class="mdi mdi-timer-sand text-primary icon-md me-2"></i> | ||||
|               <div class="text-start"> | ||||
|                 <h6 class="mb-0">{{ i18n "duration" | upper }}</h6> | ||||
|                 <p class="mb-0">{{ .Params.duration }}</p> | ||||
|               </div> | ||||
| @@ -34,8 +34,8 @@ | ||||
|           </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 mr-2"></i> | ||||
|               <div class="text-left"> | ||||
|               <i class="mdi mdi-crowd text-primary icon-md me-2"></i> | ||||
|               <div class="text-start"> | ||||
|                 <h6 class="mb-0">{{ i18n "class" | upper }}</h6> | ||||
|                 <p class="mb-0">{{ .Params.class }}</p> | ||||
|               </div> | ||||
| @@ -43,8 +43,8 @@ | ||||
|           </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 mr-2"></i> | ||||
|               <div class="text-left"> | ||||
|               <i class="mdi mdi-map-marker-radius-outline text-primary icon-md me-2"></i> | ||||
|               <div class="text-start"> | ||||
|                 <h6 class="mb-0">{{ i18n "room" | upper }}</h6> | ||||
|                 <p class="mb-0">{{ .Params.room }}</p> | ||||
|               </div> | ||||
|   | ||||
| @@ -6,11 +6,10 @@ | ||||
| {{ with $data.homepage.slider }} | ||||
| <section class="hero-section overlay bg-cover hero-default" data-background="{{ .bg_image | absURL }}"> | ||||
|   <div class="container"> | ||||
|     <div class="hero-slider"> | ||||
|         <div class="row"> | ||||
|           <div class="col-md-12"> | ||||
|             <h2 class="text-white">{{ $data.homepage.slider.title | markdownify }}</h2> | ||||
|             <div class="hero-slider-items"> | ||||
|             <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> | ||||
| @@ -21,7 +20,6 @@ | ||||
|             {{ end }} | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </section> | ||||
| @@ -102,7 +100,7 @@ | ||||
| {{ end }} | ||||
|  | ||||
| {{ if $data.homepage.blog.enable }} | ||||
| <section class="mb-4"> | ||||
| <section class="section-sm mb-4"> | ||||
|   <div class="container"> | ||||
|     <div class="row"> | ||||
|       <div class="col-12"> | ||||
| @@ -115,7 +113,7 @@ | ||||
|           <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 mr-3 ml-0"><i class="mdi mdi-fountain-pen-tip"></i> <a | ||||
|               <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> | ||||
| @@ -143,7 +141,7 @@ | ||||
|       <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 text-sm-left"> | ||||
|           <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 }} | ||||
| @@ -170,10 +168,10 @@ | ||||
|     <div class="row"> | ||||
|       <div class="col-12"> | ||||
|         <div class="d-flex align-items-center section-title justify-content-between"> | ||||
|           <h2 class="mb-0 text-nowrap mr-3">{{ $data.homepage.ganztagsangebote.title }}</h2> | ||||
|           <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` | relLangURL }}" class="btn btn-sm btn-primary-outline ml-sm-3 d-none d-sm-block">{{ i18n "see_all" }}</a> | ||||
|             <a href="{{ `ganztagsangebote` | relLangURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block">{{ i18n "see_all" }}</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
| @@ -224,10 +222,10 @@ | ||||
|     <div class="row"> | ||||
|       <div class="col-12"> | ||||
|         <div class="d-flex align-items-center section-title justify-content-between"> | ||||
|           <h2 class="mb-0 text-nowrap mr-3">{{ $data.homepage.termine.title }}</h2> | ||||
|           <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` | relLangURL }}" class="btn btn-sm btn-primary-outline ml-sm-3 d-none d-sm-block text-nowrap">{{ i18n "all_events" }}</a> | ||||
|             <a href="{{`termine` | relLangURL }}" class="btn btn-sm btn-primary-outline ms-sm-3 d-none d-sm-block text-nowrap">{{ i18n "all_events" }}</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
| @@ -244,7 +242,7 @@ | ||||
|       {{ end }} | ||||
|  | ||||
|       {{ range first 3 $events }} | ||||
|       <li class="d-md-table mb-4 w-100 border-bottom hover-shadow"> | ||||
|       <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> | ||||
| @@ -257,9 +255,9 @@ | ||||
|           <p class="h4 mb-0 d-block">{{ .title }}</p> | ||||
|         </div> | ||||
|         {{ with .location }} | ||||
|         <div class="d-md-table-cell text-right pr-0 pr-md-4 p-2 vertical-align-middle"> | ||||
|         <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 mr-2"></i> | ||||
|             <i class="mdi mdi-map-marker-radius-outline icon-s text-primary me-2"></i> | ||||
|             {{ . | markdownify }} | ||||
|           </p> | ||||
|         </div> | ||||
|   | ||||
| @@ -22,7 +22,7 @@ crossorigin=""/> | ||||
|       <div class="col-lg-6 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="2" /> | ||||
|           <div style="display:none"> | ||||
|           <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"> | ||||
|   | ||||
| @@ -28,9 +28,9 @@ | ||||
|   <div class="bg-white"> | ||||
|     <h4 class="mb-4">{{ i18n "latest_article" }}</h4> | ||||
|     {{ range first 5 ( where .Site.Pages "Type" "post" )}} | ||||
|     <div class="media border-bottom border-color pb-3 mb-3"> | ||||
|       <a href="{{ .Permalink }}"><img class="mr-3 post-thumb-sm" src="{{ .Params.Image | absURL }}"></a> | ||||
|       <div class="media-body"> | ||||
|     <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 }}"> | ||||
|           <h5 class="mt-0">{{ .Title }}</h5> | ||||
|         </a> | ||||
|   | ||||
| @@ -48,10 +48,10 @@ | ||||
|   <div class="copyright py-4 bg-footer"> | ||||
|     <div class="container"> | ||||
|       <div class="row"> | ||||
|         <div class="col-sm-7 text-sm-left text-center"> | ||||
|         <div class="col-sm-7 text-sm-start text-center"> | ||||
|           <p class="mb-0">{{ .Site.Params.copyright | markdownify | emojify }}</p> | ||||
|         </div> | ||||
|         <div class="col-sm-5 text-sm-right text-center"> | ||||
|         <div class="col-sm-5 text-smend text-center"> | ||||
|           <ul class="list-inline"> | ||||
|             {{ range .Site.Params.social }} | ||||
|             <li class="list-inline-item"><a class="d-inline-block p-2" href="{{ .link | safeURL }}"><i class="{{ .icon }} text-primary"></i></a></li> | ||||
|   | ||||
| @@ -61,14 +61,12 @@ | ||||
|  | ||||
| </head> | ||||
|  | ||||
| <div id="pagefind-search" class="modal" data-pagefind-ignore> | ||||
| <div id="pagefind-search" class="modal fade" data-pagefind-ignore> | ||||
|   <div class="modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered" role="document"> | ||||
|     <div class="modal-content"> | ||||
|       <div class="modal-header"> | ||||
|         <h3 class="modal-title">Suche</h3> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-label="Close" data-pagefind-ignore> | ||||
|           <span aria-hidden="true">×</span> | ||||
|         </button> | ||||
|         <button type="button" class="btn-close" data-bs-dismiss="modal" data-pagefind-ignore></button> | ||||
|       </div> | ||||
|       <div class="modal-body"> | ||||
|         <div class="content"> | ||||
|   | ||||
| @@ -10,15 +10,15 @@ | ||||
|     <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 mr-2"></i> | ||||
|           <div class="text-left"> | ||||
|           <i class="mdi mdi-crowd text-primary icon-md me-2"></i> | ||||
|           <div class="text-start"> | ||||
|             <h6 class="mb-0">{{ i18n "class" | upper }}</h6> | ||||
|             <p class="mb-0">{{ .Params.class }}</p> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       {{ if .Params.web_url }} | ||||
|       <div class="col-5 text-right mb-4 mb-xl-0"> | ||||
|       <div class="col-5 text-end mb-4 mb-xl-0"> | ||||
|         <a href="{{ .Params.web_url | safeURL }}" class="btn btn-primary">{{ i18n "website" }}</a> | ||||
|       </div> | ||||
|       {{ end }} | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|   <div class="top-header py-2 bg-white"> | ||||
|     <div class="container"> | ||||
|       <div class="row no-gutters align-items-center"> | ||||
|         <div class="col-lg-4 text-center text-lg-left"> | ||||
|         <div class="col-lg-4 text-center text-lg-start"> | ||||
|           <ul class="list-inline"> | ||||
|             {{ range .Site.Params.social }} | ||||
|             <li class="list-inline-item mx-0"><a class="d-inline-block p-2 text-color" href="{{ .link | safeURL }}"><i | ||||
| @@ -11,10 +11,10 @@ | ||||
|             {{ end }} | ||||
|           </ul> | ||||
|         </div> | ||||
|         <div class="col-lg-8 text-center text-lg-right"> | ||||
|         <div class="col-lg-8 text-center text-lg-end"> | ||||
|           <ul class="list-inline"> | ||||
|             <li class="list-inline-item"> | ||||
|               <a class="text-color mr-3" href="tel:{{ .Site.Params.mobile }}"><strong>{{ i18n "call" | upper }} : | ||||
|               <a class="text-color me-3" href="tel:{{ .Site.Params.mobile }}"><strong>{{ i18n "call" | upper }} : | ||||
|                 </strong> {{ .Site.Params.mobile }}</a> | ||||
|             </li> | ||||
|             <li class="list-inline-item"> | ||||
| @@ -39,7 +39,7 @@ | ||||
|         </button> | ||||
|  | ||||
|         <div class="collapse navbar-collapse text-center" id="navigation"> | ||||
|           <ul class="navbar-nav ml-auto"> | ||||
|           <ul class="navbar-nav ms-auto"> | ||||
|             <li class="nav-item"> | ||||
|               <a class="nav-link" href="{{ .Site.BaseURL | absLangURL }}">{{ .Site.Params.Home }}</a> | ||||
|             </li> | ||||
|   | ||||
| @@ -1,16 +1,26 @@ | ||||
| <div id="{{ md5 .title }}" class="modal"> | ||||
| <div id="{{ md5 .title }}" class="modal fade"> | ||||
|   <div class="modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered" role="document"> | ||||
|     <div class="modal-content"> | ||||
|       <div class="modal-header"> | ||||
|         <h3 class="modal-title">{{ .title }}</h3> | ||||
|         <button type="button" class="close" data-dismiss="modal" aria-label="Close" data-pagefind-ignore> | ||||
|           <span aria-hidden="true">×</span> | ||||
|         </button> | ||||
|         <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"> | ||||
|         <div class="content mb-4"> | ||||
|         {{ .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 }} | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <section class="page-title-section overlay" style="background-image: url('{{ .Params.Bg_image | relURL}}'),url('{{`media/backgrounds/page-title.webp`| relURL}}');" > | ||||
|   <div class="container"> | ||||
|     <div class="row"> | ||||
|       <div class="col-md-8"> | ||||
|       <div class="col-md-8 position-relative"> | ||||
|         <ul class="list-inline"> | ||||
|           <li class="list-inline-item h2" data-pagefind-ignore><a class="text-primary font-secondary" href="{{ if .Params.Previous.enable }}{{ .Params.Previous.link }}{{ else if .Parent.Page }}{{ .Parent.Page.Permalink }}{{ else }}{{ .Site.baseURL | absLangURL }}{{ end }}">{{ if .Params.previous.enable }}{{ .Params.previous.title }}{{ else }}{{ with .Parent.Params.title }}{{.}}{{ else }}{{ .Site.Params.home }}{{ end }}{{ end }}</a></li> | ||||
|           <li class="list-inline-item h2"><i class="mdi mdi-chevron-double-right text-white"></i></li> | ||||
|   | ||||
| @@ -9,9 +9,9 @@ | ||||
|         <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="media mb-2 mb-sm-0 align-items-center"> | ||||
|             <img class="mr-4 img-fluid person-thumb-sm" src="{{ .Params.Image | relURL }}" alt="{{ .Title }}"> | ||||
|             <div class="media-body"> | ||||
|           <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> | ||||
| @@ -58,12 +58,9 @@ | ||||
|               color: function (word, weight) { | ||||
|                 return (weight === 200) ? '#ffbc3b' : '#1a1a37'; | ||||
|               }, | ||||
|               hover: function(item, dimension, event) { | ||||
|                 console.log("item:", item); | ||||
|                 console.log("dimension:", dimension); | ||||
|                 console.log("event:", event); | ||||
|               /* hover: function(item, dimension, event) { | ||||
|                 item && item[2] ? event.target.style.textDecorationLine = "underline" : null | ||||
|               }, | ||||
|               },*/ | ||||
|               fontFamily: 'Tilt Warp, serif', | ||||
|               fontWeight: 700, | ||||
|               list: JSON.parse("{{ $topics }}"), | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 	  {{ if $isimg }} | ||||
| 	    {{ $linkURL := print (trim $.Site.BaseURL "/") "/" $dir "/" .Name | absURL }} | ||||
| 	    <div class="col-lg-3 col-md-4 col-sm-6"> | ||||
| 		  <a class="vb-gallery" data-gall="{{ md5 $dir }}" href="{{ $linkURL }}"><img class="lazy img-thumbnail" style="width: 100%;height:100%;object-fit: cover;" data-src="{{ $linkURL }}"></a> | ||||
| 		  <a class="vb-gallery" data-gall="{{ md5 $dir }}" href="{{ $linkURL }}"><img class="lazy img-thumbnail w-100 h-100" style="object-fit: cover;" data-src="{{ $linkURL }}"></a> | ||||
| 	    </div> | ||||
| 	  {{ end }} | ||||
|     {{ end }} | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| <div class="col-lg-3 col-md-4 col-sm-6"> | ||||
|   <a class="vb-gallery" data-gall='{{ md5 (.Get "src") }}' href='{{ .Get "src" }}'><img class="lazy img-thumbnail" style="width: 100%;height:100%;object-fit: cover;" data-src='{{ .Get "src" }}'></a> | ||||
|   <a class="vb-gallery" data-gall='{{ md5 (.Get "src") }}' href='{{ .Get "src" }}'><img class="lazy img-thumbnail w-100 h-100" style="object-fit: cover;" data-src='{{ .Get "src" }}'></a> | ||||
| </div> | ||||
| @@ -1,75 +1,44 @@ | ||||
| <div class="img-slider"> | ||||
| 	{{- with (.Get "dir") -}} | ||||
| 		{{- $files := readDir (print "/static/" .) }} | ||||
| 		{{- 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 }} | ||||
|                 <div class="is-slide {{if eq $index 0 }}active{{end}}"> | ||||
|                     <img src="{{ $linkURL }}" alt=""> | ||||
|                 </div>             | ||||
| 			{{- end }} | ||||
| 		{{- end }} | ||||
| 	{{- end }} | ||||
|     <div class="is-navigation"> | ||||
|         <div class="is-btn active"></div> | ||||
|         <div class="is-btn"></div> | ||||
|         <div class="is-btn"></div> | ||||
|         <div class="is-btn"></div> | ||||
| <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> | ||||
|         {{ end }} | ||||
|       {{ end }} | ||||
|     {{ end }} | ||||
|     </div> | ||||
| </div> | ||||
| <script type="text/javascript"> | ||||
|     var slides = document.querySelectorAll('.is-slide'); | ||||
|     var btns = document.querySelectorAll('.is-btn'); | ||||
|     let currentSlide = 1; | ||||
|  | ||||
|     // Javascript for image slider manual navigation | ||||
|     var manualNav = function(manual){ | ||||
|       slides.forEach((slide) => { | ||||
|         slide.classList.remove('active'); | ||||
|  | ||||
|         btns.forEach((btn) => { | ||||
|           btn.classList.remove('active'); | ||||
|         }); | ||||
|       }); | ||||
|  | ||||
|       slides[manual].classList.add('active'); | ||||
|       btns[manual].classList.add('active'); | ||||
|     } | ||||
|  | ||||
|     btns.forEach((btn, i) => { | ||||
|       btn.addEventListener("click", () => { | ||||
|         manualNav(i); | ||||
|         currentSlide = i; | ||||
|       }); | ||||
|     }); | ||||
|  | ||||
|     // Javascript for image slider autoplay navigation | ||||
|     var repeat = function(activeClass){ | ||||
|       let active = document.getElementsByClassName('active'); | ||||
|       let i = 1; | ||||
|  | ||||
|       var repeater = () => { | ||||
|         setTimeout(function(){ | ||||
|           [...active].forEach((activeSlide) => { | ||||
|             activeSlide.classList.remove('active'); | ||||
|           }); | ||||
|  | ||||
|         slides[i].classList.add('active'); | ||||
|         btns[i].classList.add('active'); | ||||
|         i++; | ||||
|  | ||||
|         if(slides.length == i){ | ||||
|           i = 0; | ||||
|         } | ||||
|         if(i >= slides.length){ | ||||
|           return; | ||||
|         } | ||||
|         repeater(); | ||||
|     /// Time in ms | ||||
|       }, 5000); | ||||
|       } | ||||
|       repeater(); | ||||
|     } | ||||
|     repeat(); | ||||
|     </script> | ||||
|     <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> | ||||
|         {{ 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> | ||||
| </div> | ||||
| @@ -4,7 +4,7 @@ | ||||
| {{- $id := .Get "id" | default (.Get 0) -}} | ||||
| {{- $class := .Get "class" | default (.Get 1) -}} | ||||
| {{- $title := .Get "title" | default "YouTube Video" }} | ||||
| <div {{ with $class }}class="{{ . }}"{{ else }}style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"{{ end }}> | ||||
| <div {{ with $class }}class="{{ . }}" {{ else }} style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"{{ end }}> | ||||
|   <iframe src="https://{{ $ytHost }}/embed/{{ $id }}{{ with .Get "autoplay" }}{{ if eq . "true" }}?autoplay=1{{ end }}{{ end }}" {{ if not $class }}style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" {{ end }}allowfullscreen title="{{ $title }}"></iframe> | ||||
| </div> | ||||
| {{ end -}} | ||||
| @@ -32,8 +32,8 @@ | ||||
|               <p class="h4 mb-0 d-block">{{ .title }}</p> | ||||
|             </div> | ||||
|             {{ with .location }} | ||||
|             <div class="d-md-table-cell text-right pr-0 pr-md-4 p-2 vertical-align-middle border-bottom"> | ||||
|               <p><i class="mdi mdi-map-marker-radius-outline icon-s text-primary mr-2"></i>{{ . | markdownify }}</p> | ||||
|             <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> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user