gcg-website/static/admin/config.yml

1123 lines
51 KiB
YAML

backend:
name: gitea
repo: gcg/gcg-website
branch: master
api_root: https://git.cantorgymnasium.de/api/v1
base_url: https://oauth.cantorgymnasium.de
commit_messages:
create: "{{collection}} {{slug}} erstellt"
update: "{{collection}} {{slug}} aktualisiert"
delete: "{{collection}} {{slug}} gelöscht"
uploadMedia: "{{path}} hochgeladen"
deleteMedia: "{{path}} gelöscht"
local_backend: true
media_folder: "/static/media"
public_folder: "/media"
site_url: https://cantorgymnasium.de
display_url: https://cantorgymnasium.de
locale: "de"
media_library:
max_file_size: 10240000
folder_support: true
slug:
encoding: "ascii"
clean_accents: true
sanitize_replacement: "-"
collections:
- name: "config"
icon: "settings"
label: "Konfiguration"
description: "Hier können die Basiseinstellungen der Website geändert werden. Die meisten Bereiche müssen nur in Ausnahmefällen angepasst werden."
editor:
preview: false
files:
- name: "homepage-config"
label: "Startseitenkonfiguration"
file: "data/de/homepage.yml"
fields:
- label: "Banner"
name: "top_banner"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Text", name: "text", widget: "markdown", required: false}
- {label: "Farbe", name: "color", widget: "color", required: false}
- {label: "Schriftfarbe", name: "font_color", widget: "color", required: false}
- {label: "Symbol", name: "icon", widget: "string", required: false, hint: "Liste unter https://pictogrammers.com/library/mdi/"}
- label: "Zeitschaltung"
name: temporarily
widget: "object"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Startdatum", name: "start_date", widget: "datetime", required: false, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"}
- {label: "Enddatum", name: "end_date", widget: "datetime", required: false, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"}
- label: "Karusell"
name: "slider"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false }
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "Elemente"
label_singular: "Element"
name: "slider_item"
widget: "list"
collapsed: true
fields:
- {label: "Inhalt", name: "content", widget: "string", required: false}
- label: "Button"
name: "button"
widget: "object"
required: false
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Bezeichnung", name: "label", widget: "string", required: false}
- {label: "Link", name: "link", widget: "string", required: false}
- label: "Partnerlogos (oben)"
name: "header_logos"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- label: "Logos"
label_singular: "Logo"
name: "logos"
widget: "list"
required: false
collapsed: true
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}
- label: "Einstiegsabschnitt"
name: "about"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- label: "Button"
name: "button"
widget: "object"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Bezeichnung", name: "label", widget: "string", required: false}
- {label: "Link", name: "link", widget: "string", required: false}
- label: "Blog-Abschnitt"
name: "blog"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string"}
- label: "Erfolge"
name: "success_banner"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Bild", name: "image", widget: "image", required: false }
- label: "Elemente"
label_singular: "Element"
name: "feature_item"
widget: "list"
collapsed: true
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 }
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- label: "Ganztagsangebote"
name: "ganztagsangebote"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "Button-Abschnitt"
name: "cta"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Untertitel", name: "subtitle", widget: "string", required: false}
- label: "Button"
name: "button"
widget: "object"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Bezeichnung", name: "label", widget: "string", required: false}
- {label: "Link", name: "link", widget: "string", required: false}
- label: "Informationsabschnitt"
name: "info"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Hintergrundbild", name: "bg_image", widget: "image", required: false }
- {label: "Titel", name: "title", widget: "string", required: false}
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- {label: "Video-Link", name: "video_link", widget: "string", required: false}
- label: "Termine"
name: "termine"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "DigitalPakt-Banner"
name: "digitalpakt"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
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 }
- {label: "Inhalt", name: "content", widget: "markdown", required: false}
- label: "Partnerlogos (unten)"
name: "footer_logos"
widget: "object"
collapsed: true
summary: "{{fields.enable | ternary('aktiv', 'inaktiv')}}"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- label: "Logos"
label_singular: "Logo"
name: "logos"
widget: "list"
required: false
collapsed: true
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}
- name: "hugo-config"
label: "Website-Konfiguration"
file: "config.yml"
fields:
- {label: "Website-URL", name: "baseURL", widget: "string"}
- {label: "Titel", name: "title", widget: "string"}
- {label: "Elemente je Seite", name: "paginate", widget: "number", value_type: "int"}
- {label: "Lände von Zusammenfassungen", name: "summaryLength", widget: "number", value_type: "int"}
- {label: "Standardsprache in Unterordner", name: "defaultContentLanguageInSubdir", widget: "boolean", required: false}
- {label: "Standardsprache", name: "defaultContentLanguage", widget: "string"}
- {label: "Emoji", name: "enableEmoji", widget: "boolean", required: false}
- {label: "robots.txt", name: "enableRobotsTxt", widget: "boolean", required: false}
- {label: "Zeitzone", name: "timeZone", widget: "string"}
- {label: "Pfade von Akzenten und Umlauten bereinigen", name: "removePathAccents", widget: "boolean", required: false, default: true}
- label: "Markdown-Enstellungen"
name: "markup"
widget: "object"
collapsed: true
summary: '{{fields.defaultMarkdownHandler}}'
fields:
- {label: "standardmäßiger Markdown-Handler", name: "defaultMarkdownHandler", widget: "select", options: ["blackfriday", "goldmark"]}
- label: "Goldmark-Einstellungen"
name: "goldmark"
widget: "object"
fields:
- label: "Renderer-Einstellungen"
name: "renderer"
widget: "object"
fields: [{label: "Unsicheren Inhalt erlauben", name: "unsafe", widget: "boolean", required: false}]
- label: "Einstellungen"
name: "params"
widget: "object"
collapsed: true
fields:
- label: "Plugins"
name: "plugins"
widget: "object"
collapsed: true
fields:
- label: "CSS"
label_singular: "CSS-Stylesheet"
name: "css"
widget: "list"
collapsed: true
fields:
- {label: "Link", name: "link", widget: "string"}
- label: "JavaScript"
label_singular: "JS-Datei"
name: "js"
widget: "list"
collapsed: true
fields:
- {label: "Link", name: "link", widget: "string"}
- label: "JavaScript (am Seitenanfang)"
label_singular: "JS-Datei"
name: "head_js"
widget: "list"
collapsed: true
fields:
- {label: "Link", name: "link", widget: "string"}
- {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"}
- {label: "Telefonnummer", name: "mobile", widget: "string"}
- {label: "E-Mail-Adresse", name: "email", widget: "string"}
- {label: "E-Mail-Adresse (UI-Ansicht)", name: "email_label", widget: "string"}
- {label: "Beschreibung", name: "description", widget: "string"}
- {label: "Kontakt-Titelleiste", name: "top_header", widget: "boolean"}
- label: "Vorschaubilder"
label_singular: "Vorschaubild"
name: "images"
widget: "list"
required: false
fields:
- label: "Bild-Pfad"
name: "path"
widget: "string"
- {label: "Twitter-Konto", name: "twitter", widget: "string", required: false}
- label: "Ladeanimation"
name: "preloader"
widget: "object"
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Logo", name: "preloader", widget: "image" }
- {label: "Ladeanimation", name: "loader", widget: "image" }
- label: "Soz. Netzwerke"
label_singular: "Soz. Netzwerk"
name: "social"
widget: "list"
collapsed: true
fields:
- {label: "Bezeichnung", name: "title", widget: "string"}
- {label: "Symbol", name: "icon", widget: "string", hint: "Liste unter https://pictogrammers.com/library/mdi/"}
- {label: "Link", name: "link", widget: "string"}
- label: "Menü"
name: "menu"
widget: "object"
collapsed: true
fields:
- label: "Hauptmenü"
label_singular: "Menüeintrag"
name: "main"
widget: "list"
collapsed: true
fields:
- {label: "Titel", name: "name", widget: "string"}
- {label: "Position", name: "weight", widget: "number", hint: "Je höher die Nummer, desto weiter unten liegt der Menüeintrag"}
- {label: "Erweitertes Menü", name: "hasChildren", widget: "boolean", required: false, hint: "Der Menüpunkt dient als Untermenü für weitere Elemente"}
- {label: "Link", name: "URL", widget: "string", required: false}
- {label: "Untermenü von", name: "parent", widget: "relation", collection: "config", file: "hugo-config", search_fields: ['menu.main.*.name'], display_fields: ['menu.main.*.name'], value_field: "menu.main.*.name", required: false, hint: "Menüeintrag, dem dieser untergeordnet ist"}
- label: "Parameter"
name: "params"
widget: "object"
collapsed: false
fields:
- {label: "Externer Link", hint: "Wird in neuem Tab geöffnet.", name: "external", widget: "boolean", default: false, required: false}
- {label: "Trennlinie", hint: "Trennlinie unter den Menüpunkt einfügen.", name: "separator", widget: "boolean", default: false, required: false}
- label: "Link-Liste"
label_singular: "Link"
name: "footer"
widget: "list"
hint: "Im Footer sichtbar"
collapsed: true
fields:
- {label: "Titel", name: "name", widget: "string"}
- {label: "Link", name: "URL", widget: "string"}
- label: "Sprachen"
name: "languages"
widget: "object"
collapsed: true
fields:
- label: "Deutsch"
name: "de"
widget: "object"
fields:
- {label: "Abkürzung", name: "languageName", widget: "string"}
- {label: "Sprachcode", name: "languageCode", widget: "string"}
- {label: "Inhalt-Ordner", name: "contentDir", widget: "string"}
- {label: "Position", name: "weight", widget: "number"}
- {label: "Startseitenbezeichnung", name: "home", widget: "string"}
- {label: "Copyright-Hinweis", name: "copyright", widget: "string"}
- {label: "Impressum-Link", name: "impressumURL", widget: "string"}
- {label: "Datenschutz-Link", name: "dseURL", widget: "string"}
- label: "Privatsphäre"
name: "privacy"
widget: "object"
collapsed: true
fields:
- label: "Disqus"
name: "disqus"
widget: "object"
fields: [{label: "Deaktivieren", name: "disable", widget: "boolean", required: false}]
- label: "Google Analytics"
name: "googleAnalytics"
widget: "object"
fields: [{label: "Deaktivieren", name: "disable", widget: "boolean", required: false}]
- label: "Instagram"
name: "instagram"
widget: "object"
fields: [{label: "Deaktivieren", name: "disable", widget: "boolean", required: false}]
- label: "Twitter"
name: "twitter"
widget: "object"
fields: [{label: "Tracking deaktivieren", name: "enableDNT", widget: "boolean", required: false}]
- label: "YouTube"
name: "youtube"
widget: "object"
fields: [{label: "Piped-Proxy", name: "privacyEnhanced", widget: "boolean", required: false}]
- label: "Vimeo"
name: "vimeo"
widget: "object"
fields: [{label: "Tracking deaktivieren", name: "enableDNT", widget: "boolean", required: false}]
- name: "categories-config"
label: "Kategorien"
file: "data/de/categories.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"
label_singular: "Kategorie"
name: "ganztag"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Wettbewerbe"
label_singular: "Kategorie"
name: "contests"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Begabtenförderung"
label_singular: "Kategorie"
name: "begabte"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Kategorie", name: "category", widget: "string", required: true}
- label: "Fächer (Fachzuordnung)"
label_singular: "Fach"
name: "subjects"
widget: "list"
required: true
collapsed: true
fields:
- {label: "Fach", name: "subject", widget: "string", required: true}
- name: "ausblick-config"
label: "Ausblick auf die Woche"
file: "data/de/ausblick.yml"
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- {label: "Titel", name: "title", widget: "string", required: false}
- label: "Autor"
name: "author"
widget: "relation"
collection: "author"
search_fields: ["title"]
value_field: "title"
required: false
- {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: "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: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false }
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- label: "Statistik"
name: "stats"
widget: "object"
collapsed: true
fields:
- {label: "Aktivieren", name: "enable", widget: "boolean", required: false}
- label: "Elemente"
name: "zahlen"
widget: "list"
fields:
- {label: "Bezeichnung", name: "name", widget: "string", required: false}
- {label: "Zahl", name: "count", widget: "number", required: false}
- {label: "Text", name: "body", widget: "markdown"}
- name: "anmeldung-index"
label: "Aufnahmeverfahren"
file: "content/german/anmeldung/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- label: "Elemente"
label_singular: "Element"
name: "elements"
widget: "list"
fields:
- {label: "Titel", name: "title", widget: "string", required: true}
- {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: "Cantorpreis"
file: "content/german/cantorpreis/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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: "Metabeschreibung", name: "description", widget: "text", required: false}
- 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: "Metabeschreibung", name: "description", widget: "text", required: false}
- label: Termine
label_singular: "Termin"
name: "events"
widget: "list"
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"}
- {label: "Enddatum", name: "enddate", widget: "datetime", required: false, date_format: "dd.MM.yyyy", time_format: false, format: "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", default: ""}
- {label: "Ort", name: "location", widget: "string", required: false}
required: false
- name: "forms-index"
label: "Dokumente und Formulare"
file: "content/german/forms/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "ganztagsangebote-index"
label: "Unser Ganztagsbereich"
file: "content/german/ganztagsangebote/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {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: "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: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "abiturienten-index"
label: "Abiturienten"
file: "content/german/abiturienten/_index.md"
fields:
- {label: "Titel", name: "title", widget: "string"}
- {label: "Metabeschreibung", name: "description", widget: "text", required: false}
- name: "cantorfora-index"
label: "Cantorfora"
file: "content/german/cantorfora/_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}
- 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: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Type", name: "type", widget: "hidden", default: "pages"}
- label: "Aliase"
name: "aliases"
widget: "list"
fields:
- label: "Alias"
name: "alias"
widget: "string"
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "author"
icon: "user"
label: "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: 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: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
- {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. 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
slug: "{{slug}}"
editor:
preview: true
frame: true
view_groups:
- label: Entwurf
field: draft
- label: Kategorie
field: categories
sortable_fields:
fields: ['date', 'title']
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: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
- {label: "Beitragsbild", name: "image", widget: "image", default: "/media/image.webp" }
- label: "Beitragsautor"
name: "author"
widget: "relation"
collection: "author"
search_fields: ["title"]
value_field: "title"
- label: "Kategorien"
name: "categories"
widget: "relation"
required: true
collection: "config"
file: "categories-config"
value_field: "blog.*"
search_fields: ["blog.*"]
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"
required: false
fields:
- label: "Tag"
name: "tag"
widget: "string"
- {label: "Type", name: "type", widget: "hidden", default: "post"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "forms"
icon: "document"
label: "Dokumente"
label_singular: "Dokument"
description: "Hier sind Formulare, Vorlagen und andere Dokumente zu hinterlegen."
folder: "content/german/forms"
filter: {field: "type", value: "forms"}
create: true
slug: "{{slug}}"
editor:
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: "Metabeschreibung", name: "description", widget: "text", required: false}
- label: "Dateien"
name: "files"
widget: "list"
required: false
fields:
- {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: "ganztagsangebote"
description: "Hier kann die Übersicht der Ganztagsangebote bearbeitet werden."
icon: "group"
label: "Ganztagsangebote"
label_singular: "Ganztagsangebot"
folder: "content/german/ganztagsangebote"
filter: {field: "type", value: "ganztagsangebote"}
create: true
editor:
preview: true
frame: true
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: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false }
- 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: "schedule", widget: "string"}
- {label: "Klassenstufen", name: "class", widget: "string"}
- {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"
description: "Hier kann die Übersicht der Wettbewerbe bearbeitet werden."
icon: "trophy"
label: "Wettbewerbe"
label_singular: "Wettbewerb"
folder: "content/german/wettbewerbe"
filter: {field: "type", value: "wettbewerbe"}
create: true
editor:
preview: true
frame: true
summary_fields: ["title", "draft", "category"]
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: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false }
- 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"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "begabte"
description: "Hier kann die Übersicht der Begabtenförderungsangebote bearbeitet werden."
icon: "pi"
label: "Begabtenförderung"
label_singular: "Begabtenförderung"
folder: "content/german/begabte"
filter: {field: "type", value: "begabte"}
create: true
editor:
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: "Metabeschreibung", name: "description", widget: "text", required: false}
- {label: "Bild", name: "image", widget: "image", default: "/media/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"
description: "Hier kann die Übersicht der Projektwochen bearbeitet werden."
icon: "projektwoche"
label: "Projektwoche"
label_singular: "Projektwoche"
folder: "content/german/projektwoche"
filter: {field: "type", value: "projektwoche"}
create: true
editor:
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: "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}
- name: "schulchronik"
description: "Hier können die Chronikjahre bearbeitet werden. Dieser Bereich wird von der Schulchronik verwaltet."
icon: "pillar"
label: "Schulchronik"
label_singular: "Chronikjahr"
folder: "content/german/schulchronik"
filter: {field: "type", value: "schulchronik"}
create: true
editor:
preview: false
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: "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"
description: "\"Superhaufen\" sind ein besonderer Bereich der Schulchronik, um besonders ausführliche Ereignisse darzustellen. Dieser Bereich wird von der Schulchronik verwaltet."
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: "cantorpreis"
description: "Hier sind alle Cantorpreisträger aufgelistet. Dieser Bereich wird von der Schulchronik verwaltet."
icon: "award"
label: "Cantorpreisträger"
label_singular: "Cantorpreisträ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: true
frame: true
summary_fields: ["title", "name", "draft", "body"]
fields:
- {label: "Jahr", name: "title", widget: "string"}
- {label: "Name", name: "name", 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/image.webp", required: false }
- {label: "Type", name: "type", widget: "hidden", default: "cantorpreis"}
- {label: "Text", name: "body", widget: "markdown", required: false}
- name: "abiturienten"
description: "Hier kann die Übersicht der Abiturjahrgänge bearbeitet werden. Dieser Bereich wird von der Schulchronik verwaltet."
icon: "graduation-cap"
label: "Abiturienten"
label_singular: "Abiturjahrgang"
folder: "content/german/abiturienten"
filter: {field: "type", value: "abiturienten"}
create: true
editor:
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: "Bild", name: "image", widget: "image", default: "/media/image.webp", required: false }
- {label: "Type", name: "type", widget: "hidden", default: "abiturienten"}
- {label: "Text", name: "body", widget: "markdown"}
- name: "cantorfora"
description: "Hier kann die Übersicht der Cantorfora bearbeitet werden. Dieser Bereich wird von der Schulchronik verwaltet."
icon: "presentation"
label: "Cantorfora"
label_singular: "Cantorforum"
folder: "content/german/cantorfora"
filter: {field: "type", value: "cantorfora"}
create: true
slug: "{{slug}}"
editor:
preview: true
frame: true
view_groups:
- label: Drafts
field: draft
summary_fields: ["title", "draft", "description"]
sortable_fields:
fields: ['index', 'title']
default:
field: index
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: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
- {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"
description: "Chronikseiten entsprechen von der Funktionalität herkömmlichen Zusatzseiten, sind allerdings der Schulchronik vorbehalten."
icon: "page-add"
label: "Chronikseiten"
label_singular: "Zusatzseite (Chronik)"
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"
description: "Hier können statistische Daten bearbeitet werden. Dieser Bereich wird von der Schulchronik verwaltet."
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}