[[ http://www.mediawiki.org | Mediawiki ]] is the wiki engine behind [[ http://www.wikipedia.org | Wikipedia]], all [[ http://www.wikimedia.org | Wikimedia projects ]] and thousands other Web sites. It's a cutting edge free software providing high featured web sites that anybody can edit. Mediawiki hosted content can be made available for offline usage through the [[ https://www.mediawiki.org/wiki/Extension:Collection | Collection extension]] (written in PHP). The Collection extension allows to easily create collection/selection of articles: so called books ; here is [[ https://en.wikipedia.org/w/index.php?title=Special:Book | how it works on the Wikipedia in English]]. One time created, books can be exported in the PDF format. The PDF exporting backend itself is not provided by the Collection extension, it's done with a JavaScript based solution called [[https://www.mediawiki.org/wiki/Offline_content_generator | OCG]]. OCG is a NodeJS daemon able to transform a book definition in a PDF and it should be able to do the same in the ZIM format. The [[ http://www.openzim.org | ZIM format ]] allows to store web pages (with images, videos, etc...) in one extremely compressed file, these pages are then available to read everywhere with a reader like [[ http://www.kiwix.org | Kiwix ]]. A [[ https://github.com/cscott/mw-ocg-zimwriter | stub of solution ]] has already been written and the [[ https://sourceforge.net/p/kiwix/other/ci/master/tree/mwoffliner/ | MWOffline]] is already functional. This task is mostly about merging this two pieces of code.
* ** Primary mentor:** @cscott
* **Co-mentor:** @Kelson
* Other mentors: (optional, Phabricator username)
* **Skills:** NodeJs , HML, PHP, packaging
* **Estimated project time for a senior contributor: ** 2-3 weeks
* **Microtasks: ** T113736