我正在使用cookiecutter创建一个龙卷风项目,使用EV
(它有几个错误,因此您可能无法使用它开箱即用)。我遇到了一个我不知道如何解决的问题:
cookiecutter
我不确定,但我的印象是jsoneditor.min.js
正在尝试对cookiecutter
进行Jinja处理,这不应该发生,因为"模板"该文件不应由Jinja
处理,它恰好包含cookiecutter
正在使用的相同转义字符。
是否可以告诉cookiecutter
不要处理某个目录中的文件?这可能是正确设置<script>
$('nav a').on('click', function() {
var scrollAnchor = $(this).attr('data-scroll'),
scrollPoint = $('section[data-anchor="' + scrollAnchor + '"]').offset().top - 150;
$('body,html').animate({
scrollTop: scrollPoint
}, 500);
return false;
})
$(window).scroll(function() {
var windscroll = $(window).scrollTop();
if (windscroll >= 100) {
$('.wpb_wrapper section').each(function(i) {
if ($(this).position().top <= windscroll - 20) {
$('nav a.active').removeClass('active');
$('nav a').eq(i).addClass('active');
}
});
} else {
$('nav').removeClass('fixed');
$('nav a.active').removeClass('active');
$('nav a:first').addClass('active');
}
}).scroll();
</script>
模板的问题,但不确定如何指定。
答案 0 :(得分:2)
刚刚遇到了这个问题以及Github Issue。
这似乎是一个很好的补充,可以使用{% raw %}
标记部分标记文件的一部分或整个模板不被处理:
{% raw %}
{% comment %}Whatever jinja code goes here....{% endcomment %}
...
{% endraw %}
答案 1 :(得分:1)
默认情况下,cookiecutter会尝试将每个文件作为jinja模板进行处理,如果你有一些看起来像jinja模板但只应该是文字的东西,会产生错误的结果。从cookiecutter 1.1开始,人们可以告诉cookiecutter只复制一些文件而不将它们解释为jinja模板(documentation)。
为此,您必须在cookiecutter配置文件(_copy_without_render
)中添加cookiecutter.json
密钥。它需要一个正则表达式列表。如果文件名与正则表达式匹配,则将复制它,而不是作为jinja模板处理。
实施例
{
"project_slug": "sample",
"_copy_without_render": [
"*.js",
"not_rendered_dir/*",
"rendered_dir/not_rendered_file.ini"
]
}
这不会处理任何javascript文件(以.js
结尾的文件),not_rendered_dir
中的任何文件,而不是not_rendered_file.ini
中的rendered_dir
。它们只会被复制。