Static CMS v2.0 (#226)

- [x] Update auf Static CMS v2.0
- [x] aktualisierte Shortcodes (schließt #225)
- [x] aktualisierte Previews (schließt #181)
- Ordnerunterstützung
- [x] vervollständigte Seiten
- [x] Aufräumarbeiten

Reviewed-on: https://git.cantorgymnasium.de/gcg/gcg-website/pulls/226
This commit is contained in:
2023-04-19 22:44:06 +02:00
parent fbcb423480
commit a275283b6e
316 changed files with 2832 additions and 1978 deletions

View File

@ -19,13 +19,15 @@ site_url: https://cantorgymnasium.de
display_url: https://cantorgymnasium.de
locale: "de"
media_library:
max_file_size: 2048000
folder_support: true
slug:
encoding: "ascii"
clean_accents: true
sanitize_replacement: "-"
show_preview_links: false
collections:
- name: "config"
icon: "settings"
@ -33,15 +35,10 @@ collections:
description: "Hier können die Basiseinstellungen der Website geändert werden."
editor:
preview: false
media_folder: "/static/media"
public_folder: "/media"
files:
- name: "homepage-config"
label: "Startseitenkonfiguration"
file: "data/de/homepage.yml"
media_folder: "/static/media/home"
public_folder: "/media/home"
format: yml
fields:
- label: "Banner"
name: "top_banner"
@ -66,7 +63,7 @@ collections:
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false }
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "Elemente"
label_singular: "Element"
@ -95,7 +92,7 @@ collections:
fields:
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Link", name: "link", widget: "string", required: false}
- {label: "Grafik", name: "image", widget: "image", required: true, media_folder: "/static/media/logos", public_folder: "/media/logos"}
- {label: "Grafik", name: "image", widget: "image", required: true}
- label: "\"Über\"-Seite"
name: "about"
widget: "object"
@ -124,14 +121,14 @@ collections:
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Bild", name: "image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", required: false }
- label: "Elemente"
name: "feature_item"
widget: "list"
fields:
- {label: "Bezeichnung", name: "name", widget: "string", required: false}
- {label: "Symbol", name: "icon", widget: "string", required: false, hint: "Liste unter https://pictogrammers.com/library/mdi/"}
- {label: "Bild", name: "image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", required: false }
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- label: "Ganztagsangebote"
name: "ganztagsangebote"
@ -161,7 +158,7 @@ collections:
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false }
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Inhalt", name: "content", widget: "text", required: false}
- {label: "Video-Link", name: "video_link", widget: "string", required: false}
@ -179,7 +176,7 @@ collections:
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Bild", name: "image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", required: false }
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- label: "Partnerlogos (unten)"
name: "footer_logos"
@ -194,7 +191,7 @@ collections:
fields:
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Link", name: "link", widget: "string", required: false}
- {label: "Grafik", name: "image", widget: "image", required: true, media_folder: "/static/media/logos", public_folder: "/media/logos"}
- {label: "Grafik", name: "image", widget: "image", required: true}
- name: "hugo-config"
label: "Website-Konfiguration"
file: "config.yml"
@ -242,7 +239,7 @@ collections:
widget: "list"
fields:
- {label: "Link", name: "link", widget: "string"}
- {label: "Logo", name: "logo", widget: "image", media_library: { config: { max_file_size: 2048000 } } }
- {label: "Logo", name: "logo", widget: "image" }
- {label: "Autor", name: "author", widget: "string"}
- {label: "Adresse", name: "address", widget: "string"}
- {label: "Route (Link)", name: "route_link", widget: "string"}
@ -265,8 +262,8 @@ collections:
widget: "object"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Logo", name: "preloader", widget: "image", media_library: { config: { max_file_size: 2048000 } } }
- {label: "Ladeanimation", name: "loader", widget: "image", media_library: { config: { max_file_size: 2048000 } } }
- {label: "Logo", name: "preloader", widget: "image" }
- {label: "Ladeanimation", name: "loader", widget: "image" }
- label: "Soz. Netzwerke"
name: "social"
widget: "list"
@ -349,13 +346,13 @@ collections:
- name: "categories-config"
label: "Kategorien"
file: "data/de/categories.yml"
format: yml
fields:
- label: "Aktuelles"
label_singular: "Kategorie"
name: "blog"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Ganztagsbereich"
@ -363,6 +360,7 @@ collections:
name: "ganztag"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Wettbewerbe"
@ -370,6 +368,7 @@ collections:
name: "contests"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Begabtenförderung"
@ -377,12 +376,12 @@ collections:
name: "begabte"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- name: "ausblick-config"
label: "Ausblick auf die Woche"
file: "data/de/ausblick.yml"
format: yml
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
@ -393,30 +392,30 @@ collections:
search_fields: ["title"]
value_field: "title"
required: false
- {label: "Titelbild", name: "image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Titelbild", name: "image", widget: "image", required: false }
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- name: "index-pages"
icon: "page"
label: "Hauptseiten"
label_singular: "Hauptseite"
description: Hauptseiten können nur manuell durch den Administrator angelegt und in die Website eingebunden werden. Über diesen Bereich ist die Änderung der Inhalte möglich.
editor:
preview: true
frame: true
summary_fields: ["title", "description"]
files:
- name: "blog-index"
label: "Aktuelles"
file: "content/german/blog/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "about-index"
label: "Über die Schule"
file: "content/german/about/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false }
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- label: "Statistik"
name: "stats"
@ -432,12 +431,10 @@ collections:
- {label: "Zahl", name: "count", widget: "number", required: false}
- {label: "Text", name: "body", widget: "markdown"}
- name: "anmeldung-index"
label: "Anmeldung"
label: "Aufnahmeverfahren"
file: "content/german/anmeldung/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {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", required: false}
- label: "Elemente"
label_singular: "Element"
@ -448,36 +445,51 @@ collections:
- {label: "Text", name: "content", widget: "markdown", required: true}
required: false
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "author-index"
label: "Autoren"
file: "content/german/author/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "anmeldeformular"
label: "Anmeldeformular"
file: "content/german/anmeldeformular/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "cantorpreis-index"
label: "Cantor-Preis"
label: "Cantorpreis"
file: "content/german/cantorpreis/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "contact-index"
label: "Kontakt"
file: "content/german/kontakt/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Text", name: "body", widget: "markdown"}
- label: "Kontaktdaten"
name: "kontaktdaten"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Name", name: "name", widget: "string", required: true}
- {label: "Berufsbezeichnung", name: "position", widget: "string", required: true}
- {label: "E-Mail-Adresse", name: "email", widget: "string", required: true, pattern: ["^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", "name@domain.tld"]}
- name: "event-index"
label: "Termine"
file: "content/german/termine/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- label: Termine
label_singular: "Termin"
name: "events"
widget: "list"
collapsed: false
collapsed: true
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Datum/Startdatum", name: "date", widget: "datetime", required: true, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"}
@ -489,69 +501,88 @@ collections:
file: "content/german/forms/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "ganztagsangebote-index"
label: "Ganztagsangebote"
label: "Unser Ganztagsbereich"
file: "content/german/ganztagsangebote/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "projektwoche-index"
label: "Projektwoche"
file: "content/german/projektwoche/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "wettbewerbe-index"
label: "Wettbewerbe"
file: "content/german/wettbewerbe/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "begabte-index"
label: "Begabtenförderung"
file: "content/german/begabte/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "abiturienten"
- name: "abiturienten-index"
label: "Abiturienten"
file: "content/german/abiturienten/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- name: "cantorfora"
- name: "cantorfora-index"
label: "Cantorfora"
file: "content/german/cantorfora/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "schulchronik-index"
label: "Schulchronik"
file: "content/german/schulchronik/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Text", name: "body", widget: "markdown", required: false}
- label: "Karte"
name: "infocard"
widget: "object"
required: false
fields:
- {label: "Aktiviert", name: "enable", widget: "boolean", required: false}
- {label: "Bild", name: "image", widget: "image", required: false}
- {label: "Zitat", name: "quote", widget: "string", required: false}
- {label: "Autor", name: "author", widget: "string", required: false}
- label: "Informationsseiten"
name: "links"
widget: "list"
required: false
collapsed: true
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Link", name: "link", widget: "string", required: true}
- name: "pages"
icon: "page-add"
label: "Zusatzseiten"
label_singular: "Zusatzseite"
description: "Zusatzseiten können direkt aus der grafischen Oberfläche heraus erstellt werden und sind unter https://cantorgymnasium.de/pages/[SEITENTITEL] einsehbar. Sie bestehen immer aus einem Titel, einer Metabeschreibung (kurzer Einstiegstext) und dem eigentlichen Inhalt. Einer Zusatzseite kann auch ein Alias, also eine alternative URL zugewiesen werden."
folder: "content/german/pages"
create: true
editor:
preview: true
frame: true
slug: "{{slug}}"
filter:
field: type
value: pages
summary_fields: ["title", "draft","aliases", "description"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "pages"}
- {label: "Layout", name: "layout", widget: "hidden", default: "single.html"}
- label: "Aliase"
name: "aliases"
widget: "list"
@ -563,49 +594,47 @@ collections:
- name: "author"
icon: "user"
label: "Autoren"
label_singular: "Autoren"
label_singular: "Autor"
description: Autoren können einem Blogartikel zugewiesen werden. Wir unterscheiden in aktive und inaktive sowie vereinfachte Autoren, welche nur mit dem Namen angezeigt werden, und erweiterte Autoren, für die eine Übersichtsseite angelegt wird.
folder: "content/german/author"
filter: {field: type, value: author}
create: true
slug: "{{slug}}"
editor:
preview: false
media_folder: '/static/media/people'
public_folder: '/media/people'
preview: true
frame: true
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
summary_fields: ["title", "active", "simplified", "body"]
fields:
- {label: "Name", name: "title", widget: "string"}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
- {label: "Gravatar-E-Mail", name: "email", widget: "string", required: false}
- {label: "Foto", name: "image", widget: "image", required: false, media_library: { config: { max_file_size: 2048000 } } }
- label: "Kontaktdaten"
label_singular: " "
name: "social"
widget: "list"
required: false
fields:
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "Symbol"
name: "icon"
widget: "select"
options:
- { label: "YouTube", value: "mdi mdi-youtube" }
- { label: "Twitter", value: "mdi mdi-twitter" }
- { label: "Pinterest", value: "mdi mdi-pinterest" }
- { label: "GitHub", value: "mdi mdi-github" }
- { label: "Git", value: "mdi mdi-git" }
- { label: "Vimeo", value: "mdi mdi-vimeo" }
- { label: "Instagram", value: "mdi mdi-instagram" }
- { label: "Facebook", value: "mdi mdi-facebook" }
- { label: "Linkedin", value: "mid mdi-linkedin" }
- { label: "E-Mail", value: "mdi mdi-at" }
- { label: "Sonstige", value: "mdi mdi-share-variant-outline" }
- {label: "Link", name: "link", widget: "string"}
- {label: "E-Mail-Adresse", name: "email", widget: "string", required: false}
- {label: "Foto", name: "image", widget: "image", required: false, default: "/media/authors/gcg.webp" }
- {label: "vereinfacht", name: "simplified", widget: "boolean", default: false, required: false}
- {label: "aktiv", name: "active", widget: "boolean", default: true, required: false}
- {label: "Beschreibung", name: "body", widget: "markdown"}
- name: "blog"
icon: "news"
label: "Aktuelles"
description: Diese Artikel werden im Bereich "Aktuelles" auf der Schulhomepage angezeigt.
label_singular: "Blogbeitrag"
description: Diese Artikel werden im Bereich "Aktuelles" auf der Schulhomepage angezeigt. Sie können sowohl direkt veröffentlicht, als auch als Entwurf gespeichert werden.
label_singular: "Artikel"
folder: "content/german/blog"
filter: {field: "type", value: "post"}
create: true
@ -613,8 +642,6 @@ collections:
editor:
preview: true
frame: true
media_folder: '/static/media/blog'
public_folder: '/media/blog'
view_groups:
- label: Entwurf
field: draft
@ -625,13 +652,13 @@ collections:
default:
field: date
direction: Descending
summary_fields: ["date", "title", "draft", "author", "body"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Datum", name: "date", widget: "datetime", date_format: "dd/MM/yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"}
- {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/blog/image.webp", media_library: { config: { max_file_size: 2048000 } } }
- {label: "Beitragsbild", name: "image", widget: "image", default: "/media/blog/image.webp" }
- label: "Beitragsautor"
name: "author"
widget: "relation"
@ -649,6 +676,17 @@ collections:
display_fields: ["blog.*"]
multiple: true
options_length: 50
- label: "Fächer"
name: "subjects"
widget: "relation"
required: false
collection: "config"
file: "categories-config"
value_field: "subjects.*"
search_fields: ["subjects.*"]
display_fields: ["subjects.*"]
multiple: true
options_length: 50
- label: "Tags"
name: "tags"
widget: "list"
@ -658,7 +696,6 @@ collections:
name: "tag"
widget: "string"
- {label: "Type", name: "type", widget: "hidden", default: "post"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "forms"
icon: "document"
@ -670,13 +707,12 @@ collections:
create: true
slug: "{{slug}}"
editor:
preview: false
media_folder: '/static/media/forms'
public_folder: '/media/forms'
preview: true
frame: true
summary_fields: ["title", "draft"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- label: "Dateien"
name: "files"
@ -686,7 +722,6 @@ collections:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Datei", name: "link", widget: "file"}
- {label: "Type", name: "type", widget: "hidden", default: "forms"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "cantorpreis"
icon: "award"
@ -702,40 +737,16 @@ collections:
summary: "{{title}} - {{name}}"
create: true
editor:
preview: false
media_folder: '/static/media/cantorpreis'
public_folder: '/media/cantorpreis'
preview: true
frame: true
summary_fields: ["title", "name", "draft", "body"]
fields:
- {label: "Jahr", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Beschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/cantorpreis/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Name", name: "name", widget: "string"}
- label: "Kontaktdaten/Soz. Netzwerke"
name: "contact"
widget: "list"
required: false
fields:
- {label: "Bezeichnung", name: "name", widget: "string"}
- label: "Symbol"
name: "icon"
widget: "select"
options:
- { label: "YouTube", value: "mdi mdi-youtube" }
- { label: "Twitter", value: "mdi mdi-twitter" }
- { label: "Pinterest", value: "mdi mdi-pinterest" }
- { label: "GitHub", value: "mdi mdi-github" }
- { label: "Git", value: "mdi mdi-git" }
- { label: "Vimeo", value: "mdi mdi-vimeo" }
- { label: "Instagram", value: "mdi mdi-instagram" }
- { label: "Facebook", value: "mdi mdi-facebook" }
- { label: "Linkedin", value: "mid mdi-linkedin" }
- { label: "E-Mail", value: "mdi mdi-at" }
- { label: "Sonstige", value: "mdi mdi-share-variant-outline" }
- {label: "Link", name: "link", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Beschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/cantorpreis/image.webp", required: false }
- {label: "Type", name: "type", widget: "hidden", default: "cantorpreis"}
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "ganztagsangebote"
icon: "group"
@ -747,14 +758,12 @@ collections:
editor:
preview: true
frame: true
media_folder: '/static/media/ganztagsangebote'
public_folder: '/media/ganztagsangebote'
summary_fields: ["title", "draft", "category", "schedule", "room"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/ganztagsangebote/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", default: "/media/ganztagsangebote/image.webp", required: false }
- label: "Themenbereich"
name: "category"
widget: "relation"
@ -771,7 +780,6 @@ collections:
- {label: "Raum", name: "room", widget: "string"}
- {label: "Anmeldelink", name: "apply_url", widget: "hidden", default: "https://moodle.bildung-lsa.de/gcg/mod/choice/view.php?id=828"}
- {label: "Type", name: "type", widget: "hidden", default: "ganztagsangebote"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "wettbewerbe"
icon: "trophy"
@ -783,14 +791,12 @@ collections:
editor:
preview: true
frame: true
media_folder: '/static/media/contests'
public_folder: '/media/contests'
summary_fields: ["title", "draft", "category"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/contests/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Bild", name: "image", widget: "image", default: "/media/contests/image.webp", required: false }
- label: "Fach"
name: "category"
widget: "relation"
@ -804,7 +810,6 @@ collections:
- {label: "Klassenstufen", name: "class", widget: "string"}
- {label: "Website", name: "web_url", widget: "string", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "wettbewerbe"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "begabte"
icon: "pi"
@ -814,29 +819,17 @@ collections:
filter: {field: "type", value: "begabte"}
create: true
editor:
preview: false
media_folder: '/static/media/begabte'
public_folder: '/media/begabte'
preview: true
frame: true
summary_fields: ["title", "draft", "body"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/begabte/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- 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: "Bild", name: "image", widget: "image", default: "/media/begabte/image.webp", required: false }
- {label: "Klassenstufen", name: "class", widget: "string"}
- {label: "Website", name: "web_url", widget: "string", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "begabte"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "projektwoche"
icon: "projektwoche"
@ -846,27 +839,27 @@ collections:
filter: {field: "type", value: "projektwoche"}
create: true
editor:
preview: false
media_folder: '/static/media/projektwoche'
public_folder: '/media/projektwoche'
preview: true
frame: true
summary_fields: ["title", "draft", "tiles", "description"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Type", name: "type", widget: "hidden", default: "projektwoche"}
- {label: "Text", name: "body", widget: "markdown", required: false, default: ""}
- label: "Kacheln"
name: "tiles"
widget: "list"
required: false
collapsed: true
hint: "Die Vorschau zeigt nur die generierten Symbolkarten, NICHT die Inhalte."
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Hintergrundfarbe", name: "bg_color", widget: "color", required: true}
- {label: "Symbol", name: "icon", widget: "string", required: true}
- {label: "Symbolfarbe", name: "font_color", widget: "color", required: true}
- {label: "Inhalt", name: "content", widget: "markdown", required: true}
- {label: "Text", name: "body", widget: "markdown", required: false, default: ""}
- name: "schulchronik"
icon: "pillar"
label: "Schulchronik"
@ -876,23 +869,88 @@ collections:
create: true
editor:
preview: false
media_folder: '/static/media/schulchronik'
public_folder: '/media/schulchronik'
summary_fields: ["title", "draft", "cantorpreisträger", "topics"]
sortable_fields:
fields: ['title']
default:
field: title
direction: Descending
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Type", name: "type", widget: "hidden", default: "schulchronik"}
- {label: "Einleitung", name: "pretext", hint: "Jahreszahltext", widget: "markdown", required: false}
- label: "Kreative Haufen"
name: "topics"
widget: "list"
required: false
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Inhalt", name: "content", widget: "markdown", required: true}
- label: "Superhaufen"
name: "superhaufen"
widget: "object"
required: false
fields:
- {label: "Aktiviert", name: "enable", widget: "boolean", required: false}
- label: "Superhaufen"
name: "link"
widget: "relation"
collection: "superhaufen"
search_fields: ["title"]
value_field: "title"
required: false
collapsed: true
- label: "Cantorpreisträger"
name: "cantorpreisträger"
widget: "relation"
collection: "cantorpreis"
search_fields: ["jahr", "name"]
value_field: "name"
required: false
- {label: "Text", name: "body", widget: "markdown", required: false, default: ""}
- name: "superhaufen"
icon: "superhaufen"
label: "Superhaufen"
label_singular: "Superhaufen"
folder: "content/german/superhaufen"
filter: {field: "type", value: "superhaufen"}
create: true
editor:
preview: true
frame: true
summary_fields: ["title", "draft", "tiles"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Type", name: "type", widget: "hidden", default: "superhaufen"}
- label: "Rückverlinkung"
name: "previous"
widget: "object"
fields:
- {label: "Aktiviert", name: "enable", widget: "hidden", default: true}
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Link", name: "link", widget: "string", required: true}
- label: "Kacheln"
name: "tiles"
widget: "list"
required: false
collapsed: true
hint: "Die Vorschau zeigt nur die generierten Symbolkarten, NICHT die Inhalte."
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Hintergrundfarbe", name: "bg_color", widget: "color", required: true}
- {label: "Symbol", name: "icon", widget: "string", required: true}
- {label: "Symbolfarbe", name: "font_color", widget: "color", required: true}
- {label: "Inhalt", name: "content", widget: "markdown", required: true}
- label: "Unter-Unterhaufen"
name: "unterhaufen"
widget: "list"
required: false
collapsed: true
fields:
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Inhalt", name: "content", widget: "markdown", required: true}
- name: "abiturienten"
icon: "graduation-cap"
label: "Abiturienten"
@ -901,17 +959,19 @@ collections:
filter: {field: "type", value: "abiturienten"}
create: true
editor:
preview: false
media_folder: '/static/media/abiturienten'
public_folder: '/media/abiturienten'
preview: true
frame: true
summary_fields: ["title", "draft"]
sortable_fields:
fields: ["title"]
default:
field: title
direction: Descending
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.webp"}
- {label: "Bild", name: "image", widget: "image", default: "/media/abiturienten/image.webp", required: false, media_library: { config: { max_file_size: 2048000 } } }
- {label: "Mehrere Bilder", name: "multiple", widget: "boolean", default: false, required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/abiturienten/image.webp", required: false }
- {label: "Type", name: "type", widget: "hidden", default: "abiturienten"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "cantorfora"
icon: "presentation"
@ -924,23 +984,77 @@ collections:
editor:
preview: true
frame: true
media_folder: '/static/media/cantorfora'
public_folder: '/media/cantorfora'
view_groups:
- label: Drafts
field: draft
summary_fields: ["title", "draft", "description"]
sortable_fields:
fields: ['index', 'title']
default:
field: index
direction: Ascending
direction: Descending
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Laufindex", name: "index", widget: "number", value_type: 'int', min: 1, step: 1, required: true, hint: "Nummer des Cantorforums"}
- {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", media_library: { config: { max_file_size: 2048000 } } }
- {label: "Beitragsbild", name: "image", widget: "image", default: "/media/image.webp" }
- {label: "Type", name: "type", widget: "hidden", default: "cantorfora"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "chronikseiten"
icon: "page-add"
label: "Chronikseiten"
label_singular: "Seite"
folder: "content/german/chronikseiten"
create: true
editor:
preview: true
frame: true
slug: "{{slug}}"
filter: {field: "type", value: "pages"}
summary_fields: ["title", "draft", "aliases", "body"]
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Entwurf", name: "draft", widget: "boolean", default: false, required: false}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "pages"}
- label: "Aliase"
name: "aliases"
widget: "list"
required: false
fields:
- label: "Alias"
name: "alias"
widget: "string"
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "statistik"
icon: "stats"
label: "Statistik"
editor:
preview: false
files:
- name: "abiturdurchschnitte"
label: "Abiturdurchschnitte"
file: "static/data/abiturdurchschnitte.json"
fields:
- label: "Abiturdurchschnitte"
label_singular: "Abiturdurchschnitt"
name: "abiturdurchschnitte"
widget: "list"
required: false
fields:
- {label: "Jahr", name: "jahr", widget: "number", required: true}
- {label: "Schnitt", name: "schnitt", widget: "number", value_type: "float", step: 0.01, required: true}
- name: "schuelerzahlen"
label: "Schülerzahlen"
file: "static/data/schuelerzahlen.json"
fields:
- label: "Schülerzahlen"
label_singular: "Schülerzahlen"
name: "schuelerzahlen"
widget: "list"
required: false
fields:
- {label: "Jahr", name: "year", widget: "number", required: true}
- {label: "Gesamt", name: "all", widget: "number", required: true}
- {label: "davon Mädchen", name: "girls", widget: "number", required: true}