ddadaal.me (previously VicBlog) is the personal website of ddadaal.
Currently it is built with Next.js and statically exported.
- Static website with modern web technologies
- Styled using plain HTML and CSS to style with 12 themes to choose
- Layout and data logic built from scratch
- Synchronous & Native Search using minisearch
- Custom and fully-controlled markdown to HTML processing using remark and rehype
- Code Syntax Highlight using rehype-pretty-code
- Auto generated RSS Feed at /rss.xml
- Support multiple languages (Chinese & English) and dynamically changing languages
- Articles written on markdown; Source code and contents separated
- Auto generated slide directory using GitHub API on every build
- AI Features
- Article Summary Powered by Azure AI Language Service
- Next.js: The React framework
- TypeScript: the new go-to for any JavaScript projects
- Tailwind: Build beautiful website using just HTML
- daisyui: Simple Tailwind based UI component library without any JS
- react-typed-i18n: a self-made dynamic and strongly-typed i18n library utilizing TypeScript's Template Literal Types
- gitalk: a comment system that works out of box
- react-icons: extremely abundant but easy-to-use icon library for React
- ESLint: Linter
- editorconfig: unify code editor preferences
- GitHub Pages: free and popular static website host
- GitHub Actions: CI/CD built directly into the repo!
We are using pnpm for package management.
Notice: If an environment variable is named GITHUB_TOKEN
, it will be used to authenticate GitHub requests to fetch slides (to get higher rate limit for CI). If it does not exist, an anonymous request is used, which is adequate for local development.
# install dependencies
pnpm install
# serve with hot reload at localhost:8000
pnpm dev
# run production build
pnpm build
# **After build**, serve the production build locally
pnpm serve
MIT