Simple Pythonic HTML Creator
Project description
Very alpha yet but works
Compatible with Python3/ 2.x
Source: https://github.com/shon/sphc
Any suggestions/issues | https://github.com/shon/sphc/issues
Critisism or if you feel such thing already implemented feel free to write Authour.
As simple as below:
>>> import sphc >>> tf = sphc.TagFactory() >>> html = tf.HTML() >>> html.head = tf.HEAD() >>> html.body = tf.BODY() >>> html.body.content = tf.DIV("Some Text here.", Class='content') >>> html.body.content.br = tf.BR() >>> html.body.content.br = tf.BR() >>> html.footer = tf.FOOTER() >>> data = [('One', '1'), ('Two', '2'), ('Three', '3')] >>> atable = tf.TABLE() >>> for element in data: >>> row = tf.TR() >>> row.cells = [tf.TD(element[0]), tf.TD(element[1])] >>> atable.row = row >>> more_cells = [tf.TD('Four'), tf.TD('4')] >>> row = tf.TR() >>> row.cells = more_cells >>> atable.row = row >>> html.body.content.atable = atable >>> html.body.content.attributes['id'] = 'content_id' >>> print(html) >>> print(html.pretty())
Remember
pretty method should only be used for debugging. Real output is generated by str( <tag-object> )
Properties with no value required
>>> c = tf.INPUT('checked', type='checkbox', value='foo') >>> print(c) <INPUT checked type="checkbox", value="foo"/>
More
sphc.more module privides base HTML5 page classes (based on html5boilerplate.com templates) This is work in progress.:
>>> import sphc.more >>> tf = sphc.TagFactory() >>> class MyPage(sphc.more.HTML5Page): def footer(self): return tf.FOOTER("Footer text") >>> my_page = MyPage() >>> my_page.render()
Similar packages
http://pypi.python.org/pypi/html # Inspiration. It uses __getattr__ trick whereas this package is mostly a __setattr__ trick, aiming sharing of blocks.
TODO
To add more tests
A document class ?
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.