Consolidate gateway-gamers sites, dedupe shared header/footer/images
Merge the four independent gateway-gamers.net site repos (40k-rankings, aos-rankings, kingmaker, scouting) into one monorepo under sites/, preserving each site's full commit history via a manual subtree-style merge (git-subtree isn't available in this environment). - shared/: header.template.html (nav swapped in per site), footer.html, and images/ — previously byte-identical copies duplicated 4x (~100MB). - Each site's public/footer.html and public/images are now symlinks into shared/; public/header.html is generated at predev/prebuild time from shared/header.template.html + the site's own nav.html, so nav bars stay individual while everything else about the header is shared. - Single root .gitlab-ci.yml with path-scoped build/deploy jobs per site plus a deploy:shared job, replacing the 4 separate per-repo pipelines. - nginx confs (kept per-site as reference, same as before) gain location /images/ and location = /footer.html alias blocks pointing at a shared webserver directory, so the deployed site no longer duplicates the images either — see README.md for the full layout and the runbook for applying this on the webserver. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SBzcNkW7JcYipnAX6HfgmK
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
<footer class="footer footer-center bg-base-300 text-base-content p-4">
|
||||
<p>© 2026 Gateway Gamers. All rights reserved.</p>
|
||||
</footer>
|
||||
@@ -0,0 +1,57 @@
|
||||
<header class="bg-base-300 shadow-lg">
|
||||
|
||||
<!-- Hero: carousel background + centered logo -->
|
||||
<div class="relative overflow-hidden min-h-64 py-10 flex items-center justify-center">
|
||||
|
||||
<!-- Carousel images -->
|
||||
<div id="hero-carousel" class="absolute inset-0">
|
||||
<img src="/images/photo1.jpg" class="carousel-slide absolute inset-0 w-full h-full object-cover opacity-0 transition-opacity duration-1000" />
|
||||
<img src="/images/photo2.jpg" class="carousel-slide absolute inset-0 w-full h-full object-cover opacity-0 transition-opacity duration-1000" />
|
||||
<img src="/images/photo3.jpg" class="carousel-slide absolute inset-0 w-full h-full object-cover opacity-0 transition-opacity duration-1000" />
|
||||
<img src="/images/photo4.jpg" class="carousel-slide absolute inset-0 w-full h-full object-cover opacity-0 transition-opacity duration-1000" />
|
||||
<img src="/images/photo5.jpg" class="carousel-slide absolute inset-0 w-full h-full object-cover opacity-0 transition-opacity duration-1000" />
|
||||
</div>
|
||||
|
||||
<!-- Overlay so logo stays readable over busy images -->
|
||||
<div class="absolute inset-0 bg-black/40"></div>
|
||||
|
||||
<!-- Logo -->
|
||||
<div class="relative z-10">
|
||||
<a href="/index.html">
|
||||
<img src="/images/logo.png" alt="Gateway Gamers" class="h-48 w-auto drop-shadow-2xl" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Nav row -->
|
||||
<div class="navbar bg-base-200 px-4 min-h-0 py-2">
|
||||
<div class="navbar-center hidden lg:flex flex-1 justify-center">
|
||||
<ul class="menu menu-horizontal px-1 gap-1">
|
||||
<!--NAV_ITEMS-->
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-end gap-2 ml-auto">
|
||||
<label class="swap swap-rotate btn btn-ghost btn-circle" title="Toggle light/dark">
|
||||
<input type="checkbox" class="theme-controller" value="light" />
|
||||
<svg class="swap-off h-5 w-5 fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M21.64 13a1 1 0 0 0-1.27-.66 8.5 8.5 0 0 1-10.71-10.71 1 1 0 0 0-1.32-1.27A10 10 0 1 0 22 14.29a1 1 0 0 0-.36-1.29z"/>
|
||||
</svg>
|
||||
<svg class="swap-on h-5 w-5 fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M5.64 17l-.71.71a1 1 0 0 0 1.41 1.41l.71-.71A1 1 0 0 0 5.64 17zM5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1zm7-7a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1zM5.64 7.05a1 1 0 0 0 .7.29 1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.41l-.71-.71a1 1 0 0 0-1.41 1.41zm12 .29a1 1 0 0 0 .7-.29l.71-.71a1 1 0 0 0-1.41-1.41l-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29zM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2zm-9 8a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1zm6.36-2a1 1 0 0 0-1.41 1.41l.71.71a1 1 0 0 0 1.41-1.41zM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5z"/>
|
||||
</svg>
|
||||
</label>
|
||||
<div class="dropdown dropdown-end lg:hidden">
|
||||
<label tabindex="0" class="btn btn-ghost btn-circle">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
||||
</svg>
|
||||
</label>
|
||||
<ul tabindex="0" class="menu menu-sm dropdown-content mt-3 z-[1] p-2 shadow bg-base-200 rounded-box w-52">
|
||||
<!--NAV_ITEMS-->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 113 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.6 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.9 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.4 MiB |
Reference in New Issue
Block a user