Documentação
/ Referência do arquivo de pergaminho
Referência do arquivo de pergaminho
Um arquivo de pergaminho é um objeto JSON: os detalhes do pergaminho, seus capítulos de ideias e traduções opcionais. Esta página descreve cada objeto e cada campo que a importação lê.
Downloads
- Arquivo de exemplo: um pergaminho inventado que usa todos os campos comuns, com versões completas nos 15 idiomas da interface.
- Esquema JSON: as mesmas regras em formato legível por máquina (JSON Schema 2020-12), para editores, scripts e agentes de IA. Os limites vêm do mesmo código que a importação executa.
Estrutura
Scroll
├── language, title, authors, description, tags,
│ sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│ └── ideas: Idea[]
│ └── examples: string[]
└── translations: { language: Translation }
└── summaries: TranslatedChapter[]
└── ideas: TranslatedIdea[]
Pergaminho (Scroll)
O objeto raiz. No esquema, os outros objetos se chamam Chapter (capítulo), Idea (ideia), Translation (tradução), TranslatedChapter e TranslatedIdea.
| Campo | Tipo | Obrigatório | Regras | Descrição |
|---|
language | string | sim | Um código de idioma como pt-BR ou en | O idioma da versão original. Qualquer idioma serve. Não muda quando o pergaminho é substituído. |
title | string | não | Até 255 caracteres | O título do pergaminho. Sem ele, fica "Untitled". |
authors | string[] | não | Todos os nomes juntos, até 255 caracteres | Os criadores da fonte, em ordem: autores, apresentadores ou palestrantes. Uma única string também é aceita. Sem nomes, aparece "Unknown". |
description | string | não | Até 600 caracteres | Duas ou três frases sobre o que se aprende. |
tags | string[] | não | Até 5, cada uma de 1 a 30 caracteres, sem # nem vírgulas | Temas curtos neste idioma. Tags que diferem só em maiúsculas, acentos ou largura contam como uma. Se o campo faltar, as tags salvas continuam; uma lista vazia as apaga. |
sourceUrl | string | não | Uma URL http ou https, até 2000 caracteres | Um link para o original. |
originalYear | integer | não | De -3000 até o ano atual, exceto 0 | O ano em que o original saiu. Anos negativos são a.C. |
originalPeriod | string | não | Até 80 caracteres | Quando o original saiu, para obras sem ano exato, como "século V a.C.". |
summaries | Chapter[] | sim | Pelo menos uma ideia; até 500 ideias no total | Os capítulos, em ordem de leitura. |
translations | object | não | As chaves são códigos de idioma diferentes de language | Versões completas em outros idiomas. Cada valor é uma Translation. |
Capítulo (Chapter)
| Campo | Tipo | Obrigatório | Regras | Descrição |
|---|
title | string | não | Até 200 bytes | O título do capítulo. Sem ele, vira "Chapter N". O limite conta bytes, então em alfabetos não latinos cabem menos caracteres. |
ideas | Idea[] | não | | As ideias do capítulo, em ordem de leitura. |
Ideia (Idea)
| Campo | Tipo | Obrigatório | Regras | Descrição |
|---|
text | string | sim | Até 400 caracteres | A ideia: um pensamento completo, que se entende no próprio cartão. Uma ideia com texto vazio é ignorada. |
tier | string | não | important, good ou common | O quanto a ideia é central. Ideias importantes têm aparência própria no cartão. Se faltar ou tiver outro valor, conta como common. |
examples | string[] | não | Até 20, cada um com até 400 caracteres | Aparecem ao deslizar para o lado. Entradas vazias ou que não são texto são descartadas. |
Tradução (Translation)
Cada entrada de translations é uma versão completa do pergaminho naquele idioma. Ela precisa ter os mesmos capítulos, ideias e exemplos do original, na mesma ordem e quantidade.
| Campo | Tipo | Obrigatório | Regras | Descrição |
|---|
title | string | sim | Não vazio, até 255 caracteres | O título neste idioma. |
authors | string[] | sim | Não vazio | Os nomes dos criadores como se escrevem neste idioma. |
description | string | não | Como no original | A descrição neste idioma. |
tags | string[] | não | Como no original | Tags para quem lê neste idioma. Não precisam repetir as do original. |
originalPeriod | string | não | Como no original | O período neste idioma; sem ele, aparece o do original. |
summaries | TranslatedChapter[] | sim | O mesmo número do original | Os capítulos neste idioma. |
Um TranslatedChapter tem um title não vazio e ideas com tantas ideias quanto o capítulo original. Uma TranslatedIdea tem um text não vazio e examples com tantas entradas quanto a ideia original, nenhuma vazia. Ideias traduzidas omitem tier: ele vem do original, e um valor diferente é recusado.
Como a importação lê os valores
- O texto é aparado nas duas pontas, e os tamanhos contam os caracteres como você os vê.
- Um campo opcional vazio é tratado como ausente.
- Campos não descritos aqui são ignorados.
- Cada leitor vê a versão do seu idioma e, se não houver, o original.
Exemplo
{
"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": []
}
]
}
]
}
}
}
Limites
| O quê | Limite |
|---|
| Ideia ou exemplo | 400 caracteres |
| Ideias por pergaminho | 500 |
| Exemplos por ideia | 20 |
| Título, autores | 255 caracteres |
| Título do capítulo | 200 bytes |
| Descrição | 600 caracteres |
| Tags | 5 por idioma, 30 caracteres cada |
| Conteúdo de um idioma | 1 MB |
| Arquivo enviado | 8 MB |
| Pergaminhos seus | 200 |
Erros de importação comuns
- O arquivo não é JSON válido. Peça ao assistente "somente JSON válido" ou procure uma vírgula ou aspas faltando. Remova qualquer texto antes ou depois do objeto JSON.
- Falta o idioma. Acrescente
"language" com um código como pt-BR. - Uma ideia ou exemplo está longo demais. A mensagem indica idioma, capítulo, ideia e exemplo; encurte esse texto.
- Uma tradução não corresponde. Toda versão precisa ter o mesmo número de capítulos, ideias e exemplos, na mesma ordem.
- Ideias demais ou arquivo grande demais. Divida a fonte em dois pergaminhos.
- Você já tem o máximo de pergaminhos. Substitua um de que não precisa mais; veja Editar, substituir e compartilhar.