Files
computer-playbook/roles/sys-front-inj-javascript/README.md
Kevin Veen-Birkenbach 231fd567b3 feat(frontend): rename inj roles to sys-front-*, add sys-svc-cdn, cache-busting lookup
Introduce sys-svc-cdn (cdn_paths/cdn_urls/cdn_dirs) and ensure CDN directories + latest symlink.

Rename sys-srv-web-inj-* → sys-front-inj-*; update includes/templates; serve shared/per-app CSS & JS via CDN.

Add lookup_plugins/local_mtime_qs.py for mtime-based cache busting; split CSS into default.css/bootstrap.css + optional per-app style.css.

CSP: use style-src-elem; drop unsafe-inline for styles. Services: fix SYS_SERVICE_ALL_ENABLED bool and controlled flush.

BREAKING CHANGE: role names changed; replace includes and references accordingly.

Conversation: https://chatgpt.com/share/68b55494-9ec4-800f-b559-44707029141d
2025-09-01 10:10:23 +02:00

29 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🌐 Global JavaScript Injector for Nginx
## Description
This Ansible role injects a custom JavaScript snippet into all HTML responses served by Nginx. It leverages Nginxs `sub_filter` to seamlessly insert your application-specific script just before the closing `</head>` tag, ensuring that your code runs on every page load—perfect for global feature flags, analytics, or UI enhancements.
## Features
- **One-line Script Injection**
Collapses your JavaScript into a single line and injects it via `sub_filter` for minimal footprint and maximal compatibility.
- **Easy CSP Integration**
Automatically computes and appends a CSP hash entry for your script, so you can lock down Content Security Policy without lifting a finger.
- **Conditional Activation**
Activates only when you enable the `javascript` feature for a given application, keeping your server blocks clean and performant.
- **Debug Mode**
Supports an `MODE_DEBUG` flag that appends optional `console.log` statements for easier troubleshooting in staging or development.
## Author
Developed by **Kevin Veen-Birkenbach**
Consulting & Coaching Solutions — [veen.world](https://www.veen.world)
---
Happy automating! 🎉