mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
Move files that share a delimiter-bounded name prefix within a folder (threshold 2) into a subfolder named after the prefix, dropping the prefix from the filename. Covers plugins/filter (docker, generate, has, merge, get/all), env handler subpackages, utils/roles/entity, utils/tests/swarm/write, role SQL/scripts/templates, keycloak/mailu task-includes, shared tasks/utils/load, and CI scripts. Update every import, query_file/script/include_tasks/src/lookup target, compose bind mount, and python -m path to the new locations. Extend the prefix-grouped-files lint to threshold 2 with dir-level .nocheck and file-head nocheck opt-outs, and skip groups whose shortest member's stem equals the shared prefix. Keep flat only where a loader forbids nesting: WordPress mu-plugins and the docs/requirements namespace. Ansible filter discovery is recursive, so nested filters stay Jinja-resolvable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
60 lines
2.1 KiB
Django/Jinja
60 lines
2.1 KiB
Django/Jinja
<!-- Top Navigation -->
|
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark border-bottom border-secondary">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand d-flex align-items-center" href="/">
|
|
<i class="fa-solid fa-gamepad me-2"></i>
|
|
<span>{{ LITTLEJS_HEADLINE }}</span>
|
|
</a>
|
|
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav ms-auto">
|
|
|
|
<!-- Apps Dropdown (nested categories) -->
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">
|
|
<i class="fa-solid fa-grid-2 me-1"></i>Apps
|
|
</a>
|
|
|
|
<ul class="dropdown-menu dropdown-menu-dark dropdown-menu-end">
|
|
{% for key, cat in littlejs_examples|dictsort %}
|
|
|
|
<li class="dropdown-submenu">
|
|
<a class="dropdown-item dropdown-toggle d-flex align-items-center"
|
|
href="#">
|
|
<i class="{{ cat.icon }} me-2"></i>
|
|
{{ cat.label|replace('---','')|trim }}
|
|
</a>
|
|
|
|
<ul class="dropdown-menu dropdown-menu-dark">
|
|
{% for ex in cat['items'] %}
|
|
{% set href = ex | littlejs_href(lookup('tls', application_id, 'protocols.web'), domain) %}
|
|
<li>
|
|
<a class="dropdown-item d-flex align-items-center" href="{{ href }}">
|
|
<i class="{{ ex.icon }} me-2"></i>{{ ex.name }}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</li>
|
|
|
|
{% if not loop.last %}
|
|
<li><hr class="dropdown-divider"></li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/examples/">
|
|
<i class="fa-regular fa-folder-open me-1"></i>Browser
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|