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

[Step by Step Tutorial] 07. Assets

Assets

Jekyll์—์„œ๋Š” CSS, JS, ์ด๋ฏธ์ง€, ๋‹ค๋ฅธ asset๋“ค์„ ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์„ site ํด๋”์— ๋„ฃ์œผ๋ฉด ๋นŒ๋“œ๋œ ์‚ฌ์ดํŠธ๋กœ ๋ณต์‚ฌ๋œ๋‹ค.

Jekyll ์‚ฌ์ดํŠธ๋Š” ์ข…์ข… ์ด ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ asset์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

2020-01-21-step-by-step-tutorial-07-assets-image-0


Sass#


_includes/navigation.html ์— ์‚ฌ์šฉ๋œ ์ธ๋ผ์ธ ์Šคํƒ€์ผ์€ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œํด๋ž˜์Šค๋กœ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ”๊พผ๋‹ค.

<nav>  {% for item in site.data.navigation %}    <a href="{{ item.link }}" {% if page.url == item.link %}class="current"{% endif %}>{{ item.name }}</a>  {% endfor %}</nav>

ํ‘œ์ค€ CSS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ Sass๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•œ ๋‹จ๊ณ„ ๋” ๋‚˜์•„๊ฐ€ ๋ณด๊ฒ ๋‹ค. Sass๋Š” Jekyll์— CSS๋ฅผ ๋ฐ”๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ™˜์ƒ์ ์ธ ํ™•์žฅ์ด๋‹ค.

๋จผ์ € Sass ํŒŒ์ผ์„ /assets/css/styles.scss ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŒ๋“ ๋‹ค.

------@import "main";

์ƒ๋‹จ์— ๋นˆ front matter๋Š” Jekyll์—๊ฒŒ ์ด ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ค€๋‹ค. @import "main" ์€ Sass์—๊ฒŒ ์›น ์‚ฌ์ดํŠธ ํด๋”์˜ ๋ฃจํŠธ์— ์žˆ๋Š” _sass/ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ main.scss ์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ฐพ์•„๋ณด๋„๋ก ํ•œ๋‹ค.

์ด์ œ main.scss ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๊ทœ๋ชจ๊ฐ€ ํฐ ํ”„๋กœ์ ํŠธ์—์„œ CSS๋ฅผ์ฒด๊ณ„์ ์œผ๋กœ ์กฐ์งํ•˜๋Š”๋ฐ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค.

/_sass/main.scss ์— ์ด๋ ‡๊ฒŒ Sass ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.

.current {  color: green;}

์ด์ œ ๋ ˆ์ด์•„์›ƒ์—์„œ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ฐธ์กฐํ•ด์•ผํ•œ๋‹ค.

_layouts/default.html ์„ ์—ด๊ณ  ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ <head> ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

<!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title>{{ page.title }}</title>        <link rel="stylesheet" href="/assets/css/styles.css" />    </head>    <body>        {% include navigation.html %} {{ content }}    </body></html>