-
-
{ACTIVE_BLOG_SITE.title}
-
{ACTIVE_BLOG_SITE.description}
+
+
+
+
+
+
+
+
+
+
+
+
+ Recent
+
+ {recentPoems.map((poem) => (
+ -
+
+ {poem.title}
+
+ ))}
+
+
+
+
+ All Poems
+
+ {poems.map((poem) => (
+ -
+ {poem.title}
+
+
+ ))}
+
+ No poems found.
+
-
-
+
+
+
diff --git a/sites/poetry/src/styles/global.css b/sites/poetry/src/styles/global.css
index a3cd166..9e479c2 100644
--- a/sites/poetry/src/styles/global.css
+++ b/sites/poetry/src/styles/global.css
@@ -293,6 +293,143 @@
@apply text-2xl font-semibold md:text-3xl lg:text-4xl;
}
+ .poetry-post {
+ @apply max-w-2xl text-center;
+ }
+
+ .poetry-post-title {
+ @apply mb-12 text-3xl font-semibold md:mb-16 md:text-4xl;
+ }
+
+ .poetry-post-body {
+ @apply mx-auto max-w-xl text-center text-xl leading-loose text-foreground/80 md:text-2xl;
+ }
+
+ .poetry-post-body :where(p) {
+ margin: 0 0 1.75em;
+ }
+
+ .poetry-post-body :where(p:last-child) {
+ margin-bottom: 0;
+ }
+
+ .poetry-post-body :where(a) {
+ text-decoration-line: underline;
+ text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
+ text-underline-offset: 0.2em;
+ }
+
+ .poetry-post-body :where(ul, ol) {
+ display: inline-block;
+ margin: 1.5em auto;
+ padding-left: 1.4em;
+ text-align: left;
+ }
+
+ .poetry-post-body :where(blockquote) {
+ margin: 2em auto;
+ max-width: 32rem;
+ color: hsl(var(--muted-foreground));
+ }
+
+ .poetry-post-body :where(hr) {
+ display: none;
+ }
+
+ .poetry-post-body :where(pre) {
+ margin-inline: auto;
+ text-align: left;
+ }
+
+ .poetry-home {
+ @apply px-5 py-10 md:px-8 md:py-16 lg:py-20;
+ }
+
+ .poetry-home-panel {
+ @apply mx-auto max-w-5xl rounded-2xl border bg-card px-7 py-8 shadow-sm md:px-10 md:py-10;
+ }
+
+ .poetry-home-chrome {
+ @apply mb-12 flex gap-3;
+ }
+
+ .poetry-home-chrome span {
+ @apply block h-3 w-3 rounded-full bg-muted;
+ }
+
+ .poetry-home-header {
+ @apply flex flex-col gap-6 border-b pb-8 md:flex-row md:items-end md:justify-between;
+ }
+
+ .poetry-home-header h1 {
+ @apply mt-2 text-3xl font-semibold md:text-4xl;
+ }
+
+ .poetry-home-kicker {
+ @apply max-w-xl text-base text-muted-foreground;
+ }
+
+ .poetry-search {
+ @apply flex w-full max-w-sm items-center gap-2 rounded-full border bg-background/80 px-4 py-2 md:w-72;
+ }
+
+ .poetry-search input {
+ @apply min-w-0 flex-1 bg-transparent text-base outline-none placeholder:text-muted-foreground/70;
+ }
+
+ .poetry-search button {
+ @apply flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:text-foreground;
+ }
+
+ .poetry-search svg {
+ @apply h-5 w-5;
+ fill: none;
+ stroke: currentColor;
+ stroke-width: 1.8;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ }
+
+ .poetry-home-grid {
+ @apply grid gap-12 pt-10 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)] md:gap-16;
+ }
+
+ .poetry-recent h2,
+ .poetry-archive h2 {
+ @apply mb-6 text-sm font-semibold uppercase tracking-wider text-muted-foreground;
+ }
+
+ .poetry-recent ol,
+ .poetry-archive ol {
+ @apply m-0 list-none p-0;
+ }
+
+ .poetry-recent li {
+ @apply grid grid-cols-[5.75rem_minmax(0,1fr)] gap-4 py-3;
+ }
+
+ .poetry-recent time,
+ .poetry-archive time {
+ @apply text-muted-foreground/75;
+ }
+
+ .poetry-recent a,
+ .poetry-archive a {
+ @apply font-semibold text-foreground decoration-muted-foreground/30 underline-offset-4 hover:underline;
+ }
+
+ .poetry-archive li {
+ @apply flex items-baseline justify-between gap-8 border-t py-4;
+ }
+
+ .poetry-archive li[hidden] {
+ display: none;
+ }
+
+ .poetry-empty {
+ @apply border-t py-4 text-muted-foreground;
+ }
+
.blog-card-title-featured {
@apply text-xl font-semibold md:text-2xl;
}