openzim / zim-tools

Various ZIM command line tools
https://download.openzim.org/release/zim-tools/
GNU General Public License v3.0
123 stars 34 forks source link

Name is incorrectly marked as optional #407

Closed rgaudin closed 3 months ago

rgaudin commented 4 months ago

zimwriterfs usage:

Usage: zimwriterfs [mandatory arguments] [optional arguments] HTML_DIRECTORY ZIM_FILE

Purpose:
    Packing all files (HTML/JS/CSS/JPEG/WEBM/...) belonging to a directory in a ZIM file.

Mandatory arguments:
    -w, --welcome       path of default/main HTML page. The path must be relative to HTML_DIRECTORY.
    -I, --illustration  path of ZIM file illustration. The path must be relative to HTML_DIRECTORY and the image a 48x48 PNG.
    -l, --language      language code of the content in ISO639-3
    -t, --title     title of the ZIM file
    -d, --description   short description of the content
    -L, --longDescription   long description of the content
    -c, --creator       creator(s) of the content
    -p, --publisher     creator of the ZIM file itself

    HTML_DIRECTORY      path of the directory containing the HTML pages you want to put in the ZIM file.
    ZIM_FILE        path of the ZIM file you want to obtain.

Optional arguments:
    -v, --verbose       print processing details on STDOUT
    -h, --help      print this help
    -V, --version       print the version number
    -m, --clusterSize   number of bytes per ZIM cluster (default: 2048Kb)
    -J, --threads       count of threads to utilize (default: 4)
    -x, --inflateHtml   try to inflate HTML files before packing (*.html, *.htm, ...)
    -r, --redirects     path to a TSV file containing a list of redirects (url title target_url).
    -j, --withoutFTIndex    don't create and add a fulltext index of the content to the ZIM.
    -a, --tags      tags - semicolon separated
    -e, --source        content source URL
    -n, --name      custom (version independent) identifier for the content
    -o, --flavour       custom (version independent) content flavour
    -s, --scraper       name & version of tool used to produce HTML content
    --skip-libmagic-check   Accept to run even if magic file cannot be loaded (mimetypes in the zim file may be wrong).

Example:
    zimwriterfs --welcome=index.html --illustration=illustration.png --language=fra --title=foobar --description=mydescription \
        --creator=Wikipedia --publisher=Kiwix ./my_project_html_directory my_project.zim

Documentation:
    zimwriterfs source code: https://github.com/openzim/zim-tools
    ZIM format: https://openzim.org

Name metadata is set via --name which is clearly marked as optional and indeed not required to start the process… but then zimwriterfs fails with the following:

Metadata doesn't meet the following requirements:
    Name must contain at least 1 characters