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