LoginSignup
10
11

More than 5 years have passed since last update.

Ansible のテンプレート(Jinja2)で部分的にテンプレート処理を無効にする

Posted at

Ansible の template エンジンには Jinja2 が使われています。
template ファイル内にテンプレートの制御用文字列が含まれる場合があります、例えば次のような場合、 {% が制御の開始タグと解釈されるためエラーとなります。 Qiita Markdown では jinja の syntax lightlight にも対応してるんですね!!色分けされてダメっぽい感じがわかりますね。

httpd.conf.j2
LogFormat "\
host:%h\t\
time:%{%Y-%m-%d %H:%M:%S}t\t\
method:%m\t\
uri:%U%q\t\
protocol:%H\t\
status:%>s\t\
referer:%{Referer}i\t\
user-agent:%{User-Agent}i\t\
size:%b\t\
vhost:%v\t\
usec:%D" ltsv

ここはそのまま出力したいので {% raw %}, {% endraw %} で囲みます。

httpd.conf.j2
{% raw %}
LogFormat "\
host:%h\t\
time:%{%Y-%m-%d %H:%M:%S}t\t\
method:%m\t\
uri:%U%q\t\
protocol:%H\t\
status:%>s\t\
referer:%{Referer}i\t\
user-agent:%{User-Agent}i\t\
size:%b\t\
vhost:%v\t\
usec:%D" ltsv
{% endraw %}
10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11