KEd StudioDocs

.ked.json format

The portable book package: rows, settings, saved pages, and field reference.

What the file is for

A .ked.json package is the book. It carries tabular data, design settings, and — when you have typed on the canvas — saved page HTML. That is how a book moves from the KEd Studio web editor to desktop export without losing free typing.

Three things travel together:

  • Datacolumns and rows, plus book_type.
  • Designtemplate and book_settings (cover layers, page size, fonts).
  • Pages — optional pages HTML for WYSIWYG restore.

Save and open

In the editor, the header Export KEd file icon writes the package. Import book… in the Books dropdown reads one back. If pages is present, Studio restores that HTML. If it is missing, Studio rebuilds from rows and the template.

On save, Studio syncs cover title, subtitle, and author back into title, subtitle, and metadata.author, and writes the current book_settings (including compose layers). A blank book that was never imported still saves a valid package with book_type: blank.

Example

Compact teaching package (numbers 0–3). A larger file is sample.ked.json.

example.ked.jsonjson
Download sample

Field reference

Required fields are what a generator or blank book must include. Optional fields are how Studio remembers a designed book.

FieldNeedMeaning
ked_versionOptionalFormat 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_appOptionalWhere the package was created. Examples: ked-studio, kifuliiru-data-generators. Useful for debugging handoffs between tools.
book_typeRequiredKind of book or dataset. Common values include numbers, verbs, blank, or generator-specific types. Studio uses this to suggest layouts.
title / subtitleRequiredBook title (required) and optional subtitle. Shown on the cover and in exports. Saving from Studio can sync these with cover title fields.
languagesOptionalLanguage codes or labels for the book. Often listed on the cover language line (e.g. kifuliiru, english, french, kiswahili).
columnsRequiredField definitions for each row. Each column has a key (used in rows) and an optional label (shown in tables/cards).
rowsRequiredData records for generated or tabular books. An array of objects whose keys match columns. Blank books may use an empty rows array.
metadataOptionalExtra info such as author or generation range. Free-form object. Studio often stores author here and may merge cover author on save.
templateOptionalPreferred layout hint. Includes id (e.g. numbers_cards or professional_table), page_size, and orientation.
book_settingsOptionalFull Studio design settings. Cover theme, fonts, margins, cover studio layers, readability, interior chrome, and related options so reopen looks the same.
book_design_template_idOptionalLook that was last applied. Set when you apply a Look in Design. Helps Studio remember which gallery item you chose.
pagesOptionalSaved page HTML for WYSIWYG handoff. When present, Studio restores free typing and formatting instead of rebuilding only from rows. Critical for web → desktop export.

pages[]

Each saved page is an object:

  • id — stable id (cover or a page id).
  • typecover or content.
  • label — sidebar name.
  • number — 0 for the cover, then 1, 2, …
  • html — the page body Studio restores.

Without pages, a generator file still opens: Studio builds cards or a table from rows. Free typing you did in the browser is only durable if you saved after it landed in pages.

book_settings

This object is the full design state. You do not have to author it by hand — Studio writes it. Groups that matter for generators and tools:

  • Cover copy — title, subtitle, author, badge, language line, footer, and show/hide flags.
  • Cover compose — theme, background, artwork, frame, readability, studio layers, optional image.
  • Type — body and cover fonts and sizes.
  • Interior — page size, orientation, margins, header/footer chrome, cards vs table, visible columns, intro/about/contact flags.

book_design_template_id (top-level or inside settings) records which Look was last applied.

.ked-cover.json

A sibling format, not a full book. The file has kind: "ked.cover", a title, a timestamp, and a book_settings patch (cover fields and layers only). Import it in the editor to apply that cover to the open book.

Legacy book packages

Older files may use type instead of book_type, and data instead of rows. Studio normalizes those on load. Template ids such as number_cards alias to the current numbers_cards layout.

Sign in to write

Browse freely until you create or write.