mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-02-23 12:51:54 +01:00
43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# 🌍 Nginx Global Theming Role
|
||
|
||
This **Ansible role** provides a **global theming solution** for Nginx-based web applications. It ensures a **consistent look and feel** across multiple applications by injecting a **unified global.css** with customizable theming options.
|
||
---
|
||
|
||
## 🚀 Features
|
||
✅ **Automatic CSS Deployment** – Injects `global.css` into all Nginx-served applications.
|
||
✅ **Dynamic Theming** – Uses `global_theming.css.colors` from Ansible variables for **full customization**.
|
||
✅ **Bootstrap Override Support** – Ensures Bootstrap-based apps use the **unified global styles**.
|
||
✅ **Versioning System** – Prevents caching issues with automatic **timestamp-based versioning**.
|
||
✅ **Dark Mode Support** – Automatically adapts to user preferences.
|
||
✅ **Runs Once Per Deployment** – Avoids redundant executions with `run_once_nginx_global_css`.
|
||
|
||
---
|
||
|
||
## 📂 File Structure
|
||
|
||
```
|
||
.
|
||
├── tasks/
|
||
│ ├── main.yml # Main Ansible tasks for deploying the global CSS
|
||
├── vars/
|
||
│ ├── main.yml # Global variables (CSS paths, file names, etc.)
|
||
├── templates/
|
||
│ ├── global.css.j2 # Jinja2 template for generating the global CSS
|
||
│ ├── location.conf.j2 # Nginx configuration for serving global.css
|
||
│ ├── sub_filter.conf.j2 # Injects the global CSS link into served pages
|
||
└── README.md # You are here 🚀
|
||
```
|
||
|
||
---
|
||
|
||
## 🎨 Theming Details
|
||
|
||
The **CSS template (`global.css.j2`)** dynamically applies the defined theme colors and ensures **Bootstrap, buttons, alerts, forms, and other UI elements** follow the **unified design**.
|
||
|
||
## 🛠️ Contribution
|
||
Feel free to **fork, modify, and improve** this role! Contributions are always welcome. 🛠️🔥
|
||
|
||
---
|
||
|
||
🚀 **Happy Theming!** 🎨✨
|
||
*Created by [Kevin Veen-Birkenbach](https://www.veen.world) with the assistance of [ChatGPT](https://chatgpt.com/share/67a5fea3-4d5c-800f-8bc4-605712c02c9b). |