CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

์ปค๋ฐ‹ ๊ทœ์น™

์œ ์ € ๋ ˆ๋ฒจ ์ปค๋ฐ‹ ๊ทœ์น™ ๋Œ€์‹  ์ด ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

ํ˜•์‹: {type}: {ํ•œ๊ตญ์–ด ์„ค๋ช…}

ํƒ€์ž…์šฉ๋„
post์ƒˆ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ์ž‘์„ฑ
customํ…Œ๋งˆ/๊ธฐ๋Šฅ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
etc์—ฌํ–‰ ํŽ˜์ด์ง€, ๊ธฐํƒ€ ์ฝ˜ํ…์ธ 
fix๋ฒ„๊ทธ/์˜ค๋ฅ˜ ์ˆ˜์ •

์˜ˆ์‹œ: post: ์กฐ์ธ๊ณผ ์ธ๋ฑ์Šค์— ๋Œ€ํ•˜์—ฌ, custom: ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

๋ช…๋ น์–ด

๋กœ์ปฌ ๊ฐœ๋ฐœ

bundle exec jekyll serve
bundle exec jekyll serve --livereload   # ์ €์žฅ ์‹œ ์ž๋™ ๋ฐ˜์˜

๋นŒ๋“œ๋งŒ ํ•  ๋•Œ

bundle exec jekyll build

์ดˆ๊ธฐ ์„ธํŒ… (gem ๋ฏธ์„ค์น˜ ์‹œ)

bundle install
# M2/M3 Mac posix-spawn ์˜ค๋ฅ˜ ์‹œ:
bundle config build.posix-spawn --with-cflags="-Wno-incompatible-function-pointer-types"
bundle install

๋กœ์ปฌ ์„œ๋ฒ„๋Š” http://localhost:4000์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜

Hydejack v9 ํ…Œ๋งˆ ๊ธฐ๋ฐ˜์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ ๋ฐ ์—ฌํ–‰ ๊ฐ€์ด๋“œ ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค. ํ…Œ๋งˆ๋ฅผ ์ƒ๋‹น ๋ถ€๋ถ„ ์ปค์Šคํ…€ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜ํ…์ธ  ์œ ํ˜•

  • ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ: _posts/blog/YYYY-MM-DD-slug.md โ€” ํ‘œ์ค€ Jekyll ํฌ์ŠคํŠธ. front matter์— layout: post, category: blog, tags, image, comments ์‚ฌ์šฉ.
  • ๋…๋ฆฝ ์—ฌํ–‰ ํŽ˜์ด์ง€: danang/index.html, shanghai/index.html โ€” Jekyll ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋…๋ฆฝ HTML ํŒŒ์ผ. noindex ์ฒ˜๋ฆฌ๋˜์–ด ๊ฒ€์ƒ‰์—”์ง„์— ๋…ธ์ถœ๋˜์ง€ ์•Š์Œ.
  • ๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ: assets/sitedata.json โ€” Jekyll์ด Liquid ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ํŒŒ์ผ. ์ „์ฒด ํฌ์ŠคํŠธ ๋ชฉ๋ก(title, url, tags, description, date)์„ JSON ๋ฐฐ์—ด๋กœ ์ƒ์„ฑ. ํด๋ผ์ด์–ธํŠธ ๊ฒ€์ƒ‰์—์„œ ์‚ฌ์šฉ.

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

Hydejack์ด ๋ฒ ์ด์Šค ํ…Œ๋งˆ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ปค์Šคํ…€ ๋‚ด์šฉ์€ ์•„๋ž˜ ํŒŒ์ผ์— ์ง‘์ค‘๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • _includes/body/menu.html โ€” ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ์ „์ฒด. ์‚ฌ์ด๋“œ๋ฐ” ํ† ๊ธ€, TOC ํ† ๊ธ€, ๊ฒ€์ƒ‰ ํ† ๊ธ€ ๋ฒ„ํŠผ๊ณผ ๊ฒ€์ƒ‰ ์˜ค๋ฒ„๋ ˆ์ด UI/JS๊ฐ€ ๋ชจ๋‘ ์—ฌ๊ธฐ์— ์ธ๋ผ์ธ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ. โŒ˜K ๋‹จ์ถ•ํ‚ค ํฌํ•จ.
  • _sass/my-style.scss โ€” ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋†’์ด, ์ปค์Šคํ…€ ๋ฒ„ํŠผ, ๊ฒ€์ƒ‰ ์˜ค๋ฒ„๋ ˆ์ด, TOC ์Šคํƒ€์ผ ๋“ฑ SCSS ์˜ค๋ฒ„๋ผ์ด๋“œ.
  • _includes/my-scripts.html โ€” ์ถ”๊ฐ€ <script> ํƒœ๊ทธ ์ฃผ์ž… ํฌ์ธํŠธ (ํ˜„์žฌ sidebar-folder.js ๋กœ๋“œ ์ค‘).
  • _includes/my-comments.html โ€” ์ปค์Šคํ…€ ๋Œ“๊ธ€ ์„น์…˜ ์ฃผ์ž… ํฌ์ธํŠธ.
  • _data/ โ€” authors.yml, social.yml, strings.yml, variables.yml ๋“ฑ ์‚ฌ์ดํŠธ ์ „์—ญ ๋ฐ์ดํ„ฐ.

๊ฒ€์ƒ‰

ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์ „์šฉ. ๊ฒ€์ƒ‰์ฐฝ์„ ์ฒ˜์Œ ์—ด ๋•Œ /assets/sitedata.json์„ ๋น„๋™๊ธฐ๋กœ fetchํ•ฉ๋‹ˆ๋‹ค. site.posts๋งŒ ์ธ๋ฑ์‹ฑ๋˜๋ฏ€๋กœ ๋…๋ฆฝ ํŽ˜์ด์ง€(danang/, shanghai/)๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํผ๋งˆ๋งํฌ ๊ตฌ์กฐ

/:categories/:year-:month-:day-:title/

_posts/blog/ ํฌ์ŠคํŠธ๋Š” /blog/YYYY-MM-DD-slug/๋กœ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค.

ํƒœ๊ทธ ๋ฐ ์นดํ…Œ๊ณ ๋ฆฌ

  • ์นดํ…Œ๊ณ ๋ฆฌ: _featured_categories/์— ์ •์˜ (์˜ˆ: blog.md)
  • ํƒœ๊ทธ: _featured_tags/์— ์ •์˜ (์˜ˆ: react.md, aws.md). ํƒœ๊ทธ ํŽ˜์ด์ง€๋Š” /tag-{slug}/๋กœ ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ยฉ 2023. All rights reserved.

Powered by Hydejack v9.1.6