Changeset 27062 for lang/perl/MENTOS
- Timestamp:
- 12/19/08 16:01:48 (5 years ago)
- Location:
- lang/perl/MENTOS/trunk
- Files:
-
- 1 added
- 3 removed
- 5 modified
-
app/controller/edit.mt (modified) (2 diffs)
-
app/controller/entries.mt (modified) (1 diff)
-
app/controller/header.mt (modified) (1 diff)
-
lib/MENTA.pm (modified) (2 diffs)
-
lib/MENTA/CGI.pm (deleted)
-
lib/MENTA/ModPerl.pm (added)
-
lib/MENTA/Response.pm (deleted)
-
lib/MENTA/Template.pm (deleted)
-
lib/MENTA/TemplateLoader.pm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/MENTOS/trunk/app/controller/edit.mt
r24901 r27062 1 ? my ($entry, $message) = @_ 1 ? my ($entry, $message) = @_; 2 2 ?= render('header.mt', config()->{application}->{title}) 3 3 <div class="entry"> … … 9 9 <br /> 10 10 <label for="description">本文</label><br /> 11 ? my $meta = join '', map({ "meta-$_: ".$entry->{meta}->{$_}."\n" } keys(%{$entry->{meta}})) 11 ? my $meta = join '', map({ "meta-$_: ".$entry->{meta}->{$_}."\n" } keys(%{$entry->{meta}})); 12 12 ? $meta .= "\n" if $meta; 13 13 <textarea id="description" name="description" style="width: 400px; height: 300px;"><?=r $meta.escape_html($entry->{description}) ?></textarea> -
lang/perl/MENTOS/trunk/app/controller/entries.mt
r26203 r27062 1 ? my $entries = shift1 ? my ($entries) = @_; 2 2 ?= render('header.mt', config()->{application}->{title}) 3 3 <div class="entries hfeed"> -
lang/perl/MENTOS/trunk/app/controller/header.mt
r24495 r27062 1 ? my $title = shift1 ? my ($title) = @_; 2 2 ? my $blog_url = blog_top_url(); 3 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -
lang/perl/MENTOS/trunk/lib/MENTA.pm
r26396 r27062 8 8 require 'MENTA/Context.pm'; 9 9 10 our $VERSION = '0.1 1';10 our $VERSION = '0.13'; 11 11 our $REQ; 12 12 our $CONFIG; … … 152 152 my ($tmpl, @params) = @_; 153 153 my $out = MENTA::TemplateLoader::__load($tmpl, @params); 154 bless \$out, ' MENTA::Template::RawString';154 bless \$out, 'Text::MicroTemplate::EncodedString'; 155 155 } 156 156 -
lang/perl/MENTOS/trunk/lib/MENTA/TemplateLoader.pm
r26396 r27062 8 8 sub __load { 9 9 my ($path, @params) = @_; 10 my $out; 10 11 11 if (__use_cache($path)) { 12 12 my $tmplfname = MENTA::mt_cache_dir . "/$path.c"; … … 15 15 die $@ if $@; 16 16 die "テンプレートキャッシュを読み込めませんでした: ${tmplfname}($!)" unless $tmplcode; 17 $out = $tmplcode->(@params);17 return $tmplcode->(@params)->as_string; 18 18 } else { 19 my $code = __compile($path); 20 local $@; 21 my $tmplcode = eval $code; 22 die $@ if $@; 23 $out = $tmplcode->(@params); 24 __update_cache($path, $code); 19 return __compile($path, @params); 25 20 } 26 $out;27 21 } 28 22 29 23 sub __compile { 30 my ($path) = @_; 31 MENTA::Util::require_once('MENTA/Template.pm'); 32 my $tmplfname = MENTA::controller_dir() . "/$path"; 33 my $src = do { 34 open my $fh, '<:utf8', $tmplfname or die "${tmplfname} を読み込み用に開けません: $!"; 35 my $s = do { local $/; join '', <$fh> }; 36 close $fh; 37 $s; 38 }; 39 my $t = MENTA::Template->new; 40 $t->parse($src); 41 $t->build(); 42 my $code = $t->code(); 43 $code = << "EOT"; 44 package MENTA::TemplateLoader::Instance; 45 use strict; 46 use warnings; 47 use utf8; 48 $code 49 EOT 50 ; 51 $code; 24 my ($path, @params) = @_; 25 MENTA::Util::require_once('Text/MicroTemplate/File.pm'); 26 27 my $mtf = Text::MicroTemplate::File->new( 28 include_path => [MENTA::controller_dir()], 29 package_name => 'MENTA::TemplateLoader::Instance', 30 ); 31 my $out = $mtf->build_file($path)->(@params)->as_string; 32 __update_cache($path, $mtf->code); 33 return $out; 52 34 } 53 35 54 36 sub __update_cache { 55 37 my ($path, $code) = @_; 38 39 $code = <<"..."; 40 package MENTA::TemplateLoader::Instance; 41 sub { 42 local \$SIG{__WARN__} = sub { print STDERR \$_mt->_error(shift, 4, \$_from) }; 43 Text::MicroTemplate::encoded_string(( 44 $code 45 )->(\@_)); 46 } 47 ... 48 56 49 my $cache_path = MENTA::mt_cache_dir; 57 50 foreach my $p (split '/', $path) {
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)