diff --git a/content/schulchronik/2023.md b/content/schulchronik/2023.md index 8e1a0823..23aa0c97 100644 --- a/content/schulchronik/2023.md +++ b/content/schulchronik/2023.md @@ -9,17 +9,8 @@ topics: link: 35-jähriges Jubiläum title: 35-jähriges Jubiläum - superhaufen: - enable: false + enable: true + link: Kindersoldaten-Projekt title: Kindersoldaten-Projekt - content: > - - - {{< image src="static/media/ausblick.webp" >}}**Projekt gegen den Einsatz von Kindersoldaten** - - - 13.25 Uhr am 12.09.23. Dr. Karamba Diaby betritt die Aula unseres Gymnasiums. Was macht ein Bundestagsabgeordneter, ein Politiker am GCG? Er erhält von uns einen Auftrag, er nimmt ihn gern an und er redet mit uns. Doch worüber? Ein Thema ist der Kampf gegen den Einsatz von Kindersoldaten, denn diese Problematik hat die Projektgruppe von Alex, Chiamaka, Emilia, Simon und Timm sehr bewegt. Weltweit kämpfen tausende Kinder in Kriegen. Gegen dieses Leid wollten wir etwas unternehmen. Doch was tun? Im Rahmen des „Tages der Kulturen“ erarbeiteten wir Workshops, hielten Vorträge zu diesem Thema und sammelten „Red Hand Abdrücke“. Wir wollen aufmerksam machen und Zeichen setzen. Viele Schülerinnen und Schüler nahmen an den Workshops teil, wir diskutierten, suchten nach Zusammenhängen und Antworten. Noch mehr Cantorianerinnen und Cantorianer sagten mit ihren Handabdrücken Nein zum Einsatz von Kindersoldaten. Diese Handabdrücke füllen eine dicke Mappe, die einem hochrangigen Politiker übergeben werden sollte. Wir konnten den Bundestagsabgeordneten Dr. Karamba Diaby dafür gewinnen. Er nahm die Mappe mit dem Versprechen an, sich weiter im politischen und wirtschaftlichen Rahmen gegen den Einsatz von Kindersoldaten zu engagieren. Doch wenn ein hochrangiger Politiker den Weg zu uns findet, dann wollten wir noch viel mehr wissen und diskutieren. Das Moderatorenduo um Chiamaka und Timm sowie das Publikum stellten reichlich persönliche und politische Fragen an unseren Ehrengast. Und Karamba Diaby gab interessante, neue und aufschlussreiche Einblicke in das Leben eines Politikers. Unser Projekt fand im Rahmen unserer Festveranstaltung zum 35 - jährigen Schuljubiläum mit der Übergabe eines Spendenschecks in Höhe von 500 € an den Koordinator für politische Arbeit der Kindernothilfe Deutschlands und Sprecher des Bündnisses Kindersoldaten Herrn Frank Mischo und die Vorsitzende des Arbeitskreises Halle der Kindernothilfe Frau Dr. Christine Schaper sein vorläufiges Ende. Unsere Spende unterstützt ein Projekt der Kindernothilfe zur Ernährungssicherung in Burundi. - - - Kerstin Schmidt (September 2023) cantorpreisträger: Bernhard Fuchs --- diff --git a/static/admin/config/collections/abiturienten.js b/static/admin/config/collections/abiturienten.js index b8bb604b..4b19d453 100644 --- a/static/admin/config/collections/abiturienten.js +++ b/static/admin/config/collections/abiturienten.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { DraftBoolean, Title } from "./widgets.js"; const AbiturientenCollection = { @@ -33,9 +33,8 @@ const AbiturientenCollection = { { name: "image", label: "Bild", - widget: "image", default: "/media/image.webp", - required: false, + ...ImageProps, }, { name: "type", @@ -46,7 +45,6 @@ const AbiturientenCollection = { { name: "body", label: "Text", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/author.js b/static/admin/config/collections/author.js index 1442df4e..841a8fc8 100644 --- a/static/admin/config/collections/author.js +++ b/static/admin/config/collections/author.js @@ -1,4 +1,4 @@ -import { MarkdownProps, PatternEmail } from "../props.js"; +import { MarkdownProps, PatternEmail, ImageProps } from "../props.js"; import { DescriptionText } from "./widgets.js"; const AuthorCollection = { @@ -19,38 +19,49 @@ const AuthorCollection = { field: "type", value: "author", }, - view_filters: [ - { - label: "aktiv", - field: "active", - pattern: true, - }, - { - label: "inaktiv", - field: "active", - pattern: false, - }, - { - label: "einfach", - field: "simplified", - pattern: true, - }, - { - label: "erweitert", - field: "simplified", - pattern: false, - }, - ], - view_groups: [ - { - label: "vereinfacht", - field: "simplified", - }, - { - label: "aktiv", - field: "active", - }, - ], + view_filters: { + filters: [ + { + name: "active", + label: "aktiv", + field: "active", + pattern: true, + }, + { + name: "inactive", + label: "inaktiv", + field: "active", + pattern: false, + }, + { + name: "simplified", + label: "einfach", + field: "simplified", + pattern: true, + }, + { + name: "extended", + label: "erweitert", + field: "simplified", + pattern: false, + }, + ], + }, + view_groups: { + default: "active", + groups: [ + { + name: "simplified", + label: "vereinfacht", + field: "simplified", + }, + { + name: "active", + label: "aktiv", + field: "active", + }, + ], + }, summary_fields: ["title", "active", "simplified", "body"], fields: [ { @@ -70,9 +81,8 @@ const AuthorCollection = { { name: "image", label: "Bild", - widget: "image", - required: false, default: "/media/people/gcg.webp", + ...ImageProps, }, { name: "simplified", @@ -96,7 +106,6 @@ const AuthorCollection = { { name: "body", label: "Beschreibung", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/begabte.js b/static/admin/config/collections/begabte.js index 2d41ff96..4232d444 100644 --- a/static/admin/config/collections/begabte.js +++ b/static/admin/config/collections/begabte.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { DescriptionText, DraftBoolean, Title } from "./widgets.js"; const BegabteCollection = { @@ -27,9 +27,9 @@ const BegabteCollection = { { name: "image", label: "Titelbild", - widget: "image", - required: true, default: "/media/image.webp", + ...ImageProps, + required: true, }, { name: "class", @@ -52,7 +52,6 @@ const BegabteCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/collections/blog.js b/static/admin/config/collections/blog.js index 1405e936..d6a59388 100644 --- a/static/admin/config/collections/blog.js +++ b/static/admin/config/collections/blog.js @@ -1,4 +1,4 @@ -import { DateFormat, MarkdownProps } from "../props.js"; +import { DateFormat, MarkdownProps, ImageProps } from "../props.js"; import { AuthorRelation, DescriptionText, @@ -24,12 +24,16 @@ const BlogCollection = { field: "type", value: "post", }, - view_groups: [ - { - label: "Entwurf", - field: "draft", - }, - ], + view_groups: { + default: "draft", + groups: [ + { + name: "draft", + label: "Entwurf", + field: "draft", + }, + ], + }, sortable_fields: { fields: ["date", "title"], default: { @@ -53,9 +57,9 @@ const BlogCollection = { name: "image", label: "Titelbild", hint: "16:9 Seitenverhältnis beachten", - widget: "image", - required: true, default: "/media/image.webp", + ...ImageProps, + required: true, }, AuthorRelation, { @@ -102,7 +106,6 @@ const BlogCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/collections/cantorfora.js b/static/admin/config/collections/cantorfora.js index 84cad60e..c286bac7 100644 --- a/static/admin/config/collections/cantorfora.js +++ b/static/admin/config/collections/cantorfora.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { DescriptionText, DraftBoolean, Title } from "./widgets.js"; const CantorforaCollection = { @@ -19,12 +19,6 @@ const CantorforaCollection = { frame: true, size: "half", }, - view_groups: [ - { - label: "Entwürfe", - field: "draft", - }, - ], summary_fields: ["title", "draft", "description"], sortable_fields: { fields: ["index", "title"], @@ -50,8 +44,8 @@ const CantorforaCollection = { { name: "image", label: "Titelbild", - widget: "image", default: "/media/image.webp", + ...ImageProps, required: true, }, { @@ -63,7 +57,6 @@ const CantorforaCollection = { { name: "body", label: "Text", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/collections/cantorpreis.js b/static/admin/config/collections/cantorpreis.js index a05905fc..12694bf9 100644 --- a/static/admin/config/collections/cantorpreis.js +++ b/static/admin/config/collections/cantorpreis.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { DescriptionText, DraftBoolean } from "./widgets.js"; const CantorpreisCollection = { @@ -45,9 +45,8 @@ const CantorpreisCollection = { { name: "image", label: "Bild", - widget: "image", default: "/media/image.webp", - required: false, + ...ImageProps, }, { name: "type", @@ -58,7 +57,6 @@ const CantorpreisCollection = { { name: "body", label: "Text", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/chronikjahre.js b/static/admin/config/collections/chronikjahre.js index faed8d51..9301d373 100644 --- a/static/admin/config/collections/chronikjahre.js +++ b/static/admin/config/collections/chronikjahre.js @@ -43,7 +43,6 @@ const ChronikjahreCollection = { name: "pretext", label: "Einleitung", hint: "Text für die Jahreszahl", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -64,7 +63,6 @@ const ChronikjahreCollection = { { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -102,7 +100,6 @@ const ChronikjahreCollection = { name: "body", label: "Text", hint: "Erscheint zusätzlich zu den Kreativen Haufen", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/chronikseiten.js b/static/admin/config/collections/chronikseiten.js index 6e859ba2..a36bb349 100644 --- a/static/admin/config/collections/chronikseiten.js +++ b/static/admin/config/collections/chronikseiten.js @@ -48,7 +48,6 @@ const ChronikseitenCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/forms.js b/static/admin/config/collections/forms.js index e7b5d8e5..8fb0fdba 100644 --- a/static/admin/config/collections/forms.js +++ b/static/admin/config/collections/forms.js @@ -55,7 +55,6 @@ const FormsCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/ganztag.js b/static/admin/config/collections/ganztag.js index 136ab286..34f5bb5f 100644 --- a/static/admin/config/collections/ganztag.js +++ b/static/admin/config/collections/ganztag.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { Title, DescriptionText, DraftBoolean } from "./widgets.js"; const GanztagCollection = { @@ -27,8 +27,8 @@ const GanztagCollection = { { name: "image", label: "Titelbild", - widget: "image", default: "/media/ganztagsangebote/image.webp", + ...ImageProps, required: true, }, { @@ -82,7 +82,6 @@ const GanztagCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/index-pages.js b/static/admin/config/collections/index-pages.js index 346fad21..d472f097 100644 --- a/static/admin/config/collections/index-pages.js +++ b/static/admin/config/collections/index-pages.js @@ -3,6 +3,7 @@ import { DateFormat, MarkdownProps, PatternEmail, + ImageProps } from "../props.js"; import { DescriptionText, EnableBoolean, Title } from "./widgets.js"; @@ -36,8 +37,7 @@ const IndexPagesCollection = { { name: "image", label: "Bild", - widget: "image", - required: false, + ...ImageProps, }, { name: "stats", @@ -75,7 +75,6 @@ const IndexPagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -91,7 +90,6 @@ const IndexPagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -107,7 +105,6 @@ const IndexPagesCollection = { { name: "content", label: "Inhalt", - widget: "markdown", required: true, ...MarkdownProps, }, @@ -131,7 +128,6 @@ const IndexPagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -273,7 +269,6 @@ const IndexPagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -289,7 +284,6 @@ const IndexPagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -302,8 +296,7 @@ const IndexPagesCollection = { { name: "image", label: "Bild", - widget: "image", - required: false, + ...ImageProps, }, { name: "quote", diff --git a/static/admin/config/collections/pages.js b/static/admin/config/collections/pages.js index d7271fcc..0477b6d3 100644 --- a/static/admin/config/collections/pages.js +++ b/static/admin/config/collections/pages.js @@ -48,7 +48,6 @@ const PagesCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, diff --git a/static/admin/config/collections/projektwoche.js b/static/admin/config/collections/projektwoche.js index a5c1dee4..2f883380 100644 --- a/static/admin/config/collections/projektwoche.js +++ b/static/admin/config/collections/projektwoche.js @@ -32,7 +32,6 @@ const ProjektwocheCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -61,7 +60,6 @@ const ProjektwocheCollection = { { name: "content", label: "Inhalt", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/collections/settings-collection.js b/static/admin/config/collections/settings-collection.js index 0ea83e79..2f705901 100644 --- a/static/admin/config/collections/settings-collection.js +++ b/static/admin/config/collections/settings-collection.js @@ -3,6 +3,7 @@ import { DateFormat, MarkdownProps, PatternEmail, + ImageProps } from "../props.js"; import { ButtonObject, @@ -40,7 +41,6 @@ const SettingsCollection = { { name: "text", label: "Text", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -90,7 +90,7 @@ const SettingsCollection = { { name: "bg_image", label: "Hintergrundbild", - widget: "image", + ...ImageProps, required: true, }, Title(false), @@ -136,7 +136,7 @@ const SettingsCollection = { { name: "image", label: "Grafik", - widget: "image", + ...ImageProps, required: true, }, ], @@ -153,7 +153,6 @@ const SettingsCollection = { { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -175,7 +174,7 @@ const SettingsCollection = { { name: "image", label: "Hintergrundbild", - widget: "image", + ...ImageProps, required: true, }, { @@ -200,13 +199,11 @@ const SettingsCollection = { { name: "image", label: "Grafik", - widget: "image", - required: false, + ...ImageProps, }, { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -228,7 +225,6 @@ const SettingsCollection = { { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -269,14 +265,13 @@ const SettingsCollection = { { name: "bg_image", label: "Hintergrundbild", - widget: "image", + ...ImageProps, required: true, }, Title(false), { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -304,13 +299,11 @@ const SettingsCollection = { { name: "image", label: "Bild", - widget: "image", - required: false, + ...ImageProps, }, { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -340,7 +333,7 @@ const SettingsCollection = { { name: "image", label: "Grafik", - widget: "image", + ...ImageProps, required: true, }, ], @@ -360,13 +353,12 @@ const SettingsCollection = { { name: "image", label: "Titelbild", - widget: "image", + ...ImageProps, required: true, }, { name: "content", label: "Inhalt", - widget: "markdown", required: false, ...MarkdownProps, }, @@ -512,7 +504,7 @@ const SettingsCollection = { { name: "logo", label: "Logo", - widget: "image", + ...ImageProps, required: true, }, { @@ -579,13 +571,13 @@ const SettingsCollection = { { name: "preloader", label: "Logo", - widget: "image", + ...ImageProps, required: true, }, { name: "loader", label: "Ladeanimation", - widget: "image", + ...ImageProps, required: true, }, ], @@ -630,7 +622,6 @@ const SettingsCollection = { name: "copyright", label: "Copyright-Eintrag", hint: "Am Seitenende sichtbar", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/collections/superhaufen.js b/static/admin/config/collections/superhaufen.js index 0d9d9d5b..b7589262 100644 --- a/static/admin/config/collections/superhaufen.js +++ b/static/admin/config/collections/superhaufen.js @@ -74,8 +74,7 @@ const SuperhaufenCollection = { { name: "content", label: "Inhalt", - widget: "markdown", - required: true, + required: false, ...MarkdownProps, }, { @@ -89,8 +88,7 @@ const SuperhaufenCollection = { { name: "content", label: "Inhalt", - widget: "markdown", - required: true, + required: false, ...MarkdownProps, }, ], diff --git a/static/admin/config/collections/wettbewerbe.js b/static/admin/config/collections/wettbewerbe.js index fb27f081..3371e675 100644 --- a/static/admin/config/collections/wettbewerbe.js +++ b/static/admin/config/collections/wettbewerbe.js @@ -1,4 +1,4 @@ -import { MarkdownProps } from "../props.js"; +import { MarkdownProps, ImageProps } from "../props.js"; import { DescriptionText, DraftBoolean, Title } from "./widgets.js"; const WettbewerbeCollection = { @@ -26,7 +26,7 @@ const WettbewerbeCollection = { { name: "image", label: "Titelbild", - widget: "image", + ...ImageProps, required: true, default: "/media/image.webp", }, @@ -63,7 +63,6 @@ const WettbewerbeCollection = { { name: "body", label: "Inhalt", - widget: "markdown", required: true, ...MarkdownProps, }, diff --git a/static/admin/config/index.js b/static/admin/config/index.js index d362236d..1d92150d 100644 --- a/static/admin/config/index.js +++ b/static/admin/config/index.js @@ -17,6 +17,7 @@ import { SuperhaufenCollection, WettbewerbeCollection, } from "./collections/index.js"; +import { GCGThemeDark, GCGThemeLight } from "./themes.js"; const config = { backend: { @@ -48,6 +49,13 @@ const config = { clean_accents: true, sanitize_replacement: "-", }, + theme: { + include_built_in_themes: false, + themes: [ + GCGThemeDark, + GCGThemeLight + ] + }, collections: [ SettingsCollection, IndexPagesCollection, diff --git a/static/admin/config/props.js b/static/admin/config/props.js index c0488b8b..20173a3d 100644 --- a/static/admin/config/props.js +++ b/static/admin/config/props.js @@ -1,4 +1,5 @@ const MarkdownProps = { + widget: "markdown", toolbar_buttons: { main: [ "bold", @@ -74,4 +75,12 @@ const PatternEmail = { ], }; -export { MarkdownProps, DateFormat, DataObject, PatternEmail }; +const ImageProps = { + widget: "image", + required: false, + media_library: { + folder_support: true, + } +}; + +export { MarkdownProps, DateFormat, DataObject, PatternEmail, ImageProps }; diff --git a/static/admin/config/schulchronik.js b/static/admin/config/schulchronik.js index 9425cfe0..f47f2e67 100644 --- a/static/admin/config/schulchronik.js +++ b/static/admin/config/schulchronik.js @@ -7,6 +7,7 @@ import { StatsCollection, SuperhaufenCollection, } from "./collections/index.js"; +import { GCGThemeDark, GCGThemeLight } from "./themes.js"; const config = { backend: { @@ -38,6 +39,13 @@ const config = { clean_accents: true, sanitize_replacement: "-", }, + theme: { + include_built_in_themes: false, + themes: [ + GCGThemeDark, + GCGThemeLight + ] + }, collections: [ ChronikjahreCollection, SuperhaufenCollection, diff --git a/static/admin/config/themes.js b/static/admin/config/themes.js new file mode 100644 index 00000000..3833404c --- /dev/null +++ b/static/admin/config/themes.js @@ -0,0 +1,25 @@ +const GCGThemeDark = { + name: "GCG.Dark", + extends: "dark", + primary: { + main: "#ffbc3b", + contrastColor: "#4b4b4b", + }, + background: { + main: "#1a1a37", + dark: "#13132d", + }, +}; + +const GCGThemeLight = { + name: "GCG.Light", + extends: "light", + primary: { + main: "#1a1a37", + }, + background: { + dark: "#f1f3f5", + }, +}; + +export { GCGThemeDark, GCGThemeLight }; diff --git a/static/admin/index.html b/static/admin/index.html index e408d173..b1773d39 100644 --- a/static/admin/index.html +++ b/static/admin/index.html @@ -9,12 +9,12 @@ /> Static CMS - + +