Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/frodo821/Rattlepy

A easy-to-use pure python HTML template engine
https://github.com/frodo821/Rattlepy

Last synced: 7 days ago
JSON representation

A easy-to-use pure python HTML template engine

Awesome Lists containing this project

README

        

Rattle.py - A Pure Python HTML Template Engine for HTML
=======================================================

.. image:: https://readthedocs.org/projects/rattlepy/badge/?version=latest
:target: https://rattlepy.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

Rattle.py is a pure python templating library for html.
And this library has no special notation like Django or Jinja.
For example:

.. code-block:: HTML



Hello, Rattle.py!


Hello, Rattle.py!



The above HTML equals to below Python code with rattle.py:

.. code-block:: python

greeting = "Hello, Rattle.py!"
with html() as html:
with head():
with title():
text(greeting)
with body():
with h1(className="heading"):
text(greeting)

# show as HTML
print(html)

And then, you can also make reusable components by yourself:

.. code-block:: python

def greet(name):
with node("div", className="greet-wrapper") as component:
with node("h1"):
text(f"Hello, {name}=san")
with node("button", className="ok-btn"):
text("ok!")
return component

# and using:
with greet("User"): pass

Enjoy!