| name | static-site-generator |
| description | Build a markdown-based static site generator with zero dependencies. Use when implementing a blog generator, markdown-to-HTML converter, static site build pipeline, or template engine from scratch using pure Node.js. |
Static Site Generator
๋ชจ๋ ์ํคํ
์ฒ
bin/
blog.js - CLI ์ํธ๋ฆฌํฌ์ธํธ
src/
builder.js - ๋น๋ ์ค์ผ์คํธ๋ ์ดํฐ
markdown.js - ๋งํฌ๋ค์ด->HTML ๋ณํ๊ธฐ
frontmatter.js - YAML frontmatter ํ์
highlight.js - ์ฝ๋ ๊ตฌ๋ฌธ ํ์ด๋ผ์ดํ
template.js - ํ
ํ๋ฆฟ ์์ง ({{var}}, {{#each}}, {{#if}})
new-post.js - ์ ํฌ์คํธ ์์ฑ
server.js - ๋ก์ปฌ ๊ฐ๋ฐ ์๋ฒ
templates/
layout.html - ๊ธฐ๋ณธ ๋ ์ด์์
post.html - ํฌ์คํธ ํ
ํ๋ฆฟ
index.html - ์ธ๋ฑ์ค ํ
ํ๋ฆฟ
tag.html - ํ๊ทธ ํ์ด์ง ํ
ํ๋ฆฟ
๋น๋ ํ์ดํ๋ผ์ธ ์ํฌํ๋ก์ฐ
- posts/ ๋ด *.md ํ์ผ ์ค์บ
- ๊ฐ ํ์ผ์์ frontmatter ์ถ์ถ + ๋งํฌ๋ค์ด ํ์ฑ
- ๋ ์ง์ ์ ๋ ฌ
- ํ๊ทธ ์์ง ๋ฐ ๊ทธ๋ฃนํ
- ๊ฐ๋ณ ํฌ์คํธ HTML ์์ฑ -> dist/posts/
- ์ธ๋ฑ์ค ํ์ด์ง ์์ฑ -> dist/index.html
- ํ๊ทธ๋ณ ํ์ด์ง ์์ฑ -> dist/tags/
- ํ๊ทธ ์ธ๋ฑ์ค ์์ฑ -> dist/tags.html
- CSS ๋ณต์ฌ -> dist/style.css
ํต์ฌ ์ ์ฝ
- ์ธ๋ถ ์์กด์ฑ 0๊ฐ (์์ Node.js)
- ๊ฐ ๋ชจ๋์ ๋
๋ฆฝ์ ์ผ๋ก ํ
์คํธ ๊ฐ๋ฅํด์ผ ํจ
- CSS๋ ๋ณ๋ ํ์ผ๋ก ๋ถ๋ฆฌ
- ๋ฐ์ํ ๋์์ธ ์ ์ฉ
์์ธ ๋ณํ ๊ท์น๊ณผ ํ
์คํธ ์ ๋ต์ references/patterns.md ์ฐธ์กฐ.