harttle
72ee7b4c1e
feat: support jsTruthy, #255 #257
2020-10-08 13:11:02 +08:00
Amit Gupta and Jun Yang
f807383f2a
resolved issues raised by hhartle
2020-10-08 12:43:37 +08:00
Amit Gupta and Jun Yang
02bfed1c57
Added jsTruthy flag to constuctor in order to enable JS style truthiness evaluation
2020-10-08 12:43:37 +08:00
harttle
5b3f4195f0
fix: allow quoted variable name in capture, fixes #252
2020-10-03 22:03:17 +08:00
harttle
2e5ab98bfc
feat: export toPromise and toValue, see #158
2020-08-05 00:46:01 +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
e36f3ff291
feat: async filters, closes #232
2020-06-25 12:30:56 +08:00
harttle
f3f017bd37
style: spaces and extra NL
2020-05-30 22:13:20 +08:00
harttle
4f17c94988
feat: sort by key, see #227
2020-05-16 00:54:40 +08:00
harttle
673b015435
fix: properly treat unicode blanks, fixes #221
2020-04-28 20:55:30 +08:00
Martin Schuster and Jun Yang
a93f11d25a
fix: respect cache render options
2020-04-03 10:42:32 +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
983bcf467a
docs: add tutorials/options.md
2020-03-29 22:10:52 +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
02e6171e25
chore: fix types
2020-03-25 00:25:47 +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
1673e84e27
perf: remove instanceof DelimitedToken
2020-03-15 02:51:25 +08:00
harttle
d2d6a38235
perf: introduce AST to avoid reparse
2020-03-15 02:51:25 +08:00
harttle
f7ef9b61c1
refactor: remove src/render/value.ts
2020-03-14 19:04:18 +08:00
harttle
3dfdf982c9
perf: remove transient strings to reduce memory
2020-03-14 19:04:18 +08:00
harttle
6de933897e
fix: concurrent write on LRU cache ( #200 )
2020-03-10 01:09:41 +08:00
harttle
f57156bccd
fix: stable sort for undefined keys, fixes #191
2020-03-05 02:04:58 +08:00
harttle
61dac49b04
feat: async cache.read()/write(), remove .has()
2020-03-05 01:47:53 +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
df8a919f71
feat: move filters/tags to instances, fixes #188
2020-03-03 00:02:29 +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
Martin Schuster and Jun Yang
807e840712
perf: prevent multiple case evaluations
2020-01-10 11:25:52 +08:00
tgrandgent and Jun Yang
4b079c54b1
fix: add this to fs references in parseFile
2020-01-04 12:05:39 +08:00
harttle
ba5ff3f41c
feat: full syntax for strftime, close #177
...
- strftime syntax: <flags><width><modifier><conversion>
- new conversions: %n, %t
- fixed conversions: %N
- flags: _ ^ - 0 # :
- modifiers: E, O (ignored)
2019-12-15 02:28:33 +00:00
harttle
60ec74f55d
feat: nested property for the where filter, #178
2019-12-13 01:15:29 +08:00
harttle
f82da11f5a
fix: reading .first, .last of Array, closes #175
2019-11-16 01:14:09 +08:00
harttle
2dd43559b5
feat: support require.resolve for lookup, see #168
2019-11-07 18:46:37 +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
Patrick Malouin and Jun Yang
3ad512c51c
perf: add string flattening to reduce retained memory (node only)
...
add a memory footprint benchmark
2019-10-10 09:35:15 +08:00
harttle
6b83788077
feat: alias getTemplate() to parseFile()
...
* deprecate Liquid#getTemplate: use Liquid#parseFile instead
* deprecate Liquid#getTemplateSync: use Liquid#parseFileSync instead
2019-10-07 23:34:12 +08:00
harttle
d2c8d133ff
fix: unless content is not waited, fixes #160
2019-10-02 22:30:35 +08:00
harttle
0426d08fd0
style: fix linting
2019-08-26 10:15:43 -05:00
harttle
7fb01ad69a
feat: renderSync, parseAndRenderSync and renderFileSync, see #48
2019-08-26 10:15:43 -05:00
harttle
8028f82499
refactor: return value of Tag#render is no longer used
...
BREAKING CHANGE: Tag#render now returns void, use emitter argument
to write rendered html.
2019-08-26 10:15:43 -05:00
harttle
76019e9e18
refactor: rewrite expression evaluation, fix #130
2019-08-26 10:15:43 -05:00
harttle
3b9fc7e6bf
perf: target to es6, fixes #137
...
BREAKING CHANGE: ship to Node.js 8, the dist/liquid.cjs.js (main) nolonger
supports Node.js 6, other bundles are also provided via dist/liquid.esm.js, dist/liquid.js (ES5 umd) and liquid.min.js (minified ES5 umd)
2019-08-26 10:15:43 -05:00
harttle
ab3b824cf8
style: fix linting
2019-08-26 10:15:43 -05:00
harttle
ae45c4622e
fix: break/continue omitting output before them, #123
...
BREAKING CHANGE: remove default export, now should be used like import
{Liquid} from 'liquidjs'
2019-08-26 10:15:43 -05:00