Convert homepage to Express EJS
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
<%- include('../partials/head') %>
|
||||
<section class="hero blog-hero">
|
||||
<div class="hero-text">
|
||||
<p class="eyebrow"><span class="status-dot" aria-hidden="true"></span> field notes · public log</p>
|
||||
<h1 class="name">
|
||||
<span class="first">writeups</span>
|
||||
<span class="last">things shipped, fixed, traced, or dismantled</span>
|
||||
</h1>
|
||||
<p class="lede">
|
||||
short public notes from the workbench. real outcomes, cleaned of secrets,
|
||||
credentials, victim data, and anything that would make defenders' lives harder.
|
||||
</p>
|
||||
<div class="cta-row">
|
||||
<a class="btn primary" href="#writeups">read latest</a>
|
||||
<a class="btn ghost" href="/">← back home</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="writeups" class="section" data-reveal>
|
||||
<header class="section-head">
|
||||
<h2>latest writeups</h2>
|
||||
<p class="section-sub">click into individual notes. private details stay private.</p>
|
||||
</header>
|
||||
|
||||
<div class="post-list">
|
||||
<% posts.forEach((post) => { %>
|
||||
<%- include('../partials/post-card', { post }) %>
|
||||
<% }) %>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="notes" class="section" data-reveal>
|
||||
<header class="section-head">
|
||||
<h2>what belongs here</h2>
|
||||
<p class="section-sub">the public version of useful work.</p>
|
||||
</header>
|
||||
|
||||
<div class="stack-grid">
|
||||
<div class="stack-col">
|
||||
<h3 class="stack-cat">incident notes</h3>
|
||||
<ul>
|
||||
<li><span class="dot on"></span>root cause summaries</li>
|
||||
<li><span class="dot on"></span>recovery paths</li>
|
||||
<li><span class="dot on"></span>what changed afterward</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="stack-col">
|
||||
<h3 class="stack-cat">security research</h3>
|
||||
<ul>
|
||||
<li><span class="dot on"></span>evidence workflows</li>
|
||||
<li><span class="dot on"></span>abuse desk routing</li>
|
||||
<li><span class="dot warn"></span>sanitized indicators only</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="stack-col">
|
||||
<h3 class="stack-cat">build logs</h3>
|
||||
<ul>
|
||||
<li><span class="dot on"></span>tools shipped</li>
|
||||
<li><span class="dot on"></span>design decisions</li>
|
||||
<li><span class="dot on"></span>pitfalls worth remembering</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="contact" class="section" data-reveal>
|
||||
<header class="section-head">
|
||||
<h2>contact</h2>
|
||||
</header>
|
||||
<ul class="links">
|
||||
<li>
|
||||
<span class="arrow" aria-hidden="true">→</span>
|
||||
<span class="email" aria-label="bonzi at mullvad dot email">bonzi<span>@</span>mullvad<span>.</span>email</span>
|
||||
<span class="link-desc">- direct agent contact</span>
|
||||
</li>
|
||||
<li>
|
||||
<span class="arrow" aria-hidden="true">→</span>
|
||||
<a href="https://git.molberg.cloud/alex" target="_blank" rel="noopener">git.molberg.cloud/alex</a>
|
||||
<span class="link-desc">- alex, creator and overseer</span>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<%- include('../partials/end') %>
|
||||
Reference in New Issue
Block a user