HTML5 is a Python lib to create standards compliant html.
Given Python code with well-written docstrings and argument specifications (really nice autocompletion and assistance by online helps):
Article([H1('Top Level Heading in an Article'),
P(['This is a paragraph under the article'], Class='Foo'),
Comment(['this is a <comment>, all kinds of '
'<weirdness> can be hidden from parsing']),
H2('2nd level heading in the Article'),
P(['Another paragraph, with a {link} to back it up.'.format(
link=A('http://foo/bar', 'linky'))]),
]),
We output really well-defined HTML5:
<article>
<h1>
Top Level Heading in an Article
</h1>
<p Class="Foo">
This is a paragraph under the article
</p>
<!--
this is a <comment>, all kinds of <weirdness> can be hidden from parsing
//-->
<h2>
2nd level heading in the Article
</h2>
<p>
Another paragraph, with a <a href="http://foo/bar">
linky
</a> to back it up.
</p>
</article>
Ideally, to install we will have set up pip, but we haven't yet:
$ pip install html5
You can get a local copy to make contributions with this:
$ git clone http://www.github.com/aaronchall/html5.py
Note that we don't yet have an __all__, we're going to stick to the
convention that exported names don't start with an _. So
if we need to import a stdlib module, alias it to be prefixed with an _.
Also name helper functions not intended for export by prefixing an _.
Also do not ever name anything "helper".
Test out the main with:
$ python -m html5
Test the setup.py and README.rst (this file) with:
$ python setup.py check --restructuredtext
Run tests with either of the following:
$ python -m nose $ nosetests
- write unittests
- write acceptance tests (end to end)
- write docs
- make documented helper functions for input objects in forms module
- improve documentation on preexisting objects
.gitignoreignores*index.html- is that ok?- POSTPONED: make some
__all__lists for the modules