Skip to content

Latest commit

Β 

History

History
161 lines (115 loc) Β· 3.95 KB

File metadata and controls

161 lines (115 loc) Β· 3.95 KB

cheeyi.me

My personal website and blog, built with Astro. Previously built with Jekyll, migrated to Astro in November 2025 for better performance and modern tooling.

🚨 Prerequisites

Node.js v18.20.8+ or Node.js v20+ required

# Check your Node version
node --version

# If needed, upgrade Node (using nvm)
nvm install 20
nvm use 20

πŸš€ Quick Start

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

The dev server runs at http://localhost:4321/

πŸ“ Creating New Blog Posts

Step-by-Step Guide

  1. Create a new file in src/content/blog/:
    • Use .md for standard posts.
    • Use .mdx if you need to use components (like <GithubRepoCard />) inside the post.
# Example
touch src/content/blog/my-new-post.mdx
  1. Add front matter at the top:
---
title: "Your Post Title"
pubDate: 2025-11-20T12:00:00+08:00
categories: tech  # or "random"
description: "A brief description for SEO"
---

Your post content starts here...
  1. Write content using Markdown/MDX:
    • Code blocks with syntax highlighting
    • Images: ![Alt text](../../assets/my-image.jpg) (Relative path to src/assets allows Astro to optimize images)
    • Links: [text](url)

Example Blog Post

---
title: "Building a Modern Web App"
pubDate: 2025-11-20T14:30:00+08:00
categories: tech
description: "My experience building a web app with Astro and TypeScript."
---

## Introduction

This is my new blog post...

## Code Example

```typescript
const greet = (name: string) => {
  console.log(`Hello, ${name}!`);
};
```\`

![My screenshot](../../assets/screenshot.png)

πŸš€ Deployment

Automatic Deployment

This site automatically deploys to GitHub Pages when pushed to main:

git add .
git commit -m "Add new blog post"
git push origin main

Monitor Deployment

  1. Go to Actions tab: https://github.com/cheeyi/cheeyi.github.io/actions
  2. Watch "Deploy to GitHub Pages" workflow (~1-2 min)
  3. Visit https://cheeyi.me when complete

GitHub Pages Setup (Already Configured)

  • Source: GitHub Actions
  • Custom domain: cheeyi.me (configured via CNAME file)

πŸ›  Tech Stack

  • Framework: Astro
  • Language: TypeScript
  • Styling: CSS with custom properties
  • Syntax Highlighting: Shiki
  • Deployment: GitHub Pages via GitHub Actions
  • Package Manager: npm
  • Node Version: 20+

🧞 Commands

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build production site to ./dist/
npm run preview Preview build locally before deploying
npm run astro Run Astro CLI commands

πŸ“Š Features

  • βœ… Blog with syntax highlighting and MDX support
  • βœ… RSS Feed at /rss.xml
  • βœ… Sitemap automatically generated
  • βœ… SEO Optimized with meta tags
  • βœ… Fast Performance (Zero JS by default)
  • βœ… Mobile Responsive design
  • βœ… TypeScript for type safety
  • βœ… Automatic Deployments via GitHub Actions

πŸ“š Resources

πŸ“œ License

MIT License


Live Site: cheeyi.me Built with: Astro Migrated from: Jekyll (November 2025)