feat(frontend): add dedicated /cli page, nav links, and CTA buttons; remove CLI modals for leaner UX

- New CLI page at /cli with detailed usage and improved Quick Start card header
- Add CLI link to navbars and small ‘Try the CLI’ CTAs on Home & Templates
- Remove CLI modals and unused showCliModal() handler (keep_small_simple)
- Self-host Bootstrap and Font Awesome; add OSI logo and GPL notice in footers
- Dockerfile: verify vendor assets exist at build time
- Minor a11y/contrast and heading-order cleanups (100 a11y)
This commit is contained in:
William Valentin
2025-09-15 00:47:31 -07:00
parent 9caf95bb7a
commit a0ae5f869e
16 changed files with 589 additions and 48 deletions

View File

@@ -3,6 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="{{ app_name }} — Systemd unit file creator with templates, validation, and a visual editor." />
<title>{{ app_name }} - Systemd Unit File Creator</title>
<link rel="icon" type="image/svg+xml" href="/static/img/favicon.svg" />
<link
@@ -19,14 +20,8 @@
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="{{ app_name }}" />
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
rel="stylesheet"
/>
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
rel="stylesheet"
/>
<link href="/static/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="/static/vendor/fontawesome/css/all.min.css" />
<link href="/static/css/style.css" rel="stylesheet" />
</head>
<body>
@@ -54,6 +49,9 @@
<li class="nav-item">
<a class="nav-link" href="/templates">Templates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/cli">CLI</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item">
@@ -91,6 +89,9 @@
<i class="fas fa-templates me-2"></i>Browse
Templates
</a>
<a href="/cli" class="btn btn-outline-secondary btn-sm">
<i class="fas fa-terminal me-1"></i>Try the CLI
</a>
</div>
</div>
<div class="col-lg-6">
@@ -125,7 +126,7 @@ WantedBy=multi-user.target</code></pre>
<div class="row">
<div class="col-lg-8 mx-auto text-center mb-5">
<h2 class="h1 mb-3">Choose Your Approach</h2>
<p class="lead text-muted">
<p class="lead">
{{ app_name }} offers multiple ways to create systemd
unit files, from quick templates to detailed manual
editing.
@@ -142,7 +143,7 @@ WantedBy=multi-user.target</code></pre>
>
<i class="fas fa-magic text-white"></i>
</div>
<h5 class="card-title">Quick Templates</h5>
<h3 class="card-title h5">Quick Templates</h3>
<p class="card-text text-muted">
Use pre-built templates for common services like
web apps, databases, and containers.
@@ -165,12 +166,12 @@ WantedBy=multi-user.target</code></pre>
>
<i class="fas fa-edit text-white"></i>
</div>
<h5 class="card-title">Visual Editor</h5>
<h3 class="card-title h5">Visual Editor</h3>
<p class="card-text text-muted">
Create and edit unit files with our intuitive
form-based editor with real-time validation.
</p>
<a href="/editor" class="btn btn-outline-success">
<a href="/editor" class="btn btn-success">
Open Editor
</a>
</div>
@@ -185,7 +186,7 @@ WantedBy=multi-user.target</code></pre>
>
<i class="fas fa-check-circle text-white"></i>
</div>
<h5 class="card-title">Validation</h5>
<h3 class="card-title h5">Validation</h3>
<p class="card-text text-muted">
Validate existing unit files and get detailed
feedback on syntax and best practices.
@@ -208,7 +209,7 @@ WantedBy=multi-user.target</code></pre>
>
<i class="fas fa-terminal text-white"></i>
</div>
<h5 class="card-title">CLI Tool</h5>
<h3 class="card-title h5">CLI Tool</h3>
<p class="card-text text-muted">
Use the command-line interface for automation
and integration with your development workflow.
@@ -228,7 +229,7 @@ WantedBy=multi-user.target</code></pre>
<div class="col-lg-8 mx-auto">
<div class="text-center mb-4">
<h3>Supported Unit Types</h3>
<p class="text-muted">
<p>
{{ app_name }} supports all major systemd unit types
</p>
</div>
@@ -389,7 +390,7 @@ unitforge template generate webapp \
<div class="container">
<div class="row">
<div class="col-md-6">
<h6><i class="fas fa-cogs me-2"></i>{{ app_name }}</h6>
<p class="fw-bold mb-0"><i class="fas fa-cogs me-2"></i>{{ app_name }}</p>
<p class="text-muted small">{{ app_description }}.</p>
</div>
<div class="col-md-6 text-md-end">
@@ -407,12 +408,22 @@ unitforge template generate webapp \
<i class="fab fa-github me-1"></i>GitHub
</a>
</div>
<div class="mt-2 small">
<span class="me-2">
<i class="fas fa-code-branch me-1"></i>Open Source
<span class="badge bg-success ms-2">OSI</span>
</span>
<span>
Licensed under
<a href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank" rel="noopener" class="text-decoration-underline text-light">GPL-3.0-or-later</a>
</span>
</div>
</div>
</div>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="/static/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="/static/js/main.js"></script>
</body>
</html>