Skip to content

chanshiyucx/zero

Repository files navigation

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

About

🏑 My corner of internet, Personal Homepage.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published