使用Pug(Jade)和Jinja2诱人的语法

时间:2016-12-22 08:05:46

标签: python gruntjs pug jinja2

我使用prunt和Pug(Jade)来渲染我的HTML模板。 我想在我的Pug文件中加入Jinja2语法,但是当我运行grunt来构建HTML文件时,它失败了,因为它无法识别Jinja2语法。

有没有人知道这方面的解决方案?

1 个答案:

答案 0 :(得分:3)

你看过:vscode search results

似乎支持Jinja2:

jinja_env = Environment(extensions=['pypugjs.ext.jinja.PyPugJSExtension'])

下面的哈巴狗(玉)代码示例

!!! 5
html(lang="en")
  head
    title= pageTitle
    script(type='text/javascript').
      if (foo) {
         bar()
      }
  body
    h1.title PugJS - node template engine
    #container
      if youAreUsingPugJS
        p You are amazing
      else
        p Get on it!

转换为:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>{{pageTitle}}</title>
    <script type='text/javascript'>
      if (foo) {
         bar()
      }
    </script>
  </head>
  <body>
    <h1 class="title">PugJS - node template engine</h1>
    <div id="container">
      {%if youAreUsingPugJS%}
        <p>You are amazing</p>
      {%else%}
        <p>Get on it!</p>
      {%endif%}
    </div>
  </body>
</html>

您可以使用以下实用程序命令执行此操作:

pypugjs -c jinja input.pug output.html