Docusaurus ๊ธฐ๋ฐ์ ๊ฐ๋ฐ ๋ธ๋ก๊ทธ์ ๋ฌธ์ ์ฌ์ดํธ์ ๋๋ค. llms.txt ์๋ ์์ฑ ๊ธฐ๋ฅ์ ํฌํจํ์ฌ AI ์นํ์ ์ธ ์ฝํ ์ธ ์ ๊ณต์ ์ง์ํฉ๋๋ค.
- ๐ ๋ฌธ์ ์์คํ - ์ฒด๊ณ์ ์ธ ๊ธฐ์ ๋ฌธ์ ๊ด๋ฆฌ
- โ๏ธ ๋ธ๋ก๊ทธ - ๊ฐ๋ฐ ๊ฒฝํ๊ณผ ์ง์ ๊ณต์
- ๐ ๊ฒ์ ๊ธฐ๋ฅ - Algolia ๊ฒ์ ์ง์
- ๐ ๋คํฌ ๋ชจ๋ - ์ฌ์ฉ์ ์ ํธ๋์ ๋ฐ๋ฅธ ํ ๋ง
- ๐ ๋ค๊ตญ์ด ์ง์ - ํ๊ตญ์ด/์์ด ์ง์
- ๐ค llms.txt - LLM ์นํ์ ์ฝํ ์ธ ์ ๊ณต
- ๐ฑ ๋ฐ์ํ ๋์์ธ - ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์๋ฒฝํ ๊ฒฝํ
- โก ๋น ๋ฅธ ์ฑ๋ฅ - ์ต์ ํ๋ ์ ์ ์ฌ์ดํธ
- Node.js 18.0 ์ด์
- npm ๋๋ yarn
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-namenpm installnpm start๋ธ๋ผ์ฐ์ ์์ http://localhost:3000์ ์ด๋ฉด ์ฌ์ดํธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
my-dev-blog/
โโโ blog/ # ๋ธ๋ก๊ทธ ํฌ์คํธ (๋งํฌ๋ค์ด)
โ โโโ 2024-01-01-welcome.md
โ โโโ 2024-01-15-langgraph-tutorial.md
โโโ docs/ # ๋ฌธ์ (๋งํฌ๋ค์ด)
โ โโโ intro.md
โ โโโ tutorial/
โ โ โโโ getting-started.md
โ โ โโโ installation.md
โ โ โโโ first-project.md
โ โโโ guides/
โ โโโ api/
โโโ src/
โ โโโ components/ # React ์ปดํฌ๋ํธ
โ โโโ css/ # ์ปค์คํ
์คํ์ผ
โ โโโ pages/ # ์ปค์คํ
ํ์ด์ง
โโโ static/
โ โโโ img/ # ์ด๋ฏธ์ง ํ์ผ
โ โโโ llms.txt # ์๋ ์์ฑ๋จ
โโโ scripts/
โ โโโ generate-llms.js # llms.txt ์์ฑ ์คํฌ๋ฆฝํธ
โโโ docusaurus.config.js # ๋ฉ์ธ ์ค์ ํ์ผ
โโโ sidebars.js # ์ฌ์ด๋๋ฐ ์ค์
โโโ package.json
blog/ ๋๋ ํ ๋ฆฌ์ ์ ๋งํฌ๋ค์ด ํ์ผ์ ์์ฑํฉ๋๋ค:
<!-- blog/2024-01-20-my-post.md -->
---
slug: my-first-post
title: ๋ด ์ฒซ ๋ธ๋ก๊ทธ ํฌ์คํธ
authors:
name: Your Name
title: Developer
url: https://github.com/your-username
image_url: https://github.com/your-username.png
tags: [javascript, tutorial]
---
# ํฌ์คํธ ์ ๋ชฉ
ํฌ์คํธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ํ์๋ ๋ด์ฉ...
<!-- truncate -->
์ฌ๊ธฐ๋ถํฐ๋ "๋ ์ฝ๊ธฐ" ํด๋ฆญ ํ ๋ณด์ด๋ ๋ด์ฉ์
๋๋ค.
## ์น์
1
๋ด์ฉ...
```javascript
// ์ฝ๋ ์์
const greeting = "Hello, World!";
console.log(greeting);
### ๋ฌธ์ ์์ฑ
`docs/` ๋๋ ํ ๋ฆฌ์ ์ ๋งํฌ๋ค์ด ํ์ผ์ ์์ฑํฉ๋๋ค:
```markdown
<!-- docs/my-doc.md -->
---
sidebar_position: 1
---
# ๋ฌธ์ ์ ๋ชฉ
๋ฌธ์ ๋ด์ฉ...
## ์ฃผ์ ๊ฐ๋
์ค๋ช
...
:::tip ์ ์ฉํ ํ
์ด๋ ๊ฒ ํ์ ์ถ๊ฐํ ์ ์์ต๋๋ค!
:::
:::warning ์ฃผ์์ฌํญ
์ฃผ์ํด์ผ ํ ๋ด์ฉ์ ๊ฐ์กฐํ ์ ์์ต๋๋ค.
:::
:::info ์ ๋ณด
์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
:::
docusaurus.config.js ํ์ผ์ ์ด๊ณ ๋ค์ ํญ๋ชฉ๋ค์ ์์ ํ์ธ์:
const config = {
title: '์ฌ๊ธฐ์ ์ฌ์ดํธ ์ ๋ชฉ',
tagline: '์ฌ๊ธฐ์ ํ๊ทธ๋ผ์ธ',
url: 'https://your-username.github.io',
organizationName: 'your-username',
projectName: 'your-repo-name',
// ...
};docusaurus.config.js์ navbar ์น์
์ ์์ ํฉ๋๋ค:
navbar: {
title: '์ฌ์ดํธ ์ด๋ฆ',
items: [
{to: '/docs/intro', label: '๋ฌธ์', position: 'left'},
{to: '/blog', label: '๋ธ๋ก๊ทธ', position: 'left'},
// ๋ ๋ง์ ๋ฉ๋ด ํญ๋ชฉ ์ถ๊ฐ...
],
}sidebars.js ํ์ผ์ ์์ ํ์ฌ ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ์ปค์คํฐ๋ง์ด์งํ ์ ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋น๋ ์ ์๋์ผ๋ก llms.txt ํ์ผ์ ์์ฑํฉ๋๋ค.
npm run generate:llms์์ฑ๋ ํ์ผ์ static/llms.txt์ ์ ์ฅ๋๋ฉฐ, ๋น๋ ํ https://yoursite.com/llms.txt์์ ์ ๊ทผํ ์ ์์ต๋๋ค.
scripts/generate-llms.js ํ์ผ์ ์์ ํ์ฌ llms.txt ์์ฑ ๋ฐฉ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- GitHub ์ ์ฅ์ ์ค์
# ์ ์ฅ์ ์์ฑ ํ
git remote add origin https://github.com/your-username/your-repo-name.git
git branch -M main
git push -u origin main-
GitHub Pages ์ค์
- GitHub ์ ์ฅ์ โ Settings โ Pages
- Source๋ฅผ "GitHub Actions"๋ก ์ ํ
-
์๋ ๋ฐฐํฌ
.github/workflows/deploy.ymlํ์ผ์ด ์ด๋ฏธ ํฌํจ๋์ด ์์ต๋๋ค- main ๋ธ๋์น์ pushํ๋ฉด ์๋์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค
git add .
git commit -m "Update content"
git push# docusaurus.config.js์์ ์ค์ ํ์ธ ํ
npm run build
npm run deploy- Vercel์ ๊ฐ์
- GitHub ์ ์ฅ์ ์ฐ๊ฒฐ
- ์๋์ผ๋ก ๋ฐฐํฌ๋จ (์ค์ ๋ถํ์)
- Netlify์ ๊ฐ์
- GitHub ์ ์ฅ์ ์ฐ๊ฒฐ
- Build command:
npm run build - Publish directory:
build
- Algolia DocSearch์์ ์ ์ฒญ
- ์น์ธ๋๋ฉด API ํค๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค
docusaurus.config.js์algolia์น์ ์ API ํค ์ ๋ ฅ:
algolia: {
appId: 'YOUR_APP_ID',
apiKey: 'YOUR_SEARCH_API_KEY',
indexName: 'YOUR_INDEX_NAME',
},- Google Analytics์์ ๊ณ์ ์์ฑ
- ์ธก์ ID (G-XXXXXXXXXX) ๋ฐ๊ธฐ
docusaurus.config.js์ ์ถ๊ฐ:
gtag: {
trackingID: 'G-XXXXXXXXXX',
anonymizeIP: true,
},src/css/custom.css ํ์ผ์ ์์ ํฉ๋๋ค:
:root {
--ifm-color-primary: #2e8555;
--ifm-color-primary-dark: #29784c;
/* ๋ ๋ง์ ์์... */
}static/img/ ๋๋ ํ ๋ฆฌ์ ๋ก๊ณ ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ๊ณ docusaurus.config.js์์ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
# ๊ฐ๋ฐ ์๋ฒ ์คํ
npm start
# ํ๋ก๋์
๋น๋
npm run build
# ๋น๋๋ ์ฌ์ดํธ ๋ก์ปฌ์์ ํ์ธ
npm run serve
# llms.txt ์์ฑ
npm run generate:llms
# ์บ์ ์ ๋ฆฌ
npm run clear
# GitHub Pages์ ๋ฐฐํฌ
npm run deploy# ๋ค๋ฅธ ํฌํธ๋ก ์คํ
npm start -- --port 3001# ์บ์์ node_modules ์ญ์ ํ ์ฌ์ค์น
npm run clear
rm -rf node_modules package-lock.json
npm install
npm run build# scripts ๋๋ ํ ๋ฆฌ ํ์ธ
ls scripts/
# ์๋์ผ๋ก ์์ฑ ์คํฌ๋ฆฝํธ ์คํ
node scripts/generate-llms.js- GitHub Issues - ๋ฒ๊ทธ ๋ฆฌํฌํธ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ
- GitHub Discussions - ์ง๋ฌธ ๋ฐ ํ ๋ก
MIT License - ์์ ๋กญ๊ฒ ์ฌ์ฉ, ์์ , ๋ฐฐํฌํ ์ ์์ต๋๋ค.
- Docusaurus - ์ด ๋ฉ์ง ํ๋ ์์ํฌ๋ฅผ ๋ง๋ค์ด์ฃผ์ Meta ํ์๊ฒ
- Algolia - ๋ฌด๋ฃ ๊ฒ์ ์๋น์ค ์ ๊ณต
โญ ์ด ํ๋ก์ ํธ๊ฐ ๋์์ด ๋์ จ๋ค๋ฉด GitHub์์ Star๋ฅผ ๋๋ฌ์ฃผ์ธ์!
๐ง ๋ฌธ์: your-email@example.com
๐ ์น์ฌ์ดํธ: https://your-username.github.io