Shehzayn is a minimalist two-column writing theme built with Astro: clean, fast, and designed for reading.
Content is created in Markdown, with support for dark mode, Shiki code highlighting, RSS, and immersive reading—ideal for personal writing and lightweight publishing.
The project is open source, so if you have ideas or want to collaborate, feel free to open an Issue.

Section guide

Essays

/essay/

Stream of full essays, including entries that are not archived.

Bits

/bits/

Short-format updates and fragments, with optional multi-image layouts.

Memo

/memo/

A curated journal of moments worth keeping.

Archive

/archive/

Chronological archive grouped by year.

Tech stack

Build & rendering
  • Astro / Vite
    Content site and build tooling
  • CSS / Typography
    Typography and reading experience
Languages & tools
  • TypeScript
    Type safety and script support
  • Markdown
    Writing and publishing workflows

FAQ

Why do I see a SITE_URL is not set warning after deployment?

Because the production domain is missing. Without it, canonical/og:url/sitemap/robots may point to placeholders. Add SITE_URL=https://your-domain to your deployment environment variables and rebuild.

Why are some posts missing from the archive?

Archive pages filter out entries marked with archive: false. They remain published and accessible, but they are intentionally excluded from the archive list and RSS feed.

Why do articles under /essay/ link to /archive/.../?

Article details are centralized at /archive/{slug}/. The /essay/ route only serves the list, avoiding duplicate detail routes for maintainability.

How can I share feedback or contribute?

Open an Issue or submit a Pull Request in the repository.

Contact

If you have questions or suggestions, reach out via the channels below