Documentación
/ Referencia del archivo de pergamino
Referencia del archivo de pergamino
Un archivo de pergamino es un objeto JSON: los detalles del pergamino, sus capítulos con ideas y traducciones opcionales. Esta página describe cada objeto y cada campo que lee el importador.
Descargas
- Archivo de ejemplo: un pergamino inventado que usa todos los campos habituales, con versiones completas en los 15 idiomas de la interfaz.
- Esquema JSON: las mismas reglas en formato legible por máquinas (JSON Schema 2020-12), para editores, scripts y agentes de IA. Sus límites salen del mismo código que ejecuta el importador.
Estructura
Scroll
├── language, title, authors, description, tags,
│ sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│ └── ideas: Idea[]
│ └── examples: string[]
└── translations: { language: Translation }
└── summaries: TranslatedChapter[]
└── ideas: TranslatedIdea[]
Pergamino (Scroll)
El objeto raíz. En el esquema, los demás objetos se llaman Chapter (capítulo), Idea (idea), Translation (traducción), TranslatedChapter y TranslatedIdea.
| Campo | Tipo | Obligatorio | Reglas | Descripción |
|---|
language | string | sí | Un código de idioma como es o pt-BR | El idioma de la versión original. Sirve cualquier idioma. No cambia cuando se sustituye el pergamino. |
title | string | no | Hasta 255 caracteres | El título del pergamino. Sin él, se llama "Untitled". |
authors | string[] | no | Todos los nombres juntos, hasta 255 caracteres | Los creadores de la fuente, en orden: autores, presentadores o ponentes. También se acepta un solo string. Sin nombres aparece "Unknown". |
description | string | no | Hasta 600 caracteres | Dos o tres frases sobre lo que se aprende. |
tags | string[] | no | Hasta 5, cada una de 1 a 30 caracteres, sin # ni comas | Temas breves en este idioma. Las etiquetas que solo difieren en mayúsculas, tildes o ancho cuentan como una. Si falta el campo, se conservan las etiquetas guardadas; una lista vacía las borra. |
sourceUrl | string | no | Una URL http o https, hasta 2000 caracteres | Un enlace al original. |
originalYear | integer | no | De -3000 al año actual, distinto de 0 | El año en que apareció el original. Los años negativos son a. C. |
originalPeriod | string | no | Hasta 80 caracteres | Cuándo apareció el original, para obras sin año exacto, como "siglo V a. C.". |
summaries | Chapter[] | sí | Al menos una idea; hasta 500 ideas en total | Los capítulos, en orden de lectura. |
translations | object | no | Las claves son códigos de idioma distintos de language | Versiones completas en otros idiomas. Cada valor es una Translation. |
Capítulo (Chapter)
| Campo | Tipo | Obligatorio | Reglas | Descripción |
|---|
title | string | no | Hasta 200 bytes | El título del capítulo. Sin él pasa a ser "Chapter N". El límite cuenta bytes, así que en alfabetos no latinos caben menos caracteres. |
ideas | Idea[] | no | | Las ideas del capítulo, en orden de lectura. |
Idea (Idea)
| Campo | Tipo | Obligatorio | Reglas | Descripción |
|---|
text | string | sí | Hasta 400 caracteres | La idea: un pensamiento completo que se entiende en su propia tarjeta. Una idea con texto vacío se omite. |
tier | string | no | important, good o common | Lo central que es la idea. Las ideas importantes tienen su propio aspecto en la tarjeta. Si falta o tiene otro valor, cuenta como common. |
examples | string[] | no | Hasta 20, cada uno de hasta 400 caracteres | Aparecen al deslizar hacia un lado. Las entradas vacías o que no son texto se descartan. |
Traducción (Translation)
Cada entrada de translations es una versión completa del pergamino en ese idioma. Debe tener los mismos capítulos, ideas y ejemplos que el original, en el mismo orden y número.
| Campo | Tipo | Obligatorio | Reglas | Descripción |
|---|
title | string | sí | No vacío, hasta 255 caracteres | El título en este idioma. |
authors | string[] | sí | No vacío | Los nombres de los creadores tal como se escriben en este idioma. |
description | string | no | Como en el original | La descripción en este idioma. |
tags | string[] | no | Como en el original | Etiquetas para quienes leen en este idioma. No tienen por qué copiar las del original. |
originalPeriod | string | no | Como en el original | El período en este idioma; si falta, se muestra el del original. |
summaries | TranslatedChapter[] | sí | El mismo número que el original | Los capítulos en este idioma. |
Un TranslatedChapter tiene un title no vacío e ideas con tantas ideas como el capítulo original. Una TranslatedIdea tiene un text no vacío y examples con tantas entradas como la idea original, ninguna vacía. Las ideas traducidas omiten tier: viene del original, y un valor distinto se rechaza.
Cómo lee los valores el importador
- El texto se recorta por ambos extremos, y las longitudes cuentan los caracteres tal como se ven.
- Un campo opcional vacío se trata como si no estuviera.
- Los campos que no se describen aquí se ignoran.
- Cada lector ve la versión de su idioma y, si no existe, el original.
Ejemplo
{
"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": []
}
]
}
]
}
}
}
Límites
| Qué | Límite |
|---|
| Idea o ejemplo | 400 caracteres |
| Ideas por pergamino | 500 |
| Ejemplos por idea | 20 |
| Título, autores | 255 caracteres |
| Título de capítulo | 200 bytes |
| Descripción | 600 caracteres |
| Etiquetas | 5 por idioma, 30 caracteres cada una |
| Contenido de un idioma | 1 MB |
| Archivo que subes | 8 MB |
| Pergaminos propios | 200 |
Errores de importación frecuentes
- El archivo no es JSON válido. Pide al asistente "solo JSON válido" o busca una coma o unas comillas que falten. Quita cualquier texto antes o después del objeto JSON.
- Falta el idioma. Añade
"language" con un código como es. - Una idea o un ejemplo es demasiado largo. El mensaje indica el idioma, el capítulo, la idea y el ejemplo; acorta ese texto.
- Una traducción no coincide. Cada versión necesita el mismo número de capítulos, ideas y ejemplos, en el mismo orden.
- Demasiadas ideas o un archivo demasiado grande. Divide la fuente en dos pergaminos.
- Ya tienes el máximo de pergaminos. Sustituye uno que ya no necesites; consulta Editar, sustituir y compartir.