This repository folder contains the Joomla System plugin digital used to extend a YOOtheme Pro + ZOOlanders Essentials site with:
- Local Font Awesome assets
- Optional Custom JS injection (frontend only)
- Custom font “Hey August”
- Custom Essentials Sources (Zenodo + Scientilla)
- Plugin type: System (
plugins/system/digital) - Current bootstrap entrypoint:
digital.php(legacy entry file)
See UPGRADE-NOTES.md for a future migration to the modern Joomla 6 service provider structure.
On frontend requests, the plugin injects Font Awesome by loading:
- CSS:
/media/plg_system_digital/css/all.min.css - Webfonts are expected under:
/media/plg_system_digital/webfonts/
The plugin also registers the extension asset registry:
media/joomla.asset.json(installed to/media/plg_system_digital/joomla.asset.json)
On frontend requests, the plugin injects an @font-face declaration that points to:
/media/plg_system_digital/fonts/Hey August.ttf/media/plg_system_digital/fonts/Hey August.otf
If the plugin parameter custom_js is set, the plugin injects it into the document only on the frontend and skips injection in YOOtheme Builder/Customizer contexts.
Important detail:
- When the page is loaded inside an iframe (Builder preview), the plugin injects a small helper script that appends
yoobuilder=1to links.
This keeps subsequent navigations correctly marked as “Builder context” so the Custom JS stays disabled there.
The plugin registers two custom Essentials Source types:
zenodoscientilla
These sources are implemented under:
sources/YOOthemeDigital/Sources/Zenodo/...sources/YOOthemeDigital/Sources/Scientilla/...
Each source provides a config.json describing how it appears in the Essentials “Add Source” UI.
The Scientilla resolver is designed to take the email/username from the Scientilla source instance configuration, so the same configured identity is used consistently when binding dynamic fields.
When enabled, the plugin logs source registration and resolver diagnostics to:
administrator/logs/digital.log.php
Configured in digital.xml:
custom_js: JavaScript snippet to inject (string/textarea, raw)zenodo_token: Bearer token for Zenodo APIscientilla_url: Base URL for Scientilla (optional)scientilla_token: Bearer token for Scientilla APIdebug_sources: Enables logging toadministrator/logs/digital.log.php
digital.php: current runtime entrypoint and main event handlersdigital.xml: plugin manifest and parametersmedia/joomla.asset.json: WebAsset definitionssources/autoload.php: loads YOOtheme/Essentials autoloaders + PSR-4 forYOOthemeDigital\sources/YOOthemeDigital/...: Zenodo + Scientilla source implementations