feat: move changelog to /hq/logs with UK date format, add recent entries

This commit is contained in:
jae 2026-04-04 04:27:54 +00:00
parent b2153deedc
commit 8768e75239
4 changed files with 70 additions and 78 deletions

View file

@ -1,6 +1,54 @@
{
"site": "jaeswift.xyz",
"entries": [
{
"version": "1.12.0",
"date": "2026-04-04",
"title": "Nav Dropdown Descriptions",
"category": "feature",
"changes": [
"Added descriptive subtitles beneath every nav dropdown item",
"Updated navigation API with description field support"
]
},
{
"version": "1.11.0",
"date": "2026-04-04",
"title": "RECON \u2014 Site Restructure & Accordion Navigation",
"category": "feature",
"changes": [
"Moved RECON to /depot/recon for consistency with other depot pages",
"Subcategories now collapsible accordion sections with toggle arrows",
"Fixed navigation click bug that caused page reset",
"Fixed white flash on page load",
"Added cache-busting version tags to assets"
]
},
{
"version": "1.10.0",
"date": "2026-04-04",
"title": "RECON \u2014 Curated Lists Rebuild",
"category": "feature",
"changes": [
"Flattened 4-level navigation to 2-level (sector > list > entries)",
"Grouped entries by source list instead of duplicate subcategory cards",
"Stripped 'Awesome' prefix from all 660 list names",
"Reused CONTRABAND CSS for consistent styling across depot pages"
]
},
{
"version": "1.9.0",
"date": "2026-04-04",
"title": "RECON \u2014 Curated Lists Database",
"category": "feature",
"changes": [
"Parsed 660 curated lists into 28 themed sectors",
"135,179 total entries across all sectors",
"Built Flask API endpoints for index, sector detail, and search",
"Weekly auto-sync cron job (Sundays 4am) to pull latest data",
"Full-text search across all 135k entries"
]
},
{
"version": "1.8.0",
"date": "2026-04-03",
@ -8,7 +56,7 @@
"category": "feature",
"changes": [
"Subcategories now display as 2-column card grid with expandable detail panels",
"Added weekly auto-sync resource database updates every Sunday at 03:00",
"Added weekly auto-sync \u2014 resource database updates every Sunday at 03:00",
"Click any subcategory card to expand/collapse its entries below",
"Active card highlighting with amber glow",
"Responsive grid: 2-col desktop, 1-col mobile"
@ -20,8 +68,8 @@
"title": "Sitewide Visual Overhaul",
"category": "fix",
"changes": [
"Bumped 64 font sizes sitewide no more microscopic text",
"Brightened all text colours: primary #c0c0c0→#d8d8d8, secondary #707070→#999999, muted #3a3a3a→#666666",
"Bumped 64 font sizes sitewide \u2014 no more microscopic text",
"Brightened all text colours: primary #c0c0c0\u2192#d8d8d8, secondary #707070\u2192#999999, muted #3a3a3a\u2192#666666",
"CONTRABAND page: 4-column category grid with responsive breakpoints",
"Purged all third-party attribution references from entire codebase"
]
@ -29,13 +77,13 @@
{
"version": "1.6.0",
"date": "2026-04-03",
"title": "CONTRABAND Classified Resource Index",
"title": "CONTRABAND \u2014 Classified Resource Index",
"category": "feature",
"changes": [
"Launched CONTRABAND page at /depot/contraband with 15,800+ indexed assets",
"24 categories with military codenames (CRT-001 through CRT-024)",
"Full-text search across all entries via API",
"Starred/top-pick filter system with indicators",
"Starred/top-pick filter system with \u2b50 indicators",
"Collapsible subcategories with item counts",
"Flask API endpoints: /api/contraband, /api/contraband/<slug>, /api/contraband/search"
]
@ -57,8 +105,8 @@
"title": "Globe & Chat AI Admin Panels",
"category": "feature",
"changes": [
"Admin panel: Globe management section server location, rotation speed, arc cities, colours",
"Admin panel: Chat AI configuration model selection, system prompt, greeting toggle",
"Admin panel: Globe management section \u2014 server location, rotation speed, arc cities, colours",
"Admin panel: Chat AI configuration \u2014 model selection, system prompt, greeting toggle",
"New API endpoints: /api/globe, /api/chat-config with auth-protected GET/POST",
"Interactive colour picker and slider controls for globe parameters",
"Arc cities table with add/remove functionality"

View file

@ -2,55 +2,10 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JAESWIFT // CHANGELOG</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@300;400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/section.css">
<link rel="stylesheet" href="/css/changelog.css">
<meta http-equiv="refresh" content="0;url=/hq/logs">
<title>Redirecting to Maintenance Log...</title>
</head>
<body>
<div class="scanline-overlay"></div>
<div class="grid-bg"></div>
<nav class="nav-main" id="navbar">
<div class="nav-container">
<a href="/" class="nav-logo">
<span class="logo-bracket">[</span> JAE <span class="logo-bracket">]</span>
</a>
<button class="nav-toggle" id="navToggle" aria-label="Menu">
<span></span><span></span><span></span>
</button>
<ul class="nav-menu" id="navMenu"></ul>
<div class="nav-status">
<span class="nav-clock" id="navClock"></span>
</div>
</div>
</nav>
<div class="breadcrumb">
<a href="/">HOME</a>
<span class="separator">/</span>
<a href="/hq">HQ</a>
<span class="separator">/</span>
<span class="current">CHANGELOG</span>
</div>
<section class="section-header" style="padding-top: calc(var(--nav-height) + 1.5rem);">
<div class="section-header-label">HQ // HEADQUARTERS</div>
<h1 class="section-header-title">CHANGELOG</h1>
<p class="section-header-sub">&gt; Complete mission update log. Every deployment, fix, and feature recorded.</p>
</section>
<section class="subpage-content">
<div class="changelog-container" id="changelogRoot">
<div class="changelog-loading">LOADING UPDATE LOG...</div>
</div>
</section>
<script src="/js/nav.js"></script>
<script src="/js/clock.js"></script>
<script src="/js/changelog.js"></script>
<body style="background:#0a0a0c;">
<p>Redirecting to <a href="/hq/logs">Maintenance Log</a>...</p>
</body>
</html>

View file

@ -8,6 +8,7 @@
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@300;400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/section.css">
<link rel="stylesheet" href="/css/changelog.css">
</head>
<body>
<div class="scanline-overlay"></div>
@ -43,27 +44,13 @@
</section>
<section class="subpage-content">
<div class="subpage-placeholder">
<div class="placeholder-icon"></div>
<div class="placeholder-status">UNDER CONSTRUCTION</div>
<div class="placeholder-text">This section is being prepared. Content deployment imminent.</div>
<div class="placeholder-classification">CLASSIFICATION: PENDING // STATUS: STANDBY</div>
<div class="changelog-container" id="changelogRoot">
<div class="changelog-loading">LOADING MAINTENANCE LOG...</div>
</div>
</section>
<footer class="footer">
<div class="footer-container">
<div class="footer-left">
<span class="footer-logo">[JAE]</span>
<span class="footer-copy">&copy; 2026 JAESWIFT.XYZ</span>
</div>
<div class="footer-right">
<span class="footer-signal">SIGNAL ████<span class="signal-flicker"></span></span>
</div>
</div>
</footer>
<script src="/js/nav.js"></script>
<script src="/js/clock.js"></script>
<script src="/js/changelog.js"></script>
</body>
</html>

View file

@ -15,8 +15,10 @@
function formatDate(dateStr) {
const d = new Date(dateStr + 'T00:00:00');
const months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];
return `${d.getDate().toString().padStart(2, '0')} ${months[d.getMonth()]} ${d.getFullYear()}`;
const day = d.getDate().toString().padStart(2, '0');
const month = (d.getMonth() + 1).toString().padStart(2, '0');
const year = d.getFullYear();
return `${day}/${month}/${year}`;
}
function render(data) {
@ -28,8 +30,8 @@
// Header
html += `<div class="changelog-header">`;
html += `<div class="changelog-title">MISSION UPDATE LOG</div>`;
html += `<div class="changelog-subtitle">// SYSTEM CHANGELOG — ALL DEPLOYMENTS</div>`;
html += `<div class="changelog-title">MAINTENANCE LOG</div>`;
html += `<div class="changelog-subtitle">// ALL MODIFICATIONS — LOGGED & VERIFIED</div>`;
html += `<div class="changelog-stats">`;
html += `<span class="changelog-stat">CURRENT BUILD: <span class="changelog-stat-value">v${esc(latestVersion)}</span></span>`;
html += `<span class="changelog-stat">UPDATES: <span class="changelog-stat-value">${entries.length}</span></span>`;