kategorien-umbau, cms-fixes

This commit is contained in:
Denys Konovalov 2023-01-30 19:54:31 +01:00
parent 3e058906f5
commit c0186b3992
36 changed files with 457 additions and 32 deletions

@ -3,7 +3,7 @@ title: Frühstudium
draft: false
bg_image: /media/backgrounds/page-title.webp
description: ""
image: ""
image: /media/begabte/image.webp
category: Naturwissenschaften
class: 10 - 12 Klasse
web_url: null

@ -3,7 +3,7 @@ title: Begabtenförderungskonzept
draft: false
bg_image: /media/backgrounds/page-title.webp
description: ""
image: ""
image: /media/begabte/image.webp
category: fächerübergreifend
class: 5 - 12 Klasse
web_url: null

@ -7,7 +7,7 @@ description: ""
image: /media/image.webp
author: Schulleitung
categories:
- Ereignisse
- Veranstaltungen
tags:
- cantorluftschnuppern
- cantorentdecken

@ -8,7 +8,7 @@ image: /media/blog//gy-pt-2023.png
author: Denys Konovalov
categories:
- Wettbewerbe
- Physik
- Naturwissenschaften
tags:
- physik
- gypt

@ -7,7 +7,8 @@ description: ""
image: /media/image.webp
author: Frau Schapitz
categories:
- Website
- Sonstiges
- Informatik/Technik
tags:
- renewGCG
type: post

@ -7,7 +7,7 @@ description: ""
image: /media/image.webp
author: Herr Berger
categories:
- Ereignisse
- Veranstaltungen
tags:
- tdot
- cantorluftschnuppern

@ -8,6 +8,7 @@ image: /media/blog/biber_300dpi.png
author: Herr Berger
categories:
- Wettbewerbe
- Informatik/Technik
tags:
- "2022"
- Infobiber

@ -9,6 +9,7 @@ image: /media/blog/mia2.webp
author: Denys Konovalov
categories:
- Wettbewerbe
- Mathematik
tags:
- Mathematik
- Weihnachten

@ -7,6 +7,9 @@ description: ""
image: /media/image.webp
author: Herr Berger
categories:
- Musik
- Deutsch
- Traditionen
- Veranstaltungen
tags:
- Muli

@ -8,6 +8,7 @@ image: /media/image.webp
author: Frau Krug
categories:
- Musik
- Traditionen
tags:
- Musikfahrt
- Weihnachtskonzert

@ -7,9 +7,9 @@ description: ""
image: /media/blog/SL-2023//sl-1.jpg
author: Franziska Berner
categories:
- Traditionen
- Wettbewerbe
- Mathematik
- Traditionen
tags:
- spezilager
- matheolympiade

@ -4,10 +4,11 @@ date: 2023-01-24T15:13:45+01:00
draft: false
bg_image: /media/backgrounds/page-title.webp
description: ""
image: /media/image.webp
image: /media/blog/image.webp
author: Herr Berger
categories:
- Wettbewerbe
- Fremdsprachen
tags:
- TOEFL
- Englisch

@ -8,6 +8,7 @@ image: /media/blog/vlw_logo_blau_rgb.webp
author: Herr Berger
categories:
- Wettbewerbe
- Deutsch
tags:
- Vorlesewettbewerb 6
- Schulrunde

@ -7,8 +7,9 @@ description: ""
image: /media/blog/gcgweihnachten.webp
author: Herr Berger
categories:
- Weihnachten
- Traditionen
- Schülerrat
- Musik
tags:
- Weihnachtskonzert
- Weihnachtssingen

@ -3,7 +3,7 @@ title: Chemie - die stimmt!
draft: "false"
bg_image: /media/backgrounds/page-title.webp
image: /media/contests/chds.webp
category: "Chemie "
category: Chemie
class: 8. - 10. Klasse
web_url: https://www.chemie-die-stimmt.de/
type: wettbewerbe

