Merge web-template-4939 - incorporate the good parts of Nevow into Twisted.
commit42e65d63695a47ac984f00e36bb628ba89e3913a
authorglyph <glyph@bbbe8e31-12d6-0310-92fd-ac37d47ddeeb>
Mon, 21 Mar 2011 14:17:42 +0000 (21 14:17 +0000)
committerglyph <glyph@bbbe8e31-12d6-0310-92fd-ac37d47ddeeb>
Mon, 21 Mar 2011 14:17:42 +0000 (21 14:17 +0000)
tree9079b8b76052a7c07dac7552cfd01def5587d012
parent685e82fca2ead1eb916dae8d1e7d26779b4e8232
Merge web-template-4939 - incorporate the good parts of Nevow into Twisted.

Author: habnabit, glyph, lewq, jesstess, jerub, exarkun

Reviewer: glyph, idnar

Fixes: #4939

This change pulls in exarkun's latest and greatest page rendering model (hence
his well-deserved inclusion on the authors list, even though he didn't make
commits to this ''particular'' branch) from `nevow.page.Element`, with several
modifications to simplify it and reduce the amount of code in it.  Also included
is a new narrative tutorial document explaining how to use basic templating, and
also that you ''DO NOT NEED THIS'' to generate HTML in a Twisted program; you
just might want it because it's easy and fun.

This should allow us to much more gracefully and correctly generate HTML within
Twisted in the few places we already do, and perhaps also allow us to more
easily provide new browser-based, simple management tools for Twisted servers at
some point in the future.

git-svn-id: svn://svn.twistedmatrix.com/svn/Twisted/trunk@31357 bbbe8e31-12d6-0310-92fd-ac37d47ddeeb
37 files changed:
doc/web/howto/index.xhtml
doc/web/howto/listings/element_1.py [new file with mode: 0644]
doc/web/howto/listings/element_2.py [new file with mode: 0644]
doc/web/howto/listings/element_3.py [new file with mode: 0644]
doc/web/howto/listings/output-1.html [new file with mode: 0644]
doc/web/howto/listings/output-2.html [new file with mode: 0644]
doc/web/howto/listings/output-3.html [new file with mode: 0644]
doc/web/howto/listings/quoting-output.html [new file with mode: 0644]
doc/web/howto/listings/quoting_element.py [new file with mode: 0644]
doc/web/howto/listings/render_1.py [new file with mode: 0644]
doc/web/howto/listings/render_2.py [new file with mode: 0644]
doc/web/howto/listings/render_3.py [new file with mode: 0644]
doc/web/howto/listings/render_quoting.py [new file with mode: 0644]
doc/web/howto/listings/render_slots_attrs.py [new file with mode: 0644]
doc/web/howto/listings/render_transparent.py [new file with mode: 0644]
doc/web/howto/listings/slots-attributes-1.xml [new file with mode: 0644]
doc/web/howto/listings/slots-attributes-output.html [new file with mode: 0644]
doc/web/howto/listings/slots_attributes_1.py [new file with mode: 0644]
doc/web/howto/listings/template-1.xml [new file with mode: 0644]
doc/web/howto/listings/transparent-1.xml [new file with mode: 0644]
doc/web/howto/listings/transparent-output.html [new file with mode: 0644]
doc/web/howto/listings/transparent_element.py [new file with mode: 0644]
doc/web/howto/listings/wait_for_it.py [new file with mode: 0644]
doc/web/howto/listings/waited-for-it.html [new file with mode: 0644]
doc/web/howto/listings/waited-for-it.txt [new file with mode: 0644]
doc/web/howto/twisted-templates.xhtml [new file with mode: 0644]
twisted/web/_element.py [new file with mode: 0644]
twisted/web/_flatten.py [new file with mode: 0644]
twisted/web/_stan.py [new file with mode: 0644]
twisted/web/error.py
twisted/web/iweb.py
twisted/web/template.py [new file with mode: 0644]
twisted/web/test/_util.py
twisted/web/test/test_flatten.py [new file with mode: 0644]
twisted/web/test/test_stan.py [new file with mode: 0644]
twisted/web/test/test_template.py [new file with mode: 0644]
twisted/web/topfiles/4939.feature [new file with mode: 0644]