← All posts

README

Arthavya AI1 min read

Blog content

Posts live in this folder as .md files. Each file is one post.

#Adding a new post

  1. Create content/blog/<your-slug>.md.
  2. Add the frontmatter block at the top:
---
title: Your Post Title
slug: your-slug            # must match filename
date: 2025-11-20           # YYYY-MM-DD
description: One-sentence summary shown in listings and social previews.
tags: [tag-one, tag-two]
author: Your Name
coverImage: https://example.com/cover.jpg
readingTime: 6             # minutes (optional; auto-computed if omitted)
---
  1. Write the body in standard Markdown. Supported features:
    • GitHub-flavoured Markdown (tables, task lists, strikethrough).
    • Fenced code blocks with language tags — syntax highlighted via highlight.js.
    • Images (![alt](url)) — rendered lazy-loaded.
    • Auto-linked headings — a table of contents is built from ##/###.

#Preview locally

bun run dev
# open http://localhost:8080/blog

New files are picked up on save (Vite HMR).

#Publish

Commit and push to your default branch. The existing CI/CD pipeline redeploys automatically — no CMS, no build hooks to manage.

#Notes

  • Slugs must be unique and URL-safe.
  • coverImage may be an absolute URL or a /-relative path in public/.
  • Posts are statically loaded at build time via import.meta.glob, so there is no runtime filesystem dependency.
  • For embedded React components (full MDX), see the note in src/lib/blog.ts — the current pipeline is Markdown-only for build simplicity.