Harttle
01014edc49
feat: appropriate error for malformed filters, fixes #271
2022-03-05 23:24:16 +08:00
Harttle
33009bb988
fix: export all builtin tags from LiquidJS, #464
2022-03-02 21:21:45 +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
2b0c5696bc
docs: introduce JS script to escape for Hexo, fixes #480
2022-02-24 01:04:50 +08:00
Harttle
dab8a29070
feat: expose all tags/filters and TimezoneDate, closes #464
2022-02-23 23:38:21 +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
Ameya Apte and Jun Yang
7677f848c0
fix: remove limit on operator char length
...
The matchOperator function has a default value of str.length for the end parameter
2022-01-12 21:24:08 +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
95fc705b5d
chore: upgrade typescript
2021-12-11 20:23:09 +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
6023d9ba10
docs: path traversal vulnerabilities when customizing FS
2021-12-11 12:31:08 +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
Harttle and Harttle
44f6b520d5
fix: always allow './' and '../' to be relative, even on windows
2021-11-06 03:36:39 +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
564972ba74
docs: add version info in playground.html
2021-10-20 23:20:23 +08:00
Harttle and harttle
b5b2a98d5e
chore: fix types
2021-10-16 22:36:46 +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
92bfc65e0b
fix: directory info in lookupError message, #395
2021-10-04 12:11:54 +08:00
harttle
afeef1d745
fix: renderToNodeStream() now emit 'error' event instead of throw
2021-10-03 22:32:00 +08:00
harttle
3b5eb6664f
fix: remove "stream" dependency in browser bundles, #396
2021-10-03 21:21:35 +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
aea34418de
perf: make the most of streamed rendering
2021-10-01 18:36:57 +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 and Jun Yang
9012133e07
feat: stream rendering, closed #361 fixes #360
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 and harttle
6b9f872bcc
feat: timezoneOffset option to specify output timezone, see #375
2021-09-27 01:54:31 +08:00