Skip to content

去除模板中的block前后的空白字符和换行

HankZhao edited this page Feb 15, 2024 · 1 revision

默认情况,模板引擎会不会自动去除模板中block前后的空白字符和换行,因此模板看起来很混乱,举个例子🌰,默认情况下模板如下:

# 高亮划线
{% for chapter in chapterHighlights %}
{% if chapter.level == 1 %}## {{chapter.chapterTitle}}{% elif chapter.level == 2 %}### {{chapter.chapterTitle}}{% elif chapter.level == 3 %}#### {{chapter.chapterTitle}}{% endif %}
{% for highlight in chapter.highlights %}{% if highlight.reviewContent %}
> 📌  {{ highlight.markText |trim }} ^{{highlight.bookmarkId}}
- 💭 {{highlight.reviewContent}} - ⏱ {{highlight.createTime}} {% else %}
> 📌 {{ highlight.markText |trim }} 
> ⏱ {{highlight.createTime}} ^{{highlight.bookmarkId}}{% endif %}
{% endfor %}{% endfor %}

block指的是像 {% for chapter in chapterHighlights %}{{ highlight.markText |trim }}之类的代码块,默认情况下,block前后的空白字符和换行不会被删除,因此 模板看起来很不清晰:内容和换行糅杂在一起。

如果开启『去除模板中block前后的空白字符和换行』选项,代码会变得更加清晰:

# 高亮划线
{% for chapter in chapterHighlights %}
  {% if chapter.level == 1 %}## {{chapter.chapterTitle}}
  {% elif chapter.level == 2 %}### {{chapter.chapterTitle}}
  {% elif chapter.level == 3 %}#### {{chapter.chapterTitle}}
  {% endif %}
{% for highlight in chapter.highlights %}

{% if highlight.reviewContent %}
> 📌  {{ highlight.markText |trim }} ^{{highlight.bookmarkId}}
- 💭 {{highlight.reviewContent}} 
- ⏱ {{highlight.createTime}}
{% else %}
> 📌 {{ highlight.markText |trim }} 
> ⏱ {{highlight.createTime}} ^{{highlight.bookmarkId}}
{% endif %}
{% endfor %}
{% endfor %}

可以看到即使我们的{% endif %} {% endfor %} {% endfor %} 在三行中,依然不会输出三个空行,默认情况下将会输出三个空行,很反知觉。开启此选项后可以更能清晰的看到代码块之间的关系,更加符合使用语言的习惯,强烈建议开启此选项!

最后,不要忘了开启此选项之后,要重启才能生效,而且 一定要修改模板!一定要修改模板!一定要修改模板!,否则笔记中的很多换行将会消失,笔记会看起来很混乱。