- Language: TypeScript v5 + MDX v3
- Component engine: Next.js v15
- Component suite: Bootstrap v5
- PWA framework: Workbox v6
- State management: MobX v6
- CI / CD: GitHub Actions + Vercel
- Monitor service: Sentry
- Markdown articles
- Editor components
- Pagination table
- Scroll list
- Not Found page (NGO)
- Global: https://notfound.org/
- Chinese: https://www.dnpw.org/cn/pa-notfound.html
请务必先做好数据子库的准备!
# 若网速慢,可启用以下环境变量
# GIT_LFS_SKIP_SMUDGE=1
git clone --recurse-submodules \
https://github.com/FreeCodeCamp-Chengdu/FreeCodeCamp-Chengdu.github.io.git \
~/Desktop/FCC-CDC/OWS/
cd ~/Desktop/FCC-CDC/OWS/
npm i pnpm -g
pnpm i && pnpm dev
cd ~/Desktop/FCC-CDC/OWS/pages/article/Wiki
git checkout master # 确保子模块在 master 分支,否则提交推送后会丢失
touch _post/My-Post-title.md
code _post/My-Post-title.md # 用你喜欢的文本编辑器写作
git add .
git commit -m "[add] A new Post"
git push
cd ~/Desktop/FCC-CDC/OWS/
git submodule update --remote # 程序开发后要同步文章目录
git checkout -b feature/My-Feature
touch pages/my-page.tsx
code pages/my-page.tsx # 用你喜欢的 IDE 开发
git add .
git commit -m "[add] A new Feature"
git push -u origin feature/My-Feature
-
Install GitHub apps in your organization or account:
- Probot settings: set up Issue labels & Pull Request rules
- PR badge: set up Online VS Code editor entries in Pull Request description
-
Click the Use this template button on the top of this GitHub repository's home page, then create your own repository in the app-installed namespace above
-
Click the Open in GitHub codespaces button on the top of ReadMe file, then an online VS Code development environment will be started immediately
-
Set Vercel variables & Lark chat bot URL as Repository secrets, then every commit will send a Lark message with an independent Preview URL
-
Remind the PMs & users of your product to submit Feature/Enhancement requests or Bug reports with Issue forms instead of IM messages or Mobile Phone calls
-
Collect all these issues into Project kanbans, then create Pull requests & add
closes #issue_number
into its description for automation
First, run the development server:
npm i pnpm -g
pnpm dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying pages/index.tsx
. The page auto-updates as you edit the file.
API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts
.
The pages/api
directory is mapped to /api/*
. Files in this directory are treated as API routes instead of React pages.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
name | file | description |
---|---|---|
SENTRY_AUTH_TOKEN |
.env.local |
Official document |
SENTRY_ORG |
.env |
Official document |
SENTRY_PROJECT |
.env |
Official document |
NEXT_PUBLIC_SENTRY_DSN |
.env |
Official document |
LARK_APP_ID |
.env.local |
Official document |
LARK_APP_SECRET |
.env.local |
Official document |
NEXT_PUBLIC_CACHE_HOST |
.env |
Static files CDN for Lark |
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
pnpm pack-image
pnpm container