Skip to main content

Library for rendering HTML in Python

Project description

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>'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fude-1.0.1.tar.gz (2.3 kB view details)

Uploaded Source

File details

Details for the file fude-1.0.1.tar.gz.

File metadata

  • Download URL: fude-1.0.1.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fude-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ffb7c7331b517d63bdf0248c9e6e0210bd71782f71050c58397e99e139e570dc
MD5 1fd3485cb137a16dc46e3a9920bde872
BLAKE2b-256 2ebe4724e0a87addf9b50caa74bfd0414858a77bfe36b176eb51950f82730066

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page