Documentazione
/ Riferimento del file della pergamena
Riferimento del file della pergamena
Un file di pergamena è un oggetto JSON: i dettagli della pergamena, i suoi capitoli di idee e traduzioni facoltative. Questa pagina descrive ogni oggetto e ogni campo che l’importazione legge.
Download
- File di esempio: una pergamena inventata che usa tutti i campi comuni, con versioni complete in tutte le 15 lingue dell’interfaccia.
- Schema JSON: le stesse regole in forma leggibile dalle macchine (JSON Schema 2020-12), per editor, script e agenti IA. I limiti vengono dallo stesso codice che esegue l’importazione.
Struttura
Scroll
├── language, title, authors, description, tags,
│ sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│ └── ideas: Idea[]
│ └── examples: string[]
└── translations: { language: Translation }
└── summaries: TranslatedChapter[]
└── ideas: TranslatedIdea[]
Pergamena (Scroll)
L’oggetto radice. Nello schema gli altri oggetti si chiamano Chapter (capitolo), Idea (idea), Translation (traduzione), TranslatedChapter e TranslatedIdea.
| Campo | Tipo | Obbligatorio | Regole | Descrizione |
|---|
language | string | sì | Un codice lingua come it o pt-BR | La lingua della versione originale. Va bene qualsiasi lingua. Non cambia quando la pergamena viene sostituita. |
title | string | no | Fino a 255 caratteri | Il titolo della pergamena. Senza, si chiama "Untitled". |
authors | string[] | no | Tutti i nomi insieme fino a 255 caratteri | I creatori della fonte, in ordine: autori, conduttori o relatori. È accettata anche una singola stringa. Senza nomi compare "Unknown". |
description | string | no | Fino a 600 caratteri | Due o tre frasi su ciò che si impara. |
tags | string[] | no | Fino a 5, ciascuno da 1 a 30 caratteri, senza # né virgole | Temi brevi in questa lingua. I tag che differiscono solo per maiuscole, accenti o larghezza contano come uno. Se il campo manca, i tag salvati restano; una lista vuota li cancella. |
sourceUrl | string | no | Un URL http o https, fino a 2000 caratteri | Un link all’originale. |
originalYear | integer | no | Da -3000 all’anno corrente, non 0 | L’anno di uscita dell’originale. Gli anni negativi sono a.C. |
originalPeriod | string | no | Fino a 80 caratteri | Quando è uscito l’originale, per le opere senza un anno preciso, come "V secolo a.C.". |
summaries | Chapter[] | sì | Almeno un’idea; fino a 500 idee in tutto | I capitoli, in ordine di lettura. |
translations | object | no | Le chiavi sono codici lingua diversi da language | Versioni complete in altre lingue. Ogni valore è una Translation. |
Capitolo (Chapter)
| Campo | Tipo | Obbligatorio | Regole | Descrizione |
|---|
title | string | no | Fino a 200 byte | Il titolo del capitolo. Senza, diventa "Chapter N". Il limite conta i byte, quindi negli alfabeti non latini entrano meno caratteri. |
ideas | Idea[] | no | | Le idee del capitolo, in ordine di lettura. |
Idea (Idea)
| Campo | Tipo | Obbligatorio | Regole | Descrizione |
|---|
text | string | sì | Fino a 400 caratteri | L’idea: un pensiero completo, comprensibile sulla propria scheda. Un’idea con testo vuoto viene saltata. |
tier | string | no | important, good o common | Quanto è centrale l’idea. Le idee importanti hanno un aspetto proprio sulla scheda. Se manca o ha un altro valore, vale common. |
examples | string[] | no | Fino a 20, ciascuno fino a 400 caratteri | Compaiono scorrendo di lato. Le voci vuote o che non sono testo vengono scartate. |
Traduzione (Translation)
Ogni voce di translations è una versione completa della pergamena in quella lingua. Deve avere gli stessi capitoli, idee ed esempi dell’originale, nello stesso ordine e numero.
| Campo | Tipo | Obbligatorio | Regole | Descrizione |
|---|
title | string | sì | Non vuoto, fino a 255 caratteri | Il titolo in questa lingua. |
authors | string[] | sì | Non vuoto | I nomi dei creatori come si scrivono in questa lingua. |
description | string | no | Come nell’originale | La descrizione in questa lingua. |
tags | string[] | no | Come nell’originale | Tag per chi legge in questa lingua. Non devono ricalcare quelli dell’originale. |
originalPeriod | string | no | Come nell’originale | Il periodo in questa lingua; senza, si mostra quello dell’originale. |
summaries | TranslatedChapter[] | sì | Lo stesso numero dell’originale | I capitoli in questa lingua. |
Un TranslatedChapter ha un title non vuoto e ideas con tante idee quante il capitolo originale. Una TranslatedIdea ha un text non vuoto ed examples con tante voci quante l’idea originale, nessuna vuota. Le idee tradotte omettono tier: viene dall’originale, e un valore diverso viene rifiutato.
Come l’importazione legge i valori
- Il testo viene ripulito dagli spazi alle due estremità, e le lunghezze contano i caratteri così come li vedi.
- Un campo facoltativo vuoto è trattato come assente.
- I campi non descritti qui vengono ignorati.
- Chi legge vede la versione nella propria lingua e, se manca, l’originale.
Esempio
{
"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": []
}
]
}
]
}
}
}
Limiti
| Cosa | Limite |
|---|
| Idea o esempio | 400 caratteri |
| Idee per pergamena | 500 |
| Esempi per idea | 20 |
| Titolo, autori | 255 caratteri |
| Titolo del capitolo | 200 byte |
| Descrizione | 600 caratteri |
| Tag | 5 per lingua, 30 caratteri ciascuno |
| Contenuto di una lingua | 1 MB |
| File caricato | 8 MB |
| Pergamene possedute | 200 |
Errori di importazione frequenti
- Il file non è JSON valido. Chiedi all’assistente "solo JSON valido", oppure cerca una virgola o delle virgolette mancanti. Togli qualsiasi testo prima o dopo l’oggetto JSON.
- Manca la lingua. Aggiungi
"language" con un codice come it. - Un’idea o un esempio è troppo lungo. Il messaggio indica lingua, capitolo, idea ed esempio; accorcia quel testo.
- Una traduzione non corrisponde. Ogni versione deve avere lo stesso numero di capitoli, idee ed esempi, nello stesso ordine.
- Troppe idee o file troppo grande. Dividi la fonte in due pergamene.
- Possiedi già il numero massimo di pergamene. Sostituiscine una che non ti serve più; vedi Modificare, sostituire e condividere.