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/perlerr.yatt
- samples/basic/1/t/lntests.zsh
- samples/basic/1/t/psgi_offline.t
- samples/basic/10/app.psgi
- samples/basic/10/app.xhf
- samples/basic/10/t/1-basic.xhf
- samples/basic/10/t/fcgi_offline.t
- samples/basic/10/t/http_localhost.t
- samples/basic/11/t/.htaccess
- samples/basic/12/html/.htyattconfig.xhf
- samples/basic/12/html/index.yatt
- samples/basic/12/t/.htaccess
- samples/basic/12/t/offline.t
- samples/basic/12/ytmpl/.htyattrc.pl
- samples/basic/12/ytmpl/part.ytmpl
- samples/basic/2/.symlinks
- samples/basic/2/t/1-basic.xhf
- samples/basic/2/t/fcgi_offline.t
- samples/basic/2/ytmpl/error.ytmpl
- samples/basic/2/ytmpl/std.ytmpl/envelope.ytmpl
- samples/basic/3/.symlinks
- samples/basic/3/t/http_localhost.t
- 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/5/t/.symlinks
- samples/basic/5/t/1-basic.xhf
- samples/basic/5/t/psgi_offline.t
- samples/basic/6/t/.symlinks
- samples/basic/6/t/psgi_offline.t
- samples/basic/7/.symlinks
- samples/basic/7/app.psgi
- samples/basic/7/app.xhf
- samples/basic/7/html/index.yatt
- samples/basic/7/t/.htaccess
- samples/basic/7/t/.symlinks
- samples/basic/7/t/fcgi_offline.t
- samples/basic/7/t/http_localhost.t
- samples/basic/7/t/offline.t
- samples/basic/7/t/psgi_offline.t
- samples/basic/8/t/1-basic.xhf
- samples/basic/8/t/fcgi_offline.t
- samples/basic/8/t/http_localhost.t
- samples/basic/9/extlib/ToyApp1.pm
- samples/basic/9/html/subapp1/.htyattconfig.yml
- samples/basic/9/html/subapp1/index.yatt
- samples/basic/9/t/1-basic.xhf
- samples/basic/9/t/fcgi_offline.t
- samples/basic/9/t/psgi_offline.t
- samples/basic/addtest.zsh
- samples/benchmarks/template/base.yatt
- samples/benchmarks/template/child.mt
- samples/benchmarks/template/child.yatt
- samples/benchmarks/template/include.ht
- samples/benchmarks/template/include.mt
- samples/benchmarks/template/include.tt
- samples/benchmarks/template/list.tt
- samples/benchmarks/yt-for.pl
- samples/db_backed/1/.symlinks
- samples/db_backed/1/app.psgi
- samples/db_backed/1/html/.htyattrc.pl
- samples/db_backed/1/html/envelope.ytmpl
- 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/printenv.yatt
- samples/db_backed/1/html/resetpass.yatt
- samples/db_backed/1/t/.htaccess
- 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/t/t_register.pm
- samples/db_backed/1/ytmpl/error.ytmpl
- samples/db_backed/1/ytmpl/std.ytmpl/envelope.ytmpl
- samples/db_backed/2/html/.symlinks
- samples/db_backed/2/html/login.ydo
- 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/0register.t
- samples/db_backed/2/t/1-basic.xhf
- samples/db_backed/2/t/psgi_offline.t
- samples/minimum.psgi
- samples/mysql-use-htdbpass.zsh
- samples/runfcgi
- samples/runyatt.cgi
- samples/sess_backed/1/app.psgi
- samples/sess_backed/1/html/00readme.html
- samples/sess_backed/1/html/envelope.ytmpl
- samples/sess_backed/1/html/main.css
- samples/sess_backed/1/t/.htaccess
- samples/setup-all.zsh
- samples/toy/toyedit1/app.psgi
- samples/toy/toyedit1/html/.htyattrc.pl
- samples/toy/toyedit1/html/delete.ydo
- samples/toy/toyedit1/html/edit.yatt
- samples/toy/toyedit1/t/.htaccess
- samples/toy/toyedit1/t/1-basic.xhf
- samples/toy/toyedit1/t/offline.t
- samples/toy/toyedit1/t/psgi_offline.t
- samples/toy/toyedit1/var/.htaccess
- samples/toy/toyedit1/ytmpl/error.ytmpl
- samples/toy/toyedit1/ytmpl/std.ytmpl/envelope.ytmpl
- samples/ylpodview/approot/app.psgi
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap.css
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap.min.css
- samples/ylpodview/approot/html/vendor/bootstrap/css/bootstrap.min.css.gz
- samples/ylpodview/approot/html/vendor/bootstrap/img/glyphicons-halflings.png
- samples/ylpodview/approot/html/vendor/bootstrap/js/bootstrap.min.js
- samples/ylpodview/approot/html/vendor/jquery/jquery-1.8.2.min.js
- samples/ylpodview/approot/html/vendor/jquery/jquery-1.8.2.min.js.gz
- samples/ylpodview/approot/html/vendor/shjs/css/sh_acid.css
- 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-light.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_bipolar.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_blacknblue.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_contrast.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_darkblue.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_darkness.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_easter.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_emacs.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_emacs.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_golden.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_golden.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_greenlcd.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_greenlcd.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-codewarrior.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-devcpp.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-devcpp.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-eclipse.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-eclipse.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-kdev.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-kdev.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_ide-msvcpp.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_kwrite.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_navy.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_nedit.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_nedit.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_neon.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_neon.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_night.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_pablo.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_peachpuff.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_print.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_print.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_rand01.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_rand01.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_the.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_the.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_typical.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vim-dark.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vim-dark.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vim.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_vim.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_whatis.min.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_whitengrey.css
- samples/ylpodview/approot/html/vendor/shjs/css/sh_zellner.css
- samples/ylpodview/approot/html/vendor/shjs/doc/ajax-loader.gif
- 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/gplv3-88x31.png
- samples/ylpodview/approot/html/vendor/shjs/doc/gplv3.html
- samples/ylpodview/approot/html/vendor/shjs/doc/license.html
- samples/ylpodview/approot/html/vendor/shjs/doc/links.html
- samples/ylpodview/approot/html/vendor/shjs/doc/news.html
- samples/ylpodview/approot/html/vendor/shjs/index.html
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_bison.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_bison.min.js
- 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_caml.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_changelog.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_changelog.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_cpp.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_cpp.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_css.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_desktop.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_desktop.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_diff.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_diff.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_flex.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_glsl.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_haxe.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_haxe.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_html.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_java.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_java.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_javascript.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_latex.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_m4.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_m4.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_oracle.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_oracle.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_pascal.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_perl.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_properties.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_properties.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_python.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_scala.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_scala.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sh.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_slang.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_slang.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sml.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sml.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_spec.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sql.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_sql.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_xml.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_xml.min.js
- samples/ylpodview/approot/html/vendor/shjs/lang/sh_xorg.js
- samples/ylpodview/approot/html/vendor/shjs/sh_style.css
- samples/ylpodview/approot/html/vendor/shjs/sh_style.min.css
- samples/ylpodview/approot/t/01_psgi_offline.t
- samples/ylpodview/approot/t/t_lib.pl
- samples/ylpodview/approot/ytmpl/error.ytmpl