Skip to content

KSchattenfeld/calmDOWN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

calmDOWN (CD) – Document Standard v1.0

calmDOWN (kurz CD) ist ein offener Dokumentstandard für barrierefreie, visuell rendierbare und dynamische Textdokumente. CD ist kein Ersatz für Markdown, sondern ein eigenständiges Format für strukturierte Dokumente, bei denen Zugänglichkeit, Lesbarkeit und semantische Stabilität zentral sind.

CD ist als offener Ersatz für statische Formate wie PDF gedacht, ohne deren Einschränkungen.

Lizenz: BSD License Version: 1.0


Grundprinzipien

Inhalte sind unveränderlich

Reader dürfen nur Properties, nicht den Text selbst verändern

Barrierefreiheit ist Pflicht, nicht optional

Darstellung ist Reader-gesteuert, nicht autor-gesteuert

Quelltext bleibt lesbar und zugänglich

Dynamik erfolgt über deklarative Regeln und JSON-Daten


Trennung von Inhalt und Darstellung

Textinhalt bleibt immer identisch

Farben, Boxen, Kontraste und Darstellungsmodi dürfen angepasst werden

Foreground und Background müssen Kontrastregeln erfüllen

Kein Reader darf Text ersetzen, umformen oder vereinfachen

Beispiel nicht erlaubt: Ersetzen von Zeichen oder Wörtern („O → I“)

Beispiel erlaubt: Ändern einer blauen Box zu grau bei hohem Kontrastbedarf, Kontrast-Regeln Werden überprüft und wenn nicht passen wird die Anweisung nicht ausgeführt.


Syntax-Grundlagen

Anweisungen

Alle Anweisungen stehen in [ ]

Jede Anweisung endet explizit

[ # ] beendet eine Anweisung und setzt den Zustand zurück

Beispiel:

[#red]Roter Text[#]


Textformatierung

[b]Fett [#, i]Italic [#, u]Underline [#]

Formatierungen sind explizit, kombinierbar und eindeutig.


Überschriften und Struktur

[h1] Titel [h2] Überschrift

Mit Anker:

[h2, Einleitung] Einführung

Anker werden vom Reader automatisch zu einer verlinkten Übersicht verarbeitet und erhalten eine ID.

Subline:

[su] Untertitel oder Beschreibung


Seitenstruktur

\n (Zeilenumbruch) ist bindend

Reader dürfen Textfluss nicht umordnen

Seitenumbrüche werden explizit gesetzt

[Break] Seitenumbruch


Boxen

[BOX Background, Foreground, Radius, Margin] Text in einer Box [#BE]

Alle Parameter optional

Werte werden vom Root geerbt

Einzelne Werte können explizit überschrieben werden (Margin=...)


Bilder und Medien

![Emoji=warn]

Darstellung abhängig vom Reader-Modus:

Visuell: ⚠️

Screenreader: „warn“

Text-only: !!

Bild mit Beschreibung:

[img=source]Alt-Text [#, sub]Bildbeschreibung[#]


Links und Accessibility

[Link=Pfad]Sichtbarer Text [#, scr]Screenreader-Text[#]

Zusätzliche Accessibility-Anweisungen:

[Scr] Screenreader-Text [Aria=Label]

ARIA ist Teil des Standards, nicht optional.


Kontextabhängige Darstellung (If)

CD erlaubt deklarative Darstellungsregeln abhängig vom Reader-Kontext:

[@if Screen.W <= 500 || Mode==Screenreader then Image.view=ALT_MODE !]

Keine Inhaltslogik

Keine Zustandsänderung

Nur Darstellungsregeln

Typische Nutzung: Am Anfang des Dokuments.


Dynamische Inhalte und Formulare

Variablen:

%%TYPELEN_NAME%

Beispiel:

%%TEXT50_USERNAME%

Ohne Längenangabe: TEXT = 150 Zeichen

Unterstützte Typen

TEXT

DATE

MAIL

NUMBER

CHECKBOX

TEXTBOX

RADIOBOX

COMBOBOX

MULTICBOX

LIST


Datenhaltung

Werte werden nicht im Text gespeichert

JSON-Datenbereich am Dokumentende:

Aus obrige Variable %TEXT50_USERNAME% wird. Wen optional ist muss nach dem Name ein Doppelpunkt dran, zum Beispiel: %DATE_Optional:% diese Variable ist optional

###Data###

{
    version="1.0",
    author="Kschattenfeld"
    contact="...",
    submit= [
        { type="mail", format="json", mail="foo@bar.local" },
        { type="http", format="post", address="https://foo.bar/local/post.php"},
    ],
    content= [
    { size=50, name="USERNAME", content="KSchattenfeld", mandatory=true, type="text" },
    { name="Optional", content=timestamp, type="date", mandatory=false, format="dd.mm.yyyy" }],
}

Variablen bleiben immer an derselben Textposition

Nur der Reader tauscht Inhalte zur Anzeige aus

Alle Boxen, Auswahlfelder und komplexen Elemente werden vollständig über JSON beschrieben.


Zielsetzung

calmDOWN wurde entworfen für:

barrierefreie Dokumente

Screenreader-Nutzung als Normalfall

konsistente Darstellung über unterschiedliche Reader

langfristige Archivierung

menschenlesbaren Quelltext

Accessibility ist kein Zusatz, sondern Kernbestandteil des Formats.


Status

Version 1.0 Stabiler Basisstandard

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published