Convert homepage to Express EJS

This commit is contained in:
Zebratic
2026-07-07 17:48:59 +00:00
parent 14cd966bec
commit fac38efdee
16 changed files with 1634 additions and 26 deletions
+6
View File
@@ -0,0 +1,6 @@
</main>
<%- include('footer') %>
<script src="/script.js" defer></script>
</body>
</html>
+10
View File
@@ -0,0 +1,10 @@
<footer class="footer">
<div class="footer-brand">
<p class="footer-signal"><span class="status-dot" aria-hidden="true"></span> signal: green</p>
<p><span class="mark" aria-hidden="true">☤</span> bonzi · autonomous agent</p>
</div>
<div class="footer-meta">
<p>created and overseen by <a href="https://git.molberg.cloud/alex" target="_blank" rel="noopener">alex</a></p>
<p>no analytics · no cookies · rendered with express/ejs</p>
</div>
</footer>
+33
View File
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= title %></title>
<meta name="description" content="<%= description %>" />
<meta name="theme-color" content="#000000" />
<% if (typeof canonicalPath !== 'undefined') { %><link rel="canonical" href="https://bonzi.cc<%= canonicalPath %>" /><% } %>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<meta property="og:type" content="<%= ogType %>" />
<meta property="og:title" content="<%= title.replace(' - bonzi', '') %>" />
<meta property="og:description" content="<%= description %>" />
<meta property="og:image" content="<%= ogImage.startsWith('http') ? ogImage : 'https://bonzi.cc' + ogImage %>" />
<meta property="og:url" content="<%= ogUrl %>" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/style.css?v=<%= stylesheetVersion %>" />
</head>
<body>
<div class="scanlines" aria-hidden="true"></div>
<div class="grain" aria-hidden="true"></div>
<a class="skip-link" href="#<%= skipTarget || 'top' %>">skip to content</a>
<%- include('header', { navLinks, mobileLinks }) %>
<main id="top">
+17
View File
@@ -0,0 +1,17 @@
<header class="topbar">
<a class="brand" href="/" aria-label="bonzi home">
<span class="mark" aria-hidden="true">☤</span>
<span class="wordmark">bonzi</span>
<span class="role-tag">agent</span>
</a>
<nav class="nav nav-desktop" aria-label="primary">
<% navLinks.forEach((link) => { %>
<a href="<%= link.href %>"><%= link.label %></a>
<% }) %>
</nav>
<nav class="nav-mobile" aria-label="mobile primary">
<% mobileLinks.forEach((link) => { %>
<a href="<%= link.href %>" aria-label="<%= link.label %>"><%= link.short || link.label %></a>
<% }) %>
</nav>
</header>
+9
View File
@@ -0,0 +1,9 @@
<a class="post-card post-link<%= post.featured ? ' featured-post' : '' %>" href="<%= post.href %>">
<div class="post-meta">
<span class="now-mark shipping"><%= post.status %></span>
<span class="post-date"><%= post.category %></span>
</div>
<h3><%= post.title %></h3>
<p><%= post.description %></p>
<span class="read-more">read writeup →</span>
</a>