Commit Graph
163 Commits
Author SHA1 Message Date
f816955704 fix: in conditionals, don't render anything after an else branch (#671)
* fix: only render the first 'else' template in the case of multiples

* fix: empty else block and cases with when conditions

* fix: don't render elsif after else

* chore: Update src/tags/unless.ts

* chore: Update src/tags/if.ts

* chore: Update src/tags/case.ts

---------

Co-authored-by: Jun Yang <[email protected]>
2024-02-18 13:30:16 +08:00
629d958b86 feat: Array sum filter (#661)
* feat(filters): add array sum filter

* docs(filters): array sum filter

* docs: update versoin number in source/filters/sum.md

---------

Co-authored-by: Jun Yang <[email protected]>
2023-12-19 20:05:15 +08:00
Francisco SotoandJun Yang 88aa63fd58 fix: handle windows newlines on newline_to_br and strip_newlines 2023-08-28 21:08:05 +08:00
Harttle 45adbd7008 fix: map filter allow nil results in strict mode, fixes #647 2023-08-24 00:20:57 +08:00
Francisco SotoandJun Yang dc6a301387 fix: for throws undefined var with a null value with strictVariables 2023-08-19 23:54:32 +08:00
Francisco SotoandJun Yang b8e7e2d946 fix: case should allow multiple values separated by or
This is supported by Shopify liquid.
2023-08-19 23:52:24 +08:00
Francisco SotoandJun Yang fc2731376f fix: remove_last was eating an extra character 2023-08-17 21:43:21 +08:00
Jun YangandGitHub bf425c3adb fix: allow quotes in inline comment tag, fixes #628 2023-07-07 22:48:55 +08:00
Harttle fcb930f0dd fix: sample filter randomness and count=1 case 2023-06-04 13:34:16 +08:00
HarttleandJun Yang e347e603d7 feat: precise line/col for tokenization Error, #613 2023-06-04 02:06:42 +08:00
Tomáš HübelbauerandGitHub db67118a75 test: Add tests for push (#614)
* Add support for the Jekyll sample filter

See https://jekyllrb.com/docs/liquid/filters

I am sorting the array randomly and then picking the first N items or all items if there is no sample limit.

* Add tests for `push`

I thought `push` was broken because it doesn't work on the Playground but that's not the case. Here are the tests to prove it. Taken from the `concat` tests.

* Remove the sample experiment

This got in from another branch lol.

* Recommend the build:dist command over the whole build

This one works for me locally whereas build:docs is reporting some issues.

* Return the full `build` command and explain how to use `commitlint` to workshop the message

I am working on a PR to make `build` run on macOS because it is a part of the pre-commit hook anyway so all contributors should make it work for them.

I have also shown how to check your messages against `commitlint` from the CLI because it is faster than using the VS Code GUI.
2023-05-30 00:06:22 +08:00
Tomáš HübelbauerandGitHub ba8b842452 feat: Add support for the Jekyll sample filter (#612)
* Add support for the Jekyll sample filter

See https://jekyllrb.com/docs/liquid/filters

I am sorting the array randomly and then picking the first N items or all items if there is no sample limit.

* Remove incorrect spaces before parens

Typo and copy-paste meet
2023-05-27 00:55:39 +08:00
HarttleandJun Yang 21ee27b575 fix: timezoneOffset ignored in date when preserveTimezones is enabled, fixes #605 2023-04-25 01:28:48 +08:00
Jun Yang 7b87ea82d3 feat: JSON format by space in json filter 2023-03-22 00:08:24 +08:00
HarttleandJun Yang c6cde9cd10 chore: migrate test cases from Chai to Jest 2023-03-20 00:41:06 +08:00
Harttle 771b9b9eba style: fix code style 2023-03-03 00:14:38 +08:00
Harttle 42d25902e8 fix: strip_html for multi line <script>/<style>/comments, #70 2023-03-02 23:01:15 +08:00
prassieandGitHub 3fb66465c6 feat: LiquidOptions.dateFormat to override default date format (#587)
doc: updates related to LiquidOptions.dateFormat
doc: revamped the date filter doc for easier reference
2023-02-22 23:56:33 +08:00
Slav IvanovandHarttle d489916231 fix: "ownPropertyOnly" not respected when passed via "renderOptions" 2023-02-14 22:39:38 +08:00
prassieandGitHub a55f44f095 Added documentation for date ordinals support in date filter via %q (#581)
* Added date ordinals support in date filter via %q

* fix: validation regex for default date format

* fix: validation regex for default date format
2023-02-04 11:31:30 +08:00
HarttleandHarttle aafaa0b4f9 feat: support calling date without format string, #573 2023-01-03 00:53:33 +08:00
Jun Yang fb6a9f8717 fix: type compatible with v9 tag definition, support Context as scope in various render APIs, #570 2022-12-18 12:48:06 +08:00
Jun Yang e6db371519 feat: support disable outputEscape for specific filters, #565 2022-12-12 02:17:18 +08:00
Jun Yang d17813ef52 fix: case should render multiple when statements 2022-12-03 00:14:47 +08:00
James PriorandJun Yang 6c3f1c1e0c feat: add remove_last filter 2022-12-02 23:48:50 +08:00
James PriorandJun Yang b4d1e27420 feat: add replace_last filter 2022-12-02 23:48:50 +08:00
HarttleandHarttle 89c6c7676d feat: timezone name for opts.timezoneOffset and date argument, fixes #553 2022-11-30 00:20:12 +08:00
Jun Yang 92992689cd refactor: Tag class support in registerTag() 2022-11-27 14:04:01 +08:00
Jun Yang 7a714855df feat: support timezone offset argument for date filter, #553 2022-11-27 13:46:51 +08:00
HarttleandHarttle 32f613fb43 fix: truncatewords should use at least one word, #537 2022-10-21 14:40:25 +08:00
HarttleandHarttle e874b4060b feat: export toValueSync & defaultOptions to evaluate expression, see #527 2022-08-15 01:53:48 +08:00
HarttleandHarttle 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 PriorandJun 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-rpandGitHub 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
HarttleandHarttle 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 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 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