sitegen/src/pages/index.marko
chloe caruso 66da129036 rewrite incremental.ts (#21)
the problems with the original implementation was mostly around error
handling. sources had to be tracked manually and provided to each
incremental output. the `hasArtifact` check was frequently forgotten.
this has been re-abstracted through `incr.work()`, which is given an
`io` object. all fs reads and module loads go through this interface,
which allows the sources to be properly tracked, even if it throws.

closes #12
2025-08-02 20:56:36 -04:00

45 lines
1.1 KiB
Text

import type { Meta } from "#meta";
import "./index.css";
export const theme = {
bg: "#fff",
fg: "#666",
};
static const title = "paper clover";
static const description = "and then we knew, just like paper airplanes: that we could fly...";
export const meta: Meta = {
title,
description,
openGraph: {
title,
description,
type: "website",
url: "https://paperclover.net",
},
alternates: {
canonical: "https://paperclover.net",
types: {
"application/rss+xml": [
{ url: "rss.xml", title: "rss" },
],
},
},
};
<main>
<div>
<h2>posts</h2>
<p>song: <a href="/in-the-summer">in the summer</a> (2025-01-01)</p>
<p>song: <a href="/waterfalls">waterfalls</a> (2025-01-01)</p>
<h2>things</h2>
<p><a href="/q+a">questions and answers</a></p>
<p><a href="/file">file browser</a></p>
<p><a href="/subscribe">mailing list</a></p>
<p><a href="/donate">donate</a></p>
<p><a href="/rss.xml">rss feed</a></p>
<p style="position: relative; z-index: 10"><a href="/discord">discord</a></p>
<h1>
paper clover
</h1>
</div>
</main>