在Pebble模板中控制空格

时间:2018-07-02 01:42:26

标签: pebble

我很难在Pebble模板中以所需的方式获取空白控件。我当前正在使用Pebble生成JSON,但是这个问题和我的用例并不特定于JSON(否则,我将使用JSON库,例如Jackson)。

这是我的Pebble模板:

        "items": {
            {% for item in items -%}
            "{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}

            {% endfor %}

        },

然后,这是生成的输出:

    "items": {
        "item1": "Value 1",
        "item2": "Value 2"

    },

这有两个问题:

  1. 我必须在模板中有两行空白行(一个在endfor之前,另一个在endfor之后。
  2. 在弯腰的方括号之前,我仍然以输出中的多余空白行结尾,即},

我希望模板看起来更像以下内容:

        "items": {
            {% for item in items -%}
            "{{ item.name }}": "{{ item.value }}"{% if not loop.last %},{% endif %}
            {% endfor %}     
        },

而且,我希望结果输出为:

    "items": {
        "item1": "Value 1",
        "item2": "Value 2"
    },

我已经尝试了whilespace control modifier的许多组合,但是在获取所需格式方面并不幸运。

1 个答案:

答案 0 :(得分:0)

空白控件修改器仅修剪线条。它不会删除换行符。针对您的用例的唯一解决方案是删除{%endfor%}周围的空白行