Skip to content

Parse Sphinx documentation's object.inv inventory file format into an indexed SphinxInventory object with PHP.

License

Notifications You must be signed in to change notification settings

club-1/sphinx-inventory-parser

Repository files navigation

PHP Sphinx Inventory Parser

License LGPL-2.1-or-later PHP versions tested build status coverage report docs status

Sphinx Inventory Parser is PHP library to parse Sphinx documentation's object inventory file format as used by intersphinx. It is loosely inspired from sphobjinv, whose documentation have also been very useful by describing the Sphinx objects.inv v2 Syntax.

Requirements

The only requirement is PHP >= 7.4 with Zlib extension (usually included).

Installation

This library is available on packagist and can be installed via composer:

composer require club-1/sphinx-inventory-parser

Simple example

The simplest way to use it is with SphinxInventoryParser::parseFromDoc() that creates a SphinxInventory object directly from an online documentation, based on its URL (and an optional inventory path).

use Club1\SphinxInventoryParser\SphinxInventoryParser;

$inventory = SphinxInventoryParser::parseFromDoc('https://club1.fr/docs/fr/');

For more examples on how to use this library, see the "Usage" section of the documentation.

Documentation

See the full documentation for more information, including the API reference.

Development

Development requirements

  • make: to manage build scripts
  • composer: to install PHP development dependencies
  • pigz: (Optional) to build tests data, will fallback to a PHP script if not present

On Debian and derivatives:

sudo apt install make composer pigz

Build scripts

make        # Fetch development dependencies and build tests data.
make check  # Run tests.
make fuzz   # Run fuzzer.
make clean  # Clean all downloaded and generated files.