Rename poetry site to pieces
Some checks are pending
Build / build (push) Waiting to run

This commit is contained in:
Neeldhara Misra 2026-06-25 16:19:48 +05:30
parent 7aa1fd2372
commit 164f4a0f3c
22 changed files with 39 additions and 57 deletions

View file

@ -11,7 +11,7 @@ deployable targets that receive copied Markdown and assets.
| `blogs/02-vibes` | `sites/vibes/src/content/vibes` | `https://vibes.neeldhara.blog` | | `blogs/02-vibes` | `sites/vibes/src/content/vibes` | `https://vibes.neeldhara.blog` |
| `blogs/03-puzzles` | `sites/puzzles/src/content/puzzles` | `https://puzzles.neeldhara.blog` | | `blogs/03-puzzles` | `sites/puzzles/src/content/puzzles` | `https://puzzles.neeldhara.blog` |
| `blogs/04-reflections` | `sites/reflections/src/content/reflections` | `https://reflections.neeldhara.blog` | | `blogs/04-reflections` | `sites/reflections/src/content/reflections` | `https://reflections.neeldhara.blog` |
| `blogs/05-poetry` | `sites/poetry/src/content/poetry` | `https://poetry.neeldhara.blog` | | `blogs/05-poetry` | `sites/poetry/src/content/poetry` | `https://pieces.neeldhara.blog` |
| `blogs/06-reviews` | `sites/reviews/src/content/reviews` | `https://reviews.neeldhara.blog` | | `blogs/06-reviews` | `sites/reviews/src/content/reviews` | `https://reviews.neeldhara.blog` |
| `blogs/07-art` | `sites/art/src/content/art` | `https://art.neeldhara.blog` | | `blogs/07-art` | `sites/art/src/content/art` | `https://art.neeldhara.blog` |
| `blogs/micro` | `../micro/src/content/blog` | `https://micro.neeldhara.blog` | | `blogs/micro` | `../micro/src/content/blog` | `https://micro.neeldhara.blog` |

View file

@ -12,7 +12,7 @@ Each site is a self-contained Dockerized Astro app with its own `src`, `public`,
| Vibes | `sites/vibes` | `vibes.neeldhara.blog` | | Vibes | `sites/vibes` | `vibes.neeldhara.blog` |
| Puzzles | `sites/puzzles` | `puzzles.neeldhara.blog` | | Puzzles | `sites/puzzles` | `puzzles.neeldhara.blog` |
| Reflections | `sites/reflections` | `reflections.neeldhara.blog` | | Reflections | `sites/reflections` | `reflections.neeldhara.blog` |
| Poetry | `sites/poetry` | `poetry.neeldhara.blog` | | Pieces | `sites/poetry` | `pieces.neeldhara.blog` |
| Reviews | `sites/reviews` | `reviews.neeldhara.blog` | | Reviews | `sites/reviews` | `reviews.neeldhara.blog` |
| Art | `sites/art` | `art.neeldhara.blog` | | Art | `sites/art` | `art.neeldhara.blog` |
@ -81,7 +81,7 @@ Suggested applications:
| `blog-vibes` | `sites/vibes` | `vibes.neeldhara.blog` | | `blog-vibes` | `sites/vibes` | `vibes.neeldhara.blog` |
| `blog-puzzles` | `sites/puzzles` | `puzzles.neeldhara.blog` | | `blog-puzzles` | `sites/puzzles` | `puzzles.neeldhara.blog` |
| `blog-reflections` | `sites/reflections` | `reflections.neeldhara.blog` | | `blog-reflections` | `sites/reflections` | `reflections.neeldhara.blog` |
| `blog-poetry` | `sites/poetry` | `poetry.neeldhara.blog` | | `blog-pieces` | `sites/poetry` | `pieces.neeldhara.blog` |
| `blog-reviews` | `sites/reviews` | `reviews.neeldhara.blog` | | `blog-reviews` | `sites/reviews` | `reviews.neeldhara.blog` |
| `blog-art` | `sites/art` | `art.neeldhara.blog` | | `blog-art` | `sites/art` | `art.neeldhara.blog` |

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/sites/poetry; root /usr/share/nginx/sites/poetry;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -33,7 +33,7 @@ const DEFAULT_TARGETS = [
blogTarget("vibes", "Vibes", "02-vibes", 4332), blogTarget("vibes", "Vibes", "02-vibes", 4332),
blogTarget("puzzles", "Puzzles", "03-puzzles", 4333), blogTarget("puzzles", "Puzzles", "03-puzzles", 4333),
blogTarget("reflections", "Reflections", "04-reflections", 4334), blogTarget("reflections", "Reflections", "04-reflections", 4334),
blogTarget("poetry", "Poetry", "05-poetry", 4335), blogTarget("poetry", "Pieces", "05-poetry", 4335),
blogTarget("reviews", "Reviews", "06-reviews", 4336), blogTarget("reviews", "Reviews", "06-reviews", 4336),
blogTarget("art", "Art", "07-art", 4337), blogTarget("art", "Art", "07-art", 4337),
]; ];

View file

