Harttle and Harttle
e874b4060b
feat: export toValueSync & defaultOptions to evaluate expression, see #527
2022-08-15 01:53:48 +08:00
Harttle and Harttle
4ad383d9be
fix: expression support Drop.valueOf, fixes #522
2022-07-21 01:21:58 +08:00
Harttle
c41a5d5bab
fix: throw ParseError instead of RenderError for invalid assign expression, closes #519
2022-07-15 00:41:51 +08:00
Harttle
4289b4e804
refactor: rename toValue to toValueSync
2022-07-10 00:24:00 +08:00
Harttle
c3e51caa70
fix: for tag not respecting Drop#valueOf(), fixes #515
2022-07-09 22:21:51 +08:00
James Prior and Jun Yang
a19feea7c4
feat: iteration protocols
2022-07-09 18:21:54 +08:00
Harttle
3dc4290b56
fix: stack overflow on large number of templates, #513
2022-07-08 01:46:51 +08:00
jg-rp and GitHub
2f87708989
feat: inline comment tag ( #514 )
...
* style: remove unnecessary intermediate constant
* feat: add inline comment tag
* refactor: use readIdentifier when reading tag names
* docs: add inline comment tag
2022-07-08 01:46:15 +08:00
Harttle and Harttle
2f6d84befc
test: cases for async variables
2022-05-03 13:31:25 +08:00
Harttle
f88490cd3c
feat: automatic output escaping, closes #500
2022-04-22 02:19:36 +08:00
Harttle
e69a51025e
fix: support integer arithmetic for divided_by, closes #465
2022-04-22 02:19:36 +08:00
Harttle
9e024ff2bc
fix: contains operator does not support Drop, fixes #492
2022-04-18 00:43:18 +08:00
Harttle
049685b9a0
feat: Access array item by negative index, closes #486
2022-03-06 00:52:22 +08:00
Harttle
c503cb23df
feat: allow strip filter with specified char, closes #390
2022-03-06 00:20:51 +08:00
Harttle
01014edc49
feat: appropriate error for malformed filters, fixes #271
2022-03-05 23:24:16 +08:00
Harttle
27e579e0e2
test: case for {% assign %} invalid value, closes #446
2022-03-05 22:09:36 +08:00
Harttle
aa955173d4
fix: corner case for concat filter without argument, #481
2022-03-02 21:21:25 +08:00
Harttle
575f3e2338
docs: add missing tag/filter links on sidebar/table, #482
2022-02-27 02:07:59 +08:00
Harttle
7dfb620d30
fix: some filters throw on nil input, see #481
2022-02-27 02:07:59 +08:00
Harttle
ca3240c2c4
fix: url_encode throws on undefined value, fixes #479
2022-02-24 01:14:46 +08:00
Harttle
200f6648aa
style: fix lint
2022-02-20 15:56:23 +08:00
Harttle
dbc0497386
fix: sort filter unexpectedly modifies original array, #475
2022-02-20 13:03:40 +08:00
Harttle
ab5e245fba
fix: array output now join with "" instead of ","
2022-02-20 13:03:40 +08:00
Harttle and Harttle
7e99efc513
feat: ownPropertyOnly option to protect prototype, #454
2022-01-29 01:22:34 +08:00
Martin Schuster and GitHub
9da41c8a37
fix: where-filter null handling ( #457 )
2022-01-28 22:43:38 +08:00
Harttle and Harttle
8c27a84059
feat: support offset:continue, see #439
2022-01-20 00:12:18 +08:00
Harttle and Harttle
388d0fbbc4
feat: support Jekyll-like include syntax, see #441
2022-01-19 23:07:25 +08:00
Harttle and Harttle
c756191f49
feat: support allow_false for default filter, see #435
2022-01-02 16:31:21 +08:00
James Prior and Jun Yang
fde9924ee6
feat: implement liquid and echo tags, see #428
2021-12-19 21:09:26 +08:00
Harttle and Harttle
23279a816a
feat: support jekyll-like include, see #433
2021-12-18 15:26:15 +08:00
Harttle and Harttle
6801552fe6
feat: customize globals & strictVariables when calling render, see #432
2021-12-11 20:22:58 +08:00
Harttle and Harttle
69286c6909
test: coverage to 100%
2021-12-07 23:34:53 +08:00
Harttle and Harttle
6c114267a5
fix: size filter does not respect Objects, fixes #385
2021-12-07 23:05:46 +08:00
Harttle and Harttle
e2ef236f68
fix: throws when using preserveTimezones on Node.js, fixes #431
2021-12-07 22:43:47 +08:00
AleksandrHovhannisyan and Harttle
124f4c4485
fix: allow {%render%} to reassign argument, #404
2021-10-31 16:28:33 +08:00
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 and harttle
8894cbfe6e
fix: cache ongoing parseFile() calls, fixes #416
2021-10-16 21:07:48 +08:00
Harttle and harttle
d4df3a0b53
refactor: make loader.shouldLoadRelative public
2021-10-16 12:30:09 +08:00
Harttle and harttle
9cfa43b8ae
fix: hardcoded '/' in normalized options.fs, fixes #412 , #408
...
Changes including:
- will not call fs.resolve when normalizing `fs`
- removed hardcoded `/`
- mandatory `fs.dirname` for relative reference
- mandatory `fs.sep`, defaults to '/'
2021-10-16 12:10:55 +08:00
Harttle
1de6adf308
test: cases for parse(<tpl>, <relative filepath>), #395
2021-10-10 20:37:26 +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
afeef1d745
fix: renderToNodeStream() now emit 'error' event instead of throw
2021-10-03 22:32:00 +08:00
harttle
68c4cfcfb6
feat: renderFileToNodeStream(filepath, scope)
2021-10-03 21:21:25 +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