Changes for version 0.199_001 - 2026-07-15
- GH-251 - better URL generation methods/entities, add raise_redirect alias.
- GH-250 - trim trailing `/` of `&yatt:script_name;`
- GH-249 - Add `yatt:foreach` alternate syntax `var=value`
- GH-248 - Fix inspector to correctly locate inline entity
- GH-247 - `<!yatt:base>` is now always checked during refresh
- GH-246 - extend `&yatt:value_checked();` `&yatt:value_selected();`
- GH-244 - Fix line number glitch for suppressed default widget
- GH-243 - genperl now works with `<!yatt:base>`
- GH-242 - Restrict `<!yatt:...` linestart only
- GH-241 - `:mkhidden(name[])`, `:param(name[])` works as expected (for nested_query)
- GH-239 - LSP: textDocument/completion (partial support)
- GH-233 - Drop `cf_` prefix
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
Language Server for YATT::Lite
fields for multiple inheritance.
fields based, Tcl/Tk like object
define inner types at compile time.
output buffer with request properties
(Revised) Session support for YL
PSGI Handler for yatt
Loader for XHF format
Serializer for XHF format
Provides
in Lite/Breakpoint.pm
in Lite/CGen.pm
in Lite/CGen/ArgMacro.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/Inspector.pm
in Lite/LRXML.pm
in Lite/LRXML/ParseBody.pm
in Lite/LRXML/ParseEntpath.pm
in Lite/LRXML/AltTree.pm
in Lite/LRXML/FormatEntpath.pm
in Lite/LRXML/ParseBody.pm
in Lite/LRXML/ParseEntpath.pm
in Lite/LanguageServer/Generic.pm
in Lite/LanguageServer/Protocol.pm
in Lite/LanguageServer/Spec2Types.pm
in Lite/LanguageServer/SpecParser.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/Partial/MarkAfterNew.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/AllowRedundantSprintf.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/VarTypes.pm
in Lite/Walker.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/Partial/Session3.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/.symlinks
- 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/index.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/offline.t
- samples/basic/1/t/psgi_offline.t
- samples/basic/1/t/t_lib.pl
- samples/basic/10/app.psgi
- samples/basic/10/app.xhf
- samples/basic/10/html/dot.htaccess
- 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/10/t/offline.t
- samples/basic/10/t/psgi_offline.t
- samples/basic/11/app.psgi
- samples/basic/11/html/base1.ytmpl
- samples/basic/11/html/base2/bar.ytmpl
- samples/basic/11/html/t1.yatt
- samples/basic/11/html/t2.yatt
- samples/basic/11/t/.htaccess
- samples/basic/11/t/1-basic.xhf
- samples/basic/11/t/fcgi_offline.t
- samples/basic/11/t/http_localhost.t
- samples/basic/11/t/offline.t
- samples/basic/11/t/psgi_offline.t
- samples/basic/12/app.psgi
- samples/basic/12/html/.htyattconfig.xhf
- samples/basic/12/html/.htyattrc.pl
- samples/basic/12/html/index.yatt
- samples/basic/12/t/.htaccess
- samples/basic/12/t/1-basic.xhf
- samples/basic/12/t/fcgi_offline.t
- samples/basic/12/t/http_localhost.t
- samples/basic/12/t/offline.t
- samples/basic/12/t/psgi_offline.t
- samples/basic/12/ytmpl/.htyattrc.pl
- samples/basic/12/ytmpl/part.ytmpl
- samples/basic/13/app.psgi
- samples/basic/13/html/index.yatt
- samples/basic/13/t/.htaccess
- samples/basic/13/t/1-mkhidden.xhf
- samples/basic/13/t/fcgi_offline.t
- samples/basic/13/t/http_localhost.t
- samples/basic/13/t/offline.t
- samples/basic/13/t/psgi_offline.t
- samples/basic/2/.symlinks
- samples/basic/2/app.psgi
- 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/fcgi_offline.t
- samples/basic/2/t/http_localhost.t
- samples/basic/2/t/offline.t
- samples/basic/2/t/psgi_offline.t
- samples/basic/2/ytmpl/.htaccess
- samples/basic/2/ytmpl/error.ytmpl
- samples/basic/2/ytmpl/show_expr.yatt
- samples/basic/2/ytmpl/std.ytmpl/envelope.ytmpl
- samples/basic/2/ytmpl/warn.ytmpl
- samples/basic/3/.symlinks
- samples/basic/3/app.psgi
- samples/basic/3/html/.htyattconfig.xhf
- samples/basic/3/html/index.yatt
- samples/basic/3/t/.htaccess
- samples/basic/3/t/.symlinks
- samples/basic/3/t/1-basic.xhf
- samples/basic/3/t/fcgi_offline.t
- samples/basic/3/t/http_localhost.t
- samples/basic/3/t/offline.t
- samples/basic/3/t/psgi_offline.t
- samples/basic/5/.symlinks
- samples/basic/5/app.psgi
- samples/basic/5/html/dot.htaccess
- samples/basic/5/html/error.ytmpl
- samples/basic/5/html/varerr.yatt
- samples/basic/5/t/.htaccess
- samples/basic/5/t/.symlinks
- samples/basic/5/t/1-basic.xhf
- samples/basic/5/t/fcgi_offline.t
- samples/basic/5/t/http_localhost.t
- samples/basic/5/t/offline.t
- samples/basic/5/t/psgi_offline.t
- samples/basic/5/ytmpl/.htaccess
- samples/basic/5/ytmpl/error.ytmpl
- samples/basic/5/ytmpl/show_expr.yatt
- samples/basic/5/ytmpl/std.ytmpl/envelope.ytmpl
- samples/basic/5/ytmpl/warn.ytmpl
- samples/basic/6/.symlinks
- samples/basic/6/app.psgi
- samples/basic/6/html/.htyattconfig.xhf
- samples/basic/6/html/index.yatt
- samples/basic/6/t/.htaccess
- samples/basic/6/t/.symlinks
- 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/.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/1-basic.xhf
- 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/.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/1-basic.xhf
- samples/basic/8/t/fcgi_offline.t
- samples/basic/8/t/http_localhost.t
- samples/basic/8/t/offline.t
- 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/1-basic.xhf
- samples/basic/9/t/fcgi_offline.t
- samples/basic/9/t/http_localhost.t
- samples/basic/9/t/offline.t
- samples/basic/9/t/psgi_offline.t
- samples/basic/README.md
- samples/basic/addtest.zsh
- 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.ht
- samples/benchmarks/template/include.mt
- samples/benchmarks/template/include.tt
- samples/benchmarks/template/include.tx
- samples/benchmarks/template/include.yatt
- samples/benchmarks/template/list.cs
- 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-for.pl
- samples/benchmarks/yt-x-poor-env.pl
- samples/benchmarks/yt-x-rich-env.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/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/1-basic.xhf
- 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/t/z_cleanup.t
- samples/db_backed/1/var/.htaccess
- samples/db_backed/1/ytmpl/.htaccess
- samples/db_backed/1/ytmpl/error.ytmpl
- samples/db_backed/1/ytmpl/show_expr.yatt
- samples/db_backed/1/ytmpl/std.ytmpl/envelope.ytmpl
- samples/db_backed/1/ytmpl/warn.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/index.yatt
- samples/db_backed/2/html/login.ydo
- samples/db_backed/2/html/logout.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/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/var/.htaccess
- samples/db_backed/2/ytmpl/.htaccess
- samples/db_backed/2/ytmpl/error.ytmpl
- samples/db_backed/2/ytmpl/show_expr.yatt
- samples/db_backed/2/ytmpl/std.ytmpl/envelope.ytmpl
- samples/db_backed/2/ytmpl/warn.ytmpl
- samples/find_yatt_lib.pl
- samples/minimum.psgi
- samples/more/1/app.psgi
- samples/more/1/public/.htyattrc.pl
- samples/more/1/public/index.yatt
- samples/mysql-use-htdbpass.zsh
- samples/oldsessioncompat.psgi
- samples/runfcgi
- samples/runplack-env-dev.cgi
- samples/runyatt.cgi
- samples/sess_backed/1/.symlinks
- samples/sess_backed/1/app.psgi
- samples/sess_backed/1/html/.htyattrc.pl
- samples/sess_backed/1/html/envelope.ytmpl
- samples/sess_backed/1/html/error.ytmpl
- samples/sess_backed/1/html/index.yatt
- samples/sess_backed/1/html/main.css
- samples/setup-all.zsh