fude

Library for rendering HTML in Python


Keywords
html
License
Other
Install
pip install fude==1.0.1

Documentation

Fude (筆)

Fude (筆) is a library for representing HTML in Python. It uses Lists to represent elements, and Dicts to represent an element's attributes.

Fude is inspired by Hiccup https://github.com/weavejester/hiccup

Syntax

Here is a basic example of Fude syntax:

>>> fude.html('text')
'text'

>>> fude.html(['tag'])
'<tag />'

>>> fude.html(['div', 'bar'])
'<div>bar</div>'

>>> fude.html(['span', {'class': 'foo'}, 'bar'])
'<span class="foo">bar</span>'

>>> fude.html(['div', 'bar', ['span', 'baz'], ['span', 'bang']])
'<div>bar<span>baz</span><span>bang</span></div>'

>>> fude.html(['div', 'bar', [['span', 'baz'], ['span', 'bang']]])
'<div>bar<span>baz</span><span>bang</span></div>'

The first element of the List is used as the element name. The second attribute can optionally be a Dict, in which case it is used to supply the element's attributes. Every other element is considered part of the tag's body.

And provides a CSS-like shortcut for denoting id and class attributes:

>>> fude.html(['div#foo.bar.baz', 'bang'])
'<div class="bar baz" id="foo">bang</div>'

>>> fude.html(['#foo.bar.baz', 'bang'])
'<div class="bar baz" id="foo">bang</div>'

If the body of the element is a List, its contents will be expanded out into the element body. This makes working with functions like map and List comprehensions:

>>> fude.html(['ul', [['li', x] for x in range(1, 4)]])
'<ul><li>1</li><li>2</li><li>3</li></ul>'

Authors

Jun Kikuchi

Copyright

Copyright (c) 2012 Jun Kikuchi. See LICENSE for details.