Skip to content

visvig/vishalv.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vishalv.com

Personal site for Vishal V. Built on top of Timothy Lin’s Tailwind Next.js Starter Blog and customized for long-form notes, hacks, health logs, and a bookshelf.

Stack

  • Next.js 15.2.6 (App Router) + React 19.0.1
  • Contentlayer 2 + MDX for typed Markdown content
  • Tailwind CSS 4 with a custom palette
  • Pliny utilities (layouts, newsletter, kbar search, RSS)
  • TypeScript + ESLint + Prettier + Husky

Structure

Path Purpose
app/ Routes, layouts, API handlers.
components/ Shared UI pieces.
layouts/ Page/article layouts via Pliny.
data/ Markdown content + metadata.
css/ Tailwind + Prism styles.
scripts/ Post-build tasks (RSS, search index).
public/ Static assets and generated search.json.

Philosophy

  • Keep writing portable (Markdown in git).
  • Prioritize calm, legible layouts.
  • Automate chores (RSS, search, tag counts) during yarn build.
  • Add enhancements (theme switch, kbar, newsletter) without blocking core reading.

Commands

yarn install
yarn dev      # http://localhost:3000
yarn build    # runs Contentlayer + postbuild (RSS/search)
yarn start
yarn lint

Environment variables (.env.local + hosting platform):

  • BUTTONDOWN_API_KEY and BUTTONDOWN_SECURITY_TOKEN for newsletter signup via Buttondown. Set siteMetadata.newsletter.provider = null to hide it.

Vercel Web Analytics is wired in app/layout.tsx via @vercel/analytics. Enable Analytics for the project in Vercel to start collecting data on deployed traffic.

Content

  • Notes: data/notes/*.md/notes/[slug]
  • Theses: data/theses/*.md/theses/[slug]
  • Hacks: data/hacks/*.md/hacks
  • Bookshelf: data/bookshelf/*.md/bookshelf + /bookshelf/[slug]
  • Health logs/routines: data/health/**
  • Author profile: data/authors/default.md

Run yarn dev or yarn build after editing content so Contentlayer regenerates.

Credits

Thanks to Timothy Lin for the original MIT-licensed starter. This repo keeps his license notice and adds Vishal’s customizations.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors