๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

[Step by Step Tutorial] 04. Layouts

Layouts

์›น ์‚ฌ์ดํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ ํŽ˜์ด์ง€๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

Jekyll์€ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด์„œ HTML ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Markdown์„ ์ง€์›ํ•œ๋‹ค. Markdown์€ ๋‹จ๋ฝ, ์ œ๋ชฉ, ์ด๋ฏธ์ง€ ๋“ฑ์˜ ์ฝ˜ํ…์ธ ๋“ค์„ HTML๋ณด๋‹ค ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ข‹์€ ์„ ํƒ์ด๋‹ค.

about.md ๋ฅผ root ๋””๋ ‰ํ† ๋ฆฌ์— ๋งŒ๋“ ๋‹ค.

๊ตฌ์กฐ๋ฅผ ์œ„ํ•ด์„œ index.html ์„ ๋ณต์‚ฌํ•˜๊ณ  about ํŽ˜์ด์ง€์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ๋งŒ๋“ ๋‹ค. ๋งŒ์•ฝ ์‚ฌ์ดํŠธ์— ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด์šฐ๋ฆฌ๋Š” ์‚ฌ์ดํŠธ์— ์žˆ๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€์˜ <head> ์š”์†Œ ๋งˆ๋‹ค ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ• ๊ฒƒ์ด๋‹ค.


๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ#


๋”ฐ๋ผ์„œ ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ ˆ์ด์•„์›ƒ์€ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ์‹ธ๋Š” ํ…œํ”Œ๋ฆฟ์ด๋‹ค. ๋ ˆ์ด์•„์›ƒ์€ _layouts ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•œ๋‹ค.

_layouts/default.html ์— ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ๋Š”๋‹ค.

<!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title>{{ page.title }}</title>    </head>    <body>        {{ content }}    </body></html>

์ด ์ฝ”๋“œ๋Š” front matter๊ฐ€ ์—†๋‹ค๋Š” ์ ๊ณผ ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ ๊ฐ€ {{ content }} ๋กœ ๋ฐ”๋€์ ์„ ๋นผ๋ฉด index.html ๊ณผ ๋™์ผํ•˜๋‹ค. {{ content }} ๋Š” ํ˜ธ์ถœ๋œ ํŽ˜์ด์ง€์˜ ๋ Œ๋”๋ง๋œ์ฝ˜ํ…์ธ  ๊ฐ’์„ ๊ฐ–๋Š” ํŠน์ˆ˜ ๋ณ€์ˆ˜์ด๋‹ค.

์ด ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด front matter์— layout ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ด ๋ ˆ์ด์•„์›ƒ์ด ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ์‹ธ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ œ index.html ์—๋Š”์ด ์ฝ”๋“œ๋งŒ ์žˆ์œผ๋ฉด ๋œ๋‹ค.

---layout: defaulttitle: Home---
<h1>{{ "Hello World!" | downcase }}</h1>

๋ ˆ์ด์•„์›ƒ์—์„œ๋Š” page ๋ฅผ ์ด์šฉํ•ด์„œ front matter์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. {{ page.title }} ์„ ์ด์šฉํ•ด index.html ์˜ title์— ์ ‘๊ทผ ํ–ˆ๋‹ค.


About ํŽ˜์ด์ง€#


์ด์ œ about ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ธ๋ฐ, about ํŽ˜์ด์ง€๋Š” Markdown์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ๋‹ค.

about.md ๋Š” ์ด๋Ÿฌํ•˜๋‹ค.

---layout: defaulttitle: About---
# About page This page tells you a little bit about me.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Markdown์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํŽ˜์ด์ง€ ์—ญ์‹œ layout ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.