Python HTML Generator for Recyclable Web Elements
Project description
tumulus
=======
Python HTML Generator for Recyclable Web Elements.
Tumulus is an alternative to Templating languages found in many templating engines such as Jinja2, Django, Mako, ...
Such templating engines make it difficult to separate logical elements of the page, hence discouraging reusability.
The motivation behind Tumulus is to encourage developers to build reusable web components that can then be
put together to build web pages or applications.
Example
---
```python
# Importing the basic brick of Tumulus, the tags creator:
from tumulus.tags import tags as t
# This module helps to add JS/CSS libraries in page head/footer:
import tumulus.lib as lib
def bootstrap_button(text):
'''Returns a Bootstrap formatted button, and adds the CSS of
Bootstrap to the dependencies of the page.'''
return t.div(
# Standard HTML button with 'text' inside:
t.button(text, class_='btn btn-info'),
# Injecting Bootstrap's CSS file in the HTML head.
# This can be done almost anywhere, as it will be included
# somewhere else, and there is de-duplication.
lib.css('bootstrap')
);
def page(title, text):
return t.html(
t.head(
t.title(title),
t.meta(charset='utf-8'),
),
t.body(
t.h1(title),
t.p(
text
),
bootstrap_button('Click Here'),
),
)
print(
page('Hello World', 'Hello from Tumulus').build()
)
```
Run tests
---
Tumulus uses testing intensely, and tries to keep a coverage close from 100%. Testing
is done using `pytest` and `pytest-cov`.
Run all tests:
```bash
py.test tumulus
```
Generate a coverage report:
```bash
py.test --cov tumulus && coverage html
```
=======
Python HTML Generator for Recyclable Web Elements.
Tumulus is an alternative to Templating languages found in many templating engines such as Jinja2, Django, Mako, ...
Such templating engines make it difficult to separate logical elements of the page, hence discouraging reusability.
The motivation behind Tumulus is to encourage developers to build reusable web components that can then be
put together to build web pages or applications.
Example
---
```python
# Importing the basic brick of Tumulus, the tags creator:
from tumulus.tags import tags as t
# This module helps to add JS/CSS libraries in page head/footer:
import tumulus.lib as lib
def bootstrap_button(text):
'''Returns a Bootstrap formatted button, and adds the CSS of
Bootstrap to the dependencies of the page.'''
return t.div(
# Standard HTML button with 'text' inside:
t.button(text, class_='btn btn-info'),
# Injecting Bootstrap's CSS file in the HTML head.
# This can be done almost anywhere, as it will be included
# somewhere else, and there is de-duplication.
lib.css('bootstrap')
);
def page(title, text):
return t.html(
t.head(
t.title(title),
t.meta(charset='utf-8'),
),
t.body(
t.h1(title),
t.p(
text
),
bootstrap_button('Click Here'),
),
)
print(
page('Hello World', 'Hello from Tumulus').build()
)
```
Run tests
---
Tumulus uses testing intensely, and tries to keep a coverage close from 100%. Testing
is done using `pytest` and `pytest-cov`.
Run all tests:
```bash
py.test tumulus
```
Generate a coverage report:
```bash
py.test --cov tumulus && coverage html
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Tumulus-0.2.1.tar.gz
(7.1 kB
view details)
File details
Details for the file Tumulus-0.2.1.tar.gz
.
File metadata
- Download URL: Tumulus-0.2.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c31a13afe41e9363df30f6c24dcf9311ca9f9c1ab47de112bd1366b141a82894 |
|
MD5 | ea08ed5e1e6c11ab6e1e372f8c59ae21 |
|
BLAKE2b-256 | 5f7859cd9b54921f9f201d9b46d363d84b1126dfccb54c5c3fc890407284d586 |