外部Pugファイルの継承と読み込み

Pugで外部Pugファイルの継承と読み込みを行うには、extendsblockを使用します。
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>

Pug逆引きリファレンス一覧へ戻る