Skip to content

johnhsb/md-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ™ Markdown Editor

macOS ๋„ค์ดํ‹ฐ๋ธŒ ๋””์ž์ธ์˜ ์‹ค์‹œ๊ฐ„ ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ

License HTML5 CSS3 JavaScript

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

๐ŸŽจ ์—๋””ํ„ฐ ๊ธฐ๋Šฅ

  • ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ: ์ž…๋ ฅ๊ณผ ๋™์‹œ์— ๋งˆํฌ๋‹ค์šด ๋ Œ๋”๋ง
  • ์Šคํฌ๋กค ๋™๊ธฐํ™”: ์ขŒ์šฐ ์ฐฝ ์Šคํฌ๋กค ์—ฐ๋™ (ํ† ๊ธ€ ๊ฐ€๋Šฅ)
  • ํฐํŠธ ์„ ํƒ: 10๊ฐ€์ง€ ๊ณ ์ •ํญ ํฐํŠธ ์ง€์› (ํ•œ๊ธ€/์˜๋ฌธ ์ตœ์ ํ™”)
  • ์ฐฝ ํฌ๊ธฐ ์กฐ์ ˆ: ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ๋กœ ์ขŒ์šฐ ๋น„์œจ ์กฐ์ •
  • ์‹ค์‹œ๊ฐ„ ํ†ต๊ณ„: ๋‹จ์–ด/๋ฌธ์ž/์ค„ ์ˆ˜ ์นด์šดํŠธ ๋ฐ ์ปค์„œ ์œ„์น˜ ํ‘œ์‹œ

๐ŸŽญ ํ…Œ๋งˆ & ๋””์ž์ธ

  • ๋‹คํฌ/๋ผ์ดํŠธ ๋ชจ๋“œ: ์›ํด๋ฆญ ํ…Œ๋งˆ ํ† ๊ธ€ (โŒ˜+D)
  • macOS ๋„ค์ดํ‹ฐ๋ธŒ ๋””์ž์ธ: Traffic Light ๋ฒ„ํŠผ, ๋„ค์ดํ‹ฐ๋ธŒ ์ƒ‰์ƒ ํŒ”๋ ˆํŠธ
  • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ: ๋ชจ๋ฐ”์ผ/ํƒœ๋ธ”๋ฆฟ ์ตœ์ ํ™”
  • ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜: ๋ชจ๋“  ์ƒํ˜ธ์ž‘์šฉ์— ์ž์—ฐ์Šค๋Ÿฌ์šด ์ „ํ™˜ ํšจ๊ณผ

๐Ÿ“ ํŒŒ์ผ ๊ด€๋ฆฌ

  • ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ: ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์„ ์ฐฝ์— ๋Œ์–ด๋‹ค ๋†“๊ธฐ
  • ํŒŒ์ผ ์ €์žฅ: ๋งˆํฌ๋‹ค์šด(.md) ํ˜•์‹์œผ๋กœ ์ €์žฅ
  • PDF ๋‚ด๋ณด๋‚ด๊ธฐ: ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ PDF๋กœ ์ €์žฅ (โŒ˜+P)
  • ์ง€์› ํ˜•์‹: .md, .markdown, .txt

โŒจ๏ธ ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค

๊ธฐ๋Šฅ macOS Windows/Linux
์ƒˆ ํŒŒ์ผ โŒ˜+N Ctrl+N
ํŒŒ์ผ ์—ด๊ธฐ โŒ˜+O Ctrl+O
ํŒŒ์ผ ์ €์žฅ โŒ˜+S Ctrl+S
PDF ์ €์žฅ โŒ˜+P Ctrl+P
ํ…Œ๋งˆ ํ† ๊ธ€ โŒ˜+D Ctrl+D
๊ตต๊ฒŒ โŒ˜+B Ctrl+B
๊ธฐ์šธ์ž„ โŒ˜+I Ctrl+I

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

