sitegeist / nomenclator
Glossary for Neos
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 3
Open Issues: 1
Type:neos-package
Requires
- masterminds/html5: ^2.7
- neos/neos: >= 4.3 || dev-master
- sitegeist/lazybones: ^3.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- neos/buildessentials: ^7.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-10-20 18:10:15 UTC
README
A Glossary Package for Neos
This package provides the website with a glossary page, which gives the editor of the website the possibility to add a list of terms and definitions as glossary entries. The list of entries consists of terms or phrases, that appear somewhere in different pages of the site. After adding a term to the glossary its appearance in all binded contents gets linked to the glossary and is also provided with a modal box, which gives a short explanation about the term or phrase. A further click on the link in the modal forwards the visitor to a point in the glossary page, where the term is defined.
Authors & Sponsors
- Masoud Hedayati - hedayati@sitegeist.de
The development and the public-releases of this package is generously sponsored by our employer http://www.sitegeist.de.
Installation
Sitegeist.Nomenclator is available via packagist. composer require sitegeist/nomenclator
Usage
Glossary Page as a Nodetype
After the installation of the package, the glossary page will be available as a 'Sitegeist.Nomenclator:Content.Glossary' nodetype. Every site must contain only one single glossary page. As a best practice, it is recommended to add the 'Sitegeist.Nomenclator:Content.Glossary' as an auto-created child node in the homepage and prevent the page from being created by editor.
CSS and JavaScript
Resources/Public/Styles/main.css
and Resources/Public/JavaScript/main.js
are responsible for the layout of the glossary page and handling the click event on the terms. They must be manually linked by the integrator of the website.
binding contents to the glossary entries
In order to search the terms in a content and link them to the glossary Sitegeist.Nomenclator:LinkTermsToGlossary
processor must be applied to them.
For Example:
renderer = Customer.Site:Component.Test.Text {
content = ${props.content}
content.@process.linkToGlossary = Sitegeist.Nomenclator:LinkTermsToGlossary
}