From 42c2cfb9e938cdf3be4782f6f69ed0df675834e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=20Randall=20Havens=20=E2=96=B3=20The=20Empathic=20Tec?= =?UTF-8?q?hnologist=20=E2=9F=81=20Doctor=20Who=2042?= Date: Sat, 8 Nov 2025 19:01:40 -0600 Subject: [PATCH] Update app.js --- public/app.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/public/app.js b/public/app.js index 09ed73b..8f554cf 100755 --- a/public/app.js +++ b/public/app.js @@ -35,7 +35,9 @@ async function init() { function populateNav() { els.primaryNav.innerHTML = 'Home'; indexData.sections.forEach(s => { - const hasIndex = indexData.flat.some(f => f.path.startsWith(s + "/") && f.isIndex); + const hasIndex = indexData.flat.some(f => + f.path.startsWith(s + "/") && f.isIndex + ); if (hasIndex) { els.primaryNav.innerHTML += `${s.charAt(0).toUpperCase() + s.slice(1)}`; } @@ -79,7 +81,6 @@ function wireUI() { [els.tagSelect, els.sortSelect, els.searchMode].forEach(el => el.addEventListener("change", renderList)); els.searchBox.addEventListener("input", renderList); - // Click outside to close sidebar (works on iframe too) els.content.addEventListener("click", (e) => { if (window.innerWidth < 1024 && document.body.classList.contains("sidebar-open")) { if (!e.target.closest("#sidebar")) { @@ -90,6 +91,13 @@ function wireUI() { }); } +function formatDateTime(mtime) { + const d = new Date(mtime); + const date = d.toISOString().split("T")[0]; + const time = d.toTimeString().slice(0, 5); + return `${date} at ${time}`; +} + function renderList() { const section = els.sectionSelect.value; const tags = Array.from(els.tagSelect.selectedOptions).map(o => o.value.toLowerCase()); @@ -112,7 +120,8 @@ function renderList() { posts.forEach(p => { const li = document.createElement("li"); const pin = p.isPinned ? "Star " : ""; - li.innerHTML = `${pin}${p.title}${new Date(p.mtime).toISOString().split("T")[0]}`; + const datetime = formatDateTime(p.mtime); + li.innerHTML = `${pin}${p.title}${datetime}`; els.postList.appendChild(li); }); } @@ -134,7 +143,9 @@ async function handleHash() { if (rel.endsWith('/')) { const section = rel.slice(0, -1); - const indexFile = indexData.flat.find(f => f.path.startsWith(section + "/") && f.isIndex); + const indexFile = indexData.flat.find(f => + f.path.startsWith(section + "/") && f.isIndex + ); if (indexFile) { indexFile.ext === ".md" ? await renderMarkdown(indexFile.path) : renderIframe(indexFile.path); } else { @@ -176,9 +187,7 @@ function renderIframe(rel) { img, video, iframe {max-width:100%;height:auto;} `; doc.head.appendChild(style); - } catch (e) { - // Cross-origin: ignore - } + } catch (e) {} }; }