-
-
Notifications
You must be signed in to change notification settings - Fork 12
Templates
ν°λ리 νλ μμν¬μμ ν νλ¦Ώμ νΌκ·Έ(Pug)λ₯Ό μ¬μ©ν©λλ€. νΌκ·Έλ λ§ν¬μ μ κ΄μ¬μ¬μ λ°λΌ λΆλ¦¬νκ³ μ½λμ κΈΈμ΄λ₯Ό μ€μ¬μ£Όλ ν¨κ³Όμ μΈ ν νλ¦Ώ μμ§μ λλ€. ν°λ리 νλ‘μ νΈ ν νλ¦Ώμμλ ν¬κ² app.pug, index.pug, views/*.pug λ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
μ°λ¦¬κ° ν νλ¦Ώμ λΆλ¦¬ν΄μΌνλ κ°μ₯ μ€μν μ΄μ λ κ΄μ¬μ¬ λΆλ¦¬μ λλ€. ν νλ¦Ώ νλμλ μ€νμΌ, λ§ν¬μ , μ€ν¬λ¦½νΈκ° ν΅μ§Έλ‘ λ€μ΄κ°λλ‘ κ΅¬μ±νκΈ° λλ¬Έμ νΉμ μ£Όμ λλ κΈ°λ₯μ λν μ½λλ§μ λ¬Άμ΄μ κ΄λ¦¬ν μ μμ΅λλ€.
λ€μκ³Ό κ°μ κ΅¬μ‘°λ‘ ν νλ¦Ώμ λΆλ¦¬ν΄ λμλ€κ³ μκ°ν΄λ΄ μλ€. μ΄λ κ² 1μ°¨μ μΌλ‘ ν¬κ² λΆλ¦¬λ κ²μ΄ λΆλͺ¨ ν νλ¦Ώμ λλ€.
βββ views/
β βββ Header.pug
β βββ Content.pug
β βββ Sidebar.pug
β βββ Footer.pug
μ΄μ κ° μμμ μν μμ ν νλ¦Ώμ λ§λ€μ΄λ΄ μλ€. μμ ν νλ¦Ώμ μμΉλ μ λμ μΈ κ²μ μλλ, λΆλͺ¨ ν νλ¦Ώμ μ΄λ¦κ³Ό λκ°μ λλ ν 리 μλμ λλ κ²μ κΈ°λ³Έ μ μ λ‘ ν©λλ€.
βββ views/
β βββ Header.pug
β βββ Header
β βββ BlogTitle.pug
β βββ BlogMenu.pug
β βββ Content.pug
β βββ Content
β βββ Entry.pug
β βββ Sidebar.pug
β βββ Footer.pug
κ°λ¨ν μμλ‘ ν νλ¦Ώ μμ±μ κΈ°μ΄λ₯Ό μμλ³΄κ² μ΅λλ€. κ°λ¨νκ² λΈλ‘κ·Έμ μ λͺ©κ³Ό λ©λ΄λ₯Ό μΆλ ₯νλ κ²μ ν΄λ³΄μ£ . μ°λ¦¬κ° μμ±ν μμ μ ν΄λꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€.
βββ views/
β βββ Header.pug
β βββ Header
β βββ Navigation.pug
β βββ Title.pug
βββ app.pug
βββ index.pug
app.pug λ μ€ν¨μ΄ μλ λ¬Έμ λ μ΄μ΄μ λλ€. λ€ν¬λͺ¨λμ κ°μ΄ λ¬Έμ μ λ°μ μν₯μ λ―ΈμΉ μ μλ μ€μ μ μΆκ°νλ κ²μ΄ μ’μ΅λλ€.
doctype html
html(lang="ko")
head
title [##_page_title_##]
body(id="[##_body_id_##]")
block TIDORY
script.
document.addEventListener('DOMContentLoaded', () => {
const dark = window.matchMedia('(prefers-color-scheme: dark)').matches
dark && document.documentElement.classList.add('dark')
})
index.pug λ extends app
μ ν΅ν΄ app.pug λ₯Ό μμνλ ννΈ, λ¬Έμκ° μλ μ€ν¨μ μΈλ±μ€ λ μ΄μ΄μ
λλ€. μλμ μμ μμλ views/Header.pug κ° ν¬ν¨λμ΄ μμ΅λλ€. μ΄λ λΆλͺ¨ ν
νλ¦Ώμ΄ λ©λλ€.
extends app
block TIDORY
s_t3
#container
include views/Header
style.
#container {
height: 100vh;
align-items: center;
display: flex;
justify-content: center;
text-align: center;
}
μμ ν νλ¦ΏμΌλ‘ Header/Title.pug, Header/Navigation.pug λ₯Ό ν¬ν¨νκ³ μμ΅λλ€. κ°κ° λΈλ‘κ·Έ μ λͺ© κ³Ό λΈλ‘κ·Έ λ©λ΄μ λλ€.
header
include Header/Title
include Header/Navigation
h1 [##_title_##]
nav [##_blog_menu_##]
μ°λ¦¬κ° λ§λ μ€ν¨μ μ΄μ μ¬μ©μμκ² λ°°ν¬νκ±°λ μμ μ λΈλ‘κ·Έμ μ μ©νκΈ° μν΄ λΉλ λ° λ°°ν¬λ₯Ό νκ² λλ©΄ λ€μκ³Ό κ°μ΄ λΆλ¦¬λ©λλ€.
μ€ν¨ μ΅μ λ±μ ꡬνμ μν΄ μ½λκ° λΆλ¦¬λμ§ μκΈΈ μνλ€λ©΄ fixed μμ±μ λΆμ¬ν μ μμ΅λλ€.
<!DOCTYPE html>
<html lang="ko">
<head>
<title>[##_page_title_##]</title>
<script defer src="./images/app.537a5184a206c1de4585.js"></script>
<link rel="stylesheet" href="./style.css">
<script defer src="./images/script.8tvFrJsnbm1XBB4PblAH.js"></script>
</head>
<body id="[##_body_id_##]">
<s_t3>
<div id="container">
<header>
<h1>[##_title_##]</h1>
<nav>[##_blog_menu_##]</nav>
</header>
</div>
</s_t3>
</body>
</html>
#container {
height: 100vh;
align-items: center;
display: flex;
justify-content: center;
text-align: center;
}
document.addEventListener('DOMContentLoaded', function() {
var dark = window.matchMedia('(prefers-color-scheme: dark)').matches;
dark && document.documentElement.classList.add('dark');
});