Skip to content

namyoungkim/namyoungkim.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ & ๋ฌธ์„œ ์‚ฌ์ดํŠธ

Docusaurus ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ์™€ ๋ฌธ์„œ ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค. llms.txt ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์—ฌ AI ์นœํ™”์ ์ธ ์ฝ˜ํ…์ธ  ์ œ๊ณต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ“š ๋ฌธ์„œ ์‹œ์Šคํ…œ - ์ฒด๊ณ„์ ์ธ ๊ธฐ์ˆ  ๋ฌธ์„œ ๊ด€๋ฆฌ
  • โœ๏ธ ๋ธ”๋กœ๊ทธ - ๊ฐœ๋ฐœ ๊ฒฝํ—˜๊ณผ ์ง€์‹ ๊ณต์œ 
  • ๐Ÿ” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ - Algolia ๊ฒ€์ƒ‰ ์ง€์›
  • ๐ŸŒ“ ๋‹คํฌ ๋ชจ๋“œ - ์‚ฌ์šฉ์ž ์„ ํ˜ธ๋„์— ๋”ฐ๋ฅธ ํ…Œ๋งˆ
  • ๐ŸŒ ๋‹ค๊ตญ์–ด ์ง€์› - ํ•œ๊ตญ์–ด/์˜์–ด ์ง€์›
  • ๐Ÿค– llms.txt - LLM ์นœํ™”์  ์ฝ˜ํ…์ธ  ์ œ๊ณต
  • ๐Ÿ“ฑ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ - ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ์™„๋ฒฝํ•œ ๊ฒฝํ—˜
  • โšก ๋น ๋ฅธ ์„ฑ๋Šฅ - ์ตœ์ ํ™”๋œ ์ •์  ์‚ฌ์ดํŠธ

๐Ÿ“‹ ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ

  • Node.js 18.0 ์ด์ƒ
  • npm ๋˜๋Š” yarn

๐Ÿ› ๏ธ ์„ค์น˜ ๋ฐฉ๋ฒ•

1๋‹จ๊ณ„: ์ €์žฅ์†Œ ํด๋ก 

git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name

2๋‹จ๊ณ„: ์˜์กด์„ฑ ์„ค์น˜

npm install

3๋‹จ๊ณ„: ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰

npm 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 ์ž๋™ ์ƒ์„ฑ

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋นŒ๋“œ ์‹œ ์ž๋™์œผ๋กœ llms.txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋™ ์ƒ์„ฑ

npm run generate:llms

์ƒ์„ฑ๋œ ํŒŒ์ผ์€ static/llms.txt์— ์ €์žฅ๋˜๋ฉฐ, ๋นŒ๋“œ ํ›„ https://yoursite.com/llms.txt์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค์Šคํ„ฐ๋งˆ์ด์ง•

scripts/generate-llms.js ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ llms.txt ์ƒ์„ฑ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿš€ ๋ฐฐํฌํ•˜๊ธฐ

GitHub Pages์— ๋ฐฐํฌ

๋ฐฉ๋ฒ• 1: GitHub Actions (์ž๋™ ๋ฐฐํฌ) - ๊ถŒ์žฅ

  1. GitHub ์ €์žฅ์†Œ ์„ค์ •
# ์ €์žฅ์†Œ ์ƒ์„ฑ ํ›„
git remote add origin https://github.com/your-username/your-repo-name.git
git branch -M main
git push -u origin main
  1. GitHub Pages ์„ค์ •

    • GitHub ์ €์žฅ์†Œ โ†’ Settings โ†’ Pages
    • Source๋ฅผ "GitHub Actions"๋กœ ์„ ํƒ
  2. ์ž๋™ ๋ฐฐํฌ

    • .github/workflows/deploy.yml ํŒŒ์ผ์ด ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค
    • main ๋ธŒ๋žœ์น˜์— pushํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค
git add .
git commit -m "Update content"
git push

๋ฐฉ๋ฒ• 2: ์ˆ˜๋™ ๋ฐฐํฌ

# docusaurus.config.js์—์„œ ์„ค์ • ํ™•์ธ ํ›„
npm run build
npm run deploy

Vercel์— ๋ฐฐํฌ

  1. Vercel์— ๊ฐ€์ž…
  2. GitHub ์ €์žฅ์†Œ ์—ฐ๊ฒฐ
  3. ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋จ (์„ค์ • ๋ถˆํ•„์š”)

Netlify์— ๋ฐฐํฌ

  1. Netlify์— ๊ฐ€์ž…
  2. GitHub ์ €์žฅ์†Œ ์—ฐ๊ฒฐ
  3. Build command: npm run build
  4. Publish directory: build

๐Ÿ” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์„ค์ • (์„ ํƒ์‚ฌํ•ญ)

Algolia DocSearch ์‹ ์ฒญ

  1. Algolia DocSearch์—์„œ ์‹ ์ฒญ
  2. ์Šน์ธ๋˜๋ฉด API ํ‚ค๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค
  3. docusaurus.config.js์˜ algolia ์„น์…˜์— API ํ‚ค ์ž…๋ ฅ:
algolia: {
  appId: 'YOUR_APP_ID',
  apiKey: 'YOUR_SEARCH_API_KEY',
  indexName: 'YOUR_INDEX_NAME',
},

๐Ÿ“Š Google Analytics ์„ค์ • (์„ ํƒ์‚ฌํ•ญ)

  1. Google Analytics์—์„œ ๊ณ„์ • ์ƒ์„ฑ
  2. ์ธก์ • ID (G-XXXXXXXXXX) ๋ฐ›๊ธฐ
  3. 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

llms.txt๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

# 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •