Next.js ๊ธฐ๋ฐ ์ ์ ๋ธ๋ก๊ทธ์
๋๋ค. ๊ฐ์ธ KNOWLEDGE_BASE์ Markdown ์ค publish: true ๋ฌธ์๋ง ๋น๋ ์ exportํด์ GitHub Pages์ ๋ฐฐํฌํฉ๋๋ค.
- KNOWLEDGE_BASE Markdown ๊ธฐ๋ฐ ์ฝํ ์ธ ํ์ดํ๋ผ์ธ
- GFM, GitHub alert, KaTeX, Mermaid, wikilink ๋ ๋๋ง
- ์ ์ export ๊ธฐ๋ฐ GitHub Pages ๋ฐฐํฌ
- Tailwind CSS v4์ CSS variable ๊ธฐ๋ฐ ํ ๋ง
- Vitest์ ๋น๋/๋งํฌ/HTML smoke ํ๋ค์ค
bun install
bun run dev๋ธ๋ผ์ฐ์ ์์ http://localhost:3000์ ์ฝ๋๋ค.
๋ก์ปฌ์์๋ KNOWLEDGE_BASE_PATH๋ก KNOWLEDGE_BASE ๋ฃจํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
KNOWLEDGE_BASE_PATH=/path/to/KNOWELDGE_BASE bun run build:content๊ธฐ๋ณธ ํ๋ณด์๋ .cache/knowledge-base/KNOWELDGE_BASE, .cache/knowledge-base/KNOWLEDGE_BASE, ๋ ํฌ ์์์ KNOWLEDGE_BASE/KNOWELDGE_BASE๊ฐ ํฌํจ๋ฉ๋๋ค. private GitHub KNOWLEDGE_BASE(R3gardless/KNOWLEDGE_BASE)๋ฅผ ๋ก์ปฌ ์บ์์ ๋๊ธฐํํ๋ ค๋ฉด ์ธ์ฆ ๊ฐ๋ฅํ git ํ๊ฒฝ์์ ์คํํฉ๋๋ค.
bun run sync:knowledge-basebun run verify # ์ ์ฒด ๊ฒ์ดํธ
bun run build # ์ ์ ์ฌ์ดํธ ๋น๋
bun run export # build ํ out/.nojekyll ์์ฑ
bun run build:content # KNOWLEDGE_BASE -> content/public export
bun run build:meta # content -> public/data/postMeta.json
bun run check-links # ๋งํฌ/์ด๋ฏธ์ง ๊ฒ์ดํธ
bun run smoke:out # out/ HTML smoke- PR:
.github/workflows/ci.yml์์lint-build์unit-testrequired check๋ฅผ ์คํํฉ๋๋ค.lint-build๋ private KNOWLEDGE_BASE checkout ํ ํ์ /๋ฆฐํธ/ํฌ๋งท/build/content/link/smoke ๊ฒ์ดํธ๋ฅผ ์คํํ๊ณ ,unit-test๋bun run test:unit:run์ ์คํํฉ๋๋ค. - main:
.github/workflows/deploy.yml์์ private KNOWLEDGE_BASE checkout,verify,.nojekyll, GitHub Pages ๋ฐฐํฌ - private KNOWLEDGE_BASE checkout์๋ repository secret
KNOWLEDGE_BASE_TOKEN์ด ํ์ํฉ๋๋ค. - ์๋ ๋ณํฉ ์ํฌํ๋ก์ฐ๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.