0.45 2011-04-15
* Added new HTML 5 elements to the HTML Tag set. (Theory)
0.44 2010-12-08
* Added support for $TAG_INDENTATION and $EOL (Marc Chantreux)
* Add a current_base_path() convenience function (trs)
0.43 2009-11-18
* Test warning fixes (Theory)
* Dist fixes suggested by rafl (Sartak)
0.42 2009-11-01
* Added the "strict" attribute to make exceptional situations fatal. (Theory)
* Removed unused "implementor" attribute in Template::Declare::TagSet. (Theory)
0.41 2009-10-29
* Documentation tweaks (Theory)
0.40_02 2009-10-23
* David (Theory) Wheeler spent considerable effort on cleaning up
Template-Declare for this release.
* Reworked all the documentation, neatening things, expanding the "USAGE"
section, fixing bugs in the examples, and adding missing docs for various
functions and methods.
* Added "dispatch_to" to replace "roots", which is now deprecated. Note that
"dispatch_to" resolves to template classes in the opposite order to "roots".
This won't be an issue if you only use a single temlate class.
* Converted the implementation of "alias" to be the same as that used for
"import_templates", which is much more efficient.
* Added the "into" parameter to "alias" and "import_templates".
* Added the "setting" syntactical sugar keyword for use with "alias".
* Renamed "import_templates" to "mix". The former is still around, but is
deprecated.
* Added support for package variables with "mix".
* Deprecated the undocumented "aliases()" and "alias_metadata()" methods, as
they are no longer needed. They're now no-ops that issue warnings. To be
removed altogether in a future version.
0.40_01 2009-08-12
* Support for inline tagset definitions. Thanks to Olivier 'dolmen' Mengué
[rt.cpan.org #48642]
0.40 - 2009-07-08
* Fix subname issue with the debugger and specifically Devel::NYTProf
* String::BufferStack usage improvements
0.39 - 2009-03-05
* No code changes; increase Test::Warn dependency to 0.11, as 0.10 was
broken
0.38 - 2009-02-27
* Support, but deprecate, Template::Declare->buffer->data(...) usage
0.37 - 2009-02-19
* Make HTML::Lint an optional dependency
0.36 - 2009-02-05
* Hint to the source of the buffer using a 'from' argument. This
allows us to inspect the call stack by looking at the buffer stack.
0.35 - 2009-01-20
* Buffers have been moved to using String::BufferStack, for better
interopability with other templating systems. Code which
manipulated Template::Declare::Buffer objects by hand may need to be
adjusted.
0.31_01 - 2008-12-19
* INCOMPATIBLE: there were inconsistency in arguments passing.
show in TD::Tags could pass arguments into template as array
reference depending on a way it's called. Now arguments
are always passwed the same way they passed into show.
This change is only backwards incompatible for those who were using this incorrect behaviour.
0.30 - 2008-11-26
* Remove the "wrapper" export, its name is too generic and clashes with a lot
of existing code. It's a negligible amount of sugar.
0.29 - 2008-07-01
* Sugar for defining a tag-like wrapper. Thanks Theory! #37624
* Don't load all of CGI.pm to get a list of tags. #37630
* Don't add attrs to the first tag in smart_tag_wrapper. #37622.
0.28 - 2008-02-14
* Added the missing dependency Class::ISA to Makefile.PL
* Added the "canvas" tag to the HTML tagset.
* Added around_template for instrumentation.
0.27 - 2007-11-02
* Added support for the RDF tag set (T::D::TagSet::RDF).
* Added support for the Mozilla EM RDF tag set (T::D::TagSet::RDF::EM)
0.26 - 2007-08-14
* Refactored Template::Declare::Tags to make the tag sets configurable.
* Added Template::Declare::TagSet::HTML and Template::Declare::TagSet::XUL,
respectively, as well as their common base class, Template::Declare::TagSet.
Added Template::Declare::TagSet::HTML and Template::Declare::TagSet::XUL,
respectively.
* Added support for XML namespace:
use Template::Declare::Tags 'XUL', 'HTML' => { namespace => 'html' };
and
... 'HTML' => { namespace => 'html', package => 'MyHtml' };
* And we can now say 'use Template::Declare::Tags qw/ HTML XUL /;
* Added @Template::Declare::Tags::TAG_SUB_LIST which records all the tag subroutines
generated on-the-fly, which is necessary for secondary symbol exporting
in Jifty::View::Declare::Helpers.
* Implemented C< use Template::Declare::Tags HTML => { from => 'My::HTML::TagSet' } >.
* Allow content post-proceessing with a callback.
* Added a PITFALLS section to T::D's POD.
* Added a global sub append_attr to provide friendly diagnostics and the infamous "Undefined subroutine &Template::Declare::Tags::append_attr called at ..." is now gone.
r57043@pinglin: jesse | 2007-05-22 15:58:29 -0400
r57042@pinglin: jesse | 2007-05-22 15:56:19 -0400
r57012@pinglin: jesse | 2007-05-20 22:43:53 -0400
r57010@pinglin: jesse | 2007-05-20 22:09:31 -0400
r57000@pinglin: jesse | 2007-05-20 20:15:49 -0400
r56999@pinglin: jesse | 2007-05-20 19:16:38 -0400
r56997@pinglin: jesse | 2007-05-20 17:51:13 -0400
r56995@232: jesse | 2007-05-20 16:28:32 -0400
r56992@232: jesse | 2007-05-20 16:21:55 -0400
r56991@232: jesse | 2007-05-20 15:52:10 -0400 minor refacotring
r56989@232: jesse | 2007-05-20 15:35:32 -0400
r56987@232: jesse | 2007-05-20 15:25:58 -0400 more cleanup
r56984@232: jesse | 2007-05-20 15:21:14 -0400
r56983@232: jesse | 2007-05-20 15:21:06 -0400
r56981@pinglin: jesse | 2007-05-20 03:54:21 -0400
r56979@pinglin: jesse | 2007-05-19 16:17:20 -0400
r56977@pinglin: jesse | 2007-05-19 15:56:57 -0400
r56974@pinglin: jesse | 2007-05-19 15:43:02 -0400
r56973@pinglin: jesse | 2007-05-19 15:13:55 -0400 perltidy
r56807@pinglin: jesse | 2007-05-12 03:11:35 -0400 Allow recursive aliasing.
r56805@pinglin: jesse | 2007-05-12 01:25:45 -0400 deep import tests
r56803@pinglin: jesse | 2007-05-12 00:37:02 -0400 Tests to show that recursive aliasing breaks
r56786@pinglin: jesse | 2007-05-11 18:15:20 -0400
r56761@pinglin: jesse | 2007-05-07 22:05:40 -0400
r56759@pinglin: jesse | 2007-05-07 21:23:39 -0400
r56756@pinglin: jesse | 2007-05-07 20:07:43 -0400
r56755@pinglin: jesse | 2007-05-07 20:07:18 -0400
If we're in bytes mode and had a string with UTF-8 flag set then after escaping we'll get a string without flag, but it still would be valid UTF-8 and must have flag set. Effect is not obviouse at this step, but later if you'll try to concatenate the result with a flagged UTF-8 string then perl "auto-upgrade" the result using 'latin1 -> UTF-8' transformation applied to your valid UTF-8 string and you'll get corruption.
r55437@pinglin: jesse | 2007-04-15 11:04:41 -0400 manifest update
r55436@pinglin: jesse | 2007-04-15 11:04:22 -0400 0.07
r55435@pinglin: jesse | 2007-04-15 11:03:34 -0400
r55434@pinglin: jesse | 2007-04-15 10:59:48 -0400
r55433@pinglin: jesse | 2007-04-15 10:59:06 -0400
r54525@dhcp207: jesse | 2007-04-06 23:07:11 +0900
r54523@dhcp207: jesse | 2007-04-06 23:04:19 +0900
r54517@dhcp207: jesse | 2007-04-06 19:36:06 +0900
r54399@pinglin: jesse | 2007-03-31 18:49:21 -0700
r54393@pinglin: jesse | 2007-03-31 18:20:31 -0700
r54389@pinglin: jesse | 2007-03-31 00:19:30 -0700
r54259@pinglin: jesse | 2007-03-27 22:50:53 -0700
r54255@pinglin: jesse | 2007-03-27 20:20:21 -0700
r54254@pinglin: jesse | 2007-03-27 20:18:21 -0700
r54252@pinglin: jesse | 2007-03-27 14:41:20 -0700
r53844 (orig r3052): clkao | 2007-03-23 22:22:25 -0400
When calling show, look at the current context rather than global. This breaks a test that is arguably wrong by introducing collision.
r53531 (orig r2989): evdb | 2007-03-16 05:15:53 -0400
Added function 'smart_tag_wrapper' that allows tags to be created that have access to the ATTRIBUTES set using 'with'. It attempts to hide most of the complexity of the call from the user and tidies up after itself.
r53453 (orig r2970): evdb | 2007-03-15 12:27:59 -0400
Added carped warning when you try to 'show' a template that either does not exist or is private and so cannot be used.
r52903@152: jesse | 2007-03-03 00:54:03 +0000 0.06
r49940@pinglin: jesse | 2007-03-01 12:26:05 -0500
r48606@pinglin: jesse | 2007-02-28 14:53:09 -0500
r48605@pinglin: jesse | 2007-02-28 14:49:48 -0500
r48504@233: jesse | 2007-02-23 17:24:34 -0500
r21797@hualien: jesse | 2007-02-06 17:11:57 +1300
r21351@hualien: jesse | 2007-01-26 19:46:44 +0800
r21085@hualien: jesse | 2007-01-18 00:12:37 -0500
r21082@hualien: jesse | 2007-01-18 00:06:05 -0500
r21081@hualien: jesse | 2007-01-18 00:05:40 -0500
r21079@hualien: jesse | 2007-01-17 23:28:57 -0500
r21007@hualien: jesse | 2007-01-16 13:23:33 -0500 *0.01_01
r21001@hualien: jesse | 2007-01-15 21:17:57 -0500
r20995@hualien: jesse | 2007-01-15 20:57:42 -0500
r20994@hualien: jesse | 2007-01-15 20:57:36 -0500
r20993@hualien: jesse | 2007-01-15 18:56:56 -0500 Evil, evil, evil tricks to make self the right packagename
r20992@hualien: jesse | 2007-01-15 17:58:08 -0500
r20991@hualien: jesse | 2007-01-15 17:57:23 -0500
r20989@hualien: jesse | 2007-01-15 17:03:19 -0500
r20985@hualien: jesse | 2007-01-15 16:11:22 -0500
r20982@hualien: jesse | 2007-01-15 15:54:40 -0500
r20981@hualien: jesse | 2007-01-15 15:52:48 -0500
r46837 (orig r2474): clkao | 2007-01-06 05:13:34 -0500
r46836 (orig r2473): clkao | 2007-01-06 05:09:28 -0500
r46769 (orig r2467): jesse | 2007-01-05 01:03:22 -0500
r46767@pinglin: jesse | 2007-01-05 01:02:30 -0500
r46753@pinglin: jesse | 2007-01-04 23:21:33 -0500
r46503@pinglin: jesse | 2006-12-26 23:16:22 -0500
r46375 (orig r2414): clkao | 2006-12-20 17:59:32 -0500
r46340 (orig r2410): jesse | 2006-12-20 02:54:02 -0500
r46333@dhcp64-134-35-102: jesse | 2006-12-19 20:25:21 -0800 stray warning
r46332@dhcp64-134-35-102: jesse | 2006-12-19 18:42:56 -0800
r46268 (orig r2406): jesse | 2006-12-19 03:08:34 -0500
r46259@pinglin: jesse | 2006-12-19 03:02:51 -0500
r46267@pinglin: jesse | 2006-12-19 03:08:30 -0500
r46255@185: jesse | 2006-12-18 19:45:21 -0500
r46221@pinglin: jesse | 2006-12-16 21:30:23 -0500
r46220@pinglin: jesse | 2006-12-16 21:18:51 -0500
r46219@pinglin: jesse | 2006-12-16 20:44:13 -0500
r46213@66: jesse | 2006-12-16 12:57:42 -0800
r46212@66: jesse | 2006-12-16 12:41:51 -0800
r46211@66: jesse | 2006-12-16 11:41:31 -0800
r46081@pinglin: jesse | 2006-12-11 02:14:42 +0000
r46080@pinglin: jesse | 2006-12-11 02:06:21 +0000
r46002@pinglin: jesse | 2006-12-07 18:13:57 +0000
# default to <tag/> rather than <tag></tag> if there's no content
and added this comment:
# We should, in theory, default to <tag /> rather than <tag></tag> if there's no content,
# but until all we output is strict XHTML, "<iframe src='...' />" and "<a name='...' />"
# are rendered incorrectly by gecko -- they require the use of an explicit closing tag
# So intead of the correct treatment:
#
# $BUFFER .= $buf." />";
#
# we supply a closing tag for now:
#
$BUFFER .= $buf."></$tag>";
div {{ id is 'moose' } span { 'Hi!' } }; div { attr { id is 'moose' } span { 'Hi!' } }; div { attr { id => 'moose' } span { 'Hi!' } }; div { attr { id is 'moose' }; span { 'Hi!' } }; div { attr { id => 'moose' }; span { 'Hi!' } };
The old style is still supported as well:
with(id => 'moose'), div { span { 'Hi!' } };
r45839@pinglin: jesse | 2006-12-06 01:06:54 -0500
r45842@pinglin: jesse | 2006-12-06 02:13:13 -0500
div {
attr( id => 'foo');
outs('my text');
}
In addition to the existing support for:
div {
{ id is 'foo' }
outs('my text');
}
Tested both.
r45780 (orig r2305): audreyt | 2006-12-03 10:57:34 -0500
# Single underscore: http_equiv ====> http-equiv meta {{ http_equiv is "Refresh", content is "0; $url" }};
# Double underscore: xml__lang ====> xml:lang body {{ xml__lang is 'x-lojban' }};
table {{width is '100%'} row {
cell {{width is '50%'} $search_region->render };
cell {{width is '50%'} $result_region->render };
} };
r44901 (orig r2168): jesse | 2006-11-15 23:55:49 -0500