🌐 Live Site: https://nickshek.github.io
My personal blog built with VuePress v2, migrated from Sculpin. This repository contains the source code, configuration, and deployment setup for the blog.
- Framework: VuePress v2
- Theme: Default Theme
- Deployment: GitHub Actions → GitHub Pages
- Language: Traditional Chinese (繁體中文)
# Install dependencies
npm install
# Start development server
npm run dev
# Visit http://localhost:8080# Build for production
npm run build
# Output will be in docs/.vuepress/dist/site/
├── docs/
│ ├── .vuepress/
│ │ └── config.ts # VuePress configuration
│ ├── posts/ # Blog posts (migrated from Sculpin)
│ │ └── *.md # Individual posts
│ ├── about/ # About page
│ └── README.md # Homepage
├── scripts/
│ └── migrate-posts.js # Migration script (Sculpin → VuePress)
├── .github/
│ └── workflows/
│ └── deploy.yml # GitHub Actions workflow
└── package.json
Blog posts are located in docs/article/.
---
title: Your Post Title
date: YYYY-MM-DD
tags:
- tag1
- tag2
---
Your content here...Files should follow: YYYY-MM-DD-title.md
Example: 2024-01-15-my-awesome-post.md
This blog was migrated from Sculpin (PHP static site generator) to VuePress.
- ✅ All blog posts from
source/_posts/ - ✅ Original post dates and titles
- ✅ Post categories (converted to tags)
- ❌ Old Sculpin configuration removed
- ❌ PHP deployment scripts removed (replaced with GitHub Actions)
- ✅ New VuePress configuration
- ✅ Automated deployment via GitHub Actions
# Re-run migration if needed
npm run migrateDeployment is fully automated using GitHub Actions.
- Push to
masterbranch - GitHub Actions triggers (
.github/workflows/deploy.yml) - Build VuePress site (
npm run build) - Deploy to
nickshek/nickshek.github.io(GitHub Pages)
# Build
npm run build
# Manually copy to nickshek.github.io repo
cp -r docs/.vuepress/dist/* ../nickshek.github.io/
# Commit and push
cd ../nickshek.github.io
git add .
git commit -m "Deploy: $(date +'%Y-%m-%d %H:%M:%S')"
git pushvuepress- Static site generator@vuepress/bundler-vite- Vite bundler for faster builds@vuepress/theme-default- Default VuePress theme@vuepress/plugin-blog- Blog plugin (for future use)
# Install dependencies
npm install
# Update dependencies
npm update
# Check outdated packages
npm outdatedMIT License
Copyright (c) 2014-2026 Nick Shek
- GitHub: @nickshek
- Website: nickshek.github.io
- ✅ Migrated from Sculpin to VuePress
- ✅ Automated deployment with GitHub Actions
- ✅ Migrated 33 blog posts
- ✅ New homepage and about page
- ✅ Modern UI with VuePress default theme
- Original Sculpin-based blog
- Manual deployment via
deploy.php - PHP-based static site generation
Built with ❤️ using VuePress