Harttle and Harttle
aebeae9e1b
fix: relative root (by default) yields LookupError, fixes #419 , #424 , also related to #395
2021-10-27 23:55:39 +08:00
Harttle
822ba0be0f
fix: skip root check for renderFile()
2021-10-06 18:38:58 +08:00
Harttle
a3455ebd0b
feat: relativeReference for render/include/layout, #395
...
- `relativeReference` is enabled by default, set to `false` to disable
- Referenced files are still constrained within root/partias/layouts
- fix: relative filenames are not constrained (which allows arbitrary filesystem read)
Example Usage:
{% render "../foo/bar.html" %}
Note:
../foo/bar.html' should also be within `partials` (or `root` if `partials` not set)
2021-10-06 17:36:37 +08:00
Harttle
fd5ef474c3
fix: support timezoneOffset for date from scope, #401
2021-10-06 15:45:41 +08:00
Liam Bigelow and Jun Yang
6dc7fada72
feat: implement forloop.name as found in ruby shopify/liquid
2021-10-04 21:33:46 +08:00
harttle
b9ae479b65
feat: add layouts, partials apart from root, #395
2021-10-03 18:51:14 +08:00
Harttle and harttle
4358c9630f
test: coverage to 100%
2021-10-01 15:55:31 +08:00
Harttle and Jun Yang
10e8c8ff7e
feat: orderedFilterParameters, closes #312
2021-09-30 22:15:09 +08:00
Steve Stedman and Jun Yang
fb787e8847
Fix: respect parameter order when using "for ... reversed" ( #231 )
...
* fix: spelling
* fix: respect param order for reversed
* docs: add for-reversed order details
* perf: improve performance by 4x by simplified parseFile
BREAKING CHANGES:
- previously deprecated `getTemplate()` and `getTemplateSync()` not no longer supported
- `opts` no longer support dynamic set in `parseFile()`, `renderFile()` arguments
* perf: parse filenames in parse() insteadof render()
* docs: update description of LiquidJS
Co-authored-by: harttle <[email protected] >
2021-09-30 22:15:09 +08:00
harttle
8273c17dab
perf: parse filenames in parse() insteadof render()
2021-09-30 22:15:09 +08:00
harttle
24f5346084
perf: improve performance by 4x by simplified parseFile
...
- previously deprecated `getTemplate()` and `getTemplateSync()` not no longer supported
- `opts` no longer support dynamic set in `parseFile()`, `renderFile()` arguments
2021-09-27 23:04:41 +08:00
harttle
cdceb25d00
perf: add cross-engines benchmark
2021-06-20 13:25:08 +08:00
Memmie Lenglet and Jun Yang
8f9639f1d6
feat: when tag with multiple values
2021-05-06 22:52:22 +08:00
Jun Yang
65487654c4
fix: capitalize filter not lower case trailing string, fixes #326
2021-04-17 10:30:57 +08:00
Jun Yang
9a9b792c63
fix: newline_to_br filter should output <br /> instead of <br/>, fixes #320
2021-03-13 17:14:10 +08:00
harttle
2f059f6a25
feat: support filters in if/unless/case, see #287
2021-02-12 22:22:41 +08:00
harttle
e37824fd8a
feat: support function calls, closes #222
2021-02-12 13:47:30 +08:00
harttle
81e11bb9c4
feat: support layout none, closes #299
2021-02-12 01:57:30 +08:00
harttle
f42c217fc0
feat: compact filter
2021-02-04 22:47:34 +08:00
harttle
a3af44dc10
feat: support {{block.super}}, see #38
2021-01-24 02:57:48 +08:00
Joonas and Jun Yang
de32259bb9
fix: lint
2020-12-18 22:03:58 +08:00
Joonas and Jun Yang
d70cd2a1ea
feat: add preserveTimezones option
2020-12-18 22:03:58 +08:00
Joonas and Jun Yang
e3ecfe3adc
fix: simpler timezone regex and non-null offset
2020-12-18 22:03:58 +08:00
wyozi and Jun Yang
c16c787861
feat: parse and handle date timezone offsets
2020-12-18 22:03:58 +08:00
harttle
117673a725
style: make eslint check .ts files
2020-12-08 00:24:07 +08:00
harttle
2bbf50171b
fix: elsif is not supported for unless, fixes #268
2020-12-08 00:16:36 +08:00
harttle
a492d8e23d
fix: raw block not ignoring {% characters, fixes #263
2020-12-08 00:12:20 +08:00
harttle
5b3f4195f0
fix: allow quoted variable name in capture, fixes #252
2020-10-03 22:03:17 +08:00
Tejas Manohar and GitHub
941dd668fe
fix: enumerate Promises (e.g. in for & tablerow) ( #237 )
...
* fix: enumerate Promise<array> (e.g. in {% for ... %})
Previously, a Promise of an array was not being enumerated in
{% for %}, for example. This is misleading since the library
handles promises elsewhere (e.g. if you {% assign x = promiseArray %}
and then {% for v in x %}, it worked just fine.
This PR makes Promises of arrays handled by changing toEnumerable
to handle then-ables. This affects other iterators, too, e.g. tablerow,
so I put in a test for that as well.
2020-06-28 09:55:56 +08:00
harttle
4f17c94988
feat: sort by key, see #227
2020-05-16 00:54:40 +08:00
harttle
2fa4edaa84
docs: more specific description of strftime
2020-04-19 13:15:11 +08:00
harttle
c923598b40
fix: coerce to Array in map and where filter
2020-04-01 02:22:44 +08:00
harttle
8daf281fca
fix: throw an error if : omitted unintentionally, #212 , #208
2020-03-31 14:05:38 +08:00
harttle
3e42d6b1b0
docs: website for LiquidJS
2020-03-28 17:21:07 +08:00
harttle
c371762c43
fix: default filter not applied for empty array
2020-03-26 01:39:30 +08:00
harttle
479c63350a
fix: throws on invalid arguments for prepend/append, fixes #208
2020-03-24 23:57:26 +08:00
Cristofer Gonzales and Jun Yang
93433a8b30
fix: return variable name in include error
2020-03-23 23:26:31 +08:00
harttle
d2d6a38235
perf: introduce AST to avoid reparse
2020-03-15 02:51:25 +08:00
harttle
0f25017d5d
test: test case for array index, #201
2020-03-11 01:09:58 +08:00
harttle
f57156bccd
fix: stable sort for undefined keys, fixes #191
2020-03-05 02:04:58 +08:00
harttle
6ea6881f08
feat: with & for in render tag, closes #195
2020-03-04 07:08:54 +08:00
harttle
aa27a6cd7b
feat: support json filter, closes #192
2020-03-04 03:42:18 +08:00
harttle
185312dbff
feat: "today" when using date filter, fixes #193
2020-02-21 01:48:10 +08:00
harttle
870e7ec6aa
feat: globals shared between tags, see #185
2020-02-08 04:59:23 +08:00
harttle
fc0cf6fe7b
fix: expression and string literal parser, #186
2020-02-08 03:15:55 +08:00
harttle
60ec74f55d
feat: nested property for the where filter, #178
2019-12-13 01:15:29 +08:00
Jun Yang
d5e7b047bb
feat: Support for the "render" tag #163
2019-10-27 00:06:16 +08:00
harttle
b82fa9ed2b
pref: remove await/async from internal async calls
2019-10-26 08:57:33 -05:00
harttle
d2c8d133ff
fix: unless content is not waited, fixes #160
2019-10-02 22:30:35 +08:00
harttle
7fb01ad69a
feat: renderSync, parseAndRenderSync and renderFileSync, see #48
2019-08-26 10:15:43 -05:00