fix gallery

This commit is contained in:
Denys Konovalov 2022-06-05 14:36:59 +02:00
parent eae085b019
commit 676ee9f6ce
57 changed files with 231 additions and 175 deletions

@ -9,7 +9,7 @@ few: true
type: "abiturienten"
---
{{< gallery dir="/media/abiturienten/2002" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/abiturienten/2002" />}}
## Klasse 13/1

@ -19,4 +19,4 @@ Das nächste Forum wird in der Festwoche im März stattfinden, wer eingeladen wi
Thomas Tannert, 2009
{{< gallery dir="/media/cantorfora/cantorforum_1" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_1" />}}

@ -25,4 +25,4 @@ Zum Schluss sagen wir heute statt „Danke, Anke!“ einfach mal:
Nikolas Weigt, 2012
{{< gallery dir="/media/cantorfora/cantorforum_10" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_10" />}}

@ -25,4 +25,4 @@ Experten sind die meisten leider immer noch nicht: Ich ging mit schlechtem Beisp
Nikolas Weigt 2012
{{< gallery dir="/media/cantorfora/cantorforum_11" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_11" />}}

@ -31,4 +31,4 @@ Doch trotz allem blieben Erinnerungen und viele Fotos von vielen Facetten Austra
Nikolas Weigt 2013
{{< gallery dir="/media/cantorfora/cantorforum_12" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_12" />}}

@ -23,4 +23,4 @@ So blieb uns nur noch zu sagen: „Chakka! Und vielen Dank Max.“
Nikolas Weigt 2015
{{< gallery dir="/media/cantorfora/cantorforum_13" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_13" />}}

@ -23,4 +23,4 @@ die wie immer zum Ende des Cantorforums, indem wir wieder Erstaunliches
Nikolas Weigt, 2015
{{< gallery dir="/media/cantorfora/cantorforum_14" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_14" />}}

@ -25,4 +25,4 @@ Danke an Tom Gebhardt und Marcus Bauersfeld.
Lavinia Burkhardt, 2015
{{< gallery dir="/media/cantorfora/cantorforum_15" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_15" />}}

@ -31,4 +31,4 @@ Zum Schluss soll noch gesagt sein, dass es da ein Vorurteil gibt, dass uns alle
Lavinia Burkhardt, 2016
{{< gallery dir="/media/cantorfora/cantorforum_16" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_16" />}}

@ -9,4 +9,4 @@ image: "media/cantorfora/cantorforum_e02.bmp"
description: "''Abi - und dann...?'' Teil 1 von Andreas Bader"
---
{{< gallery dir="/media/cantorfora/cantorforum_2" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_2" />}}

@ -22,4 +22,4 @@ Später dann lassen sich die vier Ehemaligen in Unterhaltungen verwickeln und mi
Elsa Plathe, 2009
{{< gallery dir="/media/cantorfora/cantorforum_3" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_3" />}}

@ -26,4 +26,4 @@ Das nächste Cantorforum findet dann im November zum Thema Wiedervereinigung sta
Lucas Tittmann, 2009
{{< gallery dir="/media/cantorfora/cantorforum_4" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_4" />}}

@ -9,7 +9,7 @@ image: "media/cantorfora/cantorforum_e07.bmp"
description: "''Einmal Sushi, bitte - Jugendbotschafter in Japan'' von Maximilian König"
---
{{< load-photoswipe >}}
Im Kimono kam er zwar nicht, aber mit einer Menge neuer Erfahrungen aus dem Land der aufgehenden Sonne. Am 10.03.2011 berichtete Maximilian König über seine Tätigkeit als Jugendbotschafter in Tokyo.
@ -74,4 +74,4 @@ Wir danken den Organisatoren und Ehemaligen Marco Garten, Stefan Schwarz, Thomas
Max Appel, 2011
{{< gallery dir="/media/cantorfora/cantorforum_7" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_7" />}}

@ -31,4 +31,4 @@ Danke an Andreas für dieses interessante Cantorforum.
Nikolas Weigt 2011
{{< gallery dir="/media/cantorfora/cantorforum_8" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_8" />}}

@ -28,7 +28,7 @@ Doch nachdem Stefan den Glauben an viele Weihnachtserscheinungen getrübt hat, m
Nikolas Weigt, 2011
{{< gallery dir="/media/cantorfora/cantorforum_9" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/cantorfora/cantorforum_9" />}}
## IX. Cantorforum Weihnachten
***Stefan Schwarz***

@ -5,7 +5,7 @@ bg_image: media/backgrounds/page-title.png
description:
---
{{< load-photoswipe >}}
Die Junior-Ingenieur-Akademie wird an unserer Schule durch die Deutsche Telekom Stiftung ermöglicht.
Mithilfe diese Unterstützung gelang es, Schülerinnen und Schülern im Wahlpflichtbereich der gymnasialen

@ -6,7 +6,7 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="„Ad fontes zu den Ursprüngen“" %}}

@ -6,7 +6,7 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Vom Kindergarten zum Internat" %}}

@ -6,11 +6,11 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Gründung des Fördervereins" %}}
{{< gallery dir="/media/schulchronik/1991/förderverein" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/schulchronik/1991/förderverein" />}}
{{< youtube HC4P-yLkYCU >}}

@ -6,13 +6,13 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
Das Jahr 1992 war ein ereignisreiches Jahr. Für das Schuljahr 1991/92 wurde der erste Abiturjahrgang mit Freude erwartet. Außerdem wurden in diesem Schuljahr die ersten vier Klassen des fünften Jahrgangs aufgenommen. Ingolf Zies erlangte in diesem Jahr große Bekanntheit in Deutschland und zwar durch zwei erste Preise im Bundesfinale von „Jugend forscht“. Es wurden um die Fördermittel und um das Profil der Schule gebangt, nachdem bekannt wurde, dass das Cantor Gymnasium in die kommunale Trägerschaft gelegt werden sollte. Gemeinsam schrieben die Elternräte aus Halle und Magdeburg einen Brief an den Ministerpräsidenten Werner Münch.
{{% collapsible title="Verlieren Mathe-Asse ihre Förderer ?" %}}
{{< gallery dir="/media/schulchronik/1992" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/schulchronik/1992" />}}
{{% /collapsible %}}

@ -6,7 +6,7 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Profil des GCG Bestätigt" %}}

@ -6,7 +6,7 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
Das Jahr 1994 war ein bedeutungsvolles, was die internationale Umgebung des GCGs anging und auch immer noch angeht, denn ohne, dass ein Schüler der 10. Klasse ein Jahr in Chicago verbracht hätte, wäre wohl auch folgenden Schülern ihr Traum von Amerika nie ermöglicht worden. Michael Schultz erregte damit so ein Aufsehen, dass die MZ sogar vereinzelte lose Briefe in einigen Ausgaben mit abdruckte und die Story zur Sensation machte, sodass er sich bestimmt auch heute noch sehr gut an seine Zeit in den Staaten erinnern kann.

@ -6,7 +6,7 @@ bg_image: "media/backgrounds/page-title.png"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Einführung des Cantorpreises" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Robert Strich"
type: "schulchronik"
---
{{< load-photoswipe >}}
In diesem Jahr hat sich der Förderverein der Schule eine besondere Auszeichnung einfallen lassen: den Cantor-Preis. Den ersten bekam Robert Strich, der im März dieses Jahres auch Sieger im Bundeswettbewerb Mathematik wurde. Seitdem wird jedes Jahr der engagierteste und erfolgreichste Schüler des Abiturjahrgangs mit dem Cantor-Preis geehrt.

@ -7,7 +7,7 @@ cantorpreisträger: "Andreas Tannert"
type: "schulchronik"
---
{{< load-photoswipe >}}
Diesen Sommer hatten unsere Schule und vor allem ihr Abschlussjahrgang einen besonderen Grund zur Freude: Der Abiturdurchschnitt war mit 1,7 der beste in ganz Sachsen-Anhalt. Ein herausragender Erfolg war außerdem der Ehrenpreis, den Tobias Volk beim internationalen Wettbewerb „Erster Schritt in Richtung Nobelpreis für Physik“ erzielt hat. Weiterhin wurde 1997 das Intranet ins Leben gerufen, das zum schulinternen Daten- und Informationsaustausch dienen soll und auch als Vorbild für andere Schulen dienen könnte.

@ -7,7 +7,7 @@ cantorpreisträger: "Martin Schultze"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="10-jähriges Jubiläum des GCG" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Stephan Diestelhorst"
type: "schulchronik"
---
{{< load-photoswipe >}}
Seit diesem Jahr wird am Georg-Cantor-Gymnasium das Fach Informatik schon ab der 7. Klasse unterrichtet, eine Besonderheit des naturwissenschaftlichen Schwerpunkts der Schule. Doch auch außerhalb dieses Fachgebiets leisten die Cantorianer einiges, so wurde Erik Pfannmöller für seine Erfolge im Kanuslalom mit dem Förderpreis des Deutschen Jugendsports geehrt. Der ehemalige Schüler des Cantor-Gymnasiums Rico Zacher, der Diplom-Mathematik mit Nebenfach Physik studiert hat, machte 1999 mit einem Preis von einer Medienfirma auf sich aufmerksam.

@ -7,7 +7,7 @@ cantorpreisträger: "Torsten Stüber"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Politiker am GCG" %}}

@ -5,7 +5,7 @@ bg_image: media/backgrounds/page-title.png
cantorpreisträger: Lars Kasper
type: schulchronik
---
{{< load-photoswipe >}}
Die größte Sensation des Jahres 2001 fand am 19. Oktober statt. Mehrere Lehrer und Schüler nahmen im Schloss Bellevue in Berlin den Siemens Award für MINT-EC-Schulen aus den Händen von Bundespräsident Johannes Rau entgegen. Der 2. Platz ging an das Georg-Cantor-Gymnasium und war mit 10.000 Euro dotiert. Damit wurden die Zusammenarbeit mit Wirtschaftsunternehmen und die Verwendung moderner Techniken im naturwissenschaftlichen Unterricht gewürdigt. Ein Beispiel dafür ist der obligatorische Informatik-Unterricht ab der 7. Klasse. Auch die besondere Förderung von Schülern spielte eine Rolle beim Siemens Award. Und diese Förderung zahlte sich wieder einmal aus. Die 1. Preise von Stefan Schwarz, Roland Jacob, Christian Siebert, Maria Hörnke, Matthias Meissner, Steffen Forkmann, Jörg Premper und Alexander Pöhland im Landeswettbewerb „Jugend forscht“ stehen nur stellvertretend für die lange Liste an Preisträgern.

@ -7,7 +7,7 @@ cantorpreisträger: "Maria Hörnke"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Kooperation mit DOW-Chemical" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Susanne Havranek"
type: "schulchronik"
---
{{< load-photoswipe >}}
Wenn Schüler anfangen, selbst zu streiken, dann muss das schon was heißen. Wenn sie neben Klassenarbeiten und Prüfungen für ihre Schule demonstrieren, sollte man darüber nachdenken, was hier wohl geschehen ist. „Lernen in ´ner Bruchbude?“ überschrieb der Wochenspiegel am 26.11.2003 ihren Artikel zu den Schülerprotesten. „Eigentlich sollte man nicht darum kämpfen müssen, die Unterstützung der Stadt sollte der Normalfall sein.“, klagte der damalige Schülersprecher Marcus Syring und Philip Trempler beschrieb die Situation: „Wir dürfen die Fenster nicht mehr aufmachen. Die könnten rausfallen.“ Initiiert wurde der Streik vom Schülerrat und im Besonderen vom bereits erwähnten Marcus Syring. Wie es dazu kam? Im Januar versprach die Stadt, das Georg-Cantor-Gymnasium bereits im August des selben Jahres in den neuen Standort in der Torstraße umziehen zu lassen. Doch das Versprechen konnte nicht gehalten werden und so war im November noch nichts von einem Umzug zu spüren. Doch mit dem gebrochenen Versprechen nicht genug, beantragte die Stadt zusätzlich noch, das Cantor-Gymnasium zur Ganztagsschule zu machen. Das heißt für die Schüler, noch länger in der Bruchbude zu bleiben An Bruchrechnung in der Bruchbude, die die Schüler bei ihrem Protest verweigern wollen, scheint wohl vorerst kein Weg vorbei zu führen.

@ -7,7 +7,7 @@ cantorpreisträger: "Marcus Syring"
type: "schulchronik"
---
{{< load-photoswipe >}}
Nach einem sehr außergewöhnlichen Jahr 2003 kehrte in diesem Jahr wieder ein wenig Ruhe in das Georg-Cantor-Gymnasium ein. Es war eher das Jahr von Chemie und Mathematik mit einer Menge Preise in diesen Richtungen. So qualifizierte sich zum Beispiel Franziska Flegel für die erste IJSO in Jakarta und gewann dort auch gleich eine hervorragende Silbermedaille.

@ -7,7 +7,7 @@ cantorpreisträger: "Martin Maas"
type: "schulchronik"
---
{{< load-photoswipe >}}
Georg Cantor ist zweifellos ein großer Mathematiker und auf jeden Fall der Ehrung durch ein Theaterstück wert. Lediglich fehlte bisher wohl der Wagemut, sich dieser Aufgabe anzunehmen. Zumindest bis Ingomar Grünauer kam und dem Vater der Mengenlehre eine Oper widmete. „Cantor Die Vermessung des Unendlichen“ heißt das Werk, das am 21. Oktober 2005 in der Oper Halle uraufgeführt wurde. Während also Cantor geehrt wird, arbeiten seine Schäfchen daran, im nachzufolgen, wie Franziska Flegel, die bei ihrer zweiten Teilnahme bei der insgesamt zweiten IJSO zum zweiten Mal, dieses Mal zusammen mit Bertram Arnold, den zweiten Preis gewann.

@ -7,7 +7,7 @@ cantorpreisträger: "Udo Dorn"
type: "schulchronik"
---
{{< load-photoswipe >}}
Neben den unserem Profil entsprechenden Erfolgen gab es in diesem Jahr auch einige kulturelle Höhepunkte.

@ -7,7 +7,7 @@ cantorpreisträger: "Sebastian Koch/Henning Seidler"
type: "schulchronik"
---
{{< load-photoswipe >}}
Das wichtigste in diesem Jahr ist wohl der Umzug aus dem Gebäude in der Muldestraße in die Torstraße. Zwar konnten weder Aula noch die interne Turnhalle genutzt werden, da sie noch nicht fertig renoviert waren, doch wenigstens fielen die Fenster nicht mehr aus dem Rahmen.

@ -7,7 +7,7 @@ cantorpreisträger: "Franziska Flegel"
type: "schulchronik"
---
{{< load-photoswipe >}}
Die 11. Biologie-Chemie-Olympiade brachte Paulin Wendler einen hervorragenden zweiten Platz ein, den sie sich mit einem Schülern vom Agricolagymnasium in Hohenmölsen teilte.
Geehrt konnte sie in der restaurierten Aula werden, die nun endlich von zwei Kronleuchtern erhellt wird.

@ -7,7 +7,7 @@ cantorpreisträger: "Bertram Arnold"
type: "schulchronik"
---
{{< load-photoswipe >}}
Im Jahr 2009 nahm das Georg-Cantor-Gymnasium erfolgreich an der Landes-Deutsch-Olympiade und der Landes-Mathematik-Olympiade teil.
Andere Wettbewerbe, in denen Cantorianern erfolgreich waren, sind der Vorlesewettbewerb und Jugend forscht.

@ -7,7 +7,7 @@ cantorpreisträger: "Thomas Tannert"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Gedenktafel für Johann Friedrich Struensee" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Maximilian König"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="Schule ohne Rassismus Schule mit Courage" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Sandra Maciag"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="„Tag der Kulturen“" %}}

@ -7,7 +7,7 @@ cantorpreisträger: "Dorothee Henke"
type: "schulchronik"
---
{{< load-photoswipe >}}
{{% collapsible title="25-jähriges Jubiläum" %}}

@ -17,7 +17,7 @@ Außerdem sind wir alles Andere als langweilig. Wir finden uns immer wöchentlic
{{< gallery >}}
{{< figure src="/media/schulchronik/2012b.jpg" >}}
{{< /gallery >}}{{< load-photoswipe >}}
{{< /gallery >}}
Schon seit vielen Jahren hatten wir uns darauf beschränkt, die analoge Chronik so gut wie möglich zu gestalten und ein System zu finden. Doch irgendwann mussten wir uns doch mal auf die eigenen Beine stellen und die Website selbst gestalten. Mit Patricks Vorlage der Internetseite machten wir uns also in der Projektwoche 2011 an die Arbeit. Diesmal nicht römisch Kochen sonder chronistisch schuften und einen Plan entwickeln, nach dem wir die Chronik-Seite zusammenbauen wollten. Vielleicht war dies die wohl kreativste Zeit des gesamten Schuljahres, in der wir neue Begriffe prägten, wie Paulas „Kreative Haufen“. Am Ende einer natürlich viel zu kurzen Woche stand dann irgendsowas, wie ein Internetauftritt-Prototyp der GCG-Chronisten. Fertig war an allen Ecken und Enden noch nichts aber wir wussten, dass wir jetzt ein Gerüst haben, auf dem wir arbeiten können. Oder von dem wir runterfallen können...
@ -33,7 +33,7 @@ Der Sommer 2013 jedoch war ein Sommer des Abschiedes. Nicht nur mussten sich vie
{{< gallery >}}
{{< figure src="/media/schulchronik/2014.jpg" >}}
{{< /gallery >}}{{< load-photoswipe >}}
{{< /gallery >}}
Das Jahr 2015 sollte als ein Jahr umwälzender Veränderungen in die Historie der GCG-Chronisten eingehen. Neue Namensgebungsdebatten wurden geführt, der Kult des Tingeltangel-Bob erstand aus einem Überraschungsei und als neuer Initiationsritus wurde der Schwur auf den Statistik-Ordner eingeführt. Ein zweites Mal musste die Super-Admin-Würde oder Bürde? - weitergegeben werden und die Suche nach einem neuen Haupt-Autor für Chronik-Berichte begann. Die Zukunft war mit sieben Mitgliedern gesichert. Seit September 2015 verstärken die 5 neuen Jungchronisten: Lavinia Burkhardt, Anna Imming, Lennart Schimpf, Tom Steinkopf und Hannes Wisotzki unsere Chronik Ag und tauchen in die geheimnisvolle Geschichte des GCG ein.
@ -41,6 +41,6 @@ Und es geht stets weiter Sowahr uns Tingeltangel-Bob helfe!
{{< gallery >}}
{{< figure src="/media/schulchronik/2016.jpg" >}}
{{< /gallery >}}{{< load-photoswipe >}}
{{< /gallery >}}
Nikolas Weigt 2015

@ -171,4 +171,4 @@ I Did It My Way.
## Fotos
{{< gallery dir="/media/schulchronik/2014/galerie" />}}{{< load-photoswipe >}}
{{< gallery dir="/media/schulchronik/2014/galerie" />}}

@ -75,3 +75,16 @@
{{ "<!-- Main Script -->" | safeHTML }}
{{ $script := resources.Get "js/script.js" | minify}}
<script src="{{ $script.Permalink }}"></script>
<!-- Load PhotoSwipe js if the load-photoswipe shortcode has been used -->
{{ if ($.Scratch.Get "photoswipeloaded") }}
<script src="/js/load-photoswipe.js"></script>
{{ if .Site.Params.CDNJS }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js" integrity="sha256-ePwmChbbvXbsO02lbM3HoHbSHTHFAeChekF1xKJdleo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js" integrity="sha256-UKkzOn/w1mBxRmLLGrSeyB4e1xbrp4xylgAWb3M42pU=" crossorigin="anonymous"></script>
{{- else -}}
<script src="{{ "/js/3p/photoswipe.min@4.1.3.js" | relURL }}"></script>
<script src="{{ "/js/3p/photoswipe-ui-default.min@4.1.3.js" | relURL }}"></script>
{{ end }}
{{ end }}

@ -4,7 +4,7 @@ NB this overrides Hugo's built-in "figure" shortcode but is backwards compatible
Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
-->
<!-- count how many times we've called this shortcode; load the css if it's the first time -->
{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href="/css/hugo-easy-gallery.css" />{{ end }}
{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href={{ "css/hugo-easy-gallery.css" | relURL }} />{{ end }}
{{- $.Page.Scratch.Add "figurecount" 1 -}}
<!-- use either src or link-thumb for thumbnail image -->
{{- $thumb := .Get "src" | default (printf "%s." (.Get "thumb") | replace (.Get "link") ".") }}
@ -13,7 +13,7 @@ Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
<div class="img"{{ if .Parent }} style="background-image: url('{{ $thumb | relURL }}');"{{ end }}{{ with .Get "size" }} data-size="{{.}}"{{ end }}>
<img itemprop="thumbnail" src="{{ $thumb | relURL }}" {{ with .Get "alt" | default (.Get "caption") }}alt="{{.}}"{{ end }}/><!-- <img> hidden if in .gallery -->
</div>
{{ with .Get "link" | default (.Get "src") }}<a href="{{.}}" itemprop="contentUrl"></a>{{ end }}
{{ with .Get "link" | default (.Get "src") }}<a href="{{ . | relURL }}" itemprop="contentUrl"></a>{{ end }}
{{- if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
<figcaption>
{{- with .Get "title" }}<h4>{{.}}</h4>{{ end }}

@ -3,36 +3,62 @@ Put this file in /layouts/shortcodes/gallery.html
Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
-->
<!-- count how many times we've called this shortcode; load the css if it's the first time -->
{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href="/css/hugo-easy-gallery.css" />{{ end }}
{{- if not ($.Page.Scratch.Get "figurecount") }}<link rel="stylesheet" href="{{ relURL "/css/hugo-easy-gallery.css" }}" />{{ end }}
{{- $.Page.Scratch.Add "figurecount" 1 }}
{{ $baseURL := .Site.BaseURL }}
{{- $thumbnailSize := .Get "thumbnail-size" | default "300x300" -}}
<div class="gallery caption-position-{{ with .Get "caption-position" | default "bottom" }}{{.}}{{end}} caption-effect-{{ with .Get "caption-effect" | default "slide" }}{{.}}{{end}} hover-effect-{{ with .Get "hover-effect" | default "zoom" }}{{.}}{{end}} {{ if ne (.Get "hover-transition") "none" }}hover-transition{{end}}" itemscope itemtype="http://schema.org/ImageGallery">
{{- with (.Get "dir") -}}
<!-- If a directory was specified, generate figures for all of the images in the directory -->
{{- $files := readDir (print "/static/" .) }}
{{- range $files -}}
<!-- skip files that aren't images, or that inlcude the thumb suffix in their name -->
{{- $thumbext := $.Get "thumb" | default "-thumb" }}
{{- $isthumb := .Name | findRE ($thumbext | printf "%s\\.") }}<!-- is the current file a thumbnail image? -->
{{- $isimg := lower .Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp)" }}<!-- is the current file an image? -->
{{- if and $isimg (not $isthumb) }}
{{- $caption := .Name | replaceRE "\\..*" "" | humanize }}<!-- humanized filename without extension -->
{{- $linkURL := print $baseURL ($.Get "dir") "/" .Name | absURL }}<!-- absolute URL to hi-res image -->
{{- $thumb := .Name | replaceRE "(\\.)" ($thumbext | printf "%s.") }}<!-- filename of thumbnail image -->
{{- $thumbexists := where $files "Name" $thumb }}<!-- does a thumbnail image exist? -->
{{- $thumbURL := print $baseURL ($.Get "dir") "/" $thumb | absURL }}<!-- absolute URL to thumbnail image -->
{{- with (.Get "dir") -}}
<!-- If a directory was specified, generate figures for all of the images in the directory -->
{{- $files := readDir (print "/static/" .) }}
{{- range $files -}}
<!-- skip files that aren't images, or that inlcude the thumb suffix in their name -->
{{- $thumbext := $.Get "thumb" | default "-thumb" }}
{{- $isthumb := .Name | findRE ($thumbext | printf "%s\\.") }}<!-- is the current file a thumbnail image? -->
{{- $isimg := lower .Name | findRE "\\.(gif|jpg|jpeg|tiff|png|bmp|webp|avif|jxl)" }}<!-- is the current file an image? -->
{{- if and $isimg (not $isthumb) }}
{{- $caption := .Name | replaceRE "\\..*" "" | humanize }}<!-- humanized filename without extension -->
{{- $linkURL := print $baseURL ($.Get "dir") "/" .Name | absURL }}<!-- absolute URL to hi-res image -->
{{- $filetype := index (findRE "[^.]+$" .Name ) 0 }}<!-- file extension of image -->
{{- $thumb := .Name | replaceRE "(\\.)" ($thumbext | printf "%s.") }}<!-- filename of thumbnail image -->
{{- $thumbexists := where $files "Name" $thumb }}<!-- does a thumbnail image exist? -->
{{- $thumbURL := print $baseURL ($.Get "dir") "/" $thumb | absURL }}<!-- absolute URL to thumbnail image -->
<div class="box">
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
<div class="img" style="background-image: url('{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}');" >
<img itemprop="thumbnail" src="{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}" alt="{{ $caption }}" /><!-- <img> hidden if in .gallery -->
</div>
<!-- <figcaption>
<p>{{ $caption }}</p>
</figcaption> -->
<a href="{{ $linkURL }}" itemprop="contentUrl"></a><!-- put <a> last so it is stacked on top -->
</figure>
</div>
{{- end }}
{{- end }}
{{- else -}}
{{ with .Inner -}}
<!-- If no directory was specified, include any figure shortcodes called within the gallery -->
{{ . }}
{{- else }}
<!-- Generate figures for all page resources of type image. -->
{{- range $.Page.Resources.ByType "image" -}}
{{- $thumbnail := .Fill $thumbnailSize -}}
<div class="box">
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
<div class="img" style="background-image: url('{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}');" >
<img itemprop="thumbnail" src="{{ if $thumbexists }}{{ $thumbURL }}{{ else }}{{ $linkURL }}{{ end }}" alt="{{ $caption }}" /><!-- <img> hidden if in .gallery -->
</div>
<a href="{{ $linkURL }}" itemprop="contentUrl"></a><!-- put <a> last so it is stacked on top -->
</figure>
<figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
<div class="img" style="background-image: url('{{ $thumbnail.RelPermalink }}');" >
<img itemprop="thumbnail" src="{{ $thumbnail.RelPermalink }}" width="{{ $thumbnail.Width }}" height="{{ $thumbnail.Height }}" alt="{{ .Title }}" /><!-- <img> hidden if in .gallery -->
</div>
{{- with .Title -}}
<!-- <figcaption>
<p>{{ . }}</p>
</figcaption> -->
{{- end -}}
<a href="{{ .RelPermalink }}" itemprop="contentUrl"></a><!-- put <a> last so it is stacked on top -->
</figure>
</div>
{{- end }}
{{- end }}
{{- else -}}
<!-- If no directory was specified, include any figure shortcodes called within the gallery -->
{{ .Inner }}
{{- end }}
</div>

@ -7,19 +7,29 @@ Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
{{ if not ($.Page.Scratch.Get "photoswipeloaded") }}
{{ $.Page.Scratch.Set "photoswipeloaded" 1 }}
<!--
*** jQuery must be loaded before load-photoswipe.js ***
- If your template already loads jQuery in the header then you don't need to load it again here.
- If your template already loads jQuery in the footer, then you could load load-photoswipe.js from the footer instead
-->
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="/js/load-photoswipe.js"></script>
<!-- Photoswipe css/js libraries -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.css" integrity="sha256-sCl5PUOGMLfFYctzDW3MtRib0ctyUvI9Qsmq2wXOeBY=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/default-skin/default-skin.min.css" integrity="sha256-BFeI1V+Vh1Rk37wswuOYn5lsTcaU96hGaI7OUVCLjPc=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.js" integrity="sha256-UplRCs9v4KXVJvVY+p+RSo5Q4ilAUXh7kpjyIP5odyc=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe-ui-default.min.js" integrity="sha256-PWHOlUzc96pMc8ThwRIXPn8yH4NOLu42RQ0b9SpnpFk=" crossorigin="anonymous"></script>
{{ if .Site.Params.CDNJS }}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.css" integrity="sha256-LWdHSKWG7zv3DTpee8YAgoTfkj3gNkfauF624h4P2Nw=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/default-skin/default-skin.min.css" iintegrity="sha256-Q9bBMw/rHRRag46GDWY84J3elDNc8JJjKXL9tIC4oe8=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js" integrity="sha256-ePwmChbbvXbsO02lbM3HoHbSHTHFAeChekF1xKJdleo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js" integrity="sha256-UKkzOn/w1mBxRmLLGrSeyB4e1xbrp4xylgAWb3M42pU=" crossorigin="anonymous"></script>
{{- else -}}
<link rel="stylesheet" href="{{ "/css/3p/photoswipe.min@4.1.3.css" | relURL }}"></script>
<link rel="stylesheet" href="{{ "/css/3p/default-skin/default-skin.min@4.1.3.css" | relURL }}"></script>
<script src="{{ "/js/3p/photoswipe.min@4.1.3.js" | relURL }}"></script>
<script src="{{ "/js/3p/photoswipe-ui-default.min@4.1.3.js" | relURL }}"></script>
{{ end }}
<style>
.pswp__caption a
, .pswp__caption small a
, .pswp__caption__center a {
color: #CCC;
/* text-decoration: none; */
}
</style>
<!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

@ -200,25 +200,6 @@ CMS.registerEditorComponent({
});
</script>
<script>
CMS.registerEditorComponent({
id: "gallery-script",
label: "Gallerie-Skript (Immer am Anfang hinzufügen)",
fields: [],
collapsed:true,
pattern: /{{< load-photoswipe >}}/,
fromBlock: function(match) {
return {
};
},
toBlock: function(obj) {
return `{{< load-photoswipe >}}`;
},
toPreview: function(obj) {
return ``;
},
});
</script>
<script>
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/bootstrap/bootstrap.min.css");
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/slick/slick.css");
CMS.registerPreviewStyle("https://neu.cantorgymnasium.de/plugins/animate/animate.css");

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

@ -0,0 +1 @@
<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

@ -0,0 +1,2 @@
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */.pswp{display:none;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;-ms-touch-action:none;touch-action:none;z-index:1500;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:0}.pswp *{-webkit-box-sizing:border-box;box-sizing:border-box}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp__bg{position:absolute;left:0;top:0;width:100%;height:100%;background:#000;opacity:0;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;will-change:opacity}.pswp__scroll-wrap{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}.pswp__container,.pswp__zoom-wrap{-ms-touch-action:none;touch-action:none;position:absolute;left:0;right:0;top:0;bottom:0}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 333ms cubic-bezier(.4,0,.22,1);transition:transform 333ms cubic-bezier(.4,0,.22,1)}.pswp__bg{will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{-webkit-transition:none;transition:none}.pswp__container,.pswp__zoom-wrap{-webkit-backface-visibility:hidden}.pswp__item{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden}.pswp__img{position:absolute;width:auto;height:auto;top:0;left:0}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{width:100%!important;height:auto!important;left:0;top:0}.pswp__error-msg{position:absolute;left:0;top:50%;width:100%;text-align:center;font-size:14px;line-height:16px;margin-top:-8px;color:#ccc}.pswp__error-msg a{color:#ccc;text-decoration:underline}
/*# sourceMappingURL=photoswipe.min.css.map */

@ -10,7 +10,7 @@ Grid Layout Styles
.gallery {
overflow: hidden;
margin: 10px;
max-width: 1080px;
max-width: 768px;
}
.gallery .box {
float: left;
@ -156,3 +156,13 @@ figcaption styles
figcaption p {
margin: auto; /* override style in theme */
}
figure img {
max-width: 100%;
}
figure figcaption a {
position: relative;
color: #CCC;
/* text-decoration: none; */
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -2,79 +2,82 @@
Put this file in /static/js/load-photoswipe.js
Documentation and licence at https://github.com/liwenyip/hugo-easy-gallery/
*/
/* Show an alert if this js file has been loaded twice */
if (window.loadphotoswipejs) {
window.alert("You've loaded load-photoswipe.js twice. See https://github.com/liwenyip/hugo-easy-gallery/issues/6")
window.alert("You've loaded load-photoswipe.js twice. See https://github.com/liwenyip/hugo-easy-gallery/issues/6")
}
var loadphotoswipejs = 1
/* TODO: Make the share function work */
$( document ).ready(function() {
/*
Initialise Photoswipe
*/
var items = []; // array of slide objects that will be passed to PhotoSwipe()
// for every figure element on the page:
$('figure').each( function() {
if ($(this).attr('class') == 'no-photoswipe') return true; // ignore any figures where class="no-photoswipe"
// get properties from child a/img/figcaption elements,
var $figure = $(this),
$a = $figure.find('a'),
$img = $figure.find('img'),
$src = $a.attr('href'),
$title = $img.attr('alt'),
$msrc = $img.attr('src');
// if data-size on <a> tag is set, read it and create an item
if ($a.data('size')) {
var $size = $a.data('size').split('x');
var item = {
src : $src,
w : $size[0],
h : $size[1],
title : $title,
msrc : $msrc
};
console.log("Using pre-defined dimensions for " + $src);
// if not, set temp default size then load the image to check actual size
} else {
var item = {
src : $src,
w : 800, // temp default size
h : 600, // temp default size
title : $title,
msrc : $msrc
};
console.log("Using default dimensions for " + $src);
// load the image to check its dimensions
// update the item as soon as w and h are known (check every 30ms)
var img = new Image();
img.src = $src;
var wait = setInterval(function() {
var w = img.naturalWidth,
h = img.naturalHeight;
if (w && h) {
clearInterval(wait);
item.w = w;
item.h = h;
console.log("Got actual dimensions for " + img.src);
}
}, 30);
}
// Save the index of this image then add it to the array
var index = items.length;
items.push(item);
// Event handler for click on a figure
$figure.on('click', function(event) {
event.preventDefault(); // prevent the normal behaviour i.e. load the <a> hyperlink
// Get the PSWP element and initialise it with the desired options
var $pswp = $('.pswp')[0];
var options = {
index: index,
bgOpacity: 0.8,
showHideOpacity: true
}
new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options).init();
});
});
});
document.addEventListener('DOMContentLoaded', function() {
var items = []; // array of slide objects that will be passed to PhotoSwipe()
// for every figure element on the page:
document.querySelectorAll('figure').forEach(function($figure, index) {
if ($figure.className == 'no-photoswipe') return true; // ignore any figures where class="no-photoswipe"
var $a = $figure.querySelector('a'),
$img = $figure.querySelector('img'),
$src = $a.href,
$title = $img.alt,
$msrc = $img.src;
// if data-size on <a> tag is set, read it and create an item
if ($a.dataset.size) {
var $size = $a.dataset.size.split('x');
var item = {
src : $src,
w : $size[0],
h : $size[1],
title : $title,
msrc : $msrc
};
console.log("Using pre-defined dimensions for " + $src);
// if not, set temp default size then load the image to check actual size
} else {
var item = {
src : $src,
w : 400, // temp default size
h : 300, // temp default size
title : $title,
msrc : $msrc
};
console.log("Using default dimensions for " + $src);
// load the image to check its dimensions
// update the item as soon as w and h are known (check every 30ms)
var img = new Image();
img.src = $src;
var wait = setInterval(function() {
var w = img.naturalWidth,
h = img.naturalHeight;
if (w && h) {
clearInterval(wait);
item.w = w;
item.h = h;
console.log("Got actual dimensions for " + img.src);
// Update the figure parent div's max width.
var $parentDiv = $figure.parentElement;
if (!$parentDiv.hasOwnProperty("style")) {
$figure.parentElement.style = "max-width: " + w + "px"
}
}
}, 30);
}
// Save the index of this image then add it to the array
items.push(item);
// Event handler for click on a figure
$figure.addEventListener('click', function(event) {
event.preventDefault(); // prevent the normal behaviour i.e. load the <a> hyperlink
// Get the PSWP element and initialize it with the desired options
var $pswp = document.querySelector('.pswp');
var options = {
index: index,
bgOpacity: 0.8,
showHideOpacity: true,
showHideAnimationType: 'zoom',
focus: 'false',
history: 'false'
}
new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options).init();
}, false);
});
}, false);