Changes for version 0.100_003 - 2015-11-05
- Bug fix for [RT #108427] [GH #62] Undeclared dependency on Test::Kantan
Changes for version 0.100_002 - 2015-10-31
- New features
- [GH #57] `yattup` - `plackup` alike command for `*.yatt` files.
- [GH #54] - !yatt:base "file_or_dir" to inherit templates.
- Enhancement (Potentially breaking)
- [GH #51] Add experimental `per_role_docroot` feature.
- [GH #56] Install psgi_fallback by default (to make `yattup` useful).
- Add new option `always_refresh_deps` to fix [GH #1] partially.
- [GH #60] Set HTTP Status for "Not found" and "Bad request" errors. To revert old behavior, set `overwrite_status_code_for_errors_as` to 200.
- YATT::Lite::Error now exports type alias 'Error' by default.
- New method: `($yatt|$con)->error_with_status($code, $msg, @args)`
- Misc changes:
- [GH #59] yatt, yattup should resolve symlink once and only once.
- [GH #58] c3 mro support in `use YATT::Lite::Factory -as_base`.
- BUG fixes:
- [GH #61] no warnings 'redundant' for sprintf. (partially)
- [GH #55] *base* templates accidentally inherit their *user* directory bug
- [GH #53] - Allow setting dont_map_args in SiteApp.
Changes for version 0.100_001 - 2015-09-03
- Enhanement (API Change) for unicode handling:
- [GH #48] decode input params by default. Add new option `no_unicode` for backward compatibility.
- [GH #45] YATT::Lite::Factory->render now returns decoded string by default.
- Enhanement to help testing:
- [GH #47] $site->mount_action($location => $action_sub)) and $dir->set_action_handler($filename => sub ($this, $con))
- [GH #16] $site->mount_psgi($location => $psgi_app)
- Fixes
- [GH #50] [RT #106776] Test failure (caused by SQLite).
- [GH #49] use safer fatalized warnings.
- [GH #46] convert_array_param(parse_nested_query) conflicts with Plack::Request->upload.
Documentation
Loose but Recursive XML (LRXML) format.
Extended Header Fields (XHF) フォーマットの構文定義
Extended Header Fields (XHF) format.
perl プログラマー向け yatt 内部構造解説(日本語版)
programmer's guide for YATT
初めにお読み下さい (日本語版)
Introduction to YATT::Lite
課題の一覧
or Modern use of fields.pm and %FIELDS.
なんでやっとやんの?
Perl Monger のための yatt (YATT::Lite) ガイド
yatt 構文マニュアル (日本語版)
yatt syntax manual
plackup alike for yatt_lite
Modules
Template with "use strict"
Loader for YATT::Lite
fields for multiple inheritance.
fields based, Tcl/Tk like object
define inner types at compile time.
output buffer with request properties
PSGI Handler for yatt
Loader for XHF format
Serializer for XHF format
Provides
in Lite/Breakpoint.pm
in Lite/CGen.pm
in Lite/CGen/Perl.pm
in Lite/Connection.pm
in Lite/Constants.pm
in Lite/Core.pm
in Lite/Entities.pm
in Lite/Error.pm
in Lite/Inc.pm
in Lite/LRXML.pm
in Lite/LRXML/ParseBody.pm
in Lite/LRXML/ParseEntpath.pm
in Lite/LRXML/ParseBody.pm
in Lite/LRXML/ParseEntpath.pm
in Lite/MFields.pm
in Lite/Macro.pm
in Lite/NSBuilder.pm
in Lite/PSGIEnv.pm
in Lite/Partial.pm
in Lite/Partial/AppPath.pm
in Lite/Partial/ErrorReporter.pm
in Lite/Partial/Gettext.pm
in Lite/RegexpNames.pm
in Lite/Test/TestFCGI.pm
in Lite/Test/TestUtil.pm
in Lite/Test/XHFTest.pm
in Lite/Test/XHFTest2.pm
in Lite/Test/XHFTest.pm
in Lite/Types.pm
in Lite/Util.pm
in Lite/Util/AsBase.pm
in Lite/Util/CGICompat.pm
in Lite/Util/CmdLine.pm
in Lite/Util/CycleDetector.pm
in Lite/Util/Enum.pm
in Lite/Util/File.pm
in Lite/Util/FindMethods.pm
in Lite/VFS.pm
in Lite/VarMaker.pm
in Lite/VarTypes.pm
in Lite/VarTypes.pm
in Lite/WebMVC0/DBSchema.pm
in Lite/WebMVC0/DBSchema/DBIC.pm
in Lite/WebMVC0/DBSchema/DBIC.pm
in Lite/WebMVC0/DirApp.pm
in Lite/WebMVC0/Partial/LangSwitch.pm
in Lite/WebMVC0/Partial/Session.pm
in Lite/WebMVC0/SiteApp/CGI.pm
in Lite/WebMVC0/SiteApp/FCGI.pm
in Lite/WebMVC0/SiteApp/CGI.pm
in Lite/WebMVC0/SiteApp/FCGI.pm
in Lite/WebMVC0/SubRoutes.pm
in Lite/XHF/StoreDir.pm
Examples
- samples/README
- samples/basic/1/app.psgi
- samples/basic/1/html/envelope.ytmpl
- samples/basic/1/html/foo.ydo
- samples/basic/1/html/foobar.yatt
- samples/basic/1/html/noncode.ydo
- samples/basic/1/html/perlerr.yatt
- samples/basic/1/html/varerr.yatt
- samples/basic/1/t/.htaccess
- samples/basic/1/t/1-basic.xhf
- samples/basic/1/t/fcgi_offline.t
- samples/basic/1/t/http_localhost.t
- samples/basic/1/t/lntests.zsh
- samples/basic/1/t/psgi_offline.t
- samples/basic/1/t/t_lib.pl
- samples/basic/10/app.psgi
- samples/basic/10/html/index.html
- samples/basic/10/t/.htaccess
- samples/basic/10/t/1-basic.xhf
- samples/basic/10/t/fcgi_offline.t
- samples/basic/10/t/http_localhost.t
- samples/basic/11/app.psgi
- samples/basic/11/html/base1.ytmpl
- samples/basic/11/t/.htaccess
- samples/basic/11/t/psgi_offline.t
- samples/basic/12/app.psgi
- samples/basic/12/t/1-basic.xhf
- samples/basic/12/t/fcgi_offline.t
- samples/basic/12/ytmpl/.htyattrc.pl
- samples/basic/2/.symlinks
- samples/basic/2/html/index.yatt
- samples/basic/2/t/.htaccess
- samples/basic/2/t/.symlinks
- samples/basic/2/t/1-basic.xhf
- samples/basic/2/t/http_localhost.t
- samples/basic/2/t/offline.t
- samples/basic/2/ytmpl/error.ytmpl
- samples/basic/3/html/index.yatt
- samples/basic/4/app.psgi
- samples/basic/4/html/index.yatt
- samples/basic/4/t/.htaccess
- samples/basic/4/t/fcgi_offline.t
- samples/basic/4/t/http_localhost.t
- samples/basic/4/t/psgi_offline.t
- samples/basic/5/.symlinks
- samples/basic/5/app.psgi
- samples/basic/5/html/error.ytmpl
- samples/basic/5/html/varerr.yatt
- samples/basic/5/t/.symlinks
- samples/basic/5/t/fcgi_offline.t
- samples/basic/5/t/offline.t
- samples/basic/5/t/psgi_offline.t
- samples/basic/5/ytmpl/std.ytmpl/envelope.ytmpl
- samples/basic/6/app.psgi
- samples/basic/6/html/.htyattconfig.xhf
- samples/basic/6/t/.htaccess
- samples/basic/6/t/1-basic.xhf
- samples/basic/6/t/fcgi_offline.t
- samples/basic/6/t/http_localhost.t
- samples/basic/6/t/offline.t
- samples/basic/6/t/psgi_offline.t
- samples/basic/7/app.psgi
- samples/basic/7/app.xhf
- samples/basic/7/t/.htaccess
- samples/basic/7/t/.symlinks
- samples/basic/8/app.psgi
- samples/basic/8/extlib/t_undef_error.pm
- samples/basic/8/html/index.yatt
- samples/basic/8/t/.symlinks
- samples/basic/8/t/psgi_offline.t
- samples/basic/9/app.psgi
- samples/basic/9/extlib/ToyApp1.pm
- samples/basic/9/html/subapp1/.htyattconfig.yml
- samples/basic/9/html/subapp1/index.yatt
- samples/basic/9/t/fcgi_offline.t
- samples/basic/README.md
- samples/benchmarks/readme
- samples/benchmarks/results/author.txt
- samples/benchmarks/runall.zsh
- samples/benchmarks/template/base.mt
- samples/benchmarks/template/base.tx
- samples/benchmarks/template/base.yatt
- samples/benchmarks/template/child.mt
- samples/benchmarks/template/child.tx
- samples/benchmarks/template/child.yatt
- samples/benchmarks/template/include.cs
- samples/benchmarks/template/include.mt
- samples/benchmarks/template/include.tt
- samples/benchmarks/template/include.tx
- samples/benchmarks/template/include.yatt
- samples/benchmarks/template/list.ht
- samples/benchmarks/template/list.mst
- samples/benchmarks/template/list.mt
- samples/benchmarks/template/list.tj
- samples/benchmarks/template/list.tt
- samples/benchmarks/template/list.tx
- samples/benchmarks/template/list.yatt
- samples/benchmarks/yt-cascade.pl
- samples/benchmarks/yt-x-poor-env.pl
- samples/benchmarks/yt-x-rich-env.pl
- samples/db_backed/1/app.psgi
- samples/db_backed/1/html/.htyattrc.pl
- samples/db_backed/1/html/index.yatt
- samples/db_backed/1/html/login.ydo
- samples/db_backed/1/html/logout.ydo
- samples/db_backed/1/html/main.css
- samples/db_backed/1/html/register.yatt
- samples/db_backed/1/html/resetpass.yatt
- samples/db_backed/1/t/.htaccess
- samples/db_backed/1/t/.symlinks
- samples/db_backed/1/t/0register.t
- samples/db_backed/1/t/basic.inc.xhf
- samples/db_backed/1/t/http_localhost.t
- samples/db_backed/1/t/psgi_offline.t
- samples/db_backed/1/t/t_lib.pl
- samples/db_backed/1/ytmpl/error.ytmpl
- samples/db_backed/2/.symlinks
- samples/db_backed/2/app.psgi
- samples/db_backed/2/html/.htyattrc.pl
- samples/db_backed/2/html/.symlinks
- samples/db_backed/2/html/envelope.ytmpl
- samples/db_backed/2/html/main.css
- samples/db_backed/2/html/register.yatt
- samples/db_backed/2/t/.htaccess
- samples/db_backed/2/t/.symlinks
- samples/db_backed/2/t/basic.inc.xhf
- samples/db_backed/2/t/http_localhost.t
- samples/db_backed/2/t/psgi_offline.t
- samples/db_backed/2/t/t_register.pm
- samples/db_backed/2/t/z_cleanup.t
- samples/db_backed/2/ytmpl/.htaccess
- samples/db_backed/2/ytmpl/error.ytmpl
- samples/db_backed/2/ytmpl/std.ytmpl/envelope.ytmpl
- samples/minimum.psgi
- samples/mysql-use-htdbpass.zsh
- samples/runyatt.cgi
- samples/sess_backed/1/app.psgi
- samples/sess_backed/1/config/.htaccess
- samples/sess_backed/1/config/fruits.tsv
- samples/sess_backed/1/html/.htyattconfig.xhf
- samples/sess_backed/1/html/error.ytmpl
- samples/sess_backed/1/html/index.yatt
- samples/sess_backed/1/html/main.css
- samples/sess_backed/1/html/sess_forget.ydo
- samples/sess_backed/1/t/1-basic.xhf
- samples/sess_backed/1/t/http_localhost.t
- samples/sess_backed/1/t/psgi_offline.t
- samples/sess_backed/1/var/.htaccess
- samples/toy/toyedit1/.symlinks
- samples/toy/toyedit1/app.psgi
- samples/toy/toyedit1/html/index.yatt
- samples/toy/toyedit1/t/.htaccess
- samples/toy/toyedit1/t/1-basic.xhf
- samples/toy/toyedit1/t/2-utf8.xhf
- samples/toy/toyedit1/t/fcgi_offline.t
- samples/toy/toyedit1/t/offline.t
- samples/toy/toyedit1/t/psgi_offline.t
- samples/ylpodview/approot/html/.htyattrc.pl
- samples/ylpodview/approot/html/index.yatt
- samples/ylpodview/approot/html/main.css
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap-responsive.min.css
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap-responsive.min.css.gz
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap.css
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap.min.css.gz
- samples/ylpodview/approot/html/vendor/bootstrap/img/glyphicons-halflings-white.png
- samples/ylpodview/approot/html/vendor/bootstrap/js/bootstrap.js
- samples/ylpodview/approot/html/vendor/bootstrap/js/bootstrap.min.js
- samples/ylpodview/approot/html/vendor/bootstrap/js/bootstrap.min.js.gz
- samples/ylpodview/approot/html/vendor/jquery/jquery-1.8.2.min.js
- samples/ylpodview/approot/html/vendor/jquery/jquery.min.js
- samples/ylpodview/approot/html/vendor/shjs/README.txt
- samples/ylpodview/approot/html/vendor/shjs/VERSION.txt
- samples/ylpodview/approot/html/vendor/shjs/css/sh_acid.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_berries-dark.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_berries-dark.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_berries-light.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_bright.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_contrast.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_darkness.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_darkness.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_dull.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_dull.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_emacs.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_greenlcd.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-anjuta.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-codewarrior.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-devcpp.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-msvcpp.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-msvcpp.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_navy.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_nedit.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_night.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_pablo.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_peachpuff.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_print.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_the.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_typical.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_typical.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vampire.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vim.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_whatis.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_whitengrey.min.css
- samples/ylpodview/approot/html/vendor/shjs/doc/browsers.html
- samples/ylpodview/approot/html/vendor/shjs/doc/documentation.html
- samples/ylpodview/approot/html/vendor/shjs/doc/download.html
- samples/ylpodview/approot/html/vendor/shjs/doc/style.css
- samples/ylpodview/approot/html/vendor/shjs/doc/style.js
- samples/ylpodview/approot/html/vendor/shjs/index.html
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_c.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_c.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_changelog.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_csharp.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_csharp.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_css.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_diff.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_glsl.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_glsl.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_haxe.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_java.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_javascript.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_javascript_dom.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_ldap.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_ldap.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_log.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_log.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_lsm.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_lsm.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_pascal.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_perl.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_prolog.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_prolog.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_python.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_ruby.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_ruby.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_scala.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sh.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sql.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_xml.js
- samples/ylpodview/approot/html/vendor/shjs/sh_main.js
- samples/ylpodview/approot/html/vendor/shjs/sh_style.css
- samples/ylpodview/approot/html/vendor/shjs/sh_style.min.css
- samples/ylpodview/approot/ytmpl/envelope.ytmpl
- samples/ylpodview/dotcloud.yml