zolaにおけるinclude, import, extendsのちがい
どれも外部ファイルと結合する機能である。それらの違いはどこにあるのかまとめた。
成果物
情報源
include, import, extendsのちがい
役割
機能 | 対象 | 役割 |
---|---|---|
include |
任意テンプレート | 外部テキストを指定箇所へ挿入する |
import |
任意マクロ | 外部テキストを指定箇所へ挿入する(引数を渡せる) |
extends |
任意テンプレート | 外部テキストへ一部分の実装をゆだねる |
記法
機能 | 定義 | 取込 | 呼出 |
---|---|---|---|
include | `` | {% include "パス" %} |
- |
import | {% macro 名M(名A=値, ...) %} {% endmacro 名M %} |
{% import "パス" as 名N %} |
{{ 名N::名M(名A=値, ...) |
extends | {% block 名前 %} {% endblock 名前 %} |
{% extends "パス" %} |
{% block 名前 %}<br>任意HTMLタグ<br> {% endblock 名前 %}` |
ルール/罠
詳細は情報源を参照。
疑問
スコープはどうなっているのか。{% set %}
した変数は、外部ファイル同士で参照できるのか?
機能 | 定義元 | 呼出元 | 是非 |
---|---|---|---|
include | set 定義 |
set 参照 |
|
include | set 参照 |
set 定義 |
|
import | set 定義 |
set 参照 |
|
import | set 参照 |
set 定義 |
|
extends | set 定義 |
set 参照 |
|
extends | set 参照 |
set 定義 |
所感
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux