{
    "href": "/post/2004/10/05/savant-210-documentation-now-online/",
    "relId": "2004/10/05/savant-210-documentation-now-online",
    "title": "Savant 2.1.0 Documentation Now Online",
    "author": "pmjones",
    "markup": "html",
    "tags": [
        {
            "href": "/tag/php/",
            "relId": "php",
            "title": "PHP",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        }
    ],
    "created": "2004-10-05 16:38:20 UTC",
    "updated": [
        "2004-10-05 16:38:20 UTC"
    ],
    "html": "<p>The documentation for the 2-month-old Savant2 is <a href=\"http://phpsavant.com/\">now online here</a>; the old version 1 docs are still available <a href=\"http://phpsavant.com/yawiki/index.php?page=Savant1Docs\">here</a>.  Be sure to check out the <a href=\"http://phpsavant.com/yawiki/index.php?page=StartUpgrade\">upgrade notes</a>.</p>\n<p>Savant2 sports a powerful new <a href=\"http://phpsavant.com/yawiki/index.php?page=PluginForm\">form plugin</a> that lets you build forms using only Savant2 plugin calls.  In a way, it is a template-logic version of <a href=\"http://pear.php.net/HTML_QuickForm\">HTML_QuickForm</a> as far as layout and presentation are concerned (but it doesn't do anything with validation or processing, c.f. my <a href=\"http://paul-m-jones.com/blog/index.php?p=24\">earlier comments on forms</a>).</p>\n<p>The Savant site is powered by <a href=\"http://yawiki.com/\">YaWiki 0.17.2</a>, a custom stylesheet, and a custom header template (in Savant2 of course :-).  Soon I'll release an update to YaWiki that will allow much finer control over the <a href=\"http://pear.php.net/Text_Wiki\">Text_Wiki</a> processing engine using groups in the <a href=\"http://phpyawp.com/\">Yawp</a> config file.</p>\n<p>If you have not heard of Savant, it's not because I haven't evangelized it at every opportunity; I bill it as \"the simple and elegant alternative to <a href=\"http://smarty.php.net/\">Smarty</a>.\"  But just in case you haven't heard yet ... ;-)</p>\n<blockquote>\n<p>Savant is a powerful but lightweight object-oriented template system for PHP.</p>\n<p>Unlike other template systems, Savant by default does not compile your templates into PHP; instead, it uses PHP itself as its template language so you don't need to learn a new markup system.</p>\n<p>Savant has an object-oriented system of template plugins and output filters so you can add to its behavior quickly and easily.</p>\n<p>Savant has an extensible error handling system. While Savant uses its own minimalist error class out-of-the-box, it supports PEAR_Error and PEAR_ErrorStack. You can also add your own error classes to support your favorite framework error system. Error-handling hooks are provided in the standard Savant class.</p>\n<p>Even though Savant does not come with one, you can write your own markup compiler and hook it into Savant. This means you can invent any markup system you like; as long as your compiler turns it into a PHP script, Savant will be able to use it. As with the error handler, you don't need to extend Savant itself to do this; compiler hooks are provided in the standard Savant class.</p>\n<p>Savant is streams-aware and can use any stream as a template source.</p>\n</blockquote>\n<p>Be sure to visit the <a href=\"http://phpsavant.com/\">Savant</a> website for more information, including download and installation instructions, tutorials, and reference materials.</p>\n"
}
