Commit graph

58 commits

Author SHA1 Message Date
Kijin Sung
8e5480674d Exclude functions and closures from scope conversion #2617 2025-11-29 11:50:43 +09:00
Kijin Sung
451d0b95ac Disable all conversion inside verbatim section of template v2 2025-08-18 22:24:48 +09:00
Kijin Sung
f7543e4c9a In template v2, process escape filters before other filters 2025-08-18 22:09:31 +09:00
Kijin Sung
dd4d4fe979 Treat pattern attribute of form elements as JS context in Template v2 2025-06-17 17:15:49 +09:00
Kijin Sung
ba74b47a29 Fix matching of partial attribute names #2537 2025-03-31 01:11:51 +09:00
Kijin Sung
e192bc0ff6 Add widget directive for Template v2 2025-03-20 14:01:56 +09:00
Kijin Sung
3e052d2d00 Improve detection of template v1-style syntax in CSS/JS contexts 2025-03-19 12:44:17 +09:00
Kijin Sung
01f34781df Don't parse template v1 syntax (single braces) in CSS/JS context 2025-03-19 00:42:01 +09:00
Kijin Sung
9689a1ed68 Implement better contextual escape for template v2 2025-03-19 00:12:39 +09:00
Kijin Sung
62eb6b2aae Add more context switches for inline scripts and styles 2025-03-18 23:17:42 +09:00
Kijin Sung
800eb2f444 Change behavior of \@mobile directive in template v2 #2510 2025-03-18 22:51:22 +09:00
Kijin Sung
5f47ddeb53 Fix #2352 automatically convert relative paths in CSS url() function, only in template v2 2024-05-25 01:34:47 +09:00
Kijin Sung
1dbf601bab Fix #2342 incorrectly placed context switch markers inside raw PHP code block 2024-05-07 23:02:09 +09:00
Kijin Sung
0b9131e664 Remove unnecessary encoding of /, &, ' in template v2 JSON output 2024-03-24 21:29:54 +09:00
Kijin Sung
ee9a1a2b20 Fix #2272 unintended conversion of v1 echo statements inside verbatim section of v2 template 2024-01-16 21:43:38 +09:00
Kijin Sung
e72336c90c Fix #2203 'this' in lang directive will refer to current module 2023-10-31 21:59:33 +09:00
Kijin Sung
c42d059594 Add deprecation warnings if syntax like <--#include-->, <!--%import--> is used in template v2 2023-10-23 14:17:30 +09:00
Kijin Sung
a5d6a76cf4 Add parent reference to Template instances 2023-10-22 00:46:58 +09:00
Kijin Sung
fefd3dd895 Fix path normalization problem 2023-10-21 14:19:20 +09:00
Kijin Sung
6085b82d19 Inherit parent vars and add own vars when a template is included with vars from another template that has vars; add unit tests for vars inheritance 2023-10-21 13:52:02 +09:00
Kijin Sung
5b47151440 Change desktop and mobile directives to reference static Context method 2023-10-21 13:35:24 +09:00
Kijin Sung
129a0403e4 Throw warning if <block>, cond, loop is used in template v2 2023-10-20 21:17:38 +09:00
Kijin Sung
a284a1b072 Also apply scope conversion to short PHP tags 2023-10-20 21:03:31 +09:00
Kijin Sung
55d91b9dc7 Implement unload directive 2023-10-20 20:56:14 +09:00
Kijin Sung
325c2c2b13 Rename internal list and add useful comment 2023-10-18 21:19:04 +09:00
Kijin Sung
3c401bbc20 Add pushOnce and prependOnce helper directives 2023-10-18 21:16:39 +09:00
Kijin Sung
6b2b3f0dc2 Add dd and url helper directives 2023-10-18 20:57:52 +09:00
Kijin Sung
c487c13864 Apply context-aware escape more generally; add can/cannot/canany and env directives 2023-10-18 12:09:45 +09:00
Kijin Sung
7c727c0fcb Cache the regexp for template v2 directives 2023-10-18 02:28:38 +09:00
Kijin Sung
c19d71847f Implement template v2 feature of pushing to stack 2023-10-18 02:23:18 +09:00
Kijin Sung
7b518ab747 Template v2 directives must match at word boundary 2023-10-18 01:44:36 +09:00
Kijin Sung
0f14ad8ccf Add error checking directive and unit tests for it 2023-10-18 00:29:32 +09:00
Kijin Sung
d4654eb5cf Remove member directive, and extend auth directive to look at grants 2023-10-18 00:12:40 +09:00
Kijin Sung
e044e11c5f Convert include code into a method of Template class 2023-10-18 00:01:11 +09:00
Kijin Sung
012dbb9ab7 Convert resource loading code into a method of Template class 2023-10-17 23:29:55 +09:00
Kijin Sung
55cafc5c33 Convert class and style builder into a method of Template class 2023-10-17 22:44:27 +09:00
Kijin Sung
82b9107ca0 Add support for fragment in template v2 2023-10-17 22:25:53 +09:00
Kijin Sung
a6afa3a61d Add loop variable and dump directive; reorganize template v2 unit tests 2023-10-17 20:12:22 +09:00
Kijin Sung
fe804163bf Add JSON_HEX_TAG and JSON_HEX_QUOT to JSON output filter 2023-10-17 19:00:00 +09:00
Kijin Sung
3c15589fb8 Allow loops and conditions to appear anywhere in a line 2023-10-17 03:28:20 +09:00
Kijin Sung
66980edab1 Allow use, include, and load directives to appear anywhere in a line 2023-10-17 03:06:40 +09:00
Kijin Sung
11ef5dcfff Add support for Blade-style @class and @style directives 2023-10-17 02:45:22 +09:00
Kijin Sung
668feea9e9 Add support for Blade-style @each include loop 2023-10-17 02:26:06 +09:00
Kijin Sung
7fd916a81e Fix miscellaneous issues with template parser v2 2023-10-16 23:55:47 +09:00
Kijin Sung
f2fabab239 Fix conversion of paths relative to the Rhymix install directory 2023-10-16 21:15:52 +09:00
Kijin Sung
91ab93c03a Fix {!! !!} unescaped echos not being recognized in template v2 2023-10-16 13:15:17 +09:00
Kijin Sung
1b9e2f58b7 Add unit tests for <load> @load syntax of template v2 2023-10-16 00:50:20 +09:00
Kijin Sung
3e1587c2ac Fix variable scope and absolute path handling in include syntax of template v2 2023-10-16 00:30:56 +09:00
Kijin Sung
881df020aa Fix ^/ path not working in <include> 2023-10-15 23:42:32 +09:00
Kijin Sung
0a2af3a1e7 Support legacy "cond" attribute in <include> 2023-10-15 23:35:06 +09:00