我对Pug(Jade)使用grunt来呈现我的HTML模板。
我想将Jinja2语法合并到我的Pug文件中,但是当我运行grunt构建HTML文件时,它失败了,因为它无法识别Jinja2语法。

有人知道解决方案吗?

最佳答案

您是否看过:https://github.com/matannoam/pypugjs

似乎支持Jinja2:

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


下面的pug(jade)代码示例

!!! 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

关于python - 使用具有Jinja2诱人语法的Pug(Jade),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41278427/

10-12 21:44