Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/cenkalti/pyhtml

HTML generation library for Python
https://github.com/cenkalti/pyhtml

Last synced: about 2 months ago
JSON representation

HTML generation library for Python

Awesome Lists containing this project

README

        

PyHTML
======

.. image:: https://coveralls.io/repos/github/cenkalti/pyhtml/badge.svg?branch=master
:target: https://coveralls.io/github/cenkalti/pyhtml?branch=master

PyHTML is a simple HTML generation library for Python.

Inspired by `Flask-HTMLBuilder `_
and `this gist `_.

Features
--------

* Compatible with Python 2 and 3
* Outputs beautifully indented code
* Some tags have sensible defaults
* Have Blocks for filling them later

Installing
----------

.. code-block:: bash

$ pip install pyhtml

Documentation
-------------

See the docstring on pyhtml.py file.

Example
-------

.. code-block:: python

from pyhtml import *

def f_links(ctx):
for title, page in [('Home', '/home.html'),
('Login', '/login.html')]:
yield li(a(href=page)(title))

t = html(
head(
title('Awesome website'),
script(src="http://path.to/script.js")
),
body(
header(
img(src='/path/to/logo.png'),
nav(
ul(f_links)
)
),
div(
lambda ctx: "Hello %s" % ctx.get('user', 'Guest'),
'Content here'
),
footer(
hr,
'Copyright 2013'
)
)
)

print(t.render(user='Cenk'))

The above code is rendered as:

.. code-block:: html





Awesome website











Hello Cenk
Content here




Copyright 2013


Related projects
----------------

* https://github.com/COMP1010UNSW/pyhtml-enhanced