KEd StudioOpen editor

.ked.json

Kifuliiru Editor Studio book package

The portable Kifuliiru book file.

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.

What it does

Data + design

rows / columns plus template and book_settings.

WYSIWYG pages

Optional pages HTML keeps free edits for export.

Open / edit

Import book…

Loads data; uses pages when present, otherwise rebuilds from rows.

Save / export

File → Save book…

Writes package + settings + pages. Desktop exports PDF, DOCX, cover PNG. Download

Example

Compact teaching package (0–3). Full sample: sample.ked.json.

example.ked.json
Download sample
{
  "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 -->"
    }
  ]
}

Fields

Legacy type/data files still load; prefer book_type/rows. Without pages, Studio rebuilds from data.

ked_versionOpt

Format 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_appOpt

Where the package was created. Examples: ked-studio, kifuliiru-data-generators. Useful for debugging handoffs between tools.

book_typeReq

Kind of book or dataset. Common values include numbers, verbs, blank, or generator-specific types. Studio uses this to suggest layouts.

title / subtitleReq

Book title (required) and optional subtitle. Shown on the cover and in exports. Saving from Studio can sync these with cover title fields.

languagesOpt

Language codes or labels for the book. Often listed on the cover language line (e.g. kifuliiru, english, french, kiswahili).

columnsReq

Field definitions for each row. Each column has a key (used in rows) and an optional label (shown in tables/cards).

rowsReq

Data records for generated or tabular books. An array of objects whose keys match columns. Blank books may use an empty rows array.

metadataOpt

Extra info such as author or generation range. Free-form object. Studio often stores author here and may merge cover author on save.

templateOpt

Preferred layout hint. Includes id (e.g. numbers_cards or professional_table), page_size, and orientation.

book_settingsOpt

Full Studio design settings. Cover theme, fonts, margins, cover studio layers, and related options so reopen looks the same.

pagesOpt

Saved page HTML for WYSIWYG handoff. When present, Studio restores free typing and formatting instead of rebuilding only from rows. Critical for web → desktop export.