๐Ÿ“‹ ํ•„์š” ์กฐ๊ฑด

  • ๋ชจ๋˜ ์›น๋ธŒ๋ผ์šฐ์ € (Chrome 88+, Firefox 85+, Safari 14+, Edge 88+)
  • JavaScript ํ™œ์„ฑํ™”

๐Ÿ’พ ์„ค์น˜ ๋ฐฉ๋ฒ•

  1. ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

    # Git์œผ๋กœ ํด๋ก 
    git clone https://github.com/your-repo/markdown-editor.git
    cd markdown-editor
    
    # ๋˜๋Š” ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ
    wget https://your-domain.com/markdown-editor.html
  2. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰

    # ๋กœ์ปฌ ์„œ๋ฒ„ ์‹คํ–‰ (๊ถŒ์žฅ)
    python -m http.server 8000
    # ๋˜๋Š”
    npx serve .
    
    # ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:8000 ์ ‘์†
  3. ์ง์ ‘ ์‹คํ–‰

    • markdown-editor.html ํŒŒ์ผ์„ ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๊ธฐ

๐Ÿ“– ์‚ฌ์šฉ๋ฒ•

1๏ธโƒฃ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

  1. ์ขŒ์ธก ์—๋””ํ„ฐ์— ๋งˆํฌ๋‹ค์šด ํ…์ŠคํŠธ ์ž…๋ ฅ
  2. ์šฐ์ธก์—์„œ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ™•์ธ
  3. ํฐํŠธ ๋“œ๋กญ๋‹ค์šด์—์„œ ์›ํ•˜๋Š” ํฐํŠธ ์„ ํƒ

2๏ธโƒฃ ํŒŒ์ผ ์ž‘์—…

# ์ƒˆ ํŒŒ์ผ ์ƒ์„ฑ
โŒ˜+N ๋˜๋Š” "์ƒˆ ํŒŒ์ผ" ๋ฒ„ํŠผ ํด๋ฆญ

# ํŒŒ์ผ ์—ด๊ธฐ
โŒ˜+O ๋˜๋Š” "์—ด๊ธฐ" ๋ฒ„ํŠผ ํด๋ฆญ
๋˜๋Š” ํŒŒ์ผ์„ ์ฐฝ์— ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ

# ํŒŒ์ผ ์ €์žฅ
โŒ˜+S ๋˜๋Š” "์ €์žฅ" ๋ฒ„ํŠผ ํด๋ฆญ

# PDF ์ €์žฅ
โŒ˜+P ๋˜๋Š” "PDF ์ €์žฅ" ๋ฒ„ํŠผ ํด๋ฆญ

3๏ธโƒฃ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

  • ์Šคํฌ๋กค ๋™๊ธฐํ™”: ๐Ÿ”— ๋ฒ„ํŠผ์œผ๋กœ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”
  • ํฐํŠธ ์ƒํƒœ ํ™•์ธ: "ํฐํŠธ์ƒํƒœ" ๋ฒ„ํŠผ์œผ๋กœ ํ˜„์žฌ ํฐํŠธ ์ •๋ณด ํ™•์ธ
  • ์ฐฝ ๋ถ„ํ•  ์กฐ์ •: ์ค‘์•™ ๊ตฌ๋ถ„์„ ์„ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์ขŒ์šฐ ๋น„์œจ ์กฐ์ •
  • ๋””๋ฒ„๊น…: ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ฝ˜์†”์—์„œ debugFontStatus() ์‹คํ–‰

๐ŸŽจ ํฐํŠธ ์‹œ์Šคํ…œ

๐Ÿ“ ์ง€์› ํฐํŠธ ๋ชฉ๋ก

