
Security News
OpenGrep Restores Fingerprinting in JSON and SARIF Outputs
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
.. |PyPiPackage| image:: https://badge.fury.io/py/pypugjs.svg :target: https://badge.fury.io/py/pypugjs
.. |BuildStatus| image:: https://github.com/kakulukia/pypugjs/actions/workflows/tests.yml/badge.svg :target: https://github.com/kakulukia/pypugjs/actions/workflows/tests.yml
.. |Coverage| image:: https://codecov.io/gh/kakulukia/pypugjs/branch/master/graph/badge.svg :target: https://codecov.io/gh/kakulukia/pypugjs
PyPugJS is a fork of PyJade <http://github.com/syrusakbary/pyjade>
_
with the name Jade changed to PugJS <https://github.com/pugjs/pug>
_.
Additional disclaimer: Since the original pypugjs died i took the liberty to keep it alive, because since starting to work with the jade compiler for node I hate writing HTML and want to continue using it in my Django projects. I will keep the existing non Django stuff inside the project, but I cannot support anything other since I'm not actively using it nor will be in the foreseeable future. Tornado, Mako etc. support will be welcome tho!
PyPugJS is a high performance port of PugJS for python, that converts any .pug source into different Template-languages (Django, Jinja2, Mako or Tornado).
To simply output the conversion to your console::
pypugjs [-c django|jinja|mako|tornado] input.pug [output.html]
To install pypugjs::
pip install pypugjs
Now simply name your templates with a .pug
extension and this PugJS compiler
will do the rest. Any templates with other extensions will not be compiled
with the pypugjs compiler.
Framework specific installation instructions <docs/installation.rst>
_
Generally the same as the PugJS Node module (except of cases and several other features, which are not implemented) https://github.com/pugjs/pug/blob/master/README.md
This code
.. code:: pug
!!! 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!
Converts to
.. code:: html
<!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>
Convert existing templates online with the HTML2Jade converter <http://www.html2jade.org/>
_.
If you want to register a function as a filter, you only have to
decorate the function with pypugjs.register_filter("filter_name")
.. code:: python
import pypugjs
@pypugjs.register_filter('capitalize')
def capitalize(text, ast):
return text.capitalize()
Adding conditional classes:
.. code:: pug
a(class={'active-class': True, 'another': False})
Define mixins like this mixins/foo.pug:
.. code:: pug
mixin foo(data)
.foo {{ data }}
And use them in your templates like this:
.. code:: pug
include mixins/foo.pug
div
+foo(data)
Mixins might not work, depending on the used Framework. The following have been reported as broken:
To start the testsuite, start the following commands::
make init
make test
See: https://github.com/kakulukia/pypugjs/issues
ChangeLog <docs/HISTORY.rst>
_
*
5.8.1 +++++++
5.8.0 +++++++
5.7.2 +++++++
5.7.1 +++++++
5.7.0 +++++++
5.6.1 +++++++
5.6.0 +++++++
5.5.1 +++++++
5.5.0 +++++++
5.4.0 +++++++
5.3.0 +++++++
5.2.0 +++++++
5.1.5 +++++++
5.1.4 +++++++
5.1.3 +++++++
5.1.2 +++++++
5.1.1 +++++++
FAQs
PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates
We found that pypugjs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.