Metadata-Version: 2.0
Name: rattlepy
Version: 0.0.3a2
Summary: A easy-to-use pure python HTML template engine
Home-page: https://github.com/frodo821/Rattlepy
Author: frodo821 <Twitter: @BoufrawFrodo2>
Author-email: 1234567890.sakai.jp@gmail.com
Maintainer: frodo821 <Twitter: @BoufrawFrodo2>
Maintainer-email: 1234567890.sakai.jp@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Text Processing :: Markup :: XML

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

  <html>
      <head>
          <title>Hello, Rattle.py!</title>
      </head>
      <body>
          <h1 class="heading">Hello, Rattle.py!</h1>
      </body>
  </html>

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!