ํฐํŠธ๋ช… ์„ค๋ช… ํ•œ๊ธ€ ์ง€์›
SF Mono macOS ๊ธฐ๋ณธ ํฐํŠธ โœ…
Monaco macOS ์ „ํ†ต ํฐํŠธ โœ…
Consolas Windows ๊ธฐ๋ณธ ํฐํŠธ โœ…
JetBrains Mono ๊ฐœ๋ฐœ์ž ์ธ๊ธฐ ํฐํŠธ โœ…
Cascadia Code ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๋ชจ๋˜ ํฐํŠธ โœ…
Fira Code Mozilla ๋ฆฌ๊ฐ€์ฒ˜ ํฐํŠธ โœ…
Source Code Pro Adobe ์˜คํ”ˆ์†Œ์Šค ํฐํŠธ โœ…
D2Coding ํ•œ๊ธ€ ์ตœ์ ํ™” ํฐํŠธ โœ…
๋‚˜๋ˆ”๊ณ ๋”•์ฝ”๋”ฉ ๋„ค์ด๋ฒ„ ํ•œ๊ธ€ ์ฝ”๋”ฉ ํฐํŠธ โœ…
Roboto Mono ๊ตฌ๊ธ€ ๊ณ ์ •ํญ ํฐํŠธ โœ…

๐Ÿ” ์Šค๋งˆํŠธ ํฐํŠธ ๊ฐ์ง€

  • ์ž๋™ ๊ฐ์ง€: ์‹œ์Šคํ…œ์— ์„ค์น˜๋œ ํฐํŠธ๋ฅผ Canvas API๋กœ ๊ฐ์ง€
  • ์Šค๋งˆํŠธ ํ‘œ์‹œ: "์š”์ฒญํฐํŠธ โ†’ ์‹ค์ œํฐํŠธ" ํ˜•ํƒœ๋กœ ์‹ค์ œ ์ ์šฉ๋  ํฐํŠธ ํ‘œ์‹œ
  • Fallback ์ฒด์ธ: ๊ฐ ํฐํŠธ๋งˆ๋‹ค ์ตœ์ ์˜ ๋Œ€์ฒด ํฐํŠธ ์ˆœ์„œ ์„ค์ •

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜

๐Ÿ“ฆ Markdown Editor
โ”œโ”€โ”€ ๐ŸŽจ Frontend (HTML5/CSS3/JavaScript)
โ”œโ”€โ”€ ๐Ÿ“š ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (marked.js - ์„ ํƒ์ )
โ”œโ”€โ”€ ๐Ÿ’พ ์ €์žฅ์†Œ (๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜)
โ””โ”€โ”€ ๐ŸŽฏ API (Canvas, File, Print)

๐Ÿ’ก ํ•ต์‹ฌ ๊ธฐ์ˆ 

  • ๋ฐ”๋‹๋ผ JavaScript: ํ”„๋ ˆ์ž„์›Œํฌ ์—†๋Š” ์ˆœ์ˆ˜ JS
  • CSS ๋ณ€์ˆ˜: ํ…Œ๋งˆ ์‹œ์Šคํ…œ ๊ตฌํ˜„
  • CSS Grid/Flexbox: ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ
  • Canvas API: ํฐํŠธ ๊ฐ์ง€
  • File API: ํŒŒ์ผ ์ฝ๊ธฐ/์ €์žฅ
  • Print API: PDF ์ €์žฅ
  • localStorage ๋Œ€์ฒด: ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์„ค์ • ์ €์žฅ

๐Ÿ”ง ์ตœ์ ํ™” ๊ธฐ๋ฒ•

  • ์ง€์—ฐ ๋กœ๋”ฉ: marked.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ ํƒ์  ๋กœ๋“œ
  • ์ด๋ฒคํŠธ ๋””๋ฐ”์šด์‹ฑ: ์Šคํฌ๋กค ๋™๊ธฐํ™” ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ •๋ฆฌ
  • CSS ์ตœ์ ํ™”: ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ํ™œ์šฉ

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

๐ŸŽจ ํ…Œ๋งˆ ์ˆ˜์ •

:root {
  /* ๋‹คํฌ ๋ชจ๋“œ ์ƒ‰์ƒ */
  --bg-primary: #1e1e1e;
  --text-primary: #ffffff;
  --accent-blue: #0a84ff;
  
  /* ํฐํŠธ ์„ค์ • */
  --preview-font: 'SF Mono', Monaco, monospace;
}

