A modern tech-style personal blog powered by VitePress
- ⚡️ Fast & Modern - Built with VitePress and Vue 3
- 🎨 Tech-Style Design - Futuristic and responsive UI
- 📝 Markdown Support - Write posts in Markdown with code highlighting
- 🔍 Local Search - Built-in search functionality
- 💬 Comments - Integrated with Giscus (GitHub Discussions)
- 📱 Responsive - Optimized for mobile and desktop
- 🌙 Dark Mode - Auto dark/light theme switching
- 🚀 GitHub Pages - Easy deployment with GitHub Actions
- VitePress - Static site generator
- Vue 3 - Progressive JavaScript framework
- Vite - Next generation frontend tooling
- Giscus - Comments system
- Node.js 18+
- npm / yarn / pnpm
# Install dependencies
npm install
# Start dev server
npm run docs:dev
# Build for production
npm run docs:build
# Preview production build
npm run docs:previewvirgilblog/
├── .github/workflows/ # GitHub Actions
├── docs/
│ ├── .vitepress/ # VitePress config
│ │ ├── config.ts # Site configuration
│ │ └── theme/ # Custom theme
│ ├── posts/ # Blog posts
│ ├── public/ # Static assets
│ ├── about.md # About page
│ └── index.md # Home page
├── .gitignore
├── package.json
├── README.md
└── TODO.md
This blog uses Giscus for comments. To enable:
- Enable Discussions in repository settings
- Install Giscus app
- Get configuration from giscus.app
- Update
docs/.vitepress/theme/components/Comment.vue
See GISCUS_SETUP.md for detailed instructions.
This blog is automatically deployed to GitHub Pages via GitHub Actions.
- Go to repository Settings → Pages
- Set Source to "GitHub Actions"
- Push to
mainbranch to trigger deployment
In docs/.vitepress/config.ts:
// For GitHub Pages (username.github.io/repo-name)
base: '/virgilblog/',
// For custom domain (yourdomain.com)
base: '/',Create a new markdown file in docs/posts/:
---
title: Your Post Title
date: 2026-01-26
tags: [tech, vue, blog]
description: Post description
---
# Your Post Title
Your content here...MIT License
Wenjie
Built with ❤️ using VitePress