Dokumentation
/ Referenz der Scroll-Datei
Referenz der Scroll-Datei
Eine Scroll-Datei ist ein JSON-Objekt: die Angaben zum Scroll, seine Kapitel mit Ideen und optionale Übersetzungen. Diese Seite beschreibt jedes Objekt und jedes Feld, das der Import liest.
Downloads
- Beispieldatei: ein erfundener Scroll, der alle gängigen Felder nutzt, mit vollständigen Fassungen in allen 15 Sprachen der Oberfläche.
- JSON-Schema: dieselben Regeln maschinenlesbar (JSON Schema 2020-12), für Editoren, Skripte und KI-Agenten. Die Grenzen stammen aus demselben Code, den der Import ausführt.
Aufbau
Scroll
├── language, title, authors, description, tags,
│ sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│ └── ideas: Idea[]
│ └── examples: string[]
└── translations: { language: Translation }
└── summaries: TranslatedChapter[]
└── ideas: TranslatedIdea[]
Scroll
Das Wurzelobjekt. Die anderen Objekte heißen im Schema Chapter (Kapitel), Idea (Idee), Translation (Übersetzung), TranslatedChapter und TranslatedIdea.
| Feld | Typ | Pflicht | Regeln | Beschreibung |
|---|
language | string | ja | Ein Sprachcode wie de oder pt-BR | Die Sprache der Originalfassung. Jede Sprache ist möglich. Sie ändert sich nicht, wenn der Scroll ersetzt wird. |
title | string | nein | Bis zu 255 Zeichen | Der Titel des Scrolls. Ohne ihn heißt er "Untitled". |
authors | string[] | nein | Alle Namen zusammen bis zu 255 Zeichen | Die Urheber der Quelle in Reihenfolge: Autoren, Moderatoren oder Sprecher. Ein einzelner String geht auch. Ohne Namen steht dort "Unknown". |
description | string | nein | Bis zu 600 Zeichen | Zwei oder drei Sätze darüber, was man lernt. |
tags | string[] | nein | Bis zu 5, je 1 bis 30 Zeichen, ohne # und Kommas | Kurze Themen in dieser Sprache. Tags, die sich nur in Groß- und Kleinschreibung, Akzenten oder Breite unterscheiden, zählen als einer. Fehlt das Feld, bleiben die gespeicherten Tags erhalten; eine leere Liste löscht sie. |
sourceUrl | string | nein | Eine http- oder https-URL, bis zu 2000 Zeichen | Ein Link zum Original. |
originalYear | integer | nein | Von -3000 bis zum laufenden Jahr, nicht 0 | Das Erscheinungsjahr des Originals. Negative Jahre sind v. Chr. |
originalPeriod | string | nein | Bis zu 80 Zeichen | Wann das Original erschien, für Werke ohne genaues Jahr, etwa "5. Jahrhundert v. Chr.". |
summaries | Chapter[] | ja | Mindestens eine Idee, insgesamt bis zu 500 Ideen | Die Kapitel in Lesereihenfolge. |
translations | object | nein | Schlüssel sind Sprachcodes außer language | Vollständige Fassungen in anderen Sprachen. Jeder Wert ist eine Translation. |
Kapitel (Chapter)
| Feld | Typ | Pflicht | Regeln | Beschreibung |
|---|
title | string | nein | Bis zu 200 Bytes | Der Titel des Kapitels. Ohne ihn wird daraus "Chapter N". Die Grenze zählt Bytes, in nichtlateinischen Schriften passen also weniger Zeichen hinein. |
ideas | Idea[] | nein | | Die Ideen des Kapitels in Lesereihenfolge. |
Idee (Idea)
| Feld | Typ | Pflicht | Regeln | Beschreibung |
|---|
text | string | ja | Bis zu 400 Zeichen | Die Idee: ein vollständiger Gedanke, der auf seiner eigenen Karte verständlich ist. Eine Idee mit leerem Text wird übersprungen. |
tier | string | nein | important, good oder common | Wie zentral die Idee ist. Wichtige Ideen haben auf der Karte ein eigenes Aussehen. Fehlt der Wert oder ist er ein anderer, gilt common. |
examples | string[] | nein | Bis zu 20, je bis zu 400 Zeichen | Erscheinen beim seitlichen Wischen. Leere Einträge und Einträge, die kein Text sind, werden verworfen. |
Übersetzung (Translation)
Jeder Eintrag in translations ist eine vollständige Fassung des Scrolls in dieser Sprache. Er muss dieselben Kapitel, Ideen und Beispiele wie das Original haben, in derselben Reihenfolge und Anzahl.
| Feld | Typ | Pflicht | Regeln | Beschreibung |
|---|
title | string | ja | Nicht leer, bis zu 255 Zeichen | Der Titel in dieser Sprache. |
authors | string[] | ja | Nicht leer | Die Namen der Urheber, wie sie in dieser Sprache geschrieben werden. |
description | string | nein | Wie im Original | Die Beschreibung in dieser Sprache. |
tags | string[] | nein | Wie im Original | Tags für Leser dieser Sprache. Sie müssen die des Originals nicht spiegeln. |
originalPeriod | string | nein | Wie im Original | Der Zeitraum in dieser Sprache; ohne ihn wird der des Originals gezeigt. |
summaries | TranslatedChapter[] | ja | Dieselbe Anzahl wie im Original | Die Kapitel in dieser Sprache. |
Ein TranslatedChapter hat einen nicht leeren title und ideas mit so vielen Ideen wie das Kapitel im Original. Eine TranslatedIdea hat einen nicht leeren text und examples mit so vielen Einträgen wie die Idee im Original, keiner davon leer. Übersetzte Ideen lassen tier weg: Er kommt aus dem Original, und ein abweichender Wert wird abgelehnt.
Wie der Import Werte liest
- Text wird an beiden Enden getrimmt, und Längen zählen Zeichen so, wie man sie sieht.
- Ein leeres optionales Feld gilt als nicht vorhanden.
- Felder, die hier nicht beschrieben sind, werden ignoriert.
- Leser sehen die Fassung in ihrer Sprache und, wenn es keine gibt, das Original.
Beispiel
{
"language": "en",
"title": "Small steps",
"authors": ["Ada Example"],
"description": "How small, repeated actions shape what you notice and do.",
"tags": ["habits", "attention"],
"sourceUrl": "https://example.org/small-steps",
"originalYear": 1841,
"summaries": [
{
"title": "Starting small",
"ideas": [
{
"text": "Make the first step so small that you can take it on a bad day.",
"tier": "important",
"examples": ["Read one page every evening."]
},
{
"text": "You notice more of what you have decided to look for.",
"tier": "common",
"examples": []
}
]
}
],
"translations": {
"de": {
"title": "Kleine Schritte",
"authors": ["Ada Beispiel"],
"description": "Wie kleine, wiederholte Handlungen prägen, was wir bemerken und tun.",
"tags": ["gewohnheiten", "aufmerksamkeit"],
"summaries": [
{
"title": "Klein anfangen",
"ideas": [
{
"text": "Mach den ersten Schritt so klein, dass er dir auch an einem schlechten Tag gelingt.",
"examples": ["Lies jeden Abend eine Seite."]
},
{
"text": "Du bemerkst mehr von dem, wonach du zu suchen beschlossen hast.",
"examples": []
}
]
}
]
}
}
}
Grenzen
| Was | Grenze |
|---|
| Idee oder Beispiel | 400 Zeichen |
| Ideen pro Scroll | 500 |
| Beispiele pro Idee | 20 |
| Titel, Autoren | 255 Zeichen |
| Kapiteltitel | 200 Bytes |
| Beschreibung | 600 Zeichen |
| Tags | 5 pro Sprache, je 30 Zeichen |
| Inhalt einer Sprache | 1 MB |
| Hochgeladene Datei | 8 MB |
| Eigene Scrolls | 200 |
Häufige Importfehler
- Die Datei ist kein gültiges JSON. Bitte den Assistenten um "nur gültiges JSON" oder such nach einem fehlenden Komma oder Anführungszeichen. Entferne jeden Text vor oder nach dem JSON-Objekt.
- Die Sprache fehlt. Ergänze
"language" mit einem Code wie de. - Eine Idee oder ein Beispiel ist zu lang. Die Meldung nennt Sprache, Kapitel, Idee und Beispiel; kürze diesen Text.
- Eine Übersetzung passt nicht. Jede Fassung braucht dieselbe Zahl an Kapiteln, Ideen und Beispielen in derselben Reihenfolge.
- Zu viele Ideen oder eine zu große Datei. Teile die Quelle auf zwei Scrolls auf.
- Du besitzt schon die Höchstzahl an Scrolls. Ersetze einen, den du nicht mehr brauchst; siehe Bearbeiten, ersetzen und teilen.