The following module was proposed for inclusion in the Module List:
modid: Positron
DSLIP: cdpOp
description: Templating and markup module family
userid: BDEUTSCH (Ben Deutsch)
chapterid: 23 (Miscellaneous_Modules)
communities:
https://github.com/bendeutsch/positron-template
similar:
Template HTML::Template
rationale:
* What is this?
Positron is a family of modules dealing with templating and markup:
Positron::Template Positron::DataTemplate Positron::Environment
Positron::Expression Positron::Markup Positron::Document
and potentially more in the future. The primary module would be
Positron::Template, which is a HTML and XML templating system, like
Template Toolkit or HTML::Template, but with a twist: instead of
performing text concatenation, the template and result is actually a
real, live DOM representation. This makes it unsuitable for anything
besides HTML / XML, but guarantees well-formed output, and also
allows editing the template with an editor which handles HTML really
well (e.g. tag matching).
Positron::DataTemplate is similar, but works directly on plain old
data (arrays and hashes). It uses similar syntax as
Positron::Template via the shared Environment and Expression
modules.
Markup and Document are planned extensions, which provide
ASCII-like markup for structured documents (think Markdown), and for
an key-value container for such documents.
* Why not choose a more descriptive name?
A descriptive name would imply an authority that these modules do
not presume. They (specifically Positron::Template) solve a problem
that most people no longer have, because other, more mainstream
solutions are available. Precisely this "twist" of not working on
text is unusual and surprising, especially given other templating
systems, not just in Perl, but in many languages. Noone would search
for a templating system working on a DOM / raw data; most people
would not even know to ask the question. This is something a user
would need to be shown, to be pointed towards. Searchability is not
as great an issue.
Additionally, finding a descriptive name based on the domain or
implementation is difficult, since there is no underlying domain
(HTML? XML? Data?). Anyway, "HTML::Template" is already taken ;-)
* So why "Positron"?
It is short. It is memorizable and recognizable. It is easily
pronounced and spelled, even by non-native English speakers. It does
not collide with existing templating systems; in fact, even the
initials do not collide with TT or H::T (Template Toolkit and
HTML::Template, respectively).
enteredby: BDEUTSCH (Ben Deutsch)
enteredon: Sun May 12 19:07:27 2013 GMT
The resulting entry would be:
Positron cdpOp Templating and markup module family BDEUTSCH
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=afd00000_95c48773a8deb838&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=afd00000_95c48773a8deb838&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=Positron