.light-mode {
  /* ๋ผ์ดํŠธ ๋ชจ๋“œ ์ƒ‰์ƒ */
  --bg-primary: #ffffff;
  --text-primary: #1d1d1f;
  --accent-blue: #007aff;
}

๐Ÿ“ ํฐํŠธ ์ถ”๊ฐ€

// fontOptions ๋ฐฐ์—ด์— ์ƒˆ ํฐํŠธ ์ถ”๊ฐ€
const fontOptions = [
  {
    name: "์ƒˆ ํฐํŠธ๋ช…",
    fonts: ["Primary Font", "Fallback Font", "Generic"],
    value: "'Primary Font', 'Fallback Font', monospace"
  }
];

โš™๏ธ ๊ธฐ๋Šฅ ์„ค์ •

// ๊ธฐ๋ณธ ์„ค์ • ๋ณ€๊ฒฝ
let memoryStorage = {
  theme: 'dark',        // ๊ธฐ๋ณธ ํ…Œ๋งˆ
  font: 'SF Mono',      // ๊ธฐ๋ณธ ํฐํŠธ
  scrollSync: true      // ์Šคํฌ๋กค ๋™๊ธฐํ™” ๊ธฐ๋ณธ๊ฐ’
};

๐Ÿ› ๋ฌธ์ œ ํ•ด๊ฒฐ

โ— ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ

Q: ํฐํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„์š”

// ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
1. "ํฐํŠธ์ƒํƒœ" ๋ฒ„ํŠผ์œผ๋กœ ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ
2. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ฝ˜์†”์—์„œ debugFontStatus() ์‹คํ–‰
3. ์‹œ์Šคํ…œ์— ํ•ด๋‹น ํฐํŠธ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

Q: localStorage ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์š”

์›์ธ: ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ๋˜๋Š” ํ”„๋ผ์ด๋น— ๋ธŒ๋ผ์šฐ์ง•
ํ•ด๊ฒฐ: ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ ์ž๋™ ์‚ฌ์šฉ (์„ค์ • ์œ ์ง€ ์•ˆ๋จ)

Q: PDF ์ €์žฅ์ด ์•ˆ ๋ผ์š”

์›์ธ: ํŒ์—… ์ฐจ๋‹จ ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ
ํ•ด๊ฒฐ: ํŒ์—… ํ—ˆ์šฉ ์„ค์ • ๋ฐ ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ

Q: ํŒŒ์ผ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์ด ์•ˆ ๋ผ์š”

์ง€์› ํ˜•์‹: .md, .markdown, .txt
ํ™•์ธ์‚ฌํ•ญ: ํŒŒ์ผ ํ™•์žฅ์ž ๋ฐ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

๐Ÿ” ๋””๋ฒ„๊น… ๋„๊ตฌ

  1. ํฐํŠธ ์ƒํƒœ ํ™•์ธ

    // ์ฝ˜์†”์—์„œ ์‹คํ–‰
    debugFontStatus()
  2. ๋กœ๊ทธ ํ™•์ธ

    // ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ฝ˜์†”์—์„œ "[Markdown Editor]" ํƒœ๊ทธ ํ™•์ธ
  3. ๋„คํŠธ์›Œํฌ ํ™•์ธ

    ๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ†’ Network โ†’ Fonts ํƒญ์—์„œ ํฐํŠธ ๋กœ๋”ฉ ์ƒํƒœ ํ™•์ธ
    

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

๐Ÿ”„ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ

  1. ์ด์Šˆ ์ƒ์„ฑ ๋˜๋Š” ํ™•์ธ
  2. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ: git checkout -b feature/new-feature
  3. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹: git commit -m "Add new feature"
  4. ๋ธŒ๋žœ์น˜ ํ‘ธ์‹œ: git push origin feature/new-feature
  5. Pull Request ์ƒ์„ฑ

