Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Library for rendering HTML in Python
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
tests
.gitignore
LICENSE
MANIFEST
MANIFEST.in
README
README.md
fude.py
setup.py

README.md

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.

Something went wrong with that request. Please try again.