# Untitled

    # Frontmatter v1.3 – Lint Rules (required_if / recommended_if / asserts) # Diese Datei ist als Eingabe für euren Build/Linter gedacht. rules: - id: blog-minimal when: { type: blog } required: - anyOf: [ title, article.headline ] - canonical - image - date_published recommended: - anyOf: [ article.author_name, publisher.name ] - publisher.logo - date_modified - same_as - id: home-organization when: { type: home } recommended: - organization.name - organization.url - organization.logo - organization.address.streetAddress - organization.address.postalCode - organization.address.addressLocality - organization.address.addressCountry - vatID - taxID - eori - register_number - same_as - id: profile-person when: { type: profile } required: - person.name recommended: - person.url - person.image - person.jobTitle - person.worksFor - person.same_as - id: pillar-service when: { type: pillar } required: - title - canonical - image recommended: - main_entity_type - service.name - service.description - service.areaServed - id: hreflang-pingpong when: {} assert: - expr: "len(hreflang.alternates or []) >= 1" message: "hreflang.alternates fehlt oder ist leer" severity: warning - id: checksum-all-artifacts when: {} assert: - expr: "file_exists(content.path)" message: "content.path zeigt auf keine existierende Datei" severity: error - expr: "sha256sum(content.path) == content.sha256" message: "SHA256 von content.md stimmt nicht mit content.sha256 überein" severity: error - expr: "checksum_has(['content.md','meta.json','meta.yaml'])" message: "checksum.sha256 sollte alle Artefakte enthalten (content.md, meta.json, meta.yaml)" severity: warning - id: jsonld-should-exist-on-html when: {} note: "Außerhalb des YAML prüft der Build, dass die kanonische HTML-Seite genau EINEN JSON-LD-Block (WebPage + mainEntity) ausliefert." assert: [] # Hinweise: # - 'assert/expr' ist Pseudocode — implementiert ihr in eurem Linter. # - 'severity': error|warning|info
    