Data + design
rows / columns plus template and book_settings.
.ked.json
Kifuliiru Editor Studio book package
Carries data, design settings, and saved page HTML so a book moves from the KEd Studio web editor to desktop export without losing free typing or formatting.
rows / columns plus template and book_settings.
Save in the browser, import on macOS or Windows — same book.
Optional pages HTML keeps free edits for export.
Loads data; uses pages when present, otherwise rebuilds from rows.
Writes package + settings + pages. Desktop exports PDF, DOCX, cover PNG. Download
Compact teaching package (0–3). Full sample: sample.ked.json.
{
"ked_version": "1.0",
"source_app": "ked-studio",
"book_type": "numbers",
"title": "Kifuliiru Numbers 0–3",
"subtitle": "Kifuliiru · English · French · Kiswahili",
"languages": [
"kifuliiru",
"english",
"french",
"kiswahili"
],
"columns": [
{
"key": "value",
"label": "Number"
},
{
"key": "kifuliiru",
"label": "Kifuliiru"
},
{
"key": "english",
"label": "English"
},
{
"key": "french",
"label": "French"
},
{
"key": "kiswahili",
"label": "Kiswahili"
}
],
"rows": [
{
"value": 0,
"kifuliiru": "ubusha",
"english": "zero",
"french": "zéro",
"kiswahili": "sifuri"
},
{
"value": 1,
"kifuliiru": "higuma",
"english": "one",
"french": "un",
"kiswahili": "moja"
},
{
"value": 2,
"kifuliiru": "bibiri",
"english": "two",
"french": "deux",
"kiswahili": "mbili"
},
{
"value": 3,
"kifuliiru": "bishatu",
"english": "three",
"french": "trois",
"kiswahili": "tatu"
}
],
"metadata": {
"author": "Kifuliiru Lab",
"range": [
0,
3
]
},
"template": {
"id": "numbers_cards",
"page_size": "a4",
"orientation": "portrait"
},
"book_settings": {
"coverTitle": "Kifuliiru Numbers 0–3",
"coverSubtitle": "Kifuliiru · English · French · Kiswahili",
"pageSize": "a4",
"orientation": "portrait"
},
"pages": [
{
"id": "cover",
"type": "cover",
"label": "Cover",
"number": 0,
"html": "<!-- cover HTML rendered by KEd Studio -->"
},
{
"id": "page-1",
"type": "content",
"label": "Page 1",
"number": 1,
"html": "<!-- page body HTML with free typing & formatting -->"
}
]
}
Legacy type/data files still load; prefer book_type/rows. Without pages, Studio rebuilds from data.
ked_versionOptFormat version string (e.g. "1.0"). Helps tools know which package shape to expect as the format grows. Older files without this field still load.
source_appOptWhere the package was created. Examples: ked-studio, kifuliiru-data-generators. Useful for debugging handoffs between tools.
book_typeReqKind of book or dataset. Common values include numbers, verbs, blank, or generator-specific types. Studio uses this to suggest layouts.
title / subtitleReqBook title (required) and optional subtitle. Shown on the cover and in exports. Saving from Studio can sync these with cover title fields.
languagesOptLanguage codes or labels for the book. Often listed on the cover language line (e.g. kifuliiru, english, french, kiswahili).
columnsReqField definitions for each row. Each column has a key (used in rows) and an optional label (shown in tables/cards).
rowsReqData records for generated or tabular books. An array of objects whose keys match columns. Blank books may use an empty rows array.
metadataOptExtra info such as author or generation range. Free-form object. Studio often stores author here and may merge cover author on save.
templateOptPreferred layout hint. Includes id (e.g. numbers_cards or professional_table), page_size, and orientation.
book_settingsOptFull Studio design settings. Cover theme, fonts, margins, cover studio layers, and related options so reopen looks the same.
pagesOptSaved page HTML for WYSIWYG handoff. When present, Studio restores free typing and formatting instead of rebuilding only from rows. Critical for web → desktop export.