Skip to content
Turns a collection of documents into a browsable ZIM file
Python JavaScript CSS HTML Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
nautiluszim
.gitignore
CHANGELOG
CONTRIBUTING.md
Dockerfile
LICENSE
MANIFEST.in
README.md
get_js_deps.sh
requirements.txt
setup.py

README.md

Nautilus

CodeFactor License: GPL v3 PyPI version shields.io

nautilus turns a collection of documents into a browsable ZIM file.

It downloads the video (webm or mp4 format – optionnaly recompress them in lower-quality, smaller size), the thumbnails, the subtitles and the authors' profile pictures ; then, it create a static HTML files folder of it before creating a ZIM off of it.

Preparing the archive

To be used with nautilus, your archive should be a ZIP file.

  • it doesn't need to be structured, but it can.
  • it doesn't need to be compressed. It's usually recommended not to.
  • it should contain a collection.json file, but not required (see bellow).
  • it should only contain to-be-included files. No filtering is done.
  • Audio and video files should be in ogg format with .ogg/.ogv extension to be supported on all platform (mp3/mp4 would work only on platform with native support).
cd content/path
zip -r -0 -T ../content_name.zip *

JSON collection file

Either inside the archive ZIP as /collection.json or elsewhere, specified via --collection mycollection.json, you must supply a JSON file describing your content.

The user-interface only gives access to files referenced properly in the collection.

At the moment, the JSON files needs to provide the following fields for each item in an Array:

[
    {
        "title": "...",
        "description": "...",
        "authors": "...",
        "files": ["relative/path/to/file"]
     }
]

Requirements

  • zimwriterfs for ZIM file packaging. Use --no-zim to skip this step.
  • wget and unzip to install JS dependencies. See get_js_deps.sh if you want to do it manually.
  • wget is used to download archive files as well.

Installation

nautilus is a python program. if you are not using the docker image, you are advised to use it in a virtualenv. See requirements.txt for the list of python dependencies.

docker

docker run -v my_dir:/output openzim/nautilus nautiluszim --help

pip

pip install nautiluszim
nautiluszim --help

Usage

nautiluszim --archive my-content.zip

Notes

  • On macOS, the locale setting is buggy. You need to launch it with LANGUAGE environment variable (as ISO-639-1) for the translations to work.
LANGUAGE=fr nautiluszim --language fra

Development

See CONTRIBUTING.md

You can’t perform that action at this time.