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

@@ -18,15 +18,10 @@
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="description" content="{{ app_name }} Templates — generate production-ready systemd unit files from curated templates." />
<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>
@@ -56,6 +51,9 @@
>Templates</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/cli">CLI</a>
</li>
</ul>
</div>
</div>
@@ -68,12 +66,17 @@
<h1 class="display-5 fw-bold mb-3">
<i class="fas fa-templates me-3"></i>Unit File Templates
</h1>
<p class="lead text-muted">
<p class="lead">
Choose from pre-built templates for common systemd unit
configurations. Each template provides a solid
foundation that you can customize for your specific
needs.
</p>
<div class="mt-2">
<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-4 text-lg-end">
<div class="input-group">
@@ -87,7 +90,7 @@
<button
class="btn btn-outline-secondary"
type="button"
onclick="clearSearch()"
onclick="clearSearch()" aria-label="Clear search"
>
<i class="fas fa-times"></i>
</button>
@@ -366,7 +369,7 @@
<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">
@@ -384,12 +387,24 @@
<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>
<script src="/static/js/templates.js"></script>
</body>