外部Pugファイルの継承と読み込み
Pugで外部Pugファイルの継承と読み込みを行うには、extends
とblock
を使用します。
extends
で継承元のPugファイルを指定します。
block
はextendsの継承元のPugファイルで使用するとエリアを定義することができ、継承先のextendsを使用しているファイルにblockを使用すると、extendsで定義したエリアを置き換えます。
構文
継承
extends ファイルパス
エリア定義
block エリア定義名
block呼び出し
block エリア定義名
また、blockの置き換えの仕方をblock 置き換え方法 エリア定義名
で指定でき、次の何れかを指定できます。
値 | 説明 | 例 |
---|---|---|
replace初期値 | 定義したblockを置き換える。 | block page-header |
prepend | 定義したblockの前に挿入する。 | block prepend page-header |
append | 定義したblockの後に挿入する。 | block append page-header |
サンプルコード
Pug:foo/bar.pug
doctype html
html(lang="ja")
head
meta(charset="UTF-8")
title="Page Title"
body
header
block page-header
main
block page-content
h1="テスト"
footer
block page-footer
p="copyright test."
Pug:baz.pug
extends hello-extends
block page-header
p#logo="ロゴ"
block append page-content
p="コンテンツ"
block page-footer
p#copyright="copyright example."
コンパイル後
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Page Title</title>
</head>
<body>
<header>
<p id="logo">ロゴ</p>
</header>
<main>
<h1>テスト</h1>
<p>コンテンツ</p>
</main>
<footer>
<p id="copyright">copyright example.</p>
</footer>
</body>
</html>