Port to TypeScript/Elysia

This commit is contained in:
sepia 2025-07-28 13:39:01 -05:00
parent 29739d243f
commit 513335c485
17 changed files with 413 additions and 2603 deletions

View file

@ -1,20 +1,32 @@
<html>
<head>
<script src="https://unpkg.com/htmx.org@2.0.3" integrity="sha384-0895/pl2MU10Hqc6jd4RvrthNlDiE9U1tWmX7WRESftEDRosgxNsQG/Ze9YMRzHq" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/style/monospace.css">
<link rel="stylesheet" href="/style/style.css">
</head>
<body style="max-width: 120ch; margin: auto;">
<header style="display: flex; justify-content: space-between; width: 100%;">
<h1>sepiatones.xyz</h1>
<nav>
<a href="/">about</a>
<a hx-get="/recent_posts" hx-target="#sidebar">posts</a>
</nav>
</header>
<main id="primary" style="display: flex; justify-content: space-between;">
<head>
<script
src="https://unpkg.com/htmx.org@2.0.3"
integrity="sha384-0895/pl2MU10Hqc6jd4RvrthNlDiE9U1tWmX7WRESftEDRosgxNsQG/Ze9YMRzHq"
crossorigin="anonymous"
></script>
<link rel="stylesheet" href="/style/monospace.css" />
<link rel="stylesheet" href="/style/style.css" />
</head>
<body style="max-width: 120ch; margin: auto;">
<header style="display: flex; justify-content: space-between; width: 100%;">
<h1>sepiatones.xyz</h1>
<nav>
<a href="/">about</a>
<a href="https://git.sepiatones.xyz/sepia">code</a>
<a
hx-get="/recent_posts"
hx-target="#sidebar"
hx-trigger="click,load"
>posts</a>
</nav>
</header>
<main id="primary" style="display: flex; justify-content: space-between;">
{{{content}}}
<aside id="sidebar" style="width: 60ch; padding: var(--line-height) 1ch;"></aside>
<aside
id="sidebar"
style="width: 60ch; padding: var(--line-height) 1ch;"
></aside>
</main>
</body>
</html>
</body>
</html>

View file

@ -1,9 +1,12 @@
<h2 style="display: flex; justify-content: space-between; align-items: center;">
Posts
<span style="cursor: pointer;" hx-on:click="document.getElementById('sidebar').innerHTML = ''">X</span>
<span
style="cursor: pointer;"
hx-on:click="document.getElementById('sidebar').innerHTML = ''"
>X</span>
</h2>
<ul>
{{#each posts}}
<li><a href="{{path}}">{{title}} - {{date}}</a></li>
{{/each}}
</ul>
</ul>