@ -14,7 +14,7 @@ const blogs = [
{ key: "vibes", vaultFolder: "02-vibes", title: "Vibes" }, { key: "vibes", vaultFolder: "02-vibes", title: "Vibes" },
{ key: "puzzles", vaultFolder: "03-puzzles", title: "Puzzles" }, { key: "puzzles", vaultFolder: "03-puzzles", title: "Puzzles" },
{ key: "reflections", vaultFolder: "04-reflections", title: "Reflections" }, { key: "reflections", vaultFolder: "04-reflections", title: "Reflections" },
{ key: "poetry", vaultFolder: "05-poetry", title: "Poetry" }, { key: "poetry", vaultFolder: "05-poetry", title: "Pieces" },
{ key: "reviews", vaultFolder: "06-reviews", title: "Reviews" }, { key: "reviews", vaultFolder: "06-reviews", title: "Reviews" },
{ key: "art", vaultFolder: "07-art", title: "Art" }, { key: "art", vaultFolder: "07-art", title: "Art" },
]; ];
@ -222,7 +222,7 @@ This folder is the Obsidian source of truth for the public blog family.
| \`blogs/02-vibes\` | \`allblogs/sites/vibes/src/content/vibes\` | \`https://vibes.neeldhara.blog\` | | \`blogs/02-vibes\` | \`allblogs/sites/vibes/src/content/vibes\` | \`https://vibes.neeldhara.blog\` |
| \`blogs/03-puzzles\` | \`allblogs/sites/puzzles/src/content/puzzles\` | \`https://puzzles.neeldhara.blog\` | | \`blogs/03-puzzles\` | \`allblogs/sites/puzzles/src/content/puzzles\` | \`https://puzzles.neeldhara.blog\` |
| \`blogs/04-reflections\` | \`allblogs/sites/reflections/src/content/reflections\` | \`https://reflections.neeldhara.blog\` | | \`blogs/04-reflections\` | \`allblogs/sites/reflections/src/content/reflections\` | \`https://reflections.neeldhara.blog\` |
| \`blogs/05-poetry\` | \`allblogs/sites/poetry/src/content/poetry\` | \`https://poetry.neeldhara.blog\` | | \`blogs/05-poetry\` | \`allblogs/sites/poetry/src/content/poetry\` | \`https://pieces.neeldhara.blog\` |
| \`blogs/06-reviews\` | \`allblogs/sites/reviews/src/content/reviews\` | \`https://reviews.neeldhara.blog\` | | \`blogs/06-reviews\` | \`allblogs/sites/reviews/src/content/reviews\` | \`https://reviews.neeldhara.blog\` |
| \`blogs/07-art\` | \`allblogs/sites/art/src/content/art\` | \`https://art.neeldhara.blog\` | | \`blogs/07-art\` | \`allblogs/sites/art/src/content/art\` | \`https://art.neeldhara.blog\` |
| \`blogs/micro\` | \`micro/src/content/blog\` | \`https://micro.neeldhara.blog\` | | \`blogs/micro\` | \`micro/src/content/blog\` | \`https://micro.neeldhara.blog\` |

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -1,15 +1,6 @@
import { format } from "date-fns"; import { format } from "date-fns";
import { typographicText } from "@/lib/typography"; import { typographicText } from "@/lib/typography";
const getReadingTime = (body: string | undefined) => {
const words = (body ?? "")
.replace(/```[\s\S]*?```/g, " ")
.replace(/<[^>]+>/g, " ")
.match(/\b[\w'-]+\b/g);
return Math.max(1, Math.ceil((words?.length ?? 0) / 220));
};
const BlogPost = ({ const BlogPost = ({
post, post,
children, children,
@ -19,7 +10,6 @@ const BlogPost = ({
}) => { }) => {
const { title, pubDate } = post.data; const { title, pubDate } = post.data;
const displayTitle = typographicText(title); const displayTitle = typographicText(title);
const readingTime = getReadingTime(post.body);
return ( return (
<section className="container px-6 py-2 md:py-6"> <section className="container px-6 py-2 md:py-6">
@ -29,7 +19,6 @@ const BlogPost = ({
<time dateTime={pubDate.toISOString()}> <time dateTime={pubDate.toISOString()}>
{format(pubDate, "MMMM d, yyyy")} {format(pubDate, "MMMM d, yyyy")}
</time> </time>
<span>{readingTime} min read</span>
</div> </div>
<div className="poetry-post-body">{children}</div> <div className="poetry-post-body">{children}</div>
</article> </article>

View file

@ -3,7 +3,7 @@ import { ArrowRight } from "lucide-react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Separator } from "@/components/ui/separator"; import { Separator } from "@/components/ui/separator";
import { Calendar, Clock, User } from "lucide-react"; import { Calendar } from "lucide-react";
import { typographicText } from "@/lib/typography"; import { typographicText } from "@/lib/typography";
import { PlusSigns } from "../icons/plus-signs"; import { PlusSigns } from "../icons/plus-signs";
@ -103,9 +103,6 @@ const BlogPosts = ({
}, },
)} )}
</div> </div>
<div className="text-muted-foreground flex items-center text-sm">
<Clock className="mr-1 h-4 w-4" />5 min read
</div>
</div> </div>
</div> </div>
</div> </div>
@ -151,10 +148,6 @@ const BlogPosts = ({
)} )}
</span> </span>
</div> </div>
<div className="flex items-center gap-1">
<Clock className="h-3.5 w-3.5" />
<span>5 min read</span>
</div>
</div> </div>
</div> </div>
</a> </a>

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,7 +28,7 @@ server {
server { server {
listen 80; listen 80;
server_name poetry.neeldhara.blog poetry.neeldhara.email; server_name pieces.neeldhara.blog pieces.neeldhara.email;
root /usr/share/nginx/html; root /usr/share/nginx/html;
include /etc/nginx/snippets/blog-locations.conf; include /etc/nginx/snippets/blog-locations.conf;
} }

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",

View file

@ -28,9 +28,9 @@ export const BLOG_SITES = [
}, },
{ {
key: "poetry", key: "poetry",
title: "Poetry", title: "Pieces",
description: "Failed attempts at organizing thoughts in verse.", description: "Poems, short prose, and small experiments in language.",
url: "https://poetry.neeldhara.blog", url: "https://pieces.neeldhara.blog",
}, },
{ {
key: "reviews", key: "reviews",