Difference between revisions of "Build your ZIM file"

Jump to navigation Jump to search
365 bytes removed ,  01:38, 24 May 2020
→‎zimwriterfs: Fixed broken link
(→‎Zimbalaka: I've incorporated the notes from the original author which I found on archive.org. I've provided a link to the archived page too.)
(→‎zimwriterfs: Fixed broken link)
(14 intermediate revisions by 3 users not shown)
Line 28: Line 28:


=== Create a ZIM file from existing HTML contents ===
=== Create a ZIM file from existing HTML contents ===
See http://www.openzim.org/wiki/Zimwriterfs_instructions for an overview and read the section below on zimwriterfs for some additional context.
See [[Zimwriterfs instructions]] for an overview and read the section below on zimwriterfs for some additional context.


== Developers ==
== Developers ==
Line 35: Line 35:
=== MWoffliner ===
=== MWoffliner ===


MWoffliner is a tool which allows to "dump" a Wikimedia project (Wikipedia, Wiktionary, ...) to a local storage. It should also work for any Mediawiki instance having parsoid installed. It goes through all articles (or a selection if specified) of the project and write HTML/pictures to your local filesystem.
MWoffliner is a tool which allows to "dump" a Wikimedia project (Wikipedia, Wiktionary, ...) to a local storage. It should also work for any [https://mediawiki.org Mediawiki] instance. It goes through all articles (or a selection if specified) of the project and write HTML/pictures to your local filesystem as plain HTML/JS/CSS/... files or in a ZIM file.


A virtual machine with MWoffliner is provided [http://download.kiwix.org/dev/ZIMmaker.ova here]. You might have to update the source code to get the last improvements.
It is distributed via [https://www.npmjs.com/package/mwoffliner npm] and [https://hub.docker.com/r/openzim/mwoffliner Docker].


More information are available [https://github.com/kiwix/mwoffliner here].
If you are a developer, you can download it directly from its [https://github.com/openzim/mwoffliner git repository].


=== zimwriterfs ===
=== zimwriterfs ===
zimwriterfs is a console tool to create ZIM files from a localy stored directory containing a "self-sufficient" HTML content (with pictures, javascript, stylesheets). The result will contain all the files of the local directory compressed and merged in the ZIM file. Nothing more, nothing less. For now, zimwriterfs only works on POSIX compatible systems. You simply need to compile it and run it. The software does not need a lot of resources, but if you create a pretty big ZIM files, then it could take a while to complete.  
zimwriterfs is a console tool to create ZIM files from a localy stored directory containing a "self-sufficient" HTML content (with pictures, javascript, stylesheets). The result will contain all the files of the local directory compressed and merged in the ZIM file. Nothing more, nothing less. For now, zimwriterfs only works on POSIX compatible systems. You simply need to compile it and run it. The software does not need a lot of resources, but if you create a pretty big ZIM files, then it could take a while to complete.  
Instructions on how to prepare and use zimwriterfs are here [[zimwriterfs_instructions]]
Instructions on how to prepare and use zimwriterfs are here [[zimwriterfs_instructions]]
[https://github.com/wikimedia/openzim/tree/master/zimwriterfs Go to zimwriterfs source code repository].
[https://github.com/openzim/zimwriterfs Go to zimwriterfs source code repository].


A virtual machine with zimwriterfs is provided [http://download.kiwix.org/dev/ZIMmaker.ova here].
A virtual machine with zimwriterfs is provided [http://download.kiwix.org/dev/ZIMmaker.ova here].
Line 77: Line 77:
[[Wiki2html]] can be used to prepare static HTML files from a running Mediawiki instance.
[[Wiki2html]] can be used to prepare static HTML files from a running Mediawiki instance.


===[https://github.com/vadp/zimmer zimmer]===
===zimmer===
This package is primarily a tool for creating a ZIM dump from a Mediawiki-based wiki.
The [https://github.com/vss-devel/zimmer zimmer] package allows creating a ZIM dump from a Mediawiki-based wiki. This package is relatively easy to install and supports both old and new versions of Mediawiki. It is a kind of an alternative to MWoffliner.


The package consists of 2 scripts:
The package consists of two Node.js scripts:
* '''''wikizimmer.js''''' -- dumps the wiki's articles (name space 0) into a collection of static HTML files.
* ''wikizimmer.js'' -- creates static HTML files from the wiki's articles. It requires public access both to the normal web interface and to the wiki's API interface. Unlike mwoffliner, this script does not require Redis
* '''''zimmer.js''''' -- builds a ZIM file from a static HTML files collection. Historically, zimmer.js is mostly a drop-in replacement for zimwriterfs with a notable exception: it doesn't support withFullTextIndex option (index format is not documented).
* ''zimmer.js'' -- creates a ZIM file from the static HTML files (without requiring the libzim).
 
The major point is that wikizimmer.js unlikely to mwoffliner doesn't depend on the Parsoid and Redis and zimmer.js unlikely to zimwriterfs doesn't depend on the zimlib.
 
The package is relatively easy to install and it can even process some wikis running rather old versions of the Mediawiki engine.
 
There is also zimmer's counterpart -- [https://github.com/vadp/unzimmer unzimmer]. It unpacks a ZIM file into a directory, which could be useful for some debugging.


== See also ==
== See also ==
* [[ZIM File Archive]]
* [[ZIM File Archive]]
* [[Bindings]]
* [[Bindings]]
* [[Reader]]
* [[Readers]]

Navigation menu