Posted
1 day
ago
by
piotrl...@users.sourceforge.net (PiotrLegnica)
Yes, it's alive! And I have finally managed to get rewrite properly done (well, almost).
Version numbering scheme has changed slightly, and there are three SithTemplate lines: 1.0 and earlier - the "old" ST, now obsolete (but still
... [More]
maintained, since 1.1 breaks backwards compatibility); 1.1 and next 1.x - current primary branch, rewritten, with changed API, but with more or less the same functionality; 2.0 - experimental C++ implementation (will be finished 'someday').
1.1a0, the first "new" SithTemplate, should be released during next week. It finally has unified I/O, and additionally uses an AST-constructing parser, which cleaned up tags' code a bit. Other major changes include: new API (with much less inter-object dependencies, and hopefully no circular references), unified plugin system (no more runtime/compile-time distinction, plugins work only during compilation and filters now embed code in the template code directly - and runtime impact has lowered, since no plugin search is required), much simplified and DRY-ified code, and much less interfaces. New documentation will be completely Doxygen-generated.
1.1a0 will be first alpha release of 1.1, and probably won't contain full standard library. And remember that it also completely breaks backwards compatibility, and has new, untested codebase - if you're not ready to change your application and/or cannot afford to hit unknown bugs, then stick to 1.0 - it's a mess, but it works (as I wrote earlier, it's also still maintained - if you *do* find a bug, then don't wait and report it).
Thanks to everyone still interested in this project. Also all suggestions regarding new API, etc. are welcome.
Bugtracker:
http://bugs.pececik.com/enter_bug.cgi?product=SithTemplate (0 comments) [Less]
Posted
6 months
ago
by
piotrl...@users.sourceforge.net (PiotrLegnica)
0.10 has been re-released as 1.0, project goes into bugfix-only maintenance mode. Please note, while it's highly unlikely that new features will be added, I'll do my best to fix all reported bugs.
Also, SithTemplate 1.0 supports PHP 5.2
... [More]
only. No bugs specific to PHP 5.1, or >=5.3 will be fixed.
Reason? PHP itself, I guess. It's time to move on and leave it behind completely. SithTemplate 2? Maybe, someday. Perhaps in C .
Thanks to everyone who helped during ST development. (0 comments) [Less]
Posted
6 months
ago
by
piotrl...@users.sourceforge.net (PiotrLegnica)
Powered by Bugzilla, can be found at
http://bugs.pececik.com/enter_bug.cgi?product=SithTemplate (0 comments)
Posted
7 months
ago
by
piotrl...@users.sourceforge.net (PiotrLegnica)
Four months. About 200 commits. One rewrite. Result? Nothing.
The 0.10 release should be 0.9.5. But apart from minor fixes it marks the definitive end of current 0.x codebase. Next release series will be redesigned and rewritten from the
... [More]
ground up. Bloat will be removed and not implemented unless explicitly requested.
And if I won't be able to finish it, then 0.10.x will probably become the final and the last version of SithTemplate. (0 comments) [Less]
Posted
10 months
ago
In 0.9 and earlier, both libraries and I/O drivers were called "plugins". As of 0.10, plugin is a bundle, containing any number of elements.
Plugins need explicit loading on application side (either by new config var autoloadPlugins, or by
... [More]
TemplateCore::loadPlugin API).
Libraries can still be loaded from within templates (just for this template), and additionally from application (using either config var autoloadLibraries or TemplateCore::loadLibrary API; for all templates).
Libraries have to be referenced to as Plugin.Library.
Difference between runtime and compile time libraries is gone.
Hooks are no longer contained in libraries.
New extension types will be available - I/O filters and cache drivers.
The only remaining interfaces are those related to plugins (e.g. ITemplatePlugin, ITemplateLibrary).
I/O filters will be called in defined order (in filtersInput and filtersOutput config vars) on both template input (unparsed) and template output (not template PHP code, but the result of rendering).
Cache drivers - there will be one instance-wide (cacheDriver config var) driver, that will be passed to I/O drivers.
Example plugin's main class.
Sorry for chaotic Engrish, feel free to contact me if something is unclear, or if you have any suggestions. [Less]