- Added vars/main.yml to define iframe-handler.js file name and destination - Implemented 01_deploy.yml to deploy iframe-handler.js to CDN and set mtime-based version fact - Split original iframe logic into: • iframe-handler.js (full logic, served from CDN) • iframe-init_one_liner.js.j2 (small inline bootstrap, CSP-hashed) - Updated head_sub.j2 to load script from CDN instead of embedding full code - Added body_sub.j2 for inline init code - Updated iframe-handler.js.j2 with initIframeHandler() function and global exposure - Activated role earlier in inj-compose with public: true so vars are available for templates - Included 'port-ui-desktop' in body_snippets loop in location.lua.j2 - Disabled 'port-ui-desktop' feature in web-svc-cdn config by default https://chatgpt.com/share/689d03a8-4c28-800f-8b06-58ce2807b075
Nginx Global Matomo & Theming Modifier Role 🚀
This role enhances your Nginx configuration by conditionally injecting global Matomo tracking and theming elements into your HTML responses. It uses Nginx sub-filters to seamlessly add tracking scripts and CSS links to your web pages.
Features
-
Global Matomo Tracking
The role includes Matomo tracking configuration and injects the corresponding tracking script into your HTML. -
Global Theming
The role injects a global CSS link for consistent theming across your site. -
Smart Injection
Uses Nginx'ssub_filter
to insert the tracking and theming snippets right before the closing</head>
tag of your HTML documents.
This will automatically activate Matomo tracking and/or global theming based on your configuration.
Author
Developed by Kevin Veen-Birkenbach 😎
Happy automating! 🎉