Siviglia templating
The Siviglia templating engine allows to create templates using smaller, reusable bits of code called widgets.Those widgets can, in turn, be based in other widgets. In this way, templates are written using abstract widgets (like "page", or "menu"), which, recursively, resolve to concrete widgets that generate HTML (or any other language). Templates are just plain php files, with some special tags used in the html context, so the syntax is very simple.Templates are parsed to generate a single PHP file, which is cached, and served. Includes plugins to ease internationalization support, and to keep in a single file, the php, html, css and javascript required for a widget.