fOERbico/Orga/oer-community-webseite-orga/comenius-yaml-mcp/data/felder.yaml

198 lines
6.8 KiB
YAML
Raw Normal View History

# Feldregeln FOERBICO Blog YAML-Frontmatter
# Definiert Struktur, Pflichtfelder, Standardwerte und Ableitungslogik
# für beide Blöcke: commonMetadata (OERSI/AMB) und staticSiteGenerator (Hugo).
# ─────────────────────────────────────────────
# BLOCK 1: commonMetadata
# ─────────────────────────────────────────────
commonMetadata:
context:
feld: "'@context'"
pflicht: true
wert: https://schema.org/
# Immer dieser feste Wert. Anführungszeichen nötig wegen @ in YAML.
creativeWorkStatus:
feld: creativeWorkStatus
pflicht: true
erlaubte_werte: [Published, Draft]
standard: Published
type:
feld: type
pflicht: true
wert: LearningResource
name:
feld: name
pflicht: true
ableitung: identisch mit staticSiteGenerator.title
description:
feld: description
pflicht: true
yaml_stil: ">-" # Fließtext, kein abschließender Zeilenumbruch
ableitung: identisch mit staticSiteGenerator.summary
license:
feld: license
pflicht: true
standard: https://creativecommons.org/licenses/by/4.0/deed.de
optionen:
CC0: https://creativecommons.org/publicdomain/zero/1.0/deed.de
CC-BY: https://creativecommons.org/licenses/by/4.0/deed.de
CC-BY-SA: https://creativecommons.org/licenses/by-sa/4.0/deed.de
CC-BY-NC: https://creativecommons.org/licenses/by-nc/4.0/deed.de
CC-BY-NC-SA: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
id:
feld: id
pflicht: true
muster: "https://oer.community/{url}"
# {url} = Wert von staticSiteGenerator.url
creator:
feld: creator
pflicht: true
quelle: data/personen.yaml
# Strukturierte Autorenangaben mit givenName, familyName, type, ggf. id (ORCID) und affiliation
inLanguage:
feld: inLanguage
pflicht: true
standard: [de]
image:
feld: image
pflicht: true
muster: "https://oer.community/{url}/{dateiname}"
# {url} = staticSiteGenerator.url
# {dateiname} = staticSiteGenerator.cover.image
learningResourceType:
feld: learningResourceType
pflicht: true
standard: [https://w3id.org/kim/hcrt/text, https://w3id.org/kim/hcrt/web_page]
optionen:
text: https://w3id.org/kim/hcrt/text
web_page: https://w3id.org/kim/hcrt/web_page
video: https://w3id.org/kim/hcrt/video
audio: https://w3id.org/kim/hcrt/audio
presentation: https://w3id.org/kim/hcrt/presentation
image: https://w3id.org/kim/hcrt/image
worksheet: https://w3id.org/kim/hcrt/worksheet
course: https://w3id.org/kim/hcrt/course
educationalLevel:
feld: educationalLevel
pflicht: true
standard: [https://w3id.org/kim/educationalLevel/level_A]
optionen:
level_A: https://w3id.org/kim/educationalLevel/level_A # Allgemein
level_B: https://w3id.org/kim/educationalLevel/level_B # Berufsbildung
level_C: https://w3id.org/kim/educationalLevel/level_C # Hochschule
datePublished:
feld: datePublished
pflicht: true
format: "'YYYY-MM-DD'" # Anführungszeichen sind Pflicht
keywords:
feld: keywords
pflicht: true
quelle: data/schlagworte.yaml
ableitung: identisch mit staticSiteGenerator.tags
about:
feld: about
pflicht: false
# KIM Hochschulfächersystematik
optionen:
Allgemeine Pädagogik: https://w3id.org/kim/hochschulfaechersystematik/n01
Erziehungswissenschaft: https://w3id.org/kim/hochschulfaechersystematik/n02
Psychologie: https://w3id.org/kim/hochschulfaechersystematik/n03
Medienpädagogik: https://w3id.org/kim/hochschulfaechersystematik/n052
Evangelische Theologie: https://w3id.org/kim/hochschulfaechersystematik/n053
Katholische Theologie: https://w3id.org/kim/hochschulfaechersystematik/n054
Informatik: https://w3id.org/kim/hochschulfaechersystematik/n069
Kommunikationswissenschaft: https://w3id.org/kim/hochschulfaechersystematik/n079
Politikwissenschaft: https://w3id.org/kim/hochschulfaechersystematik/n086
Informationswissenschaft: https://w3id.org/kim/hochschulfaechersystematik/n121
# ─────────────────────────────────────────────
# BLOCK 2: staticSiteGenerator
# ─────────────────────────────────────────────
staticSiteGenerator:
author:
feld: author
pflicht: true
format: "Vorname Nachname"
ableitung: Vor- und Nachname aus commonMetadata.creator
title:
feld: title
pflicht: true
ableitung: identisch mit commonMetadata.name
cover:
feld: cover
pflicht: true
unterfelder:
relative:
pflicht: true
wert: true
# true = Bilddatei liegt im Post-Verzeichnis
# false = externes Bild (URL), dann cover.image = volle URL
image:
pflicht: true
format: "dateiname.ext"
# Nur Dateiname, kein Pfad identisch mit letztem Segment von commonMetadata.image
alt:
pflicht: false
# Bildbeschreibung für Barrierefreiheit, empfohlen
caption:
pflicht: false
# Bildunterschrift, optional
hiddenInSingle:
pflicht: true
standard: true
summary:
feld: summary
pflicht: true
yaml_stil: ">-"
ableitung: identisch mit commonMetadata.description
url:
feld: url
pflicht: true
regeln:
- Nur Kleinbuchstaben
- "Leerzeichen → Bindestrich"
- "ä → ae, ö → oe, ü → ue, ß → ss"
- "Sonderzeichen entfernen: # ? ! : ' ( )"
- Maximal 60 Zeichen
beispiel: "OERcamp #2025 in Hamburg → oercamp-2025-in-hamburg"
tags:
feld: tags
pflicht: true
quelle: data/schlagworte.yaml
ableitung: identisch mit commonMetadata.keywords
# ─────────────────────────────────────────────
# ABLEITUNGSREGELN (Zusammenfassung)
# ─────────────────────────────────────────────
ableitungen:
- commonMetadata.name == staticSiteGenerator.title
- commonMetadata.description == staticSiteGenerator.summary
- commonMetadata.keywords == staticSiteGenerator.tags
- commonMetadata.id == "https://oer.community/" + staticSiteGenerator.url
- commonMetadata.image == "https://oer.community/" + staticSiteGenerator.url + "/" + staticSiteGenerator.cover.image
- commonMetadata.creator[].givenName + " " + familyName == staticSiteGenerator.author[]