@ -1,5 +1,5 @@
---
title: "Chemkids "
title: Chemkids
draft: "false"
bg_image: /media/backgrounds/page-title.webp
image: /media/contests/chemkids.webp

@ -1,9 +1,9 @@
---
title: "Internationale Chemieolympiade (IChO) "
title: Internationale Chemieolympiade (IChO)
draft: "false"
bg_image: /media/backgrounds/page-title.webp
image: /media/contests/icho.webp
category: "Chemie "
category: Chemie
class: 9. - 12. Klasse
web_url: https://www.scienceolympiaden.de/icho
type: wettbewerbe
@ -11,12 +11,9 @@ gallery: false
---
- Internationale Wissenschaftsolympiade
- findet jährlich für Schülerinnen und Schüler ab Klassenstufe 9 statt
- Ziel: die bundesweit besten vier Schüler zu finden, die als Mannschaft am
internationalen Wettbewerb teilnehmen
- Ziel: die bundesweit besten vier Schüler zu finden, die als Mannschaft am internationalen Wettbewerb teilnehmen
- Vier Runden:
Runde 1: (Hausaufgabenrunde): theoretische Aufgaben
Runde 2: vierstündige Klausur
Runde 3: die 60 besten Teilnehmer → achttägiges Auswahlseminar mit Vorträgen und
Übungen zu Fachthemen, Laborarbeit und einem tollen Rahmenprogramm.
Runde 4: Die 15 Besten der dritten Runde bewerben sich in der Auswahlrunde in Kiel um
einen Platz in der deutschen Mannschaft für den internationalen Wettstreit
- Runde 1: (Hausaufgabenrunde): theoretische Aufgaben
- Runde 2: vierstündige Klausur
- Runde 3: die 60 besten Teilnehmer → achttägiges Auswahlseminar mit Vorträgen und Übungen zu Fachthemen, Laborarbeit und einem tollen Rahmenprogramm.
- Runde 4: Die 15 Besten der dritten Runde bewerben sich in der Auswahlrunde in Kiel um einen Platz in der deutschen Mannschaft für den internationalen Wettstreit

35
data/de/categories.yml Normal file

@ -0,0 +1,35 @@
blog:
- Wettbewerbe
- Veranstaltungen
- Traditionen
- Mathematik
- Naturwissenschaften
- Informatik/Technik
- Deutsch
- Fremdsprachen
- Sport
- Gesellschaftswissenschaften
- Kunst
- Musik
- Schülerrat
- Sonstiges
ganztag:
- Sport
- Musik
- Naturwissenschaften
- Gesellschaft
- Technik
- Kunst
- Mathematik
contests:
- Informatik
- Fremdsprachen
- Mathematik
- Chemie
- Geographie
- MINT
- Physik
begabte:
- fächerübergreifend
- Naturwissenschaften
- Mathematik

