|(4 intermediate revisions by one other user not shown)|
|−|== Article Text == |+|
be in the .
|−|Articles to be parsed and shown directly by the ZIM reader are stored as HTML body, without any layout except the formattings used in the article text (headlines, tables, images...). | |
| || |
|−|* '''Namespace: ''' A |+|
'''Path: ''' /A/''URL'' |+|
* whereas ''URL'' is often identical to the ''Article Name'', but this is not a requirement (see [[ZIM File Format#URL pointer list (urlPtrPos) |URL pointer list]] and [[ZIM File Format#Title_pointer_list (titlePtrPos)]] for details). |+|
* to , )
| || |
Meta Data == |+|
|−|Some publisher want to provide additional information for the reader application to individual articles, such as HTML Meta Data or a special layout around the article text. |+|
| || |
|−|By default the Meta Data can be non- existant or empty. |+|
| || |
Article Text and Article Meta Data are linked to each other by having the same URL. |+|
The and by the .
| || |
|−|* '' 'Namespace:''' B |+|
|−|* '''Path:''' /B/'' URL'' | |
|−|** whereas /B/''URL'' is the Meta Data used for /A/''URL''. | |
| || |
|−|=== Content Inclusion === |+|
be the a .
|−|The Article Text needds to be combined with Article Meta Data, therefore the Meta Data needs to define a placeholder where the Article Text has to be inserted. |+|
Fetching Article Text vs. Article Meta Data == |+|
|−|Links inside articles always use the A namespace to refer to other articles, so the zimlib does provide Article Text by default for any requests of namespace A. |+|
to , the is .
|−|To use the Article Meta Data you have to define a flag when opening a zimfile, so the zimlib is configured to include the Article Text into Article Meta Data before returning the data. | |
|−|When fetching Article Text the zimlib has to know if it should provide the Article Text or | |
All content put in a zim archive must be put in the
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'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 (
<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 (
../ is still possible if the entries is in a sub-directory.
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.