anishde.dev
July 16, 2026 ยท View on GitHub
An Astro portfolio and repo-native blog. The site is static; posts live in
src/content/blog as Markdown or MDX and are published with the site.
Development
Requires Node.js 22.12 or newer.
npm install
npm run build
Start the local server in background mode:
npx astro dev --background
npx astro dev status
npx astro dev logs
npx astro dev stop
Writing workflow
Create a draft:
npm run blog:new -- "A useful title"
The command creates src/content/blog/a-useful-title.mdx with draft: true.
Drafts are excluded from pages, RSS, search, OG images, and the sitemap.
List posts and their status:
npm run blog:list
Publish or return a post to drafts:
npm run blog:publish -- a-useful-title
npm run blog:unpublish -- a-useful-title
Publishing sets draft: false and updates the publication date. Run
npm run build before deployment to validate content and generated routes.
Analytics
Analytics are off unless PUBLIC_UMAMI_WEBSITE_ID is set at build time. Copy
.env.example to .env, verify the website ID in Umami, and set it there.
PUBLIC_UMAMI_HOST defaults to https://umami.anishde.dev.
The current Umami frontend is served from Vercel. Its backing database hosting still needs to be identified before relying on it long term.