用于django、jinja2、mako和tornado模板的pugjs语法模板适配器

pypugjs的Python项目详细描述


PyPugJSPyPiPackageBuildStatusCoverage

pypugjs是PyJade的叉 的名称Jade更改为PugJS

附加免责声明:自从最初的pypugjs死后,我冒昧地让它活着,因为 自从开始使用jade编译器for node以来,我讨厌编写html,希望在django项目中继续使用它。 我将保留现有的非Django项目内部,但我不能支持任何其他,因为我不积极使用 它不会在可预见的未来出现龙卷风,Mako等支持将欢迎Tho!

PyPugJS是一个用于python的高性能PugJS端口,它将任何.pug源转换为不同的 模板语言(Django、Jinja2、Mako或Tornado)

公用事业

只需将转换输出到控制台:

pypugjs [-c django|jinja|mako|tornado] input.pug [output.html]

安装

要安装pypugjs:

pip install pypugjs

现在只要用`.pug`扩展名命名模板和这个pugjs编译器 剩下的就行了将不编译具有其他扩展名的任何模板 使用pypugjs编译器

Framework specific installation instructions

语法

一般与pugjs节点模块相同(除了案例和其他一些未实现的功能) https://github.com/pugjs/pug/blob/master/README.md

示例

此代码

!!! 5
html(lang="en")
  headtitle=pageTitlescript(type='text/javascript').
      if (foo) {
         bar()
      }bodyh1.title PugJS - node template engine
    #containerif youAreUsingPugJS
        p You are amazing
      elsep Get on it!

转换为

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

将现有模板与HTML2Jade converter联机转换。

寄存器过滤器

如果要将函数注册为筛选器,只需 用pypugjs.register_filter("filter_name")

装饰函数
importpypugjs@pypugjs.register_filter('capitalize')defcapitalize(text,ast):returntext.capitalize()

显著功能

添加条件类:

a(class={'active-class':True,'another':False})
< P>定义像这样的混合函数:{EM1}$MIXIN /FUI.PUG < EEM>:

mixin foo(data)
  .foo {{ data }}

在模板中使用它们,如下所示:

include mixins/foo.pug

div+foo(data)

测试

要启动测试套件,请启动以下命令:

make init
make test

TODOs和BUG

见:https://github.com/kakulukia/pypugjs/issues

ChangeLog

历史

5.1.2

  • 添加了用于测试、安装、释放、linting的Makefile
  • 添加了覆盖率报告
  • 包装主要基于Cookiecutter包装
  • 其他释放帮助程序
  • 包装通过flake8测试

5.1.1

  • 条件类功能(thx到paradoxxxzero)
  • < >对“支持”的支持。
  • Django
  • 混合蛋白载体
  • 重构django测试以实际使用文件加载程序
  • 一些PEP8修复程序

作者

  • pypugs最初由syrus akbary在2011年11月创建为pyjade。
  • 然后由matan noam shavit重新命名
  • 因为我的项目需要它,而且讨厌编写纯HTML,所以我继续维护这个包

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从guiceModule访问dropwizard捆绑包实例   java无法调用控制器方法,使用SpringMVC调用ajax   编译器错误此代码如何工作是一个基本的Java问题   java我需要从另一个控制器类(javafx和SceneBuilder)访问并清除窗格   java编写mongoDB语法   java二维矩形数组中所有元素的和   在Java中,如果类型转换双精度值足够大,则返回一个错误   java从jcombo框中获取数据并将其转换为float   读取带有空行的int文件并保存到JAVA数组中   java自填充缓存现有缓存问题(Spring 4,EhCache 2.10.3)   java有没有更快的方法来计算子矩阵的和?   背景为java指南,请设计   Camel-Spring测试中的java生产者模板显示NullPointerException   爪哇常春藤。未添加xml依赖项   JAVA While loop last else if语句不起作用   java Apache Thrift:抛出由方法中执行的代码引发的异常   多线程JAVA销毁JavaVM线程高CPU   java ArrayList<class>swap方法