๐Ÿ“ ์ฝ”๋”ฉ ์Šคํƒ€์ผ

  • ๋“ค์—ฌ์“ฐ๊ธฐ: 4 ์ŠคํŽ˜์ด์Šค
  • ๋„ค์ด๋ฐ: camelCase (JavaScript), kebab-case (CSS)
  • ์ฃผ์„: JSDoc ์Šคํƒ€์ผ
  • ํ•จ์ˆ˜: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™

๐Ÿงช ํ…Œ์ŠคํŠธ

// ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ
1. ๋งˆํฌ๋‹ค์šด ์ž…๋ ฅ โ†’ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ™•์ธ
2. ํฐํŠธ ๋ณ€๊ฒฝ โ†’ ์ ์šฉ ํ™•์ธ
3. ํ…Œ๋งˆ ํ† ๊ธ€ โ†’ ์ƒ‰์ƒ ๋ณ€๊ฒฝ ํ™•์ธ
4. ํŒŒ์ผ ์ €์žฅ/๋ถˆ๋Ÿฌ์˜ค๊ธฐ โ†’ ๋‚ด์šฉ ํ™•์ธ
5. PDF ์ €์žฅ โ†’ ์ถœ๋ ฅ ํ™•์ธ

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

๐Ÿ”— ๊ด€๋ จ ๋งํฌ

๐Ÿ“– ๋งˆํฌ๋‹ค์šด ๋ฌธ๋ฒ•

# ์ œ๋ชฉ 1
## ์ œ๋ชฉ 2
### ์ œ๋ชฉ 3

**๊ตต์€ ํ…์ŠคํŠธ**
*๊ธฐ์šธ์ž„ ํ…์ŠคํŠธ*
`์ธ๋ผ์ธ ์ฝ”๋“œ`

```์ฝ”๋“œ ๋ธ”๋ก```

> ์ธ์šฉ๋ฌธ

- ๋ชฉ๋ก ํ•ญ๋ชฉ 1
- ๋ชฉ๋ก ํ•ญ๋ชฉ 2

[๋งํฌ](https://example.com)
![์ด๋ฏธ์ง€](image.jpg)

| ํ…Œ์ด๋ธ” | ํ—ค๋” |
|--------|------|
| ์…€ 1   | ์…€ 2 |

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License - ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ‘จโ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž

JohnnyB Hyeon - Not Johnnyb Goode~


๐ŸŽ‰ ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ

v2.0.0 (์ตœ์‹ )

  • โœจ ์Šค๋งˆํŠธ ํฐํŠธ ๊ฐ์ง€ ์‹œ์Šคํ…œ ์ถ”๊ฐ€
  • ๐Ÿ”ง ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ๋กœ localStorage ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ๐ŸŽจ ํฐํŠธ ์„ ํƒ UI ๊ฐœ์„  (์‹ค์ œ ์ ์šฉ ํฐํŠธ ํ‘œ์‹œ)
  • ๐Ÿ› ๋‹ค์ˆ˜์˜ ๋ฒ„๊ทธ ์ˆ˜์ •

v1.5.0

  • ๐Ÿ“ 10๊ฐ€์ง€ ๊ณ ์ •ํญ ํฐํŠธ ์ง€์›
  • ๐Ÿ”„ ์Šคํฌ๋กค ๋™๊ธฐํ™” ๊ธฐ๋Šฅ
  • ๐Ÿ“ฑ ๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ

v1.0.0

  • ๐ŸŽฏ ๊ธฐ๋ณธ ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ ๊ธฐ๋Šฅ
  • ๐ŸŒ™ ๋‹คํฌ/๋ผ์ดํŠธ ๋ชจ๋“œ
  • ๐Ÿ’พ ํŒŒ์ผ ์ €์žฅ/๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • ๐Ÿ“„ PDF ๋‚ด๋ณด๋‚ด๊ธฐ

โญ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด GitHub์—์„œ ์Šคํƒ€๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages