{ "info": { "author": "Chris Withers", "author_email": "chris@simplistix.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Text Processing", "Topic :: Text Processing :: Filters", "Topic :: Text Processing :: Markup", "Topic :: Text Processing :: Markup :: HTML", "Topic :: Text Processing :: Markup :: XML" ], "description": "========\nTwiddler\n========\n\nTwiddler seeks to provide a way to render textual content from\ntemplate sources. It has two main aims:\n\n- be able to work with source material provided by designers and\n leaving them absolutely unchanged or work absolutely seamlessly\n with visual editors if there is any markup that needs to be\n added.\n\n- be absolutely as simple as possible while still being able to\n handle all that needs to be done. This, in particular, means no\n new languages should need to be known to be use Twiddler!\n\nBefore You Start\n================\n\nYou will need to know the syntax of the content you wish to\ngenerate, be that XML, HTML or plain text.\n\nYou will need to know some Python. You'll need to know very little\nto get going, but if you want to do more advanced manipulation,\nyou'll need to know more.\n\nInstallation\n============\n\nThe easyiest way to install Twiddler is:\n\n easy_install twiddler\n\nOr, if you're using zc.buildout, just specify 'twiddler' as \na required egg.\n\nHowever, you can also install by unpacking the source\ndistribution and placing the 'twiddler' folder somewhere on your \nPYTHONPATH.\n\nIf you do not install using easy_install or zc.buildout, you will \nalso need to make sure the following python packages are available \non your PYTHONPATH:\n\n- **elementtree**\n \n Even though this comes as standard in Python 2.5 or above,\n Twiddler has not yet been made compatible with the version that\n ships with Python 2.5. ElementTree must be seperately installed\n no matter what version of Python you are using and it can be\n downloaded from:\n\n http://effbot.org/zone/element-index.htm\n \n- **zope.interface**\n\n This comes as standard in Zope 2.9.0 and above, but if you're\n not using Zope, you'll need to download it from:\n\n http://download.zope.org/distribution/\n\n You'll need a knowledge of python eggs although the INSTALL.TXT\n in the .tar.gz file gives instructions.\n\n- **zope.testing**\n\n This is only needed if you want to run the included unit and doc\n tests. It comes as standard in Zope 2.9.0 and above, but if\n you're not using Zope and want to run the tests, it can be\n seperately downloaded from:\n\n http://download.zope.org/distribution/\n\n You'll need a knowledge of python eggs although the INSTALL.TXT\n in the .tar.gz file gives instructions.\n\n For instructions on installation with the various python web\n frameworks, please see the \"Further Information\" section below.\n\nUsage\n=====\n\nTo explain how Twiddlers work, we're going to use the plain python\nversion of Twiddler and do everything from scratch. Once you've\ninstalled Twiddler for plain python, the following examples will\nall work just fine.\n\nSo, to start off with, you create a Twiddler from some source\nstring:\n \n >>> from twiddler import Twiddler\n >>> t = Twiddler('''\n ...
\n ...