1 |
dpavlin |
10 |
package HTML; |
2 |
|
|
|
3 |
|
|
use strict; |
4 |
|
|
use warnings; |
5 |
|
|
|
6 |
|
|
use Time::HiRes qw/time/; |
7 |
|
|
use Data::Dump qw/dump/; |
8 |
|
|
use View; |
9 |
|
|
|
10 |
|
|
use Data::Dump qw/dump/; |
11 |
|
|
|
12 |
|
|
warn "available templates = ",dump( Template::Declare->templates ); |
13 |
|
|
|
14 |
|
|
use Template::Declare; |
15 |
|
|
use Template::Declare::Tags; # defaults to 'HTML' |
16 |
|
|
Template::Declare->init( roots => ['HTML','View'], around_template => sub { |
17 |
|
|
my ($orig, $path, $args, $code) = @_; |
18 |
|
|
my $t = time; |
19 |
|
|
html { |
20 |
|
|
head {} |
21 |
|
|
body { |
22 |
|
|
$orig->(); |
23 |
|
|
} |
24 |
|
|
} |
25 |
|
|
warn "TEMPLATE $path ",dump($args),sprintf(" in %.4fs\n",time - $t); |
26 |
|
|
}); |
27 |
|
|
|
28 |
|
|
sub view { |
29 |
|
|
# warn "## view",dump( @_ ); |
30 |
|
|
my $self = shift; |
31 |
|
|
return Template::Declare->show( @_ ); |
32 |
|
|
} |