# Document Structure
If you've seen a .kdf
file before, you may have been mislead into thinking it
was a single file. In actuality, a KDF file is an archive—a collection
of many smaller files bundled into one using the Tar utility. Each
smaller file has a specific responsibility, and contains data that describes
one component of the overall document. We will explore the purpose of these
smaller files below.
# Archive Layout
A KDF document has the following layout of files and directories. Each file/folder contains a link to the section of the specification that defines it.
File/Folder | Purpose |
---|---|
content.json | Contains the content and structure of a document. |
colours.json | Defines the document level colour palette. |
dictionary.json | An optional file that lists words to include in the document level dictionary. |
metadata.json | Stores document metadata, such as title, authors, etc. |
styles.json | Describes how pages and other elements should look. |
resources/ | A directory containing images, fonts, and other static content. |
thumbnail.png | An optional thumbnail image to display in the file system. |
TIP
You can inspect the layout of a KDF file by changing the file extension from
.kdf
to .tar.gz
, and then extracting the contents of the archive to your
file system. If you're a Windows user, you may require a third party tool such
as 7zip or WinRAR to extract a .tar.gz
file.
# Compression
KDF documents should be compressed to reduce their overall footprint. This has a number of benefits, such as taking less space on the user's file system, and improving transfer speeds across networks. The compression algorithm of choice for KDF is Gzip.
← What is JSON? Content →