Skip to content

Latest commit

 

History

History
172 lines (132 loc) · 3.71 KB

README.md

File metadata and controls

172 lines (132 loc) · 3.71 KB

Zero - A Personal Blog & Portfolio

Zero Logo

Stars Forks Issues License

A modern, elegant personal blog and portfolio built with Next.js, TypeScript, and Tailwind CSS. Features include blog posts, LeetCode solutions, project showcases, photo albums, and more.

Features

  • 🚀 Built with Next.js 15 and TypeScript
  • 💅 Styled with Tailwind CSS and Rose Pine theme
  • 📝 MDX support for blog posts and documentation
  • 🔍 Full-text search with kbar
  • 🌓 Dark/Light mode support
  • 📱 Responsive design
  • 📊 GitHub integration
  • 📷 Photo album gallery
  • 🔗 RSS feed support
  • 🗺️ Sitemap generation

Tech Stack

  • Framework: Next.js 15
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Content: MDX with Content Collections
  • Deployment: Vercel/Cloudflare

Project Structure

zero/
├── app/                # Next.js app directory
│   ├── blog/          # Blog pages
│   ├── leetcode/      # LeetCode solutions
│   ├── projects/      # Project showcase
│   └── album/         # Photo gallery
├── components/         # React components
├── lib/               # Utility functions and constants
├── styles/            # Global styles
├── public/            # Static files
│   └── blog/          # Blog content (synced from external repo)
└── content/           # Content collections configuration

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm/npm/yarn/bun
  • GitHub Personal Access Token (for GitHub integration)
  • WakaTime API Key (optional, for coding stats)

Installation

  1. Clone the repository:
git clone https://github.com/chanshiyucx/zero.git
cd zero
  1. Install dependencies:
pnpm install
# or
npm install
# or
yarn install
# or
bun install
  1. Set up environment variables:

Create a .env file in the root directory with the following variables:

# Required for GitHub integration
GITHUB_TOKEN=your_github_token

# Optional for WakaTime integration
WAKATIME_API_KEY=your_wakatime_api_key
  1. Sync blog content:
pnpm predev
# or
npm run predev
  1. Start the development server:
pnpm dev
# or
npm run dev
# or
yarn dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

Building for Production

To create a production build:

pnpm build
# or
npm run build
# or
yarn build
# or
bun run build

Then start the production server:

pnpm start
# or
npm start
# or
yarn start
# or
bun start

Contributing

Contributions are always welcome! Please feel free to open an issue or create a pull request.

License

This project is MIT licensed.

Copyright © 2024 Reverie (蝉時雨)

Star History

Star History Chart


Made with ❤️ by Reverie