Convert homepage to Express EJS
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
</main>
|
||||
|
||||
<%- include('footer') %>
|
||||
<script src="/script.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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>
|
||||
@@ -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">
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user