term_glossary
This flexible module uses a vocabulary (taxonomy) as a glossary.
it auto scans the fields (you configure it to) for uses of taxonomy terms defined in your vocabulary.
Features
- Javascript & normal hooks (see term_glossary.api.php)
- Custom block to search by term, or letter (like simple glossary)
- Auto scan and tag terms in content.
- Generate an HTML link (4.4+) or a jQuery modal popup to display the term content or use a custom JS implementation.
Version 4.2+
- Multiple vocabularies for a glossary.
- Better handling of multilingual vocabularies.
- Case-sensitive matching of terms.
- Single occurence term matching across the entire entity content.
- Enable/disable glossary on a per node basis via a new submodule.
- Use a Taxonomy Term display view mode for popup html content.
- Exclude any HTML elements that have the
glossary-excludeclass. - Exclude some specific HTML tags from parsing.
- New hook allowing to override the generated matched term HTML.
- New plugin mechanism allowing better extensibility of the module.
- Allow per-term matching options.
- Allow the use of term synonyms.
- New plugin displaying term descriptions in tooltips using the Tippy.js Javascript library.
- Some characters can be excluded from being word boundaries (ex: "-"), both globally and on a per-term basis (version 4.3+).
- Exclude self-references: prevent glossary links when a term appears in its own content, including synonyms. (version 4.4+).
Version 3.0.x
It will auto tags the recognised terms on render.
-> The fields content are not modified in database.
Installation:
- Install the module with composer and enable it.
- Goto admin/config/glossary and select your vocabulary and the integration type
- Save the config form
- Adjust the display options of the text fields you want to parse in the entity
display forms and check the option "Enable term glossary" - If the integration type is "Jquery ui dialog with the term name and description" you can click the highlighted terms in content to display a definition in a modal (see hooks for total control)
- (Optional) Place a "Glossary alphabetical bock" as a new block some where where you want to have a glossary page.
- (Optional) - Select which you want to display. (letters, search box or both)
Old Versions 8.x-1.0 and 2.0.x
On save It will auto tags the recognised terms for use in a modal box (default but allows for your custom implementation).
-> The tags are added in fields content in database, and will remain after module uninstall.
Fields Accepted for auto scan and term replace are:
text_with_summary, text_long, string_long, text, entity_reference, entity_reference_revisions
Installation:
- Install the module with composer and enable it.
- Goto admin/config/glossary and select your vocab, content type and fields
- Save the config form
- Create new content of the type you selected and load up on the keywords (terms)
- If "Jquery ui dialog with the term name and description" you can click the link to display a definition (see hooks for total control)
- (Optional) Place a "Glossary alphabetical bock" as a new block some where where you want to have a glossary page.
- (Optional) - Select which you want to display. (letters, search box or both)
This was heavily influenced by:
https://www.drupal.org/project/simple_glossary
and
https://www.drupal.org/project/glossary
The 8.x-1.0 branch will not receive any updates.
The 2.0.x branch is the Drupal 9 upgrade of this module and should be fully compatible with websites using the 8.x-1.0 branch,
The 3.0.x branch is a refactorization and works on render instead of modifiying content. This branch is not supported anymore.
The 4.1.x branch delivers the module's initial support for Drupal 11.
The 4.x branch is used for ongoing development.
Alternatives
- Glossify: implemented as text format filters. Handle nodes in addition to taxonomies.