Article Format

From openZIM
Jump to navigation Jump to search

All content put in a zim archive must be put in the C namespace.

Entries can be :

  • Articles : Html content intended to be displayed to the user
  • Resources : Any other kind of file, mainly intended to be included in articles or other resources (css, images, js, ...)

Article Entries

Article's contents are full html pages. (including any <head> tag or any css, scripts and fonts links).

Article's content must be utf-8 encoded.

ZIM contents are addressed using the entry's path without the namespace. The references in articles HTML code (<a href=""></a>, <img src="">, etc.) must be valid and usable by a classical web browser (ie, URL-encoded following the RFC 1738 rules).

Absolute URLs, ie. with a leading slash (/), are forbidden, because this avoid including the ZIM contents in any HTTP sub-hierachy. URLs must consequently be relative.

URLs with namespace (C/foo.html) are also forbidden as the namespace may be hidden by the libzim. URLs must not go "too up" in the directory hierarchy (../C/bar.png). ../ is still possible if the entries is in a sub-directory.

Resources Entries

There is no strong constraints on resources entries :

  • Mimetype must be correctly set.
  • We advice textual contents to be utf-8 encoded but we cannot enforce it, it depends of the resource and how it is used.