Skip to content

Add links to the definition of terms defined in a Sphinx documentation inventory.

License

Notifications You must be signed in to change notification settings

club-1/flarum-ext-sphinx-glossary

Repository files navigation

CLUB1 Sphinx Glossary

License Latest Stable Version Total Downloads Coverage Build Status

A Flarum extension. Add links to the definition of terms defined in a Sphinx documentation inventory.

demo image

This is a quite niche extension and it is still a little bit rough around the edges but it works nicely. It could be useful if your community is gathered around a software project that defines a bunch of terms in a Sphinx documentation.

For now it does not have any GUI admin panel settings. It can only be configured through the Flarum console.

This extension is based on the intersphinx feature of Sphinx and is configured in a similar fashion. Mappings that resemble the intersphinx_mapping configuration value can be added to the database using the sphinx:add command. Then the sphinx:update command fetches and parses the corresponding inventories to populate the glossary. This command is scheduled to run daily. It uses HTTP caching and PHP streams to stay low on resources.

By default only the std:term roles are used as glossary entries. This can be changed on a per mapping basis, using the --role=ROLE option. For example:

php flarum sphinx:add club1 https://club1.fr/docs/fr/ --role=term --role=logiciel --role=commande

Installation

Install with composer:

composer require club-1/flarum-ext-sphinx-glossary:"*"

Usage

After enabling the extension from the admin panel, the following Flarum commands are available:

sphinx:add      Add a Sphinx documentation inventory to the mapping list
sphinx:list     List the Sphinx inventory mappings
sphinx:objects  Display info about the loaded Sphinx objects
sphinx:remove   Remove a Sphinx documentation inventory from the mapping list and all its objects
sphinx:update   Update Sphinx glossary entries by downloading the latest inventories

Recommendation

This extension alone does not apply the formatting changes to previously posted comments. I you want to reparse all the comments posts of the database it is recommended to install and enable the club-1/flarum-ext-chore-commands extension and use its chore:reparse command.

Updating

composer update club-1/flarum-ext-sphinx-glossary:"*"
php flarum migrate
php flarum cache:clear

Development

The following tools are needed for development:

Acknowledgement

This extension is based on the following libraries:

Links