@ -333,6 +333,39 @@ collections:
name: "vimeo"
widget: "object"
fields: [{label: "Tracking deaktivieren", name: "enableDNT", widget: "boolean", required: false}]
- name: "categories-config"
label: "Kategorien"
file: "data/de/categories.yml"
format: yml
fields:
- label: "Aktuelles"
label_singular: "Kategorie"
name: "blog"
widget: "list"
required: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Ganztagsbereich"
label_singular: "Kategorie"
name: "ganztag"
widget: "list"
required: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Wettbewerbe"
label_singular: "Kategorie"
name: "contests"
widget: "list"
required: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Begabtenförderung"
label_singular: "Kategorie"
name: "begabte"
widget: "list"
required: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- name: "index-pages"
icon: "page"
label: "Hauptseiten"
@ -543,6 +576,7 @@ collections:
- name: "blog"
icon: "news"
label: "Aktuelles"
description: Diese Artikel werden im Bereich "Aktuelles" auf der Schulhomepage angezeigt.
label_singular: "Blogbeitrag"
folder: "content/german/blog"
filter: {field: "type", value: "post"}
@ -554,8 +588,10 @@ collections:
media_folder: '/static/media/blog'
public_folder: '/media/blog'
view_groups:
- label: Drafts
- label: Entwurf
field: draft
- label: Kategorie
field: categories
sortable_fields:
fields: ['date', 'title']
default:
@ -567,7 +603,7 @@ collections:
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
- {label: "Beitragsbild", name: "image", widget: "image", default: "/media/image.webp"}
- {label: "Beitragsbild", name: "image", widget: "image", default: "/media/blog/image.webp"}
- label: "Beitragsautor"
name: "author"
widget: "relation"
@ -576,12 +612,15 @@ collections:
value_field: "title"
- label: "Kategorien"
name: "categories"
widget: "list"
required: false
fields:
- label: "Kategorie"
name: "category"
widget: "string"
widget: "relation"
required: true
collection: "config"
file: "categories-config"
value_field: "blog.*"
search_fields: ["blog.*"]
display_fields: ["blog.*"]
multiple: true
options_length: 50
- label: "Tags"
name: "tags"
widget: "list"
@ -627,6 +666,12 @@ collections:
label_singular: "Cantor-Preisträger"
folder: "content/german/cantorpreis"
filter: {field: "type", value: "cantorpreis"}
sortable_fields:
fields: ['title', 'name']
default:
field: title
direction: Descending
summary: "{{title}} - {{name}}"
create: true
editor:
preview: false
@ -682,7 +727,16 @@ collections:
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/ganztagsangebote/image.webp", required: false}
- {label: "Themenbereich", name: "category", widget: "string", required: true}
- label: "Themenbereich"
name: "category"
widget: "relation"
required: true
collection: "config"
file: "categories-config"
value_field: "ganztag.*"
search_fields: ["ganztag.*"]
display_fields: ["ganztag.*"]
options_length: 50
- {label: "Dauer", name: "duration", widget: "string"}
- {label: "Tag/Stunden", name: "weekly", widget: "string"}
- {label: "Klassenstufen", name: "class", widget: "string"}
@ -708,7 +762,16 @@ collections:
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/contests/image.webp", required: false}
- {label: "Fach", name: "category", widget: "string"}
- label: "Fach"
name: "category"
widget: "relation"
required: true
collection: "config"
file: "categories-config"
value_field: "contests.*"
search_fields: ["contests.*"]
display_fields: ["contests.*"]
options_length: 50
- {label: "Klassenstufen", name: "class", widget: "string"}
- {label: "Website", name: "web_url", widget: "string", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "wettbewerbe"}
@ -731,7 +794,16 @@ collections:
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/begabte/image.webp", required: false}
- {label: "Fach", name: "category", widget: "string"}
- label: "Fach"
name: "category"
widget: "relation"
required: true
collection: "config"
file: "categories-config"
value_field: "begabte.*"
search_fields: ["begabte.*"]
display_fields: ["begabte.*"]
options_length: 50
- {label: "Klassenstufen", name: "class", widget: "string"}
- {label: "Website", name: "web_url", widget: "string", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "begabte"}

@ -725,5 +725,316 @@
};
CMS.registerPreviewTemplate("about-index", AboutPreview);
</script>
<script>
const PostPreviewCard = ({ entry, widgetFor, viewStyle }) => {
return h(
'div',
{ style: { width: '100%', height: '100%' } },
viewStyle === 'grid' ? widgetFor('image') : null,
viewStyle === 'grid' ?
h(
'div',
{ style: { padding: '16px', paddingBottom: '8px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
),
h('span', { style: { fontSize: '16px' } }, new Intl.DateTimeFormat('de-De', { day: 'numeric', month: 'numeric', year: 'numeric'}).format(new Date(entry.data.date)))
),
) : null,
h(
'div',
{ style: { padding: '16px', paddingTop: '8px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
display: 'flex',
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
alignItems: 'baseline',
gap: '8px',
},
},
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
),
),
),
viewStyle != 'grid' ?
h(
'div',
{ style: { padding: '16px', paddingBottom: '8px', paddingTop: '0px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
),
h('span', { style: { fontSize: '16px' } }, new Intl.DateTimeFormat('de-De', { day: 'numeric', month: 'numeric', year: 'numeric'}).format(new Date(entry.data.date)))
),
) : null,
);
};
const GenericCard = ({ entry, widgetFor, viewStyle }) => {
return h(
'div',
{ style: { width: '100%', height: '100%' } },
viewStyle === 'grid' ? widgetFor('image') : null,
viewStyle === 'grid' ?
h(
'div',
{ style: { padding: '16px', paddingBottom: '8px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
),
h('span', { style: { fontSize: '16px' } }, entry.data.category)
),
) : null,
h(
'div',
{ style: { padding: '16px', paddingTop: viewStyle === 'grid' ? '8px' : '16px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
display: 'flex',
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
alignItems: 'baseline',
gap: '8px',
},
},
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
),
viewStyle != 'grid' ? h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
) : null,
),
),
);
};
const NoCatCard = ({ entry, widgetFor, viewStyle }) => {
return h(
'div',
{ style: { width: '100%', height: '100%' } },
viewStyle === 'grid' ? widgetFor('image') : null,
h(
'div',
{ style: { padding: '16px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
display: 'flex',
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
alignItems: 'baseline',
gap: '8px',
},
},
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
),
h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
),
),
),
);
};
const SmallCard = ({ entry, widgetFor, viewStyle }) => {
return h(
'div',
{ style: { width: '100%', height: '100%' } },
h(
'div',
{ style: { padding: '16px', width: '100%' } },
h(
'div',
{
style: {
display: 'flex',
width: '100%',
justifyContent: 'space-between',
alignItems: 'start',
},
},
h(
'div',
{
style: {
display: 'flex',
flexDirection: viewStyle === 'grid' ? 'column' : 'row',
alignItems: 'baseline',
gap: '8px',
},
},
h('strong', { style: { fontSize: '20px' } }, entry.data.title),
),
h(
'div',
{
style: {
backgroundColor: entry.data.draft === true ? 'RoyalBlue' : 'green',
color: 'white',
border: 'none',
padding: '4px 8px',
textAlign: 'center',
textDecoration: 'none',
display: 'inline-block',
cursor: 'pointer',
borderRadius: '4px',
},
},
entry.data.draft === true ? 'Entwurf' : 'Öffentlich',
),
),
),
);
};
CMS.registerPreviewCard('blog', PostPreviewCard);
CMS.registerPreviewCard('ganztagsangebote', GenericCard);
CMS.registerPreviewCard('wettbewerbe', GenericCard);
CMS.registerPreviewCard('begabte', GenericCard);
CMS.registerPreviewCard('abiturienten', NoCatCard);
CMS.registerPreviewCard('cantorfora', NoCatCard);
CMS.registerPreviewCard('blog-index', SmallCard);
CMS.registerPreviewCard('about-index', SmallCard);
CMS.registerPreviewCard('anmeldung-index', SmallCard);
CMS.registerPreviewCard('cantorpreis-index', SmallCard);
CMS.registerPreviewCard('contact-index', SmallCard);
CMS.registerPreviewCard('event-index', SmallCard);
CMS.registerPreviewCard('forms-index', SmallCard);
CMS.registerPreviewCard('ganztagsangebote-index', SmallCard);
CMS.registerPreviewCard('wettbewerbe-index', SmallCard);
CMS.registerPreviewCard('begabte-index', SmallCard);
CMS.registerPreviewCard('pages', SmallCard);
CMS.registerPreviewCard('forms', SmallCard);
CMS.registerPreviewCard('schulchronik', SmallCard);
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
static/media/blog/IJSO.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
static/media/blog/IPhO.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/media/blog/JuFo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/media/blog/PhO.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
static/media/blog/bwfs.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
static/media/blog/chds.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
static/media/blog/dw.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
static/media/blog/icho.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
static/media/blog/mo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB