Przejdź do treści
nectar Dokumentacja

Dokumentacja / Opis pliku zwoju

Opis pliku zwoju

Plik zwoju to jeden obiekt JSON: szczegóły zwoju, jego rozdziały z ideami i opcjonalne tłumaczenia. Ta strona opisuje każdy obiekt i każde pole, które odczytuje import.

Do pobrania

  • Przykładowy plik: zmyślony zwój ze wszystkimi typowymi polami i pełnymi wersjami we wszystkich 15 językach interfejsu.
  • Schemat JSON: te same zasady w formie czytelnej dla maszyn (JSON Schema 2020-12), dla edytorów, skryptów i agentów AI. Jego limity pochodzą z tego samego kodu, który wykonuje import.

Budowa

Scroll
├── language, title, authors, description, tags,
│   sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│   └── ideas: Idea[]
│       └── examples: string[]
└── translations: { language: Translation }
    └── summaries: TranslatedChapter[]
        └── ideas: TranslatedIdea[]

Zwój (Scroll)

Obiekt główny. Pozostałe obiekty nazywają się w schemacie Chapter (rozdział), Idea (idea), Translation (tłumaczenie), TranslatedChapter i TranslatedIdea.

PoleTypWymaganeZasadyOpis
languagestringtakKod języka, np. pl lub pt-BRJęzyk wersji oryginalnej. Może to być dowolny język. Nie zmienia się przy zastąpieniu zwoju.
titlestringnieDo 255 znakówTytuł zwoju. Bez niego zwój nazywa się "Untitled".
authorsstring[]nieWszystkie nazwiska łącznie do 255 znakówTwórcy źródła w kolejności: autorzy, prowadzący lub prelegenci. Można też podać jeden ciąg znaków. Bez nazwisk wyświetla się "Unknown".
descriptionstringnieDo 600 znakówDwa lub trzy zdania o tym, czego można się nauczyć.
tagsstring[]nieDo 5, każdy od 1 do 30 znaków, bez # i przecinkówKrótkie tematy w tym języku. Tagi różniące się tylko wielkością liter, znakami diakrytycznymi lub szerokością liczą się jako jeden. Brak pola zachowuje zapisane tagi; pusta lista je usuwa.
sourceUrlstringnieAdres http lub https, do 2000 znakówLink do oryginału.
originalYearintegernieOd -3000 do bieżącego roku, bez 0Rok ukazania się oryginału. Lata ujemne oznaczają p.n.e.
originalPeriodstringnieDo 80 znakówKiedy ukazał się oryginał, gdy nie znamy dokładnego roku, np. "V wiek p.n.e.".
summariesChapter[]takCo najmniej jedna idea; łącznie do 500 ideiRozdziały w kolejności czytania.
translationsobjectnieKlucze to kody języków inne niż languagePełne wersje w innych językach. Każda wartość to Translation.

Rozdział (Chapter)

PoleTypWymaganeZasadyOpis
titlestringnieDo 200 bajtówTytuł rozdziału. Bez niego staje się "Chapter N". Limit liczy bajty, więc w alfabetach niełacińskich mieści się mniej znaków.
ideasIdea[]nieIdee rozdziału w kolejności czytania.

Idea (Idea)

PoleTypWymaganeZasadyOpis
textstringtakDo 400 znakówSama idea: pełna myśl, zrozumiała na własnej karcie. Idea z pustym tekstem jest pomijana.
tierstringnieimportant, good lub commonJak ważna jest idea. Ważne idee wyglądają na karcie inaczej. Brak wartości lub inna wartość oznacza common.
examplesstring[]nieDo 20, każdy do 400 znakówWidoczne po przesunięciu karty w bok. Puste wpisy i wpisy niebędące tekstem są odrzucane.

Tłumaczenie (Translation)

Każdy wpis w translations to pełna wersja zwoju w danym języku. Musi mieć te same rozdziały, idee i przykłady co oryginał, w tej samej kolejności i liczbie.

PoleTypWymaganeZasadyOpis
titlestringtakNiepuste, do 255 znakówTytuł w tym języku.
authorsstring[]takNiepusteImiona i nazwiska twórców zapisane w tym języku.
descriptionstringnieJak w oryginaleOpis w tym języku.
tagsstring[]nieJak w oryginaleTagi dla czytelników w tym języku. Nie muszą powtarzać tagów oryginału.
originalPeriodstringnieJak w oryginaleOkres w tym języku; bez niego wyświetla się okres oryginału.
summariesTranslatedChapter[]takTyle samo co w oryginaleRozdziały w tym języku.

TranslatedChapter ma niepusty title i ideas z taką samą liczbą idei jak rozdział oryginalny. TranslatedIdea ma niepusty text i examples z taką samą liczbą wpisów jak idea oryginalna, bez pustych. Przetłumaczone idee pomijają tier: pochodzi on z oryginału, a inna wartość jest odrzucana.

Jak import odczytuje wartości

  • Z tekstu usuwane są spacje na obu końcach, a długość liczy się w znakach tak, jak je widać.
  • Puste pole opcjonalne traktowane jest jak brakujące.
  • Pola nieopisane tutaj są ignorowane.
  • Czytelnik widzi wersję w swoim języku, a jeśli jej nie ma, oryginał.

Przykład

{
  "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": []
            }
          ]
        }
      ]
    }
  }
}

Limity

CoLimit
Idea lub przykład400 znaków
Idei w zwoju500
Przykładów na ideę20
Tytuł, autorzy255 znaków
Tytuł rozdziału200 bajtów
Opis600 znaków
Tagi5 na język, po 30 znaków
Treść w jednym języku1 MB
Przesyłany plik8 MB
Własne zwoje200

Częste błędy importu

  • Plik nie jest poprawnym JSON. Poproś asystenta o "wyłącznie poprawny JSON" lub poszukaj brakującego przecinka albo cudzysłowu. Usuń tekst przed obiektem JSON i po nim.
  • Brakuje języka. Dodaj "language" z kodem, np. pl.
  • Idea lub przykład jest za długi. Komunikat wskazuje język, rozdział, ideę i przykład; skróć ten tekst.
  • Tłumaczenie się nie zgadza. Każda wersja musi mieć tę samą liczbę rozdziałów, idei i przykładów, w tej samej kolejności.
  • Za dużo idei lub za duży plik. Podziel źródło na dwa zwoje.
  • Masz już maksymalną liczbę zwojów. Zastąp zwój, którego już nie potrzebujesz; zobacz Edytowanie, zastępowanie i udostępnianie.