Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 当缩进级别很重要时,如何在jinja和Nunjuck中编写漂亮的模板_Templates_Jinja2_Nunjucks - Fatal编程技术网

Templates 当缩进级别很重要时,如何在jinja和Nunjuck中编写漂亮的模板

Templates 当缩进级别很重要时,如何在jinja和Nunjuck中编写漂亮的模板,templates,jinja2,nunjucks,Templates,Jinja2,Nunjucks,我向Jinja2和Nunjucks用户发帖询问这个问题,因为后者很大程度上受到了前者的启发,并且他们的模板语法基本相同 当缩进和空格很重要时(例如,当生成标记文件时),我很难找到编写模板文件的最佳方法 假设将以下上下文传递给我的模板 { 函数=[ { 名称:“myFunc”, description:“这是一个函数的jsDoc描述”, 参数:[ {name:“label”,键入:“string”}, {name:“size”,type:“number”}, ] 返回:“void”//如何剥离所有

我向Jinja2和Nunjucks用户发帖询问这个问题,因为后者很大程度上受到了前者的启发,并且他们的模板语法基本相同

当缩进和空格很重要时(例如,当生成标记文件时),我很难找到编写模板文件的最佳方法

假设将以下上下文传递给我的模板

{
函数=[
{
名称:“myFunc”,
description:“这是一个函数的jsDoc描述”,
参数:[
{name:“label”,键入:“string”},
{name:“size”,type:“number”},
]

返回:“void”//如何剥离所有模板的空白并使用jinja筛选器显示所需的空白?我已经尝试过这个选项:未插入的代码将成为阅读的噩梦,您还必须添加大量筛选器(几乎每行一个)
    /**
     * This is a jsDoc description for a function
     *
     * @name myFunc
     * @param {string} label
     * @param {number} size
     * @returns {void}
     * @since API level 2.0
     * @deprecated
     */
    {% for function in functions %}
      /**
       * {{ function.description }}
       *
         {% for param in function.params %}
           * @param {% raw %}{{% endraw %} {{ param.type }} {% raw %}}{% endraw %} {{ param.name }}
         {% endfor %}

         {% if function.returns %}
           * @return {% raw %}{{% endraw %} {{ function.returns }} {% raw %}}{% endraw %}
         {% endif %}

         {% if function.since %}
           * @since {{ function.since }}
         {% endif %}

         {% if function.deprecated %}
           * @deprecated
         {% endif %}
       */
    {% endfor %}
    {% for function in functions %}/**
     * {{ function.description }}
     *
     {% for param in function.params -%}
     * @param {% raw %}{{% endraw %} {{ param.type }} {% raw %}}{% endraw %} {{ param.name }}
     {% endfor -%}

     {%- if function.returns -%}
     * @return {% raw %}{{% endraw %} {{ function.returns }} {% raw %}}{% endraw %}
     {% endif -%}

     {% if function.since -%}
     * @since {{ function.since }}
     {% endif -%}

     {%- if function.deprecated -%}
     * @deprecated
     {% endif -%}
     */
    {% endfor -%}