Personal website of Shuhan Luo — a space for thoughts, photography, and projects.
Built with Astro, featuring Markdown content, dark mode, code highlighting, RSS, and immersive reading.

Site Guide

Thoughts

/thoughts/

Essays, reflections, and long-form writing.

Gallery

/gallery/

Photography and visual notes.

Works

/works/

Projects and things I've built.

About

/about/

This page — site guide, tech stack, FAQ, and contact.

Tech Stack

Build & Rendering
  • Astro / Vite
    Content site and build
  • CSS / Typography
    Typography and reading experience
Languages & Tools
  • TypeScript
    Type constraints and script support
  • Markdown
    Content writing and publishing workflow

FAQ

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

Because the production domain is not configured. Without it, a placeholder domain will be used, and canonical/og:url/sitemap/robots will be incomplete. Add SITE_URL=https://your-domain as an environment variable in your deployment platform and rebuild.

Why don't some articles appear in the listing?

Articles with draft: true are hidden in production but remain accessible in development. Articles with archive: false won't appear in the main listing but are still published and accessible directly.

How do I report issues or get in touch?

Feel free to reach out via the social links above or open an Issue on GitHub.

Contact & Subscribe

If you have questions, suggestions, or want to subscribe to updates, you can reach out through the following channels.