Name : perl-Template-Pure
| |
Version : 0.033
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 73.43
| Date : 2024-08-05 20:46:32
|
Group : Development/Libraries/Perl
| Source RPM : perl-Template-Pure-0.033-73.43.src.rpm
|
Size : 0.25 MB
| |
Packager : (none)
| |
Summary : Perlish Port of pure.js and more
|
Description :
*NOTE* WARNING: Early access module. Although we have a lot of test cases and this is the third redo of the code I\'ve not well tested certain features (such as using an object as a data context) and other parts such as the way we handle undefined values (or empty iterators) are still \'first draft\'. Code currently is entirely unoptimized. Additionally the documenation could use another detailed review, and we\'d benefit from some \'cookbook\' style docs. Nevertheless its all working well enough that I\'d like to publish it so I can start using it more widely and hopefully some of you will like what you see and be inspired to try and help close the gaps.
*NOTE* UPDATE (version 0.015): The code is starting to shape up and at this point I\'m started to commit to things that pass the current test case should still pass in the future unless breaking changes are absolutely required to move the project forward. Main things to be worked out is if the rules around handling undef values and when we have an object as the loop iterator has not been as well tested as it should be.
*NOTE* UPDATE (version 0.023): Error messaging is tremendously improved and a number of edge case issues have worked out while working on the Catalyst View adaptor (not on CPAN at the time of this writing). Main blockers before I can consider this stable include lots of performance tuning, completion of a working Catalyst view adaptor, and refactoring of the way we use the Mojo::DOM58 parser so that parsers are plugable. I also need to refactor how processing instructions are handled so that its not a pile of inlined code (ideally you should be able to write your own processing instructions). I feel commited to the existing test suite and documented API.
Template::Pure HTML/XML Templating system, inspired by pure.js http://beebole.com/pure/, with some additions and modifications to make it more Perlish and to be more suitable as a server side templating framework for larger scale needs instead of single page web applications.
The core concept is you have your templates in pure HTML and create CSS style matches to run transforms on the HTML to populate data into the template. This allows you to have very clean, truely logicless templates. This approach can be useful when the HTML designers know little more than HTML and related technologies. It helps promote separation of concerns between your UI developers and your server side developers. Over the long term the separate and possibilities for code reuse can lead to an easier to maintain system.
The main downside is that it can place more work on the server side developers, who have to write the directives unless your UI developers are able and willing to learn the minimal Perl required for that job. Also since the CSS matching directives can be based on the document structure, it can lead to onerous tight binding between yout document structure and the layout/display logic. For example due to some limitations in the DOM parser, you might have to add some extra markup just so you have a place to match, when you have complex and deeply nested data.
Additionally many UI designers already are familiar with some basic templating systems and might really prefer to use that so that they can maintain more autonomy and avoid the additional learning curve that Template::Pure will requires (most people seem to find its a bit more effort to learn off the top compared to more simple systems like Mustache or even Template::Toolkit.
Although inspired by pure.js http://beebole.com/pure/ this module attempts to help mitigate some of the listed possible downsides with additional features that are a superset of the original pure.js specification. For example you may include templates inside of templates as includes or even overlays that provide much of the same benefit that template inheritance offers in many other popular template frameworks. These additional features are intended to make it more suitable as a general purpose server side templating system.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-T/openSUSE_Tumbleweed/noarch |