문서
/ 스크롤 파일 설명
스크롤 파일 설명
스크롤 파일은 하나의 JSON 객체입니다. 스크롤 정보, 아이디어가 담긴 장, 선택 사항인 번역이 들어 있습니다. 이 페이지에서는 가져오기가 읽는 모든 객체와 필드를 설명합니다.
내려받기
- 예시 파일: 자주 쓰는 필드를 모두 담은 가상의 스크롤로, 화면에서 지원하는 15개 언어의 완전한 버전이 모두 들어 있습니다.
- JSON 스키마: 같은 규칙을 기계가 읽을 수 있는 형식(JSON Schema 2020-12)으로 정리한 것으로, 편집기, 스크립트, AI 에이전트용입니다. 한도는 가져오기가 실행하는 코드에서 그대로 가져옵니다.
구조
Scroll
├── language, title, authors, description, tags,
│ sourceUrl, originalYear, originalPeriod
├── summaries: Chapter[]
│ └── ideas: Idea[]
│ └── examples: string[]
└── translations: { language: Translation }
└── summaries: TranslatedChapter[]
└── ideas: TranslatedIdea[]
스크롤 (Scroll)
루트 객체입니다. 스키마에서 다른 객체는 Chapter(장), Idea(아이디어), Translation(번역), TranslatedChapter, TranslatedIdea라고 부릅니다.
| 필드 | 형식 | 필수 | 규칙 | 설명 |
|---|
language | string | 예 | ko나 pt-BR 같은 언어 코드 | 원본 버전의 언어. 어떤 언어든 됩니다. 스크롤을 바꿔도 변하지 않습니다. |
title | string | 아니요 | 255자까지 | 스크롤 제목. 없으면 "Untitled"가 됩니다. |
authors | string[] | 아니요 | 이름 전체가 255자까지 | 자료를 만든 사람을 순서대로: 저자, 진행자 또는 연사. 문자열 하나도 받습니다. 이름이 없으면 "Unknown"으로 표시됩니다. |
description | string | 아니요 | 600자까지 | 무엇을 배우는지 두세 문장으로. |
tags | string[] | 아니요 | 5개까지, 각각 1~30자, #과 쉼표 불가 | 이 언어로 쓴 짧은 주제. 대소문자, 악센트, 글자 폭만 다른 태그는 하나로 칩니다. 필드가 없으면 저장된 태그가 그대로 남고, 빈 목록은 태그를 지웁니다. |
sourceUrl | string | 아니요 | http 또는 https 주소, 2000자까지 | 원본으로 가는 링크. |
originalYear | integer | 아니요 | -3000부터 올해까지, 0 제외 | 원본이 나온 해. 음수는 기원전입니다. |
originalPeriod | string | 아니요 | 80자까지 | 정확한 연도가 없는 작품이 나온 시기. 예: "기원전 5세기". |
summaries | Chapter[] | 예 | 아이디어 하나 이상, 전체 500개까지 | 읽는 순서대로 놓인 장. |
translations | object | 아니요 | 키는 language가 아닌 언어 코드 | 다른 언어로 된 완전한 버전. 각 값은 Translation입니다. |
장 (Chapter)
| 필드 | 형식 | 필수 | 규칙 | 설명 |
|---|
title | string | 아니요 | 200바이트까지 | 장 제목. 없으면 "Chapter N"이 됩니다. 한도를 바이트로 세기 때문에 한글처럼 라틴 문자가 아닌 글자는 더 적게 들어갑니다. |
ideas | Idea[] | 아니요 | | 장의 아이디어를 읽는 순서대로. |
아이디어 (Idea)
| 필드 | 형식 | 필수 | 규칙 | 설명 |
|---|
text | string | 예 | 400자까지 | 아이디어 자체. 카드 한 장에서 이해되는 완결된 생각입니다. 내용이 빈 아이디어는 건너뜁니다. |
tier | string | 아니요 | important, good, common 중 하나 | 아이디어가 얼마나 중심적인지. 중요한 아이디어는 카드에서 모양이 달라집니다. 값이 없거나 다른 값이면 common으로 칩니다. |
examples | string[] | 아니요 | 20개까지, 각각 400자까지 | 옆으로 스와이프하면 보입니다. 빈 항목과 문자열이 아닌 항목은 버립니다. |
번역 (Translation)
translations의 각 항목은 그 언어로 된 스크롤의 완전한 버전입니다. 원본과 같은 장, 아이디어, 예시를 같은 순서와 같은 수로 가져야 합니다.
| 필드 | 형식 | 필수 | 규칙 | 설명 |
|---|
title | string | 예 | 비어 있지 않고 255자까지 | 이 언어로 쓴 제목. |
authors | string[] | 예 | 비어 있지 않을 것 | 이 언어로 적은 만든 사람의 이름. |
description | string | 아니요 | 원본과 같음 | 이 언어로 쓴 설명. |
tags | string[] | 아니요 | 원본과 같음 | 이 언어로 읽는 사람을 위한 태그. 원본과 같을 필요는 없습니다. |
originalPeriod | string | 아니요 | 원본과 같음 | 이 언어로 쓴 시기. 없으면 원본의 것이 표시됩니다. |
summaries | TranslatedChapter[] | 예 | 원본과 같은 수 | 이 언어로 된 장. |
TranslatedChapter에는 비어 있지 않은 title과, 원본 장과 같은 수의 아이디어가 담긴 ideas가 있습니다. TranslatedIdea에는 비어 있지 않은 text와, 원본 아이디어와 같은 수이며 빈 항목이 없는 examples가 있습니다. 번역한 아이디어에는 tier를 넣지 않습니다. 원본에서 가져오며, 다른 값은 거부됩니다.
가져오기가 값을 읽는 방식
- 글은 앞뒤 공백을 지우고, 길이는 눈에 보이는 글자 단위로 셉니다.
- 비어 있는 선택 필드는 없는 것으로 봅니다.
- 여기서 설명하지 않은 필드는 무시합니다.
- 읽는 사람에게는 자기 언어의 버전이, 없으면 원본이 보입니다.
예시
{
"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": []
}
]
}
]
}
}
}
한도
| 항목 | 한도 |
|---|
| 아이디어 또는 예시 | 400자 |
| 스크롤당 아이디어 | 500 |
| 아이디어당 예시 | 20 |
| 제목, 저자 | 255자 |
| 장 제목 | 200바이트 |
| 설명 | 600자 |
| 태그 | 언어별 5개, 각 30자 |
| 한 언어의 내용 | 1MB |
| 올리는 파일 | 8MB |
| 가질 수 있는 스크롤 | 200 |
자주 생기는 가져오기 오류
- 파일이 유효한 JSON이 아님. 어시스턴트에게 "유효한 JSON만" 요청하거나 빠진 쉼표나 따옴표를 찾으세요. JSON 객체 앞뒤의 글은 지우세요.
- 언어가 없음.
ko 같은 코드로 "language"를 넣으세요. - 아이디어나 예시가 너무 김. 메시지에 언어, 장, 아이디어, 예시가 나오니 그 글을 줄이세요.
- 번역이 맞지 않음. 모든 버전은 장, 아이디어, 예시의 수와 순서가 같아야 합니다.
- 아이디어가 너무 많거나 파일이 너무 큼. 자료를 두 개의 스크롤로 나누세요.
- 가질 수 있는 스크롤 수를 다 채움. 더는 필요 없는 스크롤을 바꾸세요. 편집, 바꾸기, 공유를 참고하세요.