Create HTML documents using Pythonic syntax that mimics the real deal.
Project description
Domini
A small, simple package for generating HTML documents. The syntax aims to immitate HTML as closely as possible for legibility and easy of use.
Attributes
Attributes without a value are entered as positional arguments.
Attributes with a value are entered as keyword arguments.
To specify attributes that collide with reserved Python keywords, append an underscore and it will be removed.
Python
from domini.html import dialog
dialog('open', class_='mydialog')
HTML
<dialog open class='mydialog'>
Content
To add children to an element, you can use either the add
method or the short-hand greater-than operator. The right-hand side can be either a tuple of elements or a lone element. These elements can be either other tags or plain strings.
NOTE: add
does add them to the current object. >
returns a new, identical element with those children added.
ul(class_='todo')> (
li()> 'Buy a fruit basket.',
li()> (
'Read', a(href='https://wikipedia.org/')> 'Wikipedia',
'to learn more about things you may have not otherwise cared about.',
),
)
Closing tags
A tag is only closed if content is provided. E.g. <p></p>
as opposed to <p>
. This can be an empty tuple.
section()> ()
For open tags like <br>
and <hr>
, you simply do br()
and hr()
.
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.