--- /dev/null
+use strict;
+use warnings;
+use Module::Build;
+use File::Spec;
+use File::Basename;
+use YAML qw/ Load /;
+
+my $class = Module::Build->subclass(
+ class => 'MTToiplanPluginDirectoryBuilder',
+ code => q{
+ # Don't make blib
+ # sub ACTION_code {};
+ # Don't make blib
+ sub ACTION_docs {};
+ # Don't make META.yml
+ sub ACTION_distmeta {
+ # no warning on ACTION_distdir
+ $_[0]->{metafile} = 'MANIFEST';
+ };
+ # Don't add MEATA.yml to MANIFEST
+ sub ACTION_manifest {
+ $_[0]->{metafile} = 'MANIFEST',
+ $_[0]->SUPER::ACTION_manifest(@_);
+ };
+ sub ACTION_test {
+ my $p = $_[0]->{properties};
+ unshift(
+ @INC,
+ File::Spec->catdir($p->{base_dir}, 'extlib'),
+ File::Spec->catdir($p->{base_dir}, '../../lib'),
+ File::Spec->catdir($p->{base_dir}, '../../extlib'),
+ );
+
+ $_[0]->SUPER::ACTION_test(@_);
+ };
+ sub ACTION_upload_google {
+ my ($self) = @_;
+ my $prj = 'toiplan-mtplugin-directory';
+ my $ver = $self->dist_version;
+ my $dist_dir = $self->dist_dir;
+ my $name = $self->dist_name;
+
+ $self->depends_on('dist');
+ #$self->_call_action('distdir');
+ $self->ACTION_distdir;
+ $self->depends_on('zipdist');
+ system(
+ "googlecode_upload.py -s 'Release $ver (TGZ)' -p $prj -l $name $dist_dir.tar.gz"
+ );
+ system(
+ "googlecode_upload.py -s 'Release $ver (ZIP)' -p $prj -l $name $dist_dir.zip"
+ );
+ unlink("$dist_dir.tar.gz");
+ unlink("$dist_dir.zip");
+ };
+
+ sub ACTION_zipdist {
+ my ($self) = @_;
+ my $dist_dir = $self->dist_dir;
+ $self->depends_on('distdir');
+ print "Creating $dist_dir.zip\n";
+ system("zip -r $dist_dir.zip $dist_dir") == 0 or die $?;
+ $self->delete_filetree($dist_dir);
+ }
+
+ sub ACTION_distdir {
+ my ($self) = @_;
+
+ $_[0]->SUPER::ACTION_distdir(@_);
+
+ my $dist_dir = $self->dist_dir;
+ rename($dist_dir, $self->{properties}{dist_name});
+ use File::Path;
+ use File::Spec;
+ use File::Basename;
+ my $plugins = File::Spec->catfile($dist_dir, 'plugins');
+ mkpath($plugins, 1, 0755);
+
+ my $static = File::Spec->catfile($dist_dir, 'mt-static/plugins');
+ mkpath($static, 1, 0755);
+
+ my $new_dist_dir = File::Spec->catfile(
+ $plugins, $self->{properties}{dist_name}
+ );
+ rename($self->{properties}{dist_name}, $new_dist_dir);
+
+ foreach my $f (glob(File::Spec->catfile($new_dist_dir, 'LIC*'))) {
+ rename($f, File::Spec->catfile($dist_dir, basename($f)));
+ }
+
+ if (my @statics = glob(File::Spec->catfile($new_dist_dir, 'static/*'))) {
+ my $d = File::Spec->catfile($static, $self->{properties}{dist_name});
+ mkpath($d, 1, 0755);
+ foreach my $f (@statics) {
+ rename($f, File::Spec->catfile($d, basename($f)));
+ }
+ }
+ }
+ }
+);
+
+my $yaml_string = do {
+ open(my $fh, File::Spec->catfile(dirname(__FILE__), 'config.yaml'));
+ local $/;
+ <$fh>
+};
+$yaml_string =~ s/^(\s*)\*/$1App::\*/gm;
+my $yaml = Load($yaml_string);
+
+my $builder = $class->new(
+ dist_name => $yaml->{name},
+ dist_author => 'Movable Type ACME Plugin Project',
+ dist_version => $yaml->{version},
+ module_name => $yaml->{name} . '::App',
+ license => 'MIT License',
+ add_to_cleanup => [ $yaml->{name} . '-*' ],
+);
+
+$builder->create_build_script();
--- /dev/null
+Grass - A implementation of Grass interpreter by pure MTML.
+
+Copyright (c) 2008 Movable Type ACME Plugin Project, All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
--- /dev/null
+config.yaml
+lib/Grass/L10N.pm
+lib/Grass/L10N/en_us.pm
+lib/Grass/L10N/ja.pm
+LICENSE
+tmpl/abs.mtml
+tmpl/app.mtml
+tmpl/char.mtml
+tmpl/char_code.mtml
+tmpl/church_false.mtml
+tmpl/church_true.mtml
+tmpl/comment_preview.mtml
+tmpl/comment_response.mtml
+tmpl/concatinate.mtml
+tmpl/duplicate.mtml
+tmpl/dynamic_error.mtml
+tmpl/echo.mtml
+tmpl/fn.mtml
+tmpl/grass.mtml
+tmpl/hello_world_initial_version.mtml
+tmpl/hello_world_short_version.mtml
+tmpl/in.mtml
+tmpl/inversion.mtml
+tmpl/new_array.mtml
+tmpl/out.mtml
+tmpl/parse.mtml
+tmpl/popup_image.mtml
+tmpl/print.mtml
+tmpl/search_results.mtml
+tmpl/succ.mtml
--- /dev/null
+^MANIFEST
+\bBuild.PL$
+#^Makefile
+#^META.yml$
+#^blib/
+#~$
+
+
+# Avoid version control files.
+\bRCS\b
+\bCVS\b
+,v$
+\B\.svn\b
+\B\.cvsignore$
+\B.git
+
+# Avoid Makemaker generated and utility files.
+\bMakefile$
+\bblib
+\bMakeMaker-\d
+\bpm_to_blib$
+\bblibdirs$
+^MANIFEST\.SKIP$
+
+# Avoid Module::Build generated and utility files.
+\bBuild$
+\bBuild.bat$
+\b_build
+
+# Avoid Devel::Cover generated files
+\bcover_db
+
+# Avoid temp and backup files.
+~$
+\.tmp$
+\.old$
+\.bak$
+\#$
+\.#
+\.rej$
+
+# Avoid OS-specific files/dirs
+# Mac OSX metadata
+\B\.DS_Store
+# Mac OSX SMB mount metadata files
+\B\._
+# Avoid archives of this distribution
+\bArchiveUploader-[\d\.\_]+
--- /dev/null
+# Copyright (c) 2008 Movable Type ACME Plugin Project, All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+# plugin name
+name: Grass
+version: 0.0.1
+
+# about this plugin
+description: <__trans phrase="A implementation of Grass interpreter by pure MTML.">
+author_name: <__trans phrase="Movable Type ACME Plugin Project">
+author_link: http://mt-acme.sourceforge.jp/
+plugin_link: http://mt-acme.sourceforge.jp/grass/
+doc_link: http://mt-acme.sourceforge.jp/grass/
+
+# localization
+l10n_class: Grass::L10N
+
+template_sets:
+ grass_interpreter:
+ label: Grass
+ base_path: tmpl
+ order: 9999
+ templates:
+ index:
+ hello_world_initial_version:
+ label: Hello, world! - Initial version
+ outfile: hello-world-initial.html
+ rebuild_me: 1
+ hello_world_short_version:
+ label: Hello, world! - Short version
+ outfile: hello-world-short.html
+ rebuild_me: 1
+ echo:
+ label: Echo
+ outfile: echo.html
+ rebuild_me: 1
+ individual:
+ archive:
+ module:
+ grass:
+ label: grass
+ app:
+ label: app
+ char_code:
+ label: char_code
+ inversion:
+ label: inversion
+ abs:
+ label: abs
+ duplicate:
+ label: duplicate
+ fn:
+ label: fn
+ in:
+ label: in
+ char:
+ label: char
+ succ:
+ label: succ
+ out:
+ label: out
+ print:
+ label: print
+ concatinate:
+ label: concatinate
+ church_true:
+ label: church_true
+ church_false:
+ label: church_false
+ parse:
+ label: parse
+ new_array:
+ label: new_array
+ widget:
+ widgetset:
+ system:
--- /dev/null
+# Copyright (c) 2008 Movable Type ACME Plugin Project, All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+package Grass::L10N;
+use strict;
+use base 'MT::Plugin::L10N';
+
+1;
--- /dev/null
+# Copyright (c) 2008 Movable Type ACME Plugin Project, All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+package Grass::L10N::en_us;
+
+use strict;
+
+use base 'Grass::L10N';
+use vars qw( %Lexicon );
+%Lexicon = ();
+
+1;
--- /dev/null
+# Copyright (c) 2008 Movable Type ACME Plugin Project, All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+package Grass::L10N::ja;
+
+use strict;
+use base 'Grass::L10N::en_us';
+use vars qw( %Lexicon );
+
+%Lexicon = (
+ 'A implementation of Grass interpreter by pure MTML.' =>
+ 'MTMLのみによるプログラミング言語 Grass の評価器の実装です',
+);
+
+1;
--- /dev/null
+<mt:SetVar name="tmp_abs{class}" value="abs" />
+<mt:SetVar name="tmp_abs{body}" value="$body" />
+<mt:SetVar name="$name" value="$tmp_abs" />
+<mt:SetVar name="tmp_abs" function="undef" />
+
+<mt:Unless name="abs::defined">
+<mt:SetVar name="abs::defined" value="1" />
+
+<mt:SetVarTemplate name="abs::eval">
+
+<mt:Var name="self{machine}" setvar="tmp_abs_machine" />
+<mt:Var name="tmp_abs_machine{env}" setvar="tmp_abs_env" />
+<mt:Var name="self{body}" setvar="tmp_abs_body" />
+<mt:Include module="duplicate" name="tmp_abs_env_dup" array="$tmp_abs_env" />
+<mt:Include
+ module="fn" name="tmp_abs_fn"
+ code="$tmp_abs_body" env="$tmp_abs_env_dup"
+/>
+
+<mt:SetVar name="tmp_abs_env" function="push" value="$tmp_abs_fn" />
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:Include module="inversion" name="m" />
+<mt:Include module="inversion" name="n" />
+<mt:SetVar name="tmp_app{class}" value="app" />
+<mt:SetVar name="tmp_app{m}" value="$m" />
+<mt:SetVar name="tmp_app{n}" value="$n" />
+<mt:SetVar name="$name" value="$tmp_app" />
+<mt:SetVar name="tmp_app" function="undef" />
+
+<mt:Unless name="app::defined">
+<mt:SetVar name="app::defined" value="1" />
+
+<mt:SetVarTemplate name="app::eval">
+
+<mt:Var name="self{machine}" setvar="tmp_app_machine" />
+<mt:Var name="tmp_app_machine{env}" setvar="tmp_app_env" />
+<mt:Var name="self{m}" setvar="tmp_app_m" />
+<mt:Var name="self{n}" setvar="tmp_app_n" />
+
+<mt:Var name="tmp_app_env" index="$tmp_app_m" setvar="f" />
+<mt:Var name="tmp_app_env" index="$tmp_app_n" setvar="v" />
+
+<mt:SetVar name="f{machine}" value="$tmp_app_machine" />
+<mt:SetVar name="f{arg}" value="$v" />
+<mt:SetVar name="self" value="$f" />
+<mt:SetVarBlock name="method"><mt:Var name="f{class}" />::app</mt:SetVarBlock>
+<mt:Var name="$method" />
+
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:SetVar name="tmp_char{class}" value="char" />
+<mt:SetVar name="tmp_char{char_code}" value="$char_code" />
+<mt:SetVar name="$name" value="$tmp_char" />
+<mt:SetVar name="tmp_char" function="undef" />
+
+<mt:Unless name="char::defined">
+<mt:SetVar name="char::defined" value="1" />
+
+<mt:SetVarTemplate name="char::app">
+<mt:Var name="self{machine}" setvar="tmp_char_machine" />
+<mt:Var name="self{arg}" setvar="tmp_char_char" />
+<mt:Var name="self{char_code}" setvar="tmp_char_char_code" />
+<mt:Var name="tmp_char_char{char_code}" setvar="tmp_char_char_char_code" />
+
+<mt:Var name="tmp_char_machine{code}" setvar="tmp_char_code" />
+<mt:Var name="tmp_char_machine{env}" setvar="tmp_char_env" />
+<mt:Var name="tmp_char_machine{dump}" setvar="tmp_char_dump" />
+
+<mt:If name="tmp_char_char_code" eq="$tmp_char_char_char_code">
+ <mt:Include module="church_true" name="tmp_char_ret" />
+<mt:Else>
+ <mt:Include module="church_false" name="tmp_char_ret" />
+</mt:If>
+
+<mt:SetVar name="tmp_char_env" function="push" value="$tmp_char_ret" />
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:Unless name="char_code_chars">
+<mt:SetVarBlock name="char_code_chars[9]"> </mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[10]">newline</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[32]"> </mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[33]">!</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[34]">"</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[35]">#</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[36]">$</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[37]">%</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[38]">&</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[39]">'</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[40]">(</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[41]">)</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[42]">*</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[43]">+</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[44]">,</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[45]">-</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[46]">.</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[47]">/</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[48]">0</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[49]">1</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[50]">2</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[51]">3</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[52]">4</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[53]">5</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[54]">6</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[55]">7</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[56]">8</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[57]">9</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[58]">:</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[59]">;</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[60]"><</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[61]">=</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[62]">></mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[63]">?</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[64]">@</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[65]">A</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[66]">B</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[67]">C</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[68]">D</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[69]">E</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[70]">F</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[71]">G</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[72]">H</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[73]">I</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[74]">J</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[75]">K</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[76]">L</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[77]">M</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[78]">N</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[79]">O</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[80]">P</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[81]">Q</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[82]">R</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[83]">S</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[84]">T</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[85]">U</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[86]">V</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[87]">W</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[88]">X</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[89]">Y</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[90]">Z</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[91]">[</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[92]">\</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[93]">]</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[94]">^</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[95]">_</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[96]">`</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[97]">a</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[98]">b</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[99]">c</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[100]">d</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[101]">e</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[102]">f</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[103]">g</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[104]">h</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[105]">i</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[106]">j</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[107]">k</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[108]">l</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[109]">m</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[110]">n</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[111]">o</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[112]">p</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[113]">q</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[114]">r</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[115]">s</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[116]">t</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[117]">u</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[118]">v</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[119]">w</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[120]">x</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[121]">y</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[122]">z</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[123]">{</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[124]">|</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[125]">}</mt:SetVarBlock>
+<mt:SetVarBlock name="char_code_chars[126]">~</mt:SetVarBlock>
+</mt:Unless>
+
+<mt:Var name="char" regex_replace="/\r\n|\r|\n/","newline" setvar="char" />
+<mt:For var="i" from="0" to="126">
+<mt:Var name="char_code_chars" index="$i" setvar="tmp_char_code_char" />
+<mt:If name="tmp_char_code_char" eq="$char">
+<mt:SetVar name="$name" value="$i" />
+</mt:If>
+</mt:For>
--- /dev/null
+<mt:SetVar name="tmp_chfalse_name" value="$name" />
+<mt:Include module="new_array" name="tmp_chfalse_body" />
+<mt:Include module="new_array" name="tmp_chfalse_env" />
+<mt:Include module="abs" name="tmp_chfalse_abs" body="$tmp_chfalse_body" />
+<mt:SetVar name="tmp_chfalse_abs_list" function="push" value="$tmp_chfalse_abs" />
+
+<mt:Include module="fn" name="$tmp_chfalse_name" code="$tmp_chfalse_abs_list" env="$tmp_chfalse_env" />
--- /dev/null
+<mt:SetVar name="tmp_chtrue_name" value="$name" />
+<mt:Include module="app" name="tmp_chtrue_app" m="3" n="2" />
+<mt:SetVar name="tmp_chtrue_app_list" function="push" value="$tmp_chtrue_app" />
+<mt:Include module="abs" name="tmp_chtrue_abs" body="$tmp_chtrue_app_list" />
+<mt:SetVar name="tmp_chtrue_abs_list" function="push" value="$tmp_chtrue_abs" />
+
+<mt:Include module="new_array" name="tmp_chtrue_code" />
+<mt:Include module="new_array" name="tmp_chtrue_env" />
+
+<mt:Include module="fn" name="tmp_chtrue_fn" code="$tmp_chtrue_code" env="$tmp_chtrue_env" />
+<mt:SetVar name="tmp_chtrue_fn_list" function="push" value="$tmp_chtrue_fn" />
+
+<mt:Include module="fn" name="$tmp_chtrue_name" code="$tmp_chtrue_abs_list" env="$tmp_chtrue_fn_list" />
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
+<head>
+ <script type="text/javascript">
+ /* <![CDATA[ */
+ var user = <$mt:UserSessionState$>;
+ var is_preview = true;
+ /* ]]> */
+ </script>
+ <$mt:Include module="HTMLヘッダー"$>
+ <title><$mt:BlogName encode_html="1"$>: コメントの確認</title>
+</head>
+<body id="<$mt:BlogTemplateSetID$>" class="mt-comment-preview <$mt:Var name="page_layout"$>" onload="mtEntryOnLoad()" onunload="mtEntryOnUnload()">
+ <div id="container">
+ <div id="container-inner">
+
+
+ <$mt:Include module="バナーヘッダー"$>
+
+
+ <div id="content">
+ <div id="content-inner">
+
+
+ <div id="alpha">
+ <div id="alpha-inner">
+
+
+ <h1 id="page-title"><$mt:Var name="page_title"$></h1>
+
+
+<mt:Ignore><!-- Comment Preview --></mt:Ignore>
+ <div class="comment" id="comment-<$mt:CommentID$>">
+ <div class="inner">
+ <div class="comment-header">
+ <div class="asset-meta">
+ <span class="byline">
+ <$mt:CommentAuthorIdentity$>
+ <mt:IfCommentParent>
+ <span class="vcard author"><$mt:CommentAuthorLink$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
+ <mt:Else>
+ <span class="vcard author"><$mt:CommentAuthorLink$></span>
+ </mt:IfCommentParent>
+ | <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
+ </span>
+ </div>
+ </div>
+ <div class="comment-content">
+ <$mt:CommentBody$>
+ </div>
+ </div>
+ </div>
+
+
+<mt:Ignore><!-- Comment Form --></mt:Ignore>
+ <div class="comments-open" id="comments-open">
+ <h2 class="comments-open-header">コメントする</h2>
+ <div class="comments-open-content">
+ <div id="comment-greeting"></div>
+ <form method="post" action="<$mt:CGIPath$><$mt:CommentScript$>" name="comments_form" id="comments-form" onsubmit="return mtCommentOnSubmit(this)">
+ <input type="hidden" name="static" value="1" />
+ <input type="hidden" name="armor" value="1" />
+ <input type="hidden" name="preview" value="" />
+ <input type="hidden" name="entry_id" value="<$mt:EntryID$>" />
+ <input type="hidden" name="__lang" value="<$mt:BlogLanguage$>" />
+<mt:IfCommentParent>
+ <input type="hidden" name="parent_id" value="<$mt:CommentParentID escape="html"$>" id="comment-parent-id">
+</mt:IfCommentParent>
+ <div id="comments-open-data">
+ <div id="comment-form-name">
+ <label for="comment-author">名前</label>
+ <input id="comment-author" name="author" size="30" value="<$mt:CommentAuthor encode_html="1"$>" onfocus="mtShowCaptcha()" />
+ </div>
+ <div id="comment-form-email">
+ <label for="comment-email">電子メール</label>
+ <input id="comment-email" name="email" size="30" value="<$mt:CommentEmail encode_html="1"$>" onfocus="mtShowCaptcha()" />
+ </div>
+ <div id="comment-form-url">
+ <label for="comment-url">URL</label>
+ <input id="comment-url" name="url" size="30" value="<$mt:CommentURL encode_html="1"$>" onfocus="mtShowCaptcha()" />
+ </div>
+ </div>
+<mt:IfCommentParent>
+ <div id="comment-form-reply">
+ <input type="checkbox" id="comment-reply" name="comment_reply" value="<$mt:CommentParentID escape="html"$>" checked="checked" onclick="mtSetCommentParentID()" />
+ <label for="comment-reply" id="comment-reply-label"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent>からのコメントに返信</label>
+ </div>
+</mt:IfCommentParent>
+ <div id="comments-open-text">
+ <label for="comment-text">コメント <mt:IfAllowCommentHTML>(スタイル用のHTMLタグを使えます)</mt:IfAllowCommentHTML></label>
+ <textarea id="comment-text" name="text" rows="15" cols="50" onfocus="mtShowCaptcha()"><$mt:CommentBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$></textarea>
+ </div>
+ <div id="comments-open-captcha"></div>
+ <div id="comments-open-footer">
+ <input type="submit" accesskey="v" name="preview_button" id="comment-preview" value="確認" onclick="this.form.preview.value='1';" />
+ <input type="submit" accesskey="s" name="post" id="comment-submit" value="投稿" />
+ <input type="button" name="cancel" id="comment-cancel" value="キャンセル" onclick="window.location='<$mt:EntryPermalink$>'" />
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <$mt:Include module="サイドバー"$>
+
+
+ </div>
+ </div>
+
+
+ <$mt:Include module="バナーフッター"$>
+
+
+ </div>
+ </div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
+<head>
+
+
+<mt:If name="comment_confirmation">
+ <mt:Ignore><!-- Success message when comment has been submitted --></mt:Ignore>
+ <$mt:Var name="page_title" value="確認"$>
+ <$mt:Var name="message" value="<p>コメントを投稿しました。</p>"$>
+<mt:Else name="comment_pending">
+ <mt:Ignore><!-- Pending message when comment is being held for review --></mt:Ignore>
+ <$mt:Var name="page_title" value="コメントありがとうございます。"$>
+ <$mt:Var name="message" value="<p>コメントは現在承認されるまで公開を保留されています。</p>"$>
+<mt:Else name="comment_error">
+ <mt:Ignore><!-- Error message when comment submission fails --></mt:Ignore>
+ <$mt:Var name="page_title" value="コメント投稿エラー"$>
+ <mt:SetVarBlock name="message"><p>コメントを投稿できませんでした。エラー: <$mt:ErrorMessage$></p></mt:SetVarBlock>
+</mt:If>
+
+
+ <$mt:Include module="HTMLヘッダー"$>
+ <title><$mt:BlogName encode_html="1"$>: <$mt:Var name="page_title"$></title>
+</head>
+<body id="<$mt:BlogTemplateSetID$>" class="<$mt:Var name="body_class"$> <$mt:Var name="page_layout"$>">
+ <div id="container">
+ <div id="container-inner">
+
+
+ <$mt:Include module="バナーヘッダー"$>
+
+
+ <div id="content">
+ <div id="content-inner">
+
+
+ <div id="alpha">
+ <div id="alpha-inner">
+ <h1 id="page-title"><$mt:Var name="page_title"$></h1>
+ <$mt:Var name="message"$>
+ <p><a href="<mt:If name="comment_error">javascript:history.back()<mt:Else><$mt:EntryLink$></mt:If>">元の記事</a>に戻る</p>
+ </div>
+ </div>
+
+
+ <$mt:Include module="サイドバー"$>
+
+
+ </div>
+ </div>
+
+
+ <$mt:Include module="バナーフッター"$>
+
+
+ </div>
+ </div>
+</body>
+</html>
--- /dev/null
+<mt:SetVar name="i" value="0" />
+<mt:SetVarTemplate name="do_concatinate">
+<mt:Var name="src" index="$i" setvar="tmp_concat" />
+<mt:If name="tmp_concat">
+<mt:SetVar name="dest" function="push" value="$tmp_concat" />
+<mt:SetVar name="i" value="1" op="add" />
+<mt:Var name="do_concatinate" />
+</mt:If>
+</mt:SetVarTemplate>
+<mt:Var name="do_concatinate" />
--- /dev/null
+<mt:SetVar name="i" value="0" />
+<mt:SetVar name="tmp_duplicate_name" value="$name" />
+<mt:Include module="new_array" name="$tmp_duplicate_name" />
+<mt:SetVarTemplate name="do_duplicate">
+<mt:Var name="array" index="$i" setvar="tmp_dup" />
+<mt:If name="tmp_dup">
+<mt:SetVar name="$tmp_duplicate_name" function="push" value="$tmp_dup" />
+<mt:SetVar name="i" value="1" op="add" />
+<mt:Var name="do_duplicate" />
+</mt:If>
+</mt:SetVarTemplate>
+<mt:Var name="do_duplicate" />
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
+<head>
+ <$mt:Include module="HTMLヘッダー"$>
+ <title><$mt:BlogName encode_html="1"$>: ページが見つかりません。</title>
+</head>
+<body id="<$mt:BlogTemplateSetID$>" class="mt-dynamic-error <$mt:Var name="page_layout"$>">
+ <div id="container">
+ <div id="container-inner">
+
+
+ <$mt:Include module="バナーヘッダー"$>
+
+
+ <div id="content">
+ <div id="content-inner">
+
+
+ <div id="alpha">
+ <div id="alpha-inner">
+ <h1 id="page-title">ページが見つかりません。</h1>
+ <blockquote>
+ <strong><$mt:ErrorMessage$></strong>
+ </blockquote>
+ </div>
+ </div>
+
+
+ <$mt:Include module="サイドバー"$>
+
+
+ </div>
+ </div>
+
+
+ <$mt:Include module="バナーフッター"$>
+
+
+ </div>
+ </div>
+</body>
+</html>
--- /dev/null
+<mt:SetVarTemplate name="do_test">
+<mt:SetVar name="stdin_save" value="$stdin" />
+<mt:SetVar name="stdout" value="" />
+<mt:Date format="%H:%M:%S" setvar="start_time" />
+<mt:IncludeBlock module="grass" input="stdin" output="stdout">
+<mt:Var name="program" />
+</mt:IncludeBlock>
+<mt:Date format="%H:%M:%S" setvar="end_time" />
+<dl>
+ <dt>Program:</dt>
+ <dd><pre><mt:Var name="program" trim="1" /></pre></dd>
+ <dt>Input:</dt>
+ <dd><mt:Var name="stdin_save" /></dd>
+ <dt>Output:</dt>
+ <dd><mt:Var name="stdout" /></dd>
+ <dt>Time:</dt>
+ <dd><mt:Var name="start_time" /> - <mt:Var name="end_time" />
+</dl>
+</mt:SetVarTemplate>
+
+<mt:SetVarBlock name="program">
+wwWWwWWWwvwWWwwWwwwwwWwwwwwwwWWwWWWWWWWWWWwWwwWwWwwwwwwwwwwWwwwwWWWwwwwwwwwwwWw
+wwwwwwwwww
+</mt:SetVarBlock>
+<mt:SetVar name="stdin" value="echo" />
+<mt:Var name="do_test" />
+
+<h3><a href="http://www.blue.sky.or.jp/grass/">Grass</a></h3>
+<h3><a href="http://www11.atwiki.jp/s-irie/pages/20.html#id_3dc3f1d2">grass-sample-echo</a>
--- /dev/null
+<mt:SetVar name="tmp_fn{class}" value="fn" />
+<mt:SetVar name="tmp_fn{code}" value="$code" />
+<mt:SetVar name="tmp_fn{env}" value="$env" />
+<mt:SetVar name="$name" value="$tmp_fn" />
+<mt:SetVar name="tmp_fn" function="undef" />
+
+<mt:Unless name="fn::defined">
+<mt:SetVar name="fn::defined" value="1" />
+
+<mt:SetVarTemplate name="fn::app">
+<mt:Var name="self{machine}" setvar="tmp_fn_machine" />
+<mt:Var name="self{code}" setvar="tmp_fn_self_code" />
+<mt:Var name="self{env}" setvar="tmp_fn_self_env" />
+<mt:Var name="self{arg}" setvar="tmp_fn_self_arg" />
+
+<mt:Var name="tmp_fn_machine{code}" setvar="tmp_fn_code" />
+<mt:Var name="tmp_fn_machine{env}" setvar="tmp_fn_env" />
+<mt:Var name="tmp_fn_machine{dump}" setvar="tmp_fn_dump" />
+<mt:SetVar name="tmp_fn_tmp1" function="undef" />
+<mt:SetVar name="tmp_fn_tmp1" function="push" value="$tmp_fn_code" />
+<mt:SetVar name="tmp_fn_tmp1" function="push" value="$tmp_fn_env" />
+<mt:SetVar name="tmp_fn_dump" function="push" value="$tmp_fn_tmp1" />
+
+<mt:Include module="duplicate" name="tmp_fn_tmp2" array="$tmp_fn_self_code" />
+<mt:SetVar name="tmp_fn_machine{code}" value="$tmp_fn_tmp2" />
+<mt:Include module="duplicate" name="tmp_fn_tmp3" array="$tmp_fn_self_env" />
+<mt:SetVar name="tmp_fn_machine{env}" value="$tmp_fn_tmp3" />
+
+<mt:SetVar name="tmp_fn_tmp3" function="push" value="$tmp_fn_self_arg" />
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:Include module="parse" name="code" source="$contents" />
+
+<mt:Include module="in" name="in" />
+<mt:Include module="char" name="char" char_code="119"/>
+<mt:Include module="succ" name="succ" />
+<mt:Include module="out" name="out" />
+<mt:SetVar name="env" function="undef" />
+<mt:SetVar name="env" function="push" value="$in" />
+<mt:SetVar name="env" function="push" value="$char" />
+<mt:SetVar name="env" function="push" value="$succ" />
+<mt:SetVar name="env" function="push" value="$out" />
+
+<mt:SetVar name="dump" function="undef" />
+<mt:SetVar name="tmp_dump_1" function="undef" />
+<mt:Include module="new_array" name="tmp_dump_1_1" />
+<mt:Include module="new_array" name="tmp_dump_1_2" />
+<mt:SetVar name="tmp_dump_1" function="push" value="$tmp_dump_1_1" />
+<mt:SetVar name="tmp_dump_1" function="push" value="$tmp_dump_1_2" />
+<mt:SetVar name="dump" function="push" value="$tmp_dump_1" />
+
+<mt:SetVar name="tmp_dump_1" function="undef" />
+<mt:SetVar name="tmp_dump_2" function="undef" />
+<mt:Include module="app" name="app" m="1" n="1" />
+<mt:Include module="new_array" name="tmp_dump_2_1" />
+<mt:SetVar name="tmp_dump_2" function="push" value="$app" />
+<mt:SetVar name="tmp_dump_1" function="push" value="$tmp_dump_2" />
+<mt:SetVar name="tmp_dump_1" function="push" value="$tmp_dump_2_1" />
+<mt:SetVar name="dump" function="push" value="$tmp_dump_1" />
+
+<mt:SetVar name="machine" function="undef" />
+<mt:SetVar name="machine{code}" value="$code" />
+<mt:SetVar name="machine{env}" value="$env" />
+<mt:SetVar name="machine{dump}" value="$dump" />
+
+<mt:SetVarTemplate name="eval">
+<mt:Var name="machine{code}" setvar="code" />
+<mt:Var name="machine{env}" setvar="env" />
+<mt:Var name="machine{dump}" setvar="dump" />
+
+<mt:Var name="code" function="shift" setvar="insn" />
+<mt:If name="insn">
+<mt:SetVar name="insn{machine}" value="$machine" />
+<mt:SetVar name="self" value="$insn" />
+<mt:SetVarBlock name="method"><mt:Var name="insn{class}" />::eval</mt:SetVarBlock>
+<mt:Var name="$method" />
+<mt:Var name="eval" trim="1" />
+<mt:ElseIf name="dump[0]">
+<mt:Var name="env[-1]" setvar="ret" />
+<mt:Var name="dump" function="pop" setvar="tmp_eval" />
+<mt:Var name="tmp_eval[0]" setvar="code" />
+<mt:Var name="tmp_eval[1]" setvar="env" />
+<mt:SetVar name="env" function="push" value="$ret" />
+<mt:SetVar name="machine{code}" value="$code" />
+<mt:SetVar name="machine{env}" value="$env" />
+<mt:Var name="eval" trim="1" />
+</mt:If>
+</mt:SetVarTemplate>
+<mt:Var name="eval" trim="1" />
\ No newline at end of file
--- /dev/null
+<mt:SetVarTemplate name="do_test">
+<mt:SetVar name="stdout" value="" />
+<mt:Date format="%H:%M:%S" setvar="start_time" />
+<mt:IncludeBlock module="grass" output="stdout">
+<mt:Var name="program" />
+</mt:IncludeBlock>
+<mt:Date format="%H:%M:%S" setvar="end_time" />
+<dl>
+ <dt>Program:</dt>
+ <dd><pre><mt:Var name="program" trim="1" /></pre></dd>
+ <dt>Output:</dt>
+ <dd><mt:Var name="stdout" /></dd>
+ <dt>Time:</dt>
+ <dd><mt:Var name="start_time" /> - <mt:Var name="end_time" />
+</dl>
+</mt:SetVarTemplate>
+
+<mt:SetVarBlock name="program">
+wwWwwvwwwwWWWwwWwwWWWWWWwwwwWwwvwwwWWwWWWWwvwwWWwWWWwvwwWWwWWWwWWWWwvw
+WWWWWWwwwWwwwwWWWWWWwwwwWwwwwwwWWWWWWWWWwwwWwwwwwwwWWWWWWWWWWWwWwwwwww
+WWWWWWWWWWWWWwWwwwwwwwwwwwwWWWWWWWWWWWWWWWwWwwwwwwwwwwwwwwWWWWWWWWWWWW
+WWWWWwWwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWwwwwwwwWwwwwwwwwwwwwwwwwwwWWWWWWW
+WWWWWWWWWWWWWWwWwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwww
+wwwwwWwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWwWwwwwwwwwWwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWW
+WWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWW
+WWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWww
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+WWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+WWWWWWWWWWWWWwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+WWwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwW
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwWWWWWWWWWWW
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwWWWWWWWW
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwww
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwww
+wwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwww
+wWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwW
+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwww
+wwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwww
+wwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+WWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+WWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+</mt:SetVarBlock>
+<mt:Var name="do_test" />
+
+<h3><a href="http://www.blue.sky.or.jp/grass/">Grass</a></h3>
+<h3><a href="http://d.hatena.ne.jp/uenoB/20080609/1213010983">Helloworld</a>
--- /dev/null
+<mt:SetVarTemplate name="do_test">
+<mt:SetVar name="stdout" value="" />
+<mt:Date format="%H:%M:%S" setvar="start_time" />
+<mt:IncludeBlock module="grass" output="stdout">
+<mt:Var name="program" />
+</mt:IncludeBlock>
+<mt:Date format="%H:%M:%S" setvar="end_time" />
+<dl>
+ <dt>Program:</dt>
+ <dd><pre><mt:Var name="program" trim="1" /></pre></dd>
+ <dt>Output:</dt>
+ <dd><mt:Var name="stdout" /></dd>
+ <dt>Time:</dt>
+ <dd><mt:Var name="start_time" /> - <mt:Var name="end_time" />
+</dl>
+</mt:SetVarTemplate>
+
+<mt:SetVarBlock name="program">
+wWwwwWwwwwwWWWWwvwvwwWWWWwWWWWwwwvwwWWwwWwwvwwWWWwWWWwvwWWwWwvwWWwwwwwWwwvwwWWw
+WWWwvWwvwwwWWWwwWwwWWWWwvWwwwWWWWwWWWWwwwWwwWWWWWwWWWWWWwvwwWWwWWWwvWwwWWwwwwWW
+WwwwwwwWWWWWWWWWWwwwwwwwwWwwWWwwwwWWWwwwwwwvwwwWWWwwWwwWWWWwvWwwwwwwWWwwwwWWWww
+wwWWWWwWWWWWWWWWWWWWWWWWWWwwwwwWwwWWwWWWwWWWWwvwWWWWWWWWWWWWWWWWWWWWWWWWWWWWWww
+wwwwwwwWwwwwwwwwwWwwwwwwWwwwwwwwWwwwwwwwWwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwww
+wwwwvwwvWWwWwwWwwwwwwWwwwwwwWwwwwwwwwwWwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwvw
+</mt:SetVarBlock>
+<mt:Var name="do_test" />
+
+<h3><a href="http://www.blue.sky.or.jp/grass/">Grass</a></h3>
+<h3><a href="http://www11.atwiki.jp/s-irie/pages/20.html#id_99f7dd8e">grass-sample-hello</a>
\ No newline at end of file
--- /dev/null
+<mt:SetVar name="tmp_in{class}" value="in" />
+<mt:SetVar name="$name" value="$tmp_in" />
+<mt:SetVar name="tmp_in" function="undef" />
+
+<mt:Unless name="in::defined">
+<mt:SetVar name="in::defined" value="1" />
+
+<mt:SetVarTemplate name="in::app">
+
+<mt:Var name="self{machine}" setvar="tmp_in_machine" />
+<mt:Var name="self{arg}" setvar="tmp_in_arg" />
+<mt:Var name="tmp_in_machine{code}" setvar="tmp_in_code" />
+<mt:Var name="tmp_in_machine{env}" setvar="tmp_in_env" />
+<mt:Var name="tmp_in_machine{dump}" setvar="tmp_in_dump" />
+
+<mt:Var name="$input" count_characters="1" setvar="tmp_in_count" />
+<mt:If name="tmp_in_count">
+<mt:Var name="$input" regex_replace="/(.|\r\n|\n|\r)(.*)/","$1" setvar="tmp_in_char" />
+<mt:Var name="$input" regex_replace="/(.|\r\n|\n|\r)(.*)/","$2" setvar="$input" />
+<mt:Include module="char_code" name="tmp_in_char_code" char="$tmp_in_char" />
+<mt:Include module="char" name="tmp_in_arg" char_code="$tmp_in_char_code" />
+</mt:If>
+<mt:SetVar name="tmp_in_env" function="push" value="$tmp_in_arg" />
+
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:If name="$name" lt="0">
+<mt:Var name="$name" replace="-","" setvar="$name" />
+<mt:ElseIf name="$name" gt="0">
+<mt:SetVar name="$name" value="-" prepend="1" />
+</mt:If>
--- /dev/null
+<mt:SetVar name="$name" function="undef" />
+<mt:SetVar name="$name" function="push" value="" />
+<mt:Var name="$name" function="pop" />
\ No newline at end of file
--- /dev/null
+<mt:SetVar name="tmp_out{class}" value="out" />
+<mt:SetVar name="$name" value="$tmp_out" />
+<mt:SetVar name="tmp_out" function="undef" />
+
+<mt:Unless name="out::defined">
+<mt:SetVar name="out::defined" value="1" />
+
+<mt:SetVarTemplate name="out::app">
+
+<mt:Var name="self{machine}" setvar="tmp_out_machine" />
+<mt:Var name="self{arg}" setvar="tmp_out_char" />
+<mt:Var name="tmp_out_char{char_code}" setvar="tmp_out_char_char_code" />
+
+<mt:Include module="print" char_code="$tmp_out_char_char_code" />
+
+<mt:Var name="tmp_out_machine{code}" setvar="tmp_out_code" />
+<mt:Var name="tmp_out_machine{env}" setvar="tmp_out_env" />
+<mt:Var name="tmp_out_machine{dump}" setvar="tmp_out_dump" />
+
+<mt:SetVar name="tmp_out_env" function="push" value="$tmp_out_char" />
+</mt:SetVarTemplate>
+
+</mt:Unless>
--- /dev/null
+<mt:SetVar name="tmp_parse_name" value="$name" />
+
+<mt:SetVarTemplate name="foreach_body">
+ <mt:If name="c">
+ <mt:Var
+ name="c"
+ regex_replace="/\A(W*)(w*)(.*)/","$1"
+ count_characters="1"
+ setvar="m"
+ />
+ <mt:Var
+ name="c"
+ regex_replace="/\A(W*)(w*)(.*)/","$2"
+ count_characters="1"
+ setvar="n"
+ />
+
+ <mt:Include module="app" name="app" m="$m" n="$n" />
+ <mt:SetVar name="body" function="push" value="$app" />
+
+ <mt:Var
+ name="c"
+ regex_replace="/\A(W*)(w*)(.*)/","$3"
+ setvar="c"
+ />
+ <mt:Var name="foreach_body" />
+ </mt:If>
+</mt:SetVarTemplate>
+
+<mt:SetVarTemplate name="foreach_codeblock">
+ <mt:If name="source">
+ <mt:Include module="new_array" name="body" />
+ <mt:Unless name="tmp_code">
+ <mt:Include module="new_array" name="tmp_code" />
+ </mt:Unless>
+
+ <mt:Var
+ name="source"
+ regex_replace="/(.*?)(v|$)(.*)/","$1"
+ setvar="c"
+ />
+ <mt:Var
+ name="c"
+ regex_replace="/\A(w*)(.*)/","$1"
+ count_characters="1"
+ setvar="arity"
+ />
+ <mt:Var
+ name="c"
+ regex_replace="/\A(w*)(.*)/","$2"
+ setvar="c"
+ />
+ <mt:Var name="foreach_body" />
+
+ <mt:SetVar name="arity" value="1" op="sub" />
+ <mt:For var="i" from="0" to="$arity">
+ <mt:Include module="abs" name="tmp1" body="$body" />
+ <mt:SetVar name="tmp2" function="push" value="$tmp1" />
+ <mt:SetVar name="body" value="$tmp2" />
+ <mt:SetVar name="tmp1" function="undef" />
+ <mt:SetVar name="tmp2" function="undef" />
+ </mt:For>
+ <mt:Include module="concatinate" dest="$tmp_code" src="$body" />
+
+ <mt:Var
+ name="source"
+ regex_replace="/(.*?)(v|$)(.*)/","$3"
+ setvar="source"
+ />
+ <mt:Var name="foreach_codeblock" />
+ <mt:Else>
+ <mt:SetVar name="$tmp_parse_name" value="$tmp_code" />
+ <mt:SetVar name="tmp_code" function="undef" />
+ </mt:If>
+</mt:SetVarTemplate>
+
+<mt:Var
+ name="source"
+ regex_replace="/w/g","w"
+ regex_replace="/W/g","W"
+ regex_replace="/v/g","v"
+ regex_replace="/\A[^w]*/",""
+ regex_replace="/[^wWv]/g",""
+ setvar="source"
+/>
+<mt:Var name="foreach_codeblock" />
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
+<head><title><$mt:ImageURL$></title></head>
+<body id="uploaded-image-popup" class="popup" style="margin: 0;padding: 0;">
+ <img src="<$mt:ImageURL$>" width="<$mt:ImageWidth$>" height="<$mt:ImageHeight$>" alt="<$mt:ImageURL$>" style="margin: 0;padding: 0;border: 0;" />
+</body>
+</html>
--- /dev/null
+<mt:Unless name="print_chars">
+<mt:SetVarBlock name="print_chars[9]"> </mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[10]">
+</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[32]"> </mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[33]">!</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[34]">"</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[35]">#</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[36]">$</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[37]">%</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[38]">&</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[39]">'</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[40]">(</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[41]">)</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[42]">*</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[43]">+</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[44]">,</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[45]">-</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[46]">.</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[47]">/</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[48]">0</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[49]">1</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[50]">2</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[51]">3</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[52]">4</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[53]">5</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[54]">6</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[55]">7</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[56]">8</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[57]">9</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[58]">:</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[59]">;</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[60]"><</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[61]">=</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[62]">></mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[63]">?</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[64]">@</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[65]">A</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[66]">B</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[67]">C</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[68]">D</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[69]">E</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[70]">F</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[71]">G</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[72]">H</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[73]">I</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[74]">J</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[75]">K</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[76]">L</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[77]">M</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[78]">N</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[79]">O</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[80]">P</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[81]">Q</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[82]">R</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[83]">S</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[84]">T</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[85]">U</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[86]">V</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[87]">W</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[88]">X</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[89]">Y</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[90]">Z</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[91]">[</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[92]">\</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[93]">]</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[94]">^</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[95]">_</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[96]">`</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[97]">a</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[98]">b</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[99]">c</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[100]">d</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[101]">e</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[102]">f</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[103]">g</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[104]">h</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[105]">i</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[106]">j</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[107]">k</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[108]">l</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[109]">m</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[110]">n</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[111]">o</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[112]">p</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[113]">q</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[114]">r</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[115]">s</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[116]">t</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[117]">u</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[118]">v</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[119]">w</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[120]">x</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[121]">y</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[122]">z</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[123]">{</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[124]">|</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[125]">}</mt:SetVarBlock>
+<mt:SetVarBlock name="print_chars[126]">~</mt:SetVarBlock>
+</mt:Unless>
+<mt:Var name="print_chars" index="$char_code" setvar="tmp_print_char" />
+<mt:SetVar name="$output" value="$tmp_print_char" append="1" />
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
+<head>
+ <script type="text/javascript">
+ /* <![CDATA[ */
+ var user = <$mt:UserSessionState$>;
+ /* ]]> */
+ </script>
+ <$mt:Include module="HTMLヘッダー"$>
+ <title><$mt:BlogName encode_html="1"$>: 検索結果</title>
+ <mt:Ignore>Below Javascript adds ajax search capability</mt:Ignore>
+ <script type="text/javascript">
+ /* <![CDATA[ */
+ <mt:IfMoreResults>
+ function getResults(page) {
+ page = parseInt(page);
+ if (timer) window.clearTimeout(timer);
+ var xh = mtGetXmlHttp();
+ if (!xh) return false;
+ var res = results[page];
+ if (!res) return;
+ var url = res['next_url'];
+ if (!url) return;
+
+ xh.open('GET', url + '&format=js', true);
+ xh.onreadystatechange = function() {
+ if ( xh.readyState == 4 ) {
+ if ( xh.status && ( xh.status != 200 ) ) {
+ // error - ignore
+ } else {
+ try {
+ var page_results = eval("(" + xh.responseText + ")");
+ if ( page_results['error'] == null )
+ results[page + 1] = page_results['result'];
+ } catch (e) {
+ }
+ }
+ }
+ };
+ xh.send(null);
+ }
+
+ function swapContent(direction) {
+ if ( direction == undefined ) direction = 1;
+ var page_span = document.getElementById('current-page');
+ if (!page_span) return true;
+ var next_page = direction + parseInt(page_span.innerHTML);
+ var res = results[next_page];
+ if (!res) return true;
+ var content = res['content'];
+ if (!content) return true;
+ var div = document.getElementById('search-results');
+ if (!div) return true;
+ div.innerHTML = content;
+ timer = window.setTimeout("getResults(" + next_page + ")", 1*1000);
+ window.scroll(0, 0);
+ return false;
+ }
+ <mt:Else><mt:IfPreviousResults>
+ function swapContent(direction) {
+ return true;
+ }</mt:IfPreviousResults>
+ </mt:IfMoreResults>
+ /* ]]> */
+ </script>
+</head>
+<body id="<$mt:BlogTemplateSetID$>" class="mt-search-results <$mt:Var name="page_layout"$>">
+ <div id="container">
+ <div id="container-inner">
+
+
+ <$mt:Include module="バナーヘッダー"$>
+
+
+ <div id="content">
+ <div id="content-inner">
+
+
+ <div id="alpha">
+ <div id="alpha-inner">
+
+<mt:Ignore><!--
+ Below is the block to show search results.
+ This makes an independent block to support
+ Ajax-based background retrieval of the next search results.
+--></mt:Ignore>
+<mt:SetVarTemplate id="search_results" name="search_results">
+<mt:SearchResults>
+ <mt:SearchResultsHeader>
+ <div id="search-results">
+ <span id="current-page" class="hidden"><$mt:CurrentPage$></span>
+ <h1 id="page-title" class="search-results-header">
+ <mt:IfStraightSearch>
+ 「<$mt:SearchString$>」と一致するもの
+ </mt:IfStraightSearch>
+ <mt:IfTagSearch>
+ タグ「<$mt:SearchString$>」が付けられているもの
+ </mt:IfTagSearch>
+ </h1>
+ <div class="search-results-container autopagerize_page_element">
+ </mt:SearchResultsHeader>
+ <$mt:Include module="ブログ記事の概要" hide_counts="1"$>
+ <mt:SearchResultsFooter>
+ </div><div class="autopagerize_insert_before"></div>
+
+ <mt:Ignore><!-- Used with the ajax search capability of the new search class --></mt:Ignore>
+ <div class="content-nav">
+ <mt:IfPreviousResults><a href="<$mt:PreviousLink$>" rel="prev" onclick="return swapContent(-1);">< 前</a> </mt:IfPreviousResults><mt:PagerBlock><mt:IfCurrentPage><$mt:Var name="__value__"$><mt:Else><a href="<$mt:PagerLink$>"><$mt:Var name="__value__"$></a></mt:IfCurrentPage><mt:Unless name="__last__"> </mt:Unless></mt:PagerBlock><mt:IfMoreResults> <a href="<$mt:NextLink$>" rel="next" onclick="return swapContent();">次 ></a></mt:IfMoreResults>
+ </div>
+ </div>
+ </mt:SearchResultsFooter>
+</mt:SearchResults>
+</mt:SetVarTemplate>
+<mt:Ignore><!-- Display search results constructed in the block above --></mt:Ignore>
+<$mt:Var name="search_results"$>
+
+
+<mt:Ignore><!-- Display no results message --></mt:Ignore>
+<mt:NoSearchResults>
+ <h1 id="page-title" class="search-results-header">
+ <mt:IfStraightSearch>
+ 「<$mt:SearchString$>」と一致するもの
+ </mt:IfStraightSearch>
+ <mt:IfTagSearch>
+ タグ「<$mt:SearchString$>」が付けられているもの
+ </mt:IfTagSearch>
+ </h1>
+ <p>「<$mt:SearchString$>」と一致する結果は見つかりませんでした。</p>
+</mt:NoSearchResults>
+
+
+<mt:Ignore><!-- Display instructions for searching if search script was accessed without a query --></mt:Ignore>
+<mt:NoSearch>
+ <h1 id="page-title" class="search-results-header">例</h1>
+ <p>すべての単語が順序に関係なく検索されます。フレーズで検索したいときは引用符で囲んでください。</p>
+ <blockquote>
+ <p><code>"movable type"</code></p>
+ </blockquote>
+ <p>AND、OR、NOTを入れることで論理検索を行うこともできます。</p>
+ <blockquote>
+ <p><code>個人 OR 出版</code></p>
+ <p><code>個人 NOT 出版</code></p>
+ </blockquote>
+</mt:NoSearch>
+
+<mt:Ignore><!-- Used with the ajax search capability of the new search class --></mt:Ignore>
+<mt:IfMoreResults>
+<script type="text/javascript">
+<!--
+var div = document.getElementById('search-results');
+var results = {
+ '<$mt:CurrentPage$>': {
+ 'content': div.innerHTML,
+ 'next_url': '<$mt:NextLink$>'
+ }
+};
+var timer = window.setTimeout("getResults(" + <$mt:CurrentPage$> + ")", 1*1000);
+//-->
+</script>
+</mt:IfMoreResults>
+
+
+ </div>
+ </div>
+
+ <$mt:Include module="サイドバー"$>
+
+
+ </div>
+ </div>
+
+
+ <$mt:Include module="バナーフッター"$>
+
+
+ </div>
+ </div>
+</body>
+</html>
--- /dev/null
+<mt:SetVar name="tmp_succ{class}" value="succ" />
+<mt:SetVar name="$name" value="$tmp_succ" />
+<mt:SetVar name="tmp_succ" function="undef" />
+
+<mt:Unless name="succ::defined">
+<mt:SetVar name="succ::defined" value="1" />
+
+<mt:SetVarTemplate name="succ::app">
+<mt:Var name="self{machine}" setvar="tmp_succ_machine" />
+<mt:Var name="self{arg}" setvar="tmp_succ_char" />
+<mt:Var name="tmp_succ_char{char_code}" setvar="tmp_succ_char_char_code" />
+
+<mt:Var name="tmp_succ_machine{code}" setvar="tmp_succ_code" />
+<mt:Var name="tmp_succ_machine{env}" setvar="tmp_succ_env" />
+<mt:Var name="tmp_succ_machine{dump}" setvar="tmp_succ_dump" />
+
+<mt:SetVar name="tmp_succ_char_char_code" value="1" op="add" />
+<mt:If name="tmp_succ_char_char_code" gt="255">
+<mt:SetVar name="tmp_succ_char_char_code" value="0" />
+</mt:If>
+<mt:Include module="char" name="tmp_succ_new_char" char_code="$tmp_succ_char_char_code" />
+
+<mt:SetVar name="tmp_succ_env" function="push" value="$tmp_succ_new_char" />
+</mt:SetVarTemplate>
+
+</mt:Unless>