platformos-check 0.4.12 → 0.4.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/CONTRIBUTING.md +20 -18
- data/README.md +108 -57
- data/RELEASING.md +14 -7
- data/TROUBLESHOOTING.md +19 -10
- data/data/platformos_liquid/documentation/filters.json +1 -1
- data/data/platformos_liquid/documentation/latest.json +1 -1
- data/data/platformos_liquid/documentation/tags.json +1 -1
- data/docs/api/check.md +7 -6
- data/docs/api/html_check.md +12 -13
- data/docs/api/liquid_check.md +17 -21
- data/docs/api/yaml_check.md +3 -3
- data/docs/checks/TEMPLATE.md.erb +16 -11
- data/docs/checks/convert_include_to_render.md +29 -13
- data/docs/checks/deprecated_filter.md +5 -9
- data/docs/checks/form_action.md +12 -12
- data/docs/checks/form_authenticity_token.md +21 -15
- data/docs/checks/graphql_in_for_loop.md +15 -13
- data/docs/checks/html_parsing_error.md +12 -12
- data/docs/checks/img_lazy_loading.md +13 -11
- data/docs/checks/img_width_and_height.md +21 -23
- data/docs/checks/include_in_render.md +11 -11
- data/docs/checks/invalid_args.md +11 -11
- data/docs/checks/liquid_tag.md +12 -12
- data/docs/checks/missing_enable_comment.md +7 -7
- data/docs/checks/missing_template.md +14 -13
- data/docs/checks/parse_json_format.md +15 -14
- data/docs/checks/parser_blocking_javascript.md +19 -14
- data/docs/checks/required_layout_object.md +5 -7
- data/docs/checks/space_inside_braces.md +12 -12
- data/docs/checks/syntax_error.md +10 -10
- data/docs/checks/template_length.md +12 -12
- data/docs/checks/translation_files_match.md +10 -11
- data/docs/checks/translation_key_exists.md +10 -11
- data/docs/checks/undefined_object.md +11 -13
- data/docs/checks/unknown_filter.md +11 -11
- data/docs/checks/unreachable_code.md +11 -11
- data/docs/checks/unused_assign.md +11 -11
- data/docs/checks/unused_partial.md +7 -11
- data/docs/checks/valid_yaml.md +11 -11
- data/docs/language_server/how_to_correct_code_with_code_actions_and_execute_command.md +62 -70
- data/lib/platformos_check/app.rb +23 -14
- data/lib/platformos_check/app_file.rb +25 -4
- data/lib/platformos_check/asset_file.rb +1 -1
- data/lib/platformos_check/file_system_storage.rb +1 -1
- data/lib/platformos_check/form_file.rb +1 -1
- data/lib/platformos_check/graphql_file.rb +1 -1
- data/lib/platformos_check/language_server/completion_context.rb +2 -0
- data/lib/platformos_check/language_server/handler.rb +6 -6
- data/lib/platformos_check/language_server/variable_lookup_finder.rb +8 -10
- data/lib/platformos_check/layout_file.rb +1 -1
- data/lib/platformos_check/partial_file.rb +1 -1
- data/lib/platformos_check/platformos_liquid/documentation.rb +2 -2
- data/lib/platformos_check/translation_file.rb +1 -1
- data/lib/platformos_check/version.rb +1 -1
- data/platformos-check.gemspec +1 -1
- metadata +5 -5
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
2
|
|
3
3
|
|
4
|
-
[{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ -3 | abs }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the absolute value of a number.","syntax":"number | abs","name":"abs"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | add_to_time","name":"add_to_time","aliases":[],"parameters":[{"description":"","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"number","required":false,"types":["Number"]},{"description":"time unit - allowed options are: y, years, mo, months, w, weeks, d [default], days, h, hours, m, minutes, s, seconds","name":"unit","required":false,"types":["String"]}],"return_type":[{"type":"time","name":"","description":"modified time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'now' | add_to_time: 1, 'w' }} # =\u003e returns current time plus one week","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'now' | add_to_time: 3, 'mo' }} # =\u003e returns current time plus three months","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | advanced_format","name":"advanced_format","aliases":[],"parameters":[{"description":"object you want to format","name":"argument_to_format","required":false,"types":["Untyped"]},{"description":"should look like: %[flags][width][.precision]type. For more examples and information see: https://ruby-doc.org/core-2.5.1/Kernel.html#method-i-sprintf","name":"format","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"formatted string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 3.124 | advanced_format: '%.2f' }} =\u003e 3.12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 3 | advanced_format: '%.2f' }} =\u003e 3.00\nIn the example above flags is not present, width is not present (refers to the total final\nlength of the string), precision \".2\" means 2 digits after the decimal point,\ntype \"f\" means floating point","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Converts amount in given currency to fractional. For example, convert USD to cents."],"summary":"returns ","syntax":"numeric | amount_to_fractional","name":"amount_to_fractional","aliases":[],"parameters":[{"description":"amount to be changed to fractional","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"number","name":"","description":"Amount in fractional, for example cents for USD","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | amount_to_fractional: 'USD' }} =\u003e 1050","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | amount_to_fractional: 'JPY' }} =\u003e 11","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign path = product.url -%}\n\n{{ request.origin | append: path }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds a given string to the end of a string.","syntax":"string | append: string","name":"append"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_add","name":"array_add","aliases":["add_to_array"],"parameters":[{"description":"array to which you add a new element","name":"array","required":false,"types":["Array"]},{"description":"item you add to the array","name":"item","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"array to which you add the item given as the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign array = 'a,b,c' | split: ',' %}\n{{ array | array_add: 'd' }} =\u003e ['a', 'b', 'c', 'd']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_any","name":"array_any","aliases":["any"],"parameters":[{"description":"array to search in","name":"array","required":false,"types":["Array"]},{"description":"String/Number compared to each item in the given array","name":"query","required":false,"types":["String","Number"]}],"return_type":[{"type":"boolean","name":"","description":"checks if given array contains at least one of the queried string/number","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = 'foo,bar' | split: ',' %}\n{{ elements | array_any: 'foo' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Removes blank elements from the array"],"summary":"returns ","syntax":"array | array_compact","name":"array_compact","aliases":["compact"],"parameters":[{"description":"array with some blank values","name":"array","required":false,"types":["Array","Hash"]},{"description":"optionally if you provide Hash as argument, you can remove elements which given key is blank","name":"property","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"array from which blank values are removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1,' | split: ',' | array_add: false | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1,' | split: ',' | array_add: null | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json empty_object %}{}{% endparse_json %}\n{{ '1,' | split: ',' | array_add: empty_object | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign empty_array = ',' | split: ',' %}\n{{ '1,' | split: ',' | array_add: empty_array | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json hash %}[{ \"hello\": null }, { \"hello\" =\u003e \"world\" }, { \"hello\" =\u003e \"\" }]{% endparse_json %}\n{{ hash | array_compact: \"hello\" }} =\u003e [{ \"hello\": \"world\" }]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_delete","name":"array_delete","aliases":[],"parameters":[{"description":"array to process","name":"array","required":false,"types":["Array"]},{"description":"value to remove","name":"element","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"the initial array that has all occurences of \"element\" removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign test = ['test', 'test2', 'test', 'test3']\nassign arr = test | array_delete: 'test'\n =\u003e ['test2', 'test3']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_delete_at","name":"array_delete_at","aliases":[],"parameters":[{"description":"array to process","name":"array","required":false,"types":["Array"]},{"description":"array index to remove","name":"index","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the initial array that has the element at index removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign test = ['test', 'test2']\nassign arr = test | array_delete_at: 1\n =\u003e ['test']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_detect","name":"array_detect","aliases":["detect"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"untyped","name":"","description":"first object from the collection that matches the specified conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"}]\n{{ objects | array_detect: foo: 2 }} =\u003e {\"foo\":2,\"bar\":\"b\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_find_index","name":"array_find_index","aliases":[],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with indices from collection that matches provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_find_index: foo: 2 }} =\u003e [1, 3]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_flatten","name":"array_flatten","aliases":["flatten"],"parameters":[{"description":"array of arrays to be processed","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"with objects","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ array_of_arrays }} =\u003e [[1,2], [3,4], [5,6]]\n{{ array_of_arrays | array_flatten }} =\u003e [1,2,3,4,5,6]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Transforms array into hash, with keys equal to the values of object's method name and value being array containing objects"],"summary":"returns ","syntax":"array | array_group_by","name":"array_group_by","aliases":["group_by"],"parameters":[{"description":"array to be grouped","name":"objects","required":false,"types":["Array"]},{"description":"method name to be used to group Objects","name":"method_name","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"the original array grouped by method\nspecified by the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json objects %}\n [\n { \"size\": \"xl\", \"color\": \"red\"},\n { \"size\": \"xl\", \"color\": \"yellow\"},\n { \"size\": \"s\", \"color\": \"red\"}\n ]\n{% endparse_json %}\n\n{{ objects | array_group_by: 'size' }} =\u003e {\"xl\"=\u003e[{\"size\"=\u003e\"xl\", \"color\"=\u003e\"red\"}, {\"size\"=\u003e\"xl\", \"color\"=\u003e\"yellow\"}], \"s\"=\u003e[{\"size\"=\u003e\"s\", \"color\"=\u003e\"red\"}]}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Transforms array in array of arrays, each subarray containing exactly N elements"],"summary":"returns ","syntax":"array | array_in_groups_of","name":"array_in_groups_of","aliases":["in_groups_of"],"parameters":[{"description":"array to be split into groups","name":"array","required":false,"types":["Array"]},{"description":"the size of each group the array is to be split into","name":"number_of_elements","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the original array split into groups of the size\nspecified by the second parameter (an array of arrays)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = '1,2,3,4' | split: ',' %}\n{{ elements | array_in_groups_of: 3 }} =\u003e [[1, 2, 3], [4, null, null]]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"[any](#any) filter","description":["Checks if array includes element"],"summary":"returns ","syntax":"array | array_include","name":"array_include","aliases":["is_included_in_array"],"parameters":[{"description":"array of elements to look into","name":"array","required":false,"types":["Array"]},{"description":"look for this element inside the array","name":"el","required":false,"types":["Untyped"]}],"return_type":[{"type":"boolean","name":"","description":"whether the array includes the element given","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = 'a,b,c,d' | split: ',' %}\n{{ elements | array_include: 'c' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Finds index of an object in the array"],"summary":"returns ","syntax":"array | array_index_of","name":"array_index_of","aliases":[],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"object to search for","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"","name":"","description":"Integer position of object in array if found or nil otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [1,'abc',3]\n{{ objects | array_index_of: 'abc' }} =\u003e 1","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_intersect","name":"array_intersect","aliases":["intersection"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of objects to be processed","name":"other_array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"that exists in both arrays","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign array = '1,2,3,4' | split: ','\n assign other_array = '3,4,5,6' | split: ','\n%}\n\n{{ array | array_intersect: other_array }} =\u003e [3,4]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_limit","name":"array_limit","aliases":["limit"],"parameters":[{"description":"array to shrink","name":"array","required":false,"types":["Array"]},{"description":"number of elements to be returned","name":"limit","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"parameter; [1,2,3,4] limited to 2 elements gives [1,2]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"items =\u003e [{ id: 1, name: 'foo', label: 'Foo' }, { id: 2, name: 'bar', label: 'Bar' }]\n{{ items | array_limit: 1 }} =\u003e [{ id: 1, name: 'foo', label: 'Foo' }]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_map","name":"array_map","aliases":["map_attributes"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of keys to be extracted","name":"attributes","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"array of arrays with values for given keys","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"items =\u003e [{ id: 1, name: 'foo', label: 'Foo' }, { id: 2, name: 'bar', label: 'Bar' }]\n{{ items | array_map: 'id', 'name' }} =\u003e [[1, 'foo'], [2, 'bar']]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_prepend","name":"array_prepend","aliases":["prepend_to_array"],"parameters":[{"description":"array to which you prepend a new element","name":"array","required":false,"types":["Array"]},{"description":"item you prepend to the array","name":"item","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"array to which you prepend the item given as the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign array = 'a,b,c' | split: ',' %}\n{{ array | array_prepend: 'd' }} =\u003e ['d', 'a', 'b', 'c']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_reject","name":"array_reject","aliases":["reject"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with objects from collection that don't match provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_reject: foo: 2 }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":3,\"bar\":\"c\"}]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_rotate","name":"array_rotate","aliases":["rotate"],"parameters":[{"description":"array to be rotated","name":"array","required":false,"types":["Array"]},{"description":"number of times to rotate the input array","name":"count","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the input array rotated by a number of times given as the second\nparameter; [1,2,3,4] rotated by 2 gives [3,4,1,2]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign numbers = \"1,2,3\" | split: \",\" %}\n{{ numbers | array_rotate }} =\u003e [2,3,1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_select","name":"array_select","aliases":["select"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with objects from collection that matches provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_select: foo: 2 }} =\u003e [{\"foo\":2,\"bar\":\"b\"},{\"foo\":2,\"bar\":\"d\"}]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_shuffle","name":"array_shuffle","aliases":["shuffle_array"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"array with shuffled items","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"items =\u003e [1, 2, 3, 4]\n{{ items | array_shuffle }} =\u003e [3, 2, 4, 1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_sort_by","name":"array_sort_by","aliases":["sort_by"],"parameters":[{"description":"Array of Hash to be sorted by a key","name":"input","required":false,"types":["Array"]},{"description":"property by which to sort an Array of Hashes","name":"property","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"Sorted object (Array of Hash)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"array1 is [{\"title\": \"Tester\", \"value\": 1}, {\"title\": \"And\", \"value\": 2}]\n{{ array1 | array_sort_by: \"title\" }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_subtract","name":"array_subtract","aliases":["subtract_array"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of objects to be processed","name":"other_array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"that is a difference between two arrays","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign array = '1,2' | split: ','\n assign other_array = '2' | split: ','\n%}\n\n{{ array | array_subtract: other_array }} =\u003e [1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_sum","name":"array_sum","aliases":["sum_array"],"parameters":[{"description":"array with values to be summarised","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"number","name":"","description":"summarised value of array","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign numbers = '[1,2,3]' | parse_json %}\n{{ numbers | array_sum }} =\u003e 6","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"[asset_url](#asset_url) filter","description":["Generates relative path to an asset, including `updated` query parameter"],"summary":"returns ","syntax":"string | asset_path","name":"asset_path","aliases":[],"parameters":[{"description":"path to the asset, relative to assets directory","name":"file_path","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"relative path to the physical file decorated with updated param to invalidate CDN cache. Always prefer asset_url,","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ \"valid/file.jpg\" | asset_path }} =\u003e /assets/valid/file.jpg?updated=1565632488\n{{ \"nonexistent/file.jpg\" | asset_path }} =\u003e /assets/nonexistent/file.jpg","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Generates CDN url to an asset"],"summary":"returns ","syntax":"string | asset_url","name":"asset_url","aliases":[],"parameters":[{"description":"path to the asset, relative to assets directory","name":"file_path","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"URL to the physical file if existing, root asset URL otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ \"valid/file.jpg\" | asset_url }} =\u003e https://cdn-server.com/valid/file.jpg?updated=1565632488\n{{ \"nonexistent/file.jpg\" | asset_url }} =\u003e https://cdn-server.com/assets/nonexistent/file.jpg","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | at_least: 5 }}\n{{ 4 | at_least: 3 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Limits a number to a minimum value.","syntax":"number | at_least","name":"at_least"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 6 | at_most: 5 }}\n{{ 4 | at_most: 5 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Limits a number to a maximum value.","syntax":"number | at_most","name":"at_most"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | base64_decode","name":"base64_decode","aliases":[],"parameters":[{"description":"Base64 encoded string","name":"base64_string","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"decoded string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'aGVsbG8gYmFzZTY0\\n' | base64_decode }} =\u003e 'hello base64'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | base64_encode","name":"base64_encode","aliases":[],"parameters":[{"description":"string to be encoded","name":"bin","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Returns the Base64-encoded version of bin. This method complies with RFC 2045. Line feeds are added to every 60 encoded characters.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'hello base64' | base64_encode }} =\u003e 'aGVsbG8gYmFzZTY0'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'this sentence should start with a capitalized word.' | capitalize }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Capitalizes the first word in a string and downcases the remaining characters.","syntax":"string | capitalize","name":"capitalize"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 1.2 | ceil }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number up to the nearest integer.","syntax":"number | ceil","name":"ceil"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | compute_hmac","name":"compute_hmac","aliases":[],"parameters":[{"description":"message to be authenticated","name":"data","required":false,"types":["String"]},{"description":"secret key","name":"secret","required":false,"types":["String"]},{"description":"defaults to SHA256. Supported algorithms are:\nSHA, SHA1, SHA224, SHA256, SHA384, SHA512, MD4, MDC2, MD5, RIPEMD160, DSS1.","name":"algorithm","required":false,"types":["String"]},{"description":"defaults to hex. Supported digest values are hex, none, base64","name":"digest","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Keyed-hash message authentication code (HMAC), that can\nbe used to authenticate requests from third\nparty apps, e.g. Stripe webhooks requests","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'some_data' | compute_hmac: 'some_secret', 'MD4' }} =\u003e 'cabff538af5f97ccc27d481942616492'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"\u003e Note:\n\u003e The `concat` filter won't filter out duplicates. If you want to remove duplicates, then you need to use the\n\u003e [`uniq` filter](/docs/api/liquid/filters/uniq).","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign types_and_vendors = collection.all_types | concat: collection.all_vendors -%}\n\nTypes and vendors:\n\n{% for item in types_and_vendors -%}\n {%- if item != blank -%}\n - {{ item }}\n {%- endif -%}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Concatenates (combines) two arrays.","syntax":"array | concat: array","name":"concat"},{"category":"format","deprecated":false,"deprecation_reason":"","description":"The `date` filter accepts the same parameters as Ruby's strftime method for formatting the date. For a list of shorthand\nformats, refer to the [Ruby documentation](https://ruby-doc.org/core-3.1.1/Time.html#method-i-strftime) or\n[strftime reference and sandbox](http://www.strfti.me/).","parameters":[{"description":"The desired date format.","name":"format","required":false,"types":["string"]}],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: '%B %d, %Y' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"The current date","description":"You can apply the `date` filter to the keywords `'now'` and `'today'` to output the current timestamp.\n\n\u003e Note:\n\u003e The timestamp will reflect the time that the Liquid was last rendered. Because of this, the timestamp might not be updated for every page view, depending on the context and caching.\n","syntax":"","path":"/","raw_liquid":"{{ 'now' | date: '%B %d, %Y' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"format","description":"Specify a locale-aware date format. You can use the following formats:\n\n- `abbreviated_date`\n- `basic`\n- `date`\n- `date_at_time`\n- `default`\n- `on_date`\n- `short` (deprecated)\n- `long` (deprecated)\n\n\u003e Note:\n\u003e You can also [define custom formats](/docs/api/liquid/filters/date-setting-format-options-in-locale-files) in your theme's locale files.\n","syntax":"string | date: format: string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: format: 'abbreviated_date' }}","parameter":true,"display_type":"text","show_data_tab":true},{"name":"Setting format options in locale files","description":"You can define custom date formats in your [theme's storefront locale files](/themes/architecture/locales/storefront-locale-files). These custom formats should be included in a `date_formats` category:\n\n```json\n\"date_formats\": {\n \"month_day_year\": \"%B %d, %Y\"\n}\n```\n","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: format: 'month_day_year' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Converts a timestamp into another date format.","syntax":"string | date: string","name":"date"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | date_add","name":"date_add","aliases":["add_to_date"],"parameters":[{"description":"","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"number","required":false,"types":["Number"]},{"description":"time unit - allowed options are: y, years, mo, months, w, weeks, d [default], days, h, hours, m, minutes, s, seconds","name":"unit","required":false,"types":["String"]}],"return_type":[{"type":"date","name":"","description":"modified Date","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | date_add: 1 }} =\u003e 2010-01-02\n{{ '2010-01-01' | date_add: 1, 'mo' }} =\u003e 2010-02-01","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Filter allowing to decrypt data encrypted with a specified algorithm. See encrypt filter for encryption."],"summary":"returns ","syntax":"string | decrypt","name":"decrypt","aliases":[],"parameters":[{"description":"string payload to be decrypted - must be a Base64 encoded (RFC 4648) string","name":"payload","required":false,"types":["String"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"a key used for encryption. Key must match the algorithm requirments. For asymmetric algorithms there are public and private keys that need to passed in PEM format.","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"String - decrypted string using the algorithm of your choice. Initialization Vector (iv) is expected to be present in the encrypted payload at the beginning.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ some_payload | decrypt: 'aes-256-cbc', 'ThisPasswordIsReallyHardToGuessA' }} =\u003e decrypted string from payload","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | deep_clone","name":"deep_clone","aliases":[],"parameters":[{"description":"object to be duplicated","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"untyped","name":"","description":"returns a copy of the object parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign some_hash_copy = some_hash | deep_clone %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"default","deprecated":false,"deprecation_reason":"","description":"","parameters":[{"description":"Whether to use false values instead of the default.","name":"allow_false","required":false,"types":["boolean"]}],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.selected_variant.url | default: product.url }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"allow_false","description":"By default, the `default` filter's value will be used in place of `false` values. You can use the `allow_false` parameter to allow variables to return `false` instead of the default value.\n","syntax":"variable | default: variable, allow_false: boolean","path":"/products/health-potion","raw_liquid":"{%- assign display_price = false -%}\n\n{{ display_price | default: true, allow_false: true }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sets a default value for any variable whose value is one of the following:\n\n- [`empty`](/docs/api/liquid/basics#empty)\n- [`false`](/docs/api/liquid/basics#truthy-and-falsy)\n- [`nil`](/docs/api/liquid/basics#nil)","syntax":"variable | default: variable","name":"default"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | digest","name":"digest","aliases":[],"parameters":[{"description":"message that you want to obtain a cryptographic hash for","name":"object","required":false,"types":["String"]},{"description":"the hash algorithm to use. Choose from: 'md5', 'sha1', 'sha256', 'sha384', 'sha512'. Default is sha1.","name":"algorithm","required":false,"types":["String"]},{"description":"defaults to hex. Supported digest values are hex, none, base64","name":"digest","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"hexadecimal hash value obtained by applying the selected algorithm to the message","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | digest }} =\u003e '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'\n{{ 'foo' | digest: 'sha256' }} =\u003e '2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae'\n{{ 'foo' | digest: 'sha256', 'base64' }} =\u003e 'LCa0a2j/xo/5m0U8HTBBNBNCLXBkg7+g+YpeiGJm564='\n{{ 'foo' | digest: 'sha256', 'none' }} =\u003e ',\u0026\\xB4kh\\xFF\\xC6\\x8F\\xF9\\x9BE\u003c\\x1D0A4\\x13B-pd\\x83\\xBF\\xA0\\xF9\\x8A^\\x88bf\\xE7\\xAE'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | divided_by: 2 }}\n\n# divisor is an integer\n{{ 20 | divided_by: 7 }}\n\n# divisor is a float \n{{ 20 | divided_by: 7.0 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Divides a number by a given number. The `divided_by` filter produces a result of the same type as the divisor. This means if you divide by an integer, the result will be an integer, and if you divide by a float, the result will be a float.","syntax":"number | divided_by: number","name":"divided_by"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.title | downcase }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts a string to all lowercase characters.","syntax":"string | downcase","name":"downcase"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | download_file","name":"download_file","aliases":[],"parameters":[{"description":"url to a remote file","name":"url","required":false,"types":["String"]},{"description":"max file size of the file, default 1 megabyte. Can't exceed 50 megabytes.","name":"max_size","required":false,"types":["Number"]}],"return_type":[{"type":"string","name":"","description":"Body of the remote file","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'http://www.example.com/my_file.txt' | download_file }} =\u003e \"Content of a file\"\n{% assign data = 'https://example.com/data.json' | download_file | parse_json %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | encode","name":"encode","aliases":[],"parameters":[{"description":"input string that we want to reencode","name":"text","required":false,"types":["String"]},{"description":"the encoding of the source string text","name":"source_encoding","required":false,"types":["String"]},{"description":"the encoding we want the source string text converted to","name":"destination_encoding","required":false,"types":["String"]},{"description":"if set to 'replace', invalid byte sequences for the source_encoding will be replaced with the replace parameter","name":"invalid","required":false,"types":["String"]},{"description":"if set to 'replace', characters which do not exist in the destination encoding will be replaced by the 'replace' parameter","name":"undefined","required":false,"types":["String"]},{"description":"used together with the invalid and undefined parameters","name":"replace","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input string with encoding modified from source_encoding to destination_encoding","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | encode: \"ISO-8859-1\", 'UTF-8', invalid: 'replace', undefined: 'replace', replace: '??' }}\nThe filter returns a string with the encoding changed to the one specified\nby the 'destination_encoding' parameter. The filter changes the string itself\n(its representation in memory) by first determining which graphical characters\nthe underlying bytes in the string represent in the 'source_encoding', and then\nchanging the bytes to encode the same graphical characters in\n'destination_encoding'.","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | encoding","name":"encoding","aliases":[],"parameters":[{"description":"input string whose encoding we want to find","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"encoding of the string text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | encoding }} -\u003e 'UTF-8'\nThe filter returns the encoding of the string parameter (i.e. how the underlying\nbytes in the string are interpreted to determine which graphical characters\nthey encode).","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Filter allowing to encrypt data with specified algorithm. See decrypt filter for decryption"],"summary":"returns ","syntax":"string | encrypt","name":"encrypt","aliases":[],"parameters":[{"description":"string payload to be encrypted","name":"payload","required":false,"types":["String"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"a key used for encryption. Key must match the algorithm requirments. For asymmetric algorithms there are public and private keys that need to passed in PEM format.","name":"key","required":false,"types":["String"]},{"description":"- initialization vector, if not provided we will automatically generate one","name":"iv","required":false,"types":["optional"]}],"return_type":[{"type":"string","name":"","description":"Base64 encoded (RFC 4648) encrypted string using the algorithm of your choice. Initialization Vector (iv) will be appended","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture payload %}\n {\n \"key\": \"value\",\n \"another_key\": \"another value\"\n }\n{% endcapture %}\n{{ payload | encrypt: 'aes-256-cbc', 'ThisPasswordIsReallyHardToGuessA' }} =\u003e Kkuo2eWEnTbcrtbGjAmQVMTjptS5elsgqQe-5blHpUR-ziHPI45n2wOnY30DVZGldCTNqMT_Ml0ZFiGiupKGD4ZWxVIMkdCHaq4XgiAIUew=","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Check if string ends with given substring(s)"],"summary":"returns ","syntax":"string | end_with","name":"end_with","aliases":[],"parameters":[{"description":"string to check ends with any of the provided suffixes","name":"string","required":false,"types":["String"]},{"description":"suffix to check","name":"suffixes","required":false,"types":["String","Array"]}],"return_type":[{"type":"boolean","name":"","description":"true if string ends with a suffixes","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | end_with: 'example' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | end_with: 'my' } =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign suffixes = ['array', 'example'] | parse_json %}\n{{ 'my_example' | end_with: suffixes } =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ '\u003cp\u003eText to be escaped.\u003c/p\u003e' | escape }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Escapes special characters in HTML, such as `\u003c\u003e`, `'`, and `\u0026`, and converts characters into escape sequences. The filter doesn't effect characters within the string that don’t have a corresponding escape sequence.\".","syntax":"string | escape","name":"escape"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | escape_javascript","name":"escape_javascript","aliases":[],"parameters":[{"description":"text to be escaped","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"escaped text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture js %}\nvar msg = 'hello world';\nfunction yell(x) {\n if (!x) { return; }\n return x + \"!!!\";\n}\nyell(msg).\n{% endcapture %}\n\n{{ js | escape_javascript }}\n=\u003e \\nvar msg = \\'hello world\\';\\nfunction yell(x) {\\n if (!x) { return; }\\n return x + \\\"!!!\\\";\\n}\\nyell(msg).\\n","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Creates url based on provided named parameters to the template"],"summary":"returns ","syntax":"string | expand_url_template","name":"expand_url_template","aliases":[],"parameters":[{"description":"URL template. Read more at https://tools.ietf.org/html/rfc6570","name":"template","required":false,"types":["String"]},{"description":"hash with data injected into template","name":"params","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"expanded URL","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/{city}/{street}\" %}\n{{ template | expand_url_template: city: \"Sydney\", street: \"BlueRoad\" }}\n=\u003e /search/Sydney/BlueRoad","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search{?city,street}\" %}\n{{ template | expand_url_template: city: \"Sydney\", street: \"BlueRoad\" }}\n=\u003e /search?city=Sydney\u0026street=BlueRoad","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Extracts named parameters from the url"],"summary":"returns ","syntax":"string | extract_url_params","name":"extract_url_params","aliases":[],"parameters":[{"description":"URL with params to extract","name":"url","required":false,"types":["String"]},{"description":"URL template, works also with array of templates. Read more at https://tools.ietf.org/html/rfc6570","name":"templates","required":false,"types":["String","Array"]}],"return_type":[{"type":"hash","name":"","description":"hash with extracted params","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/{city}/{street}\" %}\n{{ \"/search/Sydney/BlueRoad\" | extract_url_params: template }} =\u003e {\"city\":\"Sydney\",\"street\":\"BlueRoad\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/{first}/{-list|\\/|second}\" %}\n{{ \"/a/b/c/\" | extract_url_params: template }} =\u003e {\"first\":\"a\",\"second\":[\"b\", \"c\"]}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/{first}/{second}{?limit,offset}\" %}\n{{ \"/my/path?limit=10\u0026offset=0\" | extract_url_params: template }} =\u003e {\"first\":\"my\",\"second\":\"path\",\"limit\":\"10\",\"offset\":\"0\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/-list|+|query\" %}\n{{ \"/search/this+is+my+query\" | extract_url_params: template }} =\u003e {\"query\":[\"this\",\"is\",\"my\",\"query\"]}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"{+location}/listings\" %}\n{{ \"/Warsaw/Poland/listings\" | extract_url_params: template }} =\u003e {\"location\":\"/Warsaw/Poland\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign first_product = collection.products | first -%}\n\n{{ first_product.title }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Dot notation","description":"You can use the `first` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.products.first.title }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the first item in an array.","syntax":"array | first","name":"first"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 1.2 | floor }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number down to the nearest integer.","syntax":"number | floor","name":"floor"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | force_encoding","name":"force_encoding","aliases":[],"parameters":[{"description":"input string whose encoding we want modified","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input string with encoding modified to the one specified by the encoding parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | force_encoding: \"ISO-8859-1\" }}\nThe filter returns a string with the encoding changed to the one specified\nby the 'encoding' parameter. The filter does not change the string itself\n(its representation in memory) but changes how the underlying bytes in the\nstring are interpreted to determine which characters they encode","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | format_number","name":"format_number","aliases":[],"parameters":[{"description":"string (numberlike), integer or float to format","name":"number","required":false,"types":["Untyped"]},{"description":"formatting options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"formatted number","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111.2345 | format_number }} # =\u003e 111.235","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111.2345 | format_number: precision: 2 }} # =\u003e 111.23","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111 | format_number: precision: 2 }} # =\u003e 111.00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1111.2345 | format_number: precision: 2, separator: ',', delimiter: '.' }} # =\u003e 1.111,23","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Converts currency in fractional to whole amount. For example, convert cents to USD."],"summary":"returns ","syntax":"integer | fractional_to_amount","name":"fractional_to_amount","aliases":[],"parameters":[{"description":"fractional amount","name":"amount","required":false,"types":["Integer","String"]},{"description":"currency to be used","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"number","name":"","description":"converted fractional amount","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | fractional_to_amount: 'USD' }} =\u003e 10","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1050 | fractional_to_amount: 'JPY' }} =\u003e 1050","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_add_key","name":"hash_add_key","aliases":["add_hash_key","assign_to_hash_key"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"","name":"key","required":false,"types":["String"]},{"description":"","name":"value","required":false,"types":["Untyped"]}],"return_type":[{"type":"hash","name":"","description":"hash with added key","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign accountants = \"Angela,Kevin,Oscar\" | split: \",\"\n assign management = \"David,Jan,Michael\" | split: \",\"\n assign company = '{}' | parse_json\n assign company = company | hash_add_key: \"name\", \"Dunder Mifflin\"\n assign company = company | hash_add_key: \"accountants\", accountants\n assign company = company | hash_add_key: \"management\", management\n%}\n{{ company }} =\u003e {\"name\"=\u003e\"Dunder Mifflin\", \"accountants\"=\u003e[\"Angela\", \"Kevin\", \"Oscar\"], \"management\"=\u003e[\"David\", \"Jan\", \"Michael\"]}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_delete_key","name":"hash_delete_key","aliases":["delete_hash_key","remove_hash_key"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"untyped","name":"","description":"value which was assigned to a deleted key. If the key did not exist in the first place, null is returned.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign hash = '{ \"a\": \"1\", \"b\": \"2\"}' | parse_json\n assign a_value = hash | hash_delete_key: \"a\"\n%}\n{{ a_value }} =\u003e \"1\"\n{{ hash }} =\u003e { \"b\": \"2\" }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Generates a list of additions (+), deletions (-) and changes (~) from given two ojects."],"summary":"returns ","syntax":"variable | hash_diff","name":"hash_diff","aliases":[],"parameters":[{"description":"","name":"hash1","required":false,"types":["Hash"]},{"description":"","name":"hash2","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"array containg the difference between two hashes","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{ \"a\": 1, \"c\": \"5 \", \"d\": 6, \"e\": { \"f\": 5.12 } }' | parse_json\n assign b = '{ \"b\": 2, \"c\": \"5\", \"d\": 5, \"e\": { \"f\": 5.13 } }' | parse_json\n%}\n{{ a | hash_diff: b }} =\u003e [[\"-\",\"a\",1],[\"~\",\"c\",\"5 \",\"5\"],[\"~\",\"d\",6,5],[\"~\",\"e.f\",5.12,5.13],[\"+\",\"b\",2]]\n{{ a | hash_diff: b, strip: true }} =\u003e [[\"-\",\"a\",1],[\"~\",\"d\",6,5],[\"~\",\"e.f\",5.12,5.13],[\"+\",\"b\",2]]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_dig","name":"hash_dig","aliases":["dig"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"comma separated sequence of string keys to dig down the hash","name":"keys","required":false,"types":["Array"]}],"return_type":[{"type":"untyped","name":"","description":"Extracted nested value specified by the sequence of keys by calling dig at each step,\nreturning null if any intermediate step is null.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json user_json %}\n{\n \"name\": {\n \"first\": \"John\"\n \"last\": \"Doe\"\n }\n}\n{% endparse_json %}\n{{ user_json | hash_dig: \"name\", \"first\" }} =\u003e \"John\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"use [dig](#dig) filter","description":[],"summary":"returns ","syntax":"variable | hash_fetch","name":"hash_fetch","aliases":["fetch"],"parameters":[{"description":"input hash to be traversed","name":"hash","required":false,"types":["Hash"]},{"description":"key to be fetched from hash branch","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json users %}\n[{\n \"name\": \"Jane\"\n}, {\n \"name\": \"Bob\"\n}]\n{% endparse_json %}\n{{ users | first | hash_fetch: \"name\" }} =\u003e \"Jane\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_keys","name":"hash_keys","aliases":[],"parameters":[{"description":"input hash","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign data = null | hash_merge: foo: 'fooval', bar: 'barval'\n%}\n\n{{ data | hash_keys }} =\u003e [\"foo\", \"bar\"]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_merge","name":"hash_merge","aliases":[],"parameters":[{"description":"","name":"hash1","required":false,"types":["Hash"]},{"description":"","name":"hash2","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"new hash containing the contents of hash1 and the contents of hash2.\nOn duplicated keys we keep value from hash2","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{\"a\": 1, \"b\": 2 }' | parse_json\n assign b = '{\"b\": 3, \"c\": 4 }' | parse_json\n assign new_hash = a | hash_merge: b\n%}\n{{ new_hash }} =\u003e { \"a\": 1, \"b\": 3, \"c\": 4 }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{\"a\": 1}' | parse_json\n assing a = a | hash_merge: b: 2, c: 3\n %}\n{{ a }} =\u003e { \"a\": 1, \"b\": 2, \"c\": 3 }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_sort","name":"hash_sort","aliases":[],"parameters":[{"description":"Hash to be sorted","name":"input","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Sorted hash","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign hash1 = '{\"key2\": \"value2\", \"key1\": \"value1\"}' | parse_json %}\n{{ hash1 | hash_sort }} =\u003e {\"key1\": \"value1\", \"key2\": \"value2\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign hash1 = '{\"a\": 1, \"c\": 2, \"b\": 3}' | parse_json %}\n{{ hash1 | hash_sort }} =\u003e {\"a\": 1, \"b\": 3, \"c\": 2}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_values","name":"hash_values","aliases":[],"parameters":[{"description":"input hash","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign data = null | hash_merge: foo: 'fooval', bar: 'barval'\n%}\n\n{{ data | hash_values }} =\u003e [\"fooval\", \"barval\"]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hcaptcha","name":"hcaptcha","aliases":[],"parameters":[{"description":"params sent to the server","name":"params","required":false,"types":["Hash"]}],"return_type":[{"type":"boolean","name":"","description":"whether the parameters are valid hcaptcha verification parameters","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ context.params | hcaptcha }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | html_safe","name":"html_safe","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"set raw_text to true to stop it from unescaping HTML entities","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"string that can be rendered with all HTML tags, by default all variables are escaped.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello\u003c/h1\u003e' }} =\u003e '\u0026lt;h1\u0026gt;Hello\u0026lt;/h1\u003e\u0026gt;'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello\u003c/h1\u003e' | html_safe }} =\u003e '\u003ch1\u003eHello\u003c/h1\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cscript\u003ealert(\"Hello\")\u003c/script\u003e' }} =\u003e \u003cscript\u003ealert(\"Hello\")\u003c/script\u003e - this will just print text in the source code of the page","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cscript\u003ealert(\"Hello\")\u003c/script\u003e' | html_safe }} =\u003e \u003cscript\u003ealert(\"Hello\")\u003c/script\u003e - this script will be evaluated when a user enters the page","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'abc \u0026quot; def' | html_safe: raw_text: true }} =\u003e 'abc \u0026quot; def'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'abc \u0026quot; def' | html_safe: raw_text: false }} =\u003e 'abc \" def'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | html_to_text","name":"html_to_text","aliases":[],"parameters":[{"description":"html to be converted to text","name":"html","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"text without any html tags","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello \u003ca href=\"#\"\u003eworld\u003c/a\u003e\u003c/h1\u003e' }} =\u003e 'Hello world'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | humanize","name":"humanize","aliases":[],"parameters":[{"description":"input string to be transformed","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"a human readable string derived from the input; capitalizes the first word, turns\nunderscores into spaces, and strips a trailing '_id' if present. Used for creating a formatted output (e.g. by replacing underscores with spaces, capitalizing the first word, etc.).","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'car_model' | humanize }} =\u003e 'Car model'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'customer_id' | humanize }} =\u003e 'Customer'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_date_before","name":"is_date_before","aliases":["date_before"],"parameters":[{"description":"time to compare to the second parameter","name":"first_time","required":false,"types":["String","Integer","Date","Time"]},{"description":"time against which the first parameter is compared to","name":"second_time","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"boolean","name":"","description":"returns true if the first time is lower than the second time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-02' | date_before: '2010-01-03' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '6 months ago' | date_before: '2010-01-03' }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1 day ago' | date_before: 'now' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_date_in_past","name":"is_date_in_past","aliases":[],"parameters":[{"description":"time object, can also be a string","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"boolean","name":"","description":"true if time passed is in the past, false otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | is_date_in_past }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '3000-01-01' | is_date_in_past }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_email_valid","name":"is_email_valid","aliases":[],"parameters":[{"description":"String containing potentially valid email","name":"email","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether or not the argument is a valid email","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign valid = 'john@example.com' | is_email_valid %}\nvalid =\u003e true\n\n{% assign valid = 'john@' | is_email_valid %}\nvalid =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_json_valid","name":"is_json_valid","aliases":[],"parameters":[{"description":"String containing potentially valid JSON","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether or not the argument is a valid JSON","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign valid = '{ \"name\": \"foo\", \"bar\": {} }' | is_json_valid %}\nvalid =\u003e true\n\n{% assign valid = '{ \"foo\" }' | is_json_valid %}\nvalid =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | is_parsable_date","name":"is_parsable_date","aliases":[],"parameters":[{"description":"object that can be a date","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"boolean","name":"","description":"whether the parameter can be parsed as a date","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2021/2' | is_parsable_date }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Temporary token is valid for desired number of hours (by default 48), which you can use to authorize the user in third party application. To do it, include it in a header with name UserTemporaryToken. Token will be invalidated on password change."],"summary":"returns ","syntax":"string | is_token_valid","name":"is_token_valid","aliases":[],"parameters":[{"description":"encrypted token generated via the temporary_token GraphQL property","name":"token","required":false,"types":["String"]},{"description":"id of the user who generated the token","name":"user_id","required":false,"types":["Number"]}],"return_type":[{"type":"boolean","name":"","description":"returns true if the token has not expired and was generated for the given user, false otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% token = '1234' %}\n{{ token | is_token_valid: context.current_user.id }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.all_tags | join }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Custom separator","description":"You can specify a custom separator for the joined items.\n","syntax":"array | join: string","path":"/collections/sale-potions","raw_liquid":"{{ collection.all_tags | join: ', ' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Combines all of the items in an array into a single string, separated by a space.","syntax":"array | join","name":"join"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | json","name":"json","aliases":["to_json"],"parameters":[{"description":"object you want a JSON representation of","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"JSON formatted string containing a representation of object.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ user | json }} =\u003e {\"name\":\"Mike\",\"email\":\"mike@mail.com\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | jwe_encode","name":"jwe_encode","aliases":["jwe_encode_rc"],"parameters":[{"description":"JSON body string that will be encypted","name":"json","required":false,"types":["String"]},{"description":"Public key","name":"key","required":false,"types":["String"]},{"description":"- Key Management Algorithm used to encrypt or determine the value of the Content Encryption Key.\nValid options:\n Single Asymmetric Public/Private Key Pair\n RSA1_5\n RSA-OAEP\n RSA-OAEP-256\n Two Asymmetric Public/Private Key Pairs with Key Agreement\n ECDH-ES\n ECDH-ES+A128KW\n ECDH-ES+A192KW\n ECDH-ES+A256KW\n Symmetric Password Based Key Derivation\n PBES2-HS256+A128KW\n PBES2-HS384+A192KW\n PBES2-HS512+A256KW\n Symmetric Key Wrap\n A128GCMKW\n A192GCMKW\n A256GCMKW\n A128KW\n A192KW\n A256KW\n Symmetric Direct Key (known to both sides)\n dir","name":"alg","required":false,"types":["required"]},{"description":"- Encryption Algorithm used to perform authenticated encryption on the plain text using the Content Encryption Key.\nValid options:\n A128CBC-HS256\n A192CBC-HS384\n A256CBC-HS512\n A128GCM\n A192GCM\n A256GCM","name":"enc","required":false,"types":["required"]}],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | jwt_decode","name":"jwt_decode","aliases":[],"parameters":[{"description":"encoded JWT token you want to decode","name":"encoded_token","required":false,"types":["String"]},{"description":"the algorithm that was used to encode the token","name":"algorithm","required":false,"types":["String"]},{"description":"either a shared secret or a PUBLIC key for RSA","name":"secret","required":false,"types":["String"]},{"description":"default true, for testing and debugging can remove verifying the signature","name":"verify_signature","required":false,"types":["Boolean"]},{"description":"JWK is a structure representing a cryptographic key. Currently only supports RSA public keys.\nValid options:\n none - unsigned token\n HS256 - SHA-256 hash algorithm\n HS384 - SHA-384 hash algorithm\n HS512 - SHA-512 hash algorithm\n RS256 - RSA using SHA-256 hash algorithm\n RS384 - RSA using SHA-384 hash algorithm\n RS512 - RSA using SHA-512 hash algorithm","name":"jwks","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"result of decoding JWT token","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign original_payload = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.XT8sHXyPTA9DoHzssXh1q6Uv2D1ENosW0F3Ixle85L0' | jwt_decode: 'HS256', 'this-is-secret' %} =\u003e\n[\n {\n \"key\" =\u003e \"value\",\n \"another_key\" =\u003e \"another value\"\n },\n {\n \"typ\" =\u003e \"JWT\",\n \"alg\" =\u003e \"HS256\"\n }\n]","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"RSA:\n{% capture public_key %}\n-----BEGIN PUBLIC KEY-----\nMIIBI...\n-----END PUBLIC KEY-----\n{% endcapture %}\n{% assign original_payload = 'some encoded token' | jwt_decode: 'RS256', public_key %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | jwt_encode","name":"jwt_encode","aliases":[],"parameters":[{"description":"payload or message you want to encrypt","name":"payload","required":false,"types":["Hash"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"either a shared secret or a private key for RSA","name":"secret","required":false,"types":["String"]},{"description":"optional hash of custom headers to be added to default { \"typ\": \"JWT\", \"alg\": \"[algorithm]\" }","name":"header_fields","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"JWT token encrypted using the algorithm of your choice","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json payload %}\n{\n \"key\": \"value\",\n \"another_key\": \"another value\"\n}\n{% endparse_json %}\n\n{{ payload | jwt_encode: 'HS256', 'this-is-secret' }} =\u003e 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.XT8sHXyPTA9DoHzssXh1q6Uv2D1ENosW0F3Ixle85L0'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json payload %}\n{\n \"key\": \"value\",\n \"another_key\": \"another value\"\n}\n{% endparse_json %}\n\n{% parse_json headers %}\n{\n \"cty\": \"custom\"\n}\n{% endparse_json %}\n\n{{ payload | jwt_encode: 'HS256', 'this-is-secret', headers }} =\u003e 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6ImN1c3RvbSJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.5_-LcqcbLMeswMw04UfXqDyqAEk1x-Pwi9nwGMqxHtQ'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"RSA:\n{% capture private_key %}\n-----BEGIN RSA PRIVATE KEY-----\nMIIEpA...\n-----END RSA PRIVATE KEY-----\n{% endcapture %}\n{% assign jwt_token = payload | jwt_encode: 'RS256', private_key %}\n{% comment %} Please note that storing private key as a plain text in a code is not a good idea. We suggest you\n provide the key via Partner Portal and use context.constants.\u003cname of private key constant\u003e instead.{% endcomment %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign last_product = collection.products | last -%}\n\n{{ last_product.title }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Dot notation","description":"You can use the `last` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.products.last.title }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the last item in an array.","syntax":"array | last","name":"last"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | localize","name":"localize","aliases":["l"],"parameters":[{"description":"parsable time object to be formatted","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"the format to be used for formatting the time; default is 'long'; other values can be used:\nthey are taken from translations, keys are of the form 'time.formats.#!{format_name}'","name":"format","required":false,"types":["String"]},{"description":"the time zone to be used for time","name":"zone","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"string, nil","name":"","description":"formatted representation of the passed parsable time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | localize }} =\u003e 'January 01, 2010'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'in 14 days' | localize: 'long', '', '2011-03-15' }} =\u003e 'March 14, 2011'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | lstrip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the left of a string.","syntax":"string | lstrip","name":"lstrip"},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{%- assign product_titles = collection.products | map: 'title' -%}\n\n{{ product_titles | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Creates an array of values from a specific property of the items in an array.","syntax":"array | map: string","name":"map"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | map","name":"map","aliases":[],"parameters":[{"description":"array of Hash to be processed. Nulls are skipped.","name":"object","required":false,"types":["Array"]},{"description":"name of the hash key for which all values should be returned\nin array of objects","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"array which includes all values for a given key","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign objects = '[{\"id\":1,\"name\":\"foo\",\"label\":\"Foo\"},{\"id\":2,\"name\":\"bar\",\"label\":\"Bar\"}]' | parse_json %}\n{{ objects | map: 'name' }} =\u003e ['foo', 'bar']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | markdown","name":"markdown","aliases":["markdownify"],"parameters":[{"description":"text using markdown syntax","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"processed text with markdown syntax changed to sanitized HTML.\nWe allow only safe tags and attributes by default. We also automatically add `rel=nofollow` to links. Default configuration is:\n{\n \"elements\": [\"a\",\"abbr\",\"b\",\"blockquote\",\"br\",\"cite\",\"code\",\"dd\",\"dfn\",\"dl\",\"dt\",\"em\",\"i\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"img\",\"kbd\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"s\",\"samp\",\"small\",\"strike\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"ul\",\"var\"],\n \"attributes\":{\n \"a\": [\"href\"],\n \"abbr\":[\"title\"],\n \"blockquote\":[\"cite\"],\n \"img\":[\"align\",\"alt\",\"border\",\"height\",\"src\",\"srcset\",\"width\"],\n \"dfn\":[\"title\"],\n \"q\":[\"cite\"],\n \"time\":[\"datetime\",\"pubdate\"]\n },\n \"add_attributes\": { \"a\" : {\"rel\":\"nofollow\"} },\n \"protocols\": {\n \"a\":{\"href\":[\"ftp\",\"http\",\"https\",\"mailto\",\"relative\"]},\n \"blockquote\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"q\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"img\": {\"src\": [\"http\",\"https\",\"relative\"] }\n }\n}","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '**Foo**' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '**Foo**' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '# Foo' | markdown }} =\u003e '\u003ch1\u003eFoo\u003c/h1\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Automatically add rel=nofollow to links\n{{ '[Foo link](https://example.com)' | markdown }} =\u003e '\u003cp\u003e\u003ca href=\"https://example.com\" rel=\"nofollow\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cb\u003eFoo\u003c/b\u003e' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Tags not enabled by default are removed\n{{ '\u003cdiv class=\"hello\" style=\"font-color: red; font-size: 99px;\"\u003eFoo\u003c/div\u003e' | markdown }} =\u003e 'Foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Attributes not enabled by default are removed\n{{ '\u003cdiv class=\"hello\" style=\"font-color: red; font-size: 99px;\"\u003eFoo\u003c/div\u003e' | markdown: '{ \"elements\": [ \"div\" ] }' }} =\u003e '\u003cdiv\u003eFoo\u003c/div\u003e' # @example","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Specify custom tags with attributes","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | matches","name":"matches","aliases":[],"parameters":[{"description":"string to check against the regular expression","name":"text","required":false,"types":["String"]},{"description":"string representing a regular expression pattern against which\nto match the first parameter","name":"regexp","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether the given string matches the given regular expression; returns null if","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | matches: '[a-z]' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | minus: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Subtracts a given number from another number.","syntax":"number | minus: number","name":"minus"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 12 | modulo: 5 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the remainder of dividing a number by a given number.","syntax":"number | modulo: number","name":"modulo"},{"category":"string","deprecated":true,"deprecation_reason":"use built in `newline_to_br` filter","description":[],"summary":"returns ","syntax":" | new_line_to_br","name":"new_line_to_br","aliases":["nl2br"],"parameters":[],"return_type":[],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.description | newline_to_br }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts newlines (`\\n`) in a string to HTML line breaks (`\u003cbr\u003e`).","syntax":"string | newline_to_br","name":"newline_to_br"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | pad_left","name":"pad_left","aliases":[],"parameters":[{"description":"string to pad","name":"str","required":false,"types":["String"]},{"description":"minimum length of output string","name":"count","required":false,"types":["Number"]},{"description":"string to pad with","name":"symbol","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"returns string padded from left to the length of count with the symbol character","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | pad_left: 5 }} =\u003e ' foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'Y' | pad_left: 3, 'X' }} =\u003e 'XXY'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parameterize","name":"parameterize","aliases":[],"parameters":[{"description":"input string to be 'parameterized'","name":"text","required":false,"types":["String"]},{"description":"string to be used as separator in the output string; default is '-'","name":"separator","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"replaces special characters in a string so that it may be used as part of a 'pretty' URL;\nthe default separator used is '-';","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | parameterize }} =\u003e 'john-arrived_foo'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parse_csv","name":"parse_csv","aliases":["parse_csv_rc"],"parameters":[{"description":"CSV","name":"input","required":false,"types":["String"]},{"description":"parse csv options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"array of arrays","name":"","description":"Array","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign csv = \"name,description\\nname-1,description-1\\nname-2,description-2\\n\"\n\n {{ csv | parse_csv }} =\u003e [['name', 'description'], ['name-1', 'description-1'], ['name-2', 'description-2']]\n {{ csv | parse_csv: convert_to_hash: true }} =\u003e [{name: 'name-1', description: 'description-1'}, {name: 'name-2', description: 'description-2'}]\n%}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | parse_json","name":"parse_json","aliases":["to_hash"],"parameters":[{"description":"String containing valid JSON","name":"object","required":false,"types":["Untyped"]},{"description":"set to raw_text true to stop it from unescaping HTML entities","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Hash created based on JSON","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign text = '{ \"name\": \"foo\", \"bar\": {} }'\n assign object = text | parse_json\n%}\n{{ object.name }} =\u003e 'foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '{ \"key\": \"abc \u0026quot; def\" }' | parse_json: raw_text: false }} =\u003e { \"key\": 'abc \" def' }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '{ \"key\": \"abc \u0026quot; def\" }' | parse_json: raw_text: true }} =\u003e { \"key\": 'abc \u0026quot; def' }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parse_xml","name":"parse_xml","aliases":["xml_to_hash"],"parameters":[{"description":"String containing valid XML","name":"xml","required":false,"types":["String"]},{"description":"attr_prefix: use '@' for element attributes, force_array: always try to use arrays for child elements","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Hash created based on XML","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign text = '\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\u003cletter\u003e\u003ctitle maxlength=\"10\"\u003e Quote Letter \u003c/title\u003e\u003c/letter\u003e'\n assign object = text | parse_xml\n%}\n{{ object }} =\u003e '{\"letter\":[{\"title\":[{\"maxlength\":\"10\",\"content\":\" Quote Letter \"}]}]}'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Use either singular or plural version of a string, depending on provided count"],"summary":"returns ","syntax":"string | pluralize","name":"pluralize","aliases":[],"parameters":[{"description":"string to be pluralized","name":"string","required":false,"types":["String"]},{"description":"optional count number based on which string will be pluralized or singularized","name":"count","required":false,"types":["Number"]}],"return_type":[{"type":"string","name":"","description":"pluralized version of the input string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'dog' | pluralize: 1 }} =\u003e 'dog'\n{{ 'dog' | pluralize: 2 }} =\u003e 'dogs'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2 | plus: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds two numbers.","syntax":"number | plus: number","name":"plus"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign origin = request.origin -%}\n\n{{ product.url | prepend: origin }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds a given string to the beginning of a string.","syntax":"string | prepend: string","name":"prepend"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"numeric | pricify","name":"pricify","aliases":[],"parameters":[{"description":"amount to be formatted","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used for formatting","name":"currency","required":false,"types":["String"]},{"description":"optional. Default no_cents_if_whole: true","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"formatted price using global price formatting rules","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 0 | pricify }} =\u003e $0","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify }} =\u003e $1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1.20 | pricify }} =\u003e $1.20","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1000000 | pricify }} =\u003e $1,000,000","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"PLN\" }} =\u003e 1 zł","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"JPY\" }} =\u003e ¥1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"USD\", no_cents_if_whole: false }} =\u003e $1.00","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Adds currency symbol and proper commas. It is used to showing prices to people."],"summary":"returns ","syntax":"numeric | pricify_cents","name":"pricify_cents","aliases":[],"parameters":[{"description":"amount in cents to be formatted","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used for formatting","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"formatted price using the global price formatting rules","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents }} =\u003e $0.01","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 100 | pricify_cents }} =\u003e $1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1000000 | pricify_cents }} =\u003e $10,000","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents: \"PLN\" }} =\u003e 0.01 zł","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents: \"JPY\" }} =\u003e ¥1","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | querify","name":"querify","aliases":[],"parameters":[{"description":"hash to be \"querified\"","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"a query string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ hash }} =\u003e { 'name' =\u003e 'Dan', 'id' =\u003e 1 }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ hash | querify }} =\u003e 'name=Dan\u0026id=1'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"int | random_string","name":"random_string","aliases":[],"parameters":[{"description":"how many random characters should be included; default is 12","name":"length","required":false,"types":["Int"]}],"return_type":[{"type":"string","name":"","description":"returns a random alphanumeric string of given length","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10 | random_string }} =\u003e '6a1ee2629'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | raw_escape_string","name":"raw_escape_string","aliases":[],"parameters":[{"description":"input string to be HTML-escaped","name":"value","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"HTML-escaped input string; returns a string with its HTML tags visible in\nthe browser","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo\u003cb\u003ebar\u003c/b\u003e' | raw_escape_string }} =\u003e 'foo\u0026amp;lt;b\u0026amp;gt;bar\u0026amp;lt;/b\u0026amp;gt;'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | regex_matches","name":"regex_matches","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"regexp to use for matching","name":"regexp","required":false,"types":["String"]},{"description":"can contain 'ixm'; i - ignore case, x - extended, m # - multiline (e.g. 'ix', 'm', 'mi' etc.)","name":"options","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"matches for the expression in the string;\neach item in the array is an array containing all groups of matches; for example\nfor the regex (.)(.) and the text 'abcdef', the result will look like:\n[[\"a\", \"b\"], [\"c\", \"d\"], [\"e\", \"f\"]]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"To retrieve the URL from a meta tag see the example below:\n\n{% liquid\n assign text = '\u003chtml\u003e\u003chead\u003e\u003cmeta property=\"og:image\" content=\"http://somehost.com/someimage.jpg\" /\u003e\u003c/head\u003e\u003cbody\u003econtent\u003c/body\u003e\u003c/html\u003e' | html_safe %}\n assign matches = text | regex_matches: '\u003cmeta\\s+property=\"og:image\"\\s+content=\"([^\"]+)\"'\n if matches.size \u003e 0\n assign image_path = matches[0][0]\n echo image_path\n endif\n%}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ \"I can't do it!\" | remove: \"'t\" }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes any instance of a substring inside a string.","syntax":"string | remove: string","name":"remove"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ \"I hate it when I accidentally spill my duplication potion accidentally!\" | remove_first: ' accidentally' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes the first instance of a substring inside a string.","syntax":"string | remove_first: string","name":"remove_first"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/komodo-dragon-scale","raw_liquid":"{{ product.handle | replace: '-', ' ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Replaces any instance of a substring inside a string with a given string.","syntax":"string | replace: string, string","name":"replace"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/komodo-dragon-scale","raw_liquid":"{{ product.handle | replace_first: '-', ' ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Replaces the first instance of a substring inside a string with a given string.","syntax":"string | replace_first: string, string","name":"replace_first"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | replace_regex","name":"replace_regex","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"regexp to use for matching","name":"regexp","required":false,"types":["String"]},{"description":"replacement text, or hash; if hash, keys in\nthe hash must be matched texts and values their replacements","name":"replacement","required":false,"types":["String"]},{"description":"can contain 'ixm'; i - ignore case, x - extended, m # - multiline (e.g. 'ix', 'm', 'mi' etc.)","name":"options","required":false,"types":["String"]},{"description":"whether all occurrences should be replaced or just the first","name":"global","required":false,"types":["Boolean"]}],"return_type":[{"type":"string","name":"","description":"string with regexp pattern replaced by replacement text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"Basic example:\n{{ \"fooooo fooo\" | replace_regex: 'o+', 'o' }} =\u003e \"fo fo\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Global set to false:\n{{ \"fooooo fooo\" | replace_regex: 'o+', 'o', '', false }} =\u003e \"fo fooo\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Hash replacement:\n{% liquid\n assign hash = '{}' | parse_json\n assign hash = hash | hash_add_key: 'ooooo', 'bbbbb'\n assign hash = hash | hash_add_key: 'ooo', 'ccc'\n %}\n{{ \"fooooo fooo\" | replace_regex: 'o+', hash }} =\u003e \"fbbbbb fccc\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Using options, ignore case:\n{{ \"FOOOOO\" | replace_regex: 'o+', 'a', 'i' }} =\u003e \"Fa\"\n{{ \"FOOOOO\" | replace_regex: 'o+', 'a' }} =\u003e \"FOOOOO\"\nUsing options, extended mode (insert spaces, newlines, and comments in the pattern to make it more readable):\n{{ \"FOOOOO\" | replace_regex: 'o+ #comment', 'a', 'ix' }} =\u003e \"Fa\"\nUsing options, multiline (. matches newline):\n{% capture newLine %}\n{% endcapture %}\n{{ \"abc\" | append: newLine | append: \"def\" | append: newLine | append: \"ghi\" | replace_regex: '.+', 'a', 'im' }} =\u003e \"a\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"Original order:\n{{ collection.products | map: 'title' | join: ', ' }}\n\nReverse order:\n{{ collection.products | reverse | map: 'title' | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Reversing strings","description":"You can't use the `reverse` filter on strings directly. However, you can use the [`split` filter](/docs/api/liquid/filters/split) to create an array of characters in the string, reverse that array, and then use the [`join` filter](/docs/api/liquid/filters/join) to combine them again.\n","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.title | split: '' | reverse | join: '' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Reverses the order of the items in an array.","syntax":"array | reverse","name":"reverse"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2.7 | round }}\n{{ 1.3 | round }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Round to a specific number of decimal places","description":"You can specify a number of decimal places to round to. If you don't specify a number, then the `round` filter rounds to the nearest integer.\n","syntax":"","path":"/","raw_liquid":"{{ 3.14159 | round: 2 }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number to the nearest integer.","syntax":"number | round","name":"round"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | rstrip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the right of a string.","syntax":"string | rstrip","name":"rstrip"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | sanitize","name":"sanitize","aliases":[],"parameters":[{"description":"potential malicious html, which you would like to sanitize","name":"input","required":false,"types":["String"]},{"description":"Options to configure which elements and attributes are allowed, example:\n{ \"elements\": [\"a\", \"b\", \"h1\"], \"attributes\": { \"a\": [\"href\"] } }","name":"options","required":false,"types":null},{"description":"deprecated; do not use","name":"whitelist_tags","required":false,"types":["Array"]}],"return_type":[{"type":"string","name":"","description":"Sanitizes HTML input. If you want to allow any HTML, use html_safe filter.\nBy default we allow only safe html tags and attributes. We also automatically add `rel=nofollow` to links. Default configuration is:\n{\n \"elements\": [\"a\",\"abbr\",\"b\",\"blockquote\",\"br\",\"cite\",\"code\",\"dd\",\"dfn\",\"dl\",\"dt\",\"em\",\"i\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"img\",\"kbd\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"s\",\"samp\",\"small\",\"strike\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"ul\",\"var\"],\n \"attributes\":{\n \"a\": [\"href\"],\n \"abbr\":[\"title\"],\n \"blockquote\":[\"cite\"],\n \"img\":[\"align\",\"alt\",\"border\",\"height\",\"src\",\"srcset\",\"width\"],\n \"dfn\":[\"title\"],\n \"q\":[\"cite\"],\n \"time\":[\"datetime\",\"pubdate\"]\n },\n \"add_attributes\": { \"a\" : {\"rel\":\"nofollow\"} },\n \"protocols\": {\n \"a\":{\"href\":[\"ftp\",\"http\",\"https\",\"mailto\",\"relative\"]},\n \"blockquote\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"q\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"img\": {\"src\": [\"http\",\"https\",\"relative\"] }\n }\n}","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture link %}\n \u003ca href=\"javascript:prompt(1)\"\u003eLink\u003c/a\u003e\n{% endcapture %}\n{{ link | sanitize }} =\u003e \u003ca href=\"\"\u003eLink\u003c/a\u003e\n{% assign whitelist_attributes = 'target' | split: '|' %}\n{{ link | sanitize: whitelist_attributes }} =\u003e \u003ca href=\"\"\u003eLink\u003c/a\u003e","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Scrubs invalid characters and sequences from the input string, in the given encoding (by default UTF-8)"],"summary":"returns ","syntax":"string | scrub","name":"scrub","aliases":[],"parameters":[{"description":"string to be scrubbed","name":"text","required":false,"types":["String"]},{"description":"encoding of the input string, default UTF-8","name":"source_encoding","required":false,"types":["String"]},{"description":"encoding of the output string, default UTF-8","name":"final_encoding","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Returns a string scrubbed of invalid characters and sequences; to be used when data is coming from external sources like APIs etc.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign scrubbed = \"Hello W�orld\" | scrub %}\n{{ scrubbed }} =\u003e \"Hello World\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"use [digest](#digest) filter","description":[],"summary":"returns ","syntax":"string | sha1","name":"sha1","aliases":[],"parameters":[{"description":"input object that you want to obtain the digest for","name":"object","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"SHA1 digest of the input object","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | sha1 }} =\u003e '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"The size of a string is the number of characters that the string includes. The size of an array is the number of items\nin the array.","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.title | size }}\n{{ collection.products | size }}","parameter":false,"display_type":"text","show_data_tab":false},{"name":"Dot notation","description":"You can use the `size` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/sale-potions","raw_liquid":"{% if collection.products.size \u003e= 10 %}\n There are 10 or more products in this collection.\n{% else %}\n There are less than 10 products in this collection.\n{% endif %}","parameter":false,"display_type":"text","show_data_tab":false}],"summary":"Returns the size of a string or array.","syntax":"variable | size","name":"size"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"By default, the substring has a length of one character, and the array series has one array item. However, you can\nprovide a second parameter to specify the number of characters or array items.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.title | slice: 0 }}\n{{ collection.title | slice: 0, 5 }}\n\n{{ collection.all_tags | slice: 1, 2 | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Negative index","description":"You can supply a negative index which will count from the end of the string.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.title | slice: -3, 3 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns a substring or series of array items, starting at a given 0-based index.","syntax":"string | slice","name":"slice"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | slugify","name":"slugify","aliases":[],"parameters":[{"description":"input string to be 'slugified'","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"replaces special characters in a string so that it may be used as part of a 'pretty' URL;","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | slugify }} =\u003e 'john-arrived-foo'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{% assign tags = collection.all_tags | sort %}\n\n{% for tag in tags -%}\n {{ tag }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Sort by an array item property","description":"You can specify an array item property to sort the array items by. You can sort by any property of the object that you're sorting.\n","syntax":"array | sort: string","path":"/collections/all","raw_liquid":"{% assign products = collection.products | sort: 'price' %}\n\n{% for product in products -%}\n {{ product.title }}\n{%- endfor %}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sorts the items in an array in case-sensitive alphabetical, or numerical, order.","syntax":"array | sort","name":"sort"},{"category":"array","deprecated":false,"deprecation_reason":"","description":"\u003e Caution:\n\u003e You shouldn't use the `sort_natural` filter to sort numerical values. When comparing items an array, each item is converted to a\n\u003e string, so sorting on numerical values can lead to unexpected results.","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{% assign tags = collection.all_tags | sort_natural %}\n\n{% for tag in tags -%}\n {{ tag }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Sort by an array item property","description":"You can specify an array item property to sort the array items by.\n","syntax":"array | sort_natural: string","path":"/collections/all","raw_liquid":"{% assign products = collection.products | sort_natural: 'title' %}\n\n{% for product in products -%}\n {{ product.title }}\n{%- endfor %}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sorts the items in an array in case-insensitive alphabetical order.","syntax":"array | sort_natural","name":"sort_natural"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"string"}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign title_words = product.handle | split: '-' -%}\n\n{% for word in title_words -%}\n {{ word }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Splits a string into an array of substrings based on a given separator.","syntax":"string | split: string","name":"split"},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Check if string starts with given substring(s)"],"summary":"returns ","syntax":"string | start_with","name":"start_with","aliases":[],"parameters":[{"description":"string to check if starts with any of the provided prefixes","name":"string","required":false,"types":["String"]},{"description":"prefix(es) to check","name":"prefixes","required":false,"types":["String","Array"]}],"return_type":[{"type":"boolean","name":"","description":"true if string starts with a prefix","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | start_with: 'my' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | start_with: 'example' } =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign prefixes = ['array', 'example'] | parse_json %}\n{{ 'my_example' | start_with: prefixes } =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | strftime","name":"strftime","aliases":[],"parameters":[{"description":"parsable time object","name":"time","required":false,"types":["String","Integer","Date","Time","DateTime"]},{"description":"string representing the desired output format\ne.g. '%Y-%m-%d' will result in '2020-12-21'\nCheatsheet: https://devhints.io/strftime","name":"format","required":false,"types":["String"]},{"description":"string representing the time zone","name":"zone","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"string","name":"","description":"formatted representation of the time object; the formatted representation\nwill be based on what the format parameter specifies","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M' }} =\u003e 2018-05-30 09:12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign time = '2010-01-01 08:00' | to_time %}\n{{ time | strftime: \"%Y-%m-%d\" }} =\u003e '2010-01-01'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Europe/Warsaw' }} =\u003e 2018-05-30 18:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'America/New_York' }} =\u003e 2018-05-30 12:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Sydney' }} =\u003e 2018-05-31 02:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Pacific/Apia' }} =\u003e 2018-05-31 05:12","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | strip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the left and right of a string.","syntax":"string | strip","name":"strip"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"\u003c!-- With HTML --\u003e\n{{ product.description }}\n\n\u003c!-- HTML stripped --\u003e\n{{ product.description | strip_html }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all HTML tags from a string.","syntax":"string | strip_html","name":"strip_html"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | strip_liquid","name":"strip_liquid","aliases":[],"parameters":[{"description":"text from which to strip liquid","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input parameter without liquid","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'Hello! {% comment %}This is a comment!{% endcomment %}' | strip_liquid }} =\u003e \"Hello! This is a comment!\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"\u003c!-- With newlines --\u003e\n{{ product.description }}\n\n\u003c!-- Newlines stripped --\u003e\n{{ product.description | strip_newlines }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all newline characters (line breaks) from a string.","syntax":"string | strip_newlines","name":"strip_newlines"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | time_diff","name":"time_diff","aliases":[],"parameters":[{"description":"","name":"start","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"finish","required":false,"types":["String","Integer","Date","Time"]},{"description":"time unit - allowed options are: d, days, h, hours, m, minutes, s, seconds, ms, milliseconds [default]","name":"unit","required":false,"types":["String"]},{"description":"defines rounding after comma; default is 3","name":"precision","required":false,"types":["Number"]}],"return_type":[{"type":"number","name":"","description":"duration between start and finish in unit; default is ms (milliseconds)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign result = 'now' | time_diff: 'in 5 minutes', 'd' %}\n{{ result }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2 | times: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Multiplies a number by a given number.","syntax":"number | times: number","name":"times"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | titleize","name":"titleize","aliases":[],"parameters":[{"description":"string to be processed","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"capitalizes all the words and replaces some characters in the string to create\na string in title-case format","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo bar_zoo-xx' | titleize }} =\u003e 'Foo Bar Zoo Xx'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | to_csv","name":"to_csv","aliases":[],"parameters":[{"description":"array you would like to convert to CSV","name":"input","required":false,"types":["Array"]},{"description":"csv options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"String containing CSV.\nIf one of the array element contains separator, this element will automatically be wrapped in double quotes.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign arr = '' | split: ','\n assign headers = 'id,header1,header2' | split: ','\n assign row1 = '1,example,value' | split: ','\n assign row2 = '2,another,val2' | split: ','\n assign arr = arr | array_add: headers | array_add: row1 | array_add: row2\n%}\n{{ arr | to_csv }} =\u003e \"id\",\"header1\",\"header2\"\\n1,\"example\",\"value\"\\n2,\"another\",\"val2\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ arr | to_csv: force_quotes: true }} =\u003e \"id\",\"header1\",\"header2\"\\n\"1\",\"example\",\"value\"\\n\"2\",\"another\",\"val2\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_date","name":"to_date","aliases":[],"parameters":[{"description":"parsable time object to be converted to date","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"date","name":"","description":"a Date object obtained/parsed from the input object","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01 8:00:00' | to_date }} =\u003e 2010-01-01","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_mobile_number","name":"to_mobile_number","aliases":[],"parameters":[{"description":"the base part of mobile number","name":"number","required":false,"types":["String"]},{"description":"country for which country code should be used. Can be anything - full name, iso2, iso3","name":"country","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"returns mobile number in E.164 format; recommended for sending sms notifications","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '500 123 999' | to_mobile_number: 'PL' }} =\u003e '+48500123999'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | to_positive_integer","name":"to_positive_integer","aliases":[],"parameters":[{"description":"value to be coerced to positive integer","name":"param","required":false,"types":["Untyped"]},{"description":"default value in case param is not valid positive integer","name":"default","required":false,"types":["Number"]}],"return_type":[{"type":"number","name":"","description":"number that is higher than 0","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1' | to_positive_integer: 2 }} =\u003e 1\n{{ '' | to_positive_integer: 2 }} =\u003e 2","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_time","name":"to_time","aliases":[],"parameters":[{"description":"a string representation of time ('today', '3 days ago', 'in 10 minutes' etc.) or a number in UNIX time format or time","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"time zone","name":"zone","required":false,"types":["String"]},{"description":"specific format to be used when parsing time","name":"format","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"datetime","name":"","description":"a time object created from parsing the string representation of time given as input","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'today' | to_time }} =\u003e 2017-04-15 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'today' | to_time: 'UTC' }} =\u003e 2017-04-15 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1 day ago' | to_time }} =\u003e 2017-04-14 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '5 days from now' | to_time }} =\u003e 2017-04-19 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010:01:01' | to_time: '', '%Y:%m:%d' }} =\u003e 2010-01-01 00:00:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '5 days from now' | to_time '', '', '2019-10-01' }} =\u003e 2019-10-06 00:00:00 # equivalent of {{ '2019-10-01' | add_to_time: 5, 'days' }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | to_xml","name":"to_xml","aliases":["to_xml_rc"],"parameters":[{"description":"hash object that will be represented as xml","name":"object","required":false,"types":["Hash"]},{"description":"attr_prefix: use '@' for element attributes","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"String containing XML","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign object = '{\"letter\":[{\"title\":[{\"maxlength\":\"10\",\"content\":\" Quote Letter \"}]}]}' | parse_json\n assign xml = object | to_xml\n%}\n{{ object }} =\u003e '\u003cletter\u003e \u003ctitle maxlength=\"10\"\u003e Quote Letter \u003c/title\u003e \u003c/letter\u003e'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | translate","name":"translate","aliases":["t"],"parameters":[{"description":"translation key","name":"key","required":false,"types":["String"]},{"description":"values passed to translation string","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"Translation value taken from translations YML file for the key given as parameter. The value is assumed to be html safe,\nplease use `t_escape` if you provide unsafe argument which can potentially include malicious script.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'beer' | translate }} =\u003e 'cerveza'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'beer' | t }} =\u003e 'cerveza'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'drinks.alcoholic.beer' | t }} =\u003e 'piwo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'non_existing_translation' | t: default: 'Missing', fallback: false }} =\u003e 'Missing'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'user-greeting' | t: username: 'Mike' }} =\u003e 'Hello Mike!'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Escapes unsafe arguments passed to the translation and then returns its value"],"summary":"returns ","syntax":"string | translate_escape","name":"translate_escape","aliases":["t_escape"],"parameters":[{"description":"translation key","name":"key","required":false,"types":["String"]},{"description":"values passed to translation string","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"translation value taken from translations YML file for the key given as parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"en.yml\nen:\n user-greeting: Hello %{username}\n\n{{ 'user-greeting' | t_escape: username: '\u003cscript\u003ealert(\"hello\")\u003c/script\u003eMike' }}\n=\u003e will not evaluate the script, it will print out:\nHello \u003cscript\u003ealert(\"hello\")\u003c/script\u003eMike","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"If the specified number of characters is less than the length of the string, then an ellipsis (`...`) is appended to\nthe truncated string. The ellipsis is included in the character count of the truncated string.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.title | truncate: 15 }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Specify a custom ellipsis","description":"You can provide a second parameter to specify a custom ellipsis. If you don't want an ellipsis, then you can supply an empty string.\n","syntax":"string | truncate: number, string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.title | truncate: 15, '--' }}\n{{ article.title | truncate: 15, '' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Truncates a string down to a given number of characters.","syntax":"string | truncate: number","name":"truncate"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"If the specified number of words is less than the number of words in the string, then an ellipsis (`...`) is appended to\nthe truncated string.\n\n\u003e Caution:\n\u003e HTML tags are treated as words, so you should strip any HTML from truncated content. If you don't strip HTML, then\n\u003e closing HTML tags can be removed, which can result in unexpected behavior.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.content | strip_html | truncatewords: 15 }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Specify a custom ellipsis","description":"You can provide a second parameter to specify a custom ellipsis. If you don't want an ellipsis, then you can supply an empty string.\n","syntax":"string | truncatewords: number, string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.content | strip_html | truncatewords: 15, '--' }}\n\n{{ article.content | strip_html | truncatewords: 15, '' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Truncates a string down to a given number of words.","syntax":"string | truncatewords: number","name":"truncatewords"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | type_of","name":"type_of","aliases":[],"parameters":[{"description":"Variable whose type you want returned","name":"variable","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"Type of the variable parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign variable_type = '{ \"name\": \"foo\", \"bar\": {} }' | parse_json | type_of %}\n{{ variable_type }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | unescape_javascript","name":"unescape_javascript","aliases":[],"parameters":[{"description":"text to be unescaped","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"unescaped javascript text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture 'js' %}\n\u003cscript\u003e\n let variable = \"\\t some text\\n\";\n let variable2 = 'some text 2';\n let variable3 = `some text`;\n let variable4 = `We love ${variable3}.`;\n \u003c/script\u003e\n{% endcapture %}\n\nThis will return the text to its original form:\n{{ js | escape_javascript | unescape_javascript }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{% assign potion_array = 'invisibility, health, love, health, invisibility' | split: ', ' %}\n\n{{ potion_array | uniq | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes any duplicate items in an array.","syntax":"array | uniq","name":"uniq"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.title | upcase }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts a string to all uppercase characters.","syntax":"string | upcase","name":"upcase"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'test%40test.com' | url_decode }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Decodes any [percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) characters\nin a string.","syntax":"string | url_decode","name":"url_decode"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"\u003e Note:\n\u003e Spaces are converted to a `+` character, instead of a percent-encoded character.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'test@test.com' | url_encode }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts any URL-unsafe characters in a string to the\n[percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) equivalent.","syntax":"string | url_encode","name":"url_encode"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | url_to_qrcode_svg","name":"url_to_qrcode_svg","aliases":[],"parameters":[{"description":"URL to be encoded as QR code","name":"url","required":false,"types":["String"]},{"description":"optional. Defaults: color: \"000\", module_size: 11, shape_rendering: \"crispEdges\", viewbox: false","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"either `\u003cpath ...\u003e...\u003c/path\u003e` or `\u003csvg ...\u003e...\u003c/svg\u003e` depending on standalone flag","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"\u003csvg width=\"319\" height=\"319\"\u003e{{ 'https://example.com' | url_to_qrcode_svg, color: '000', module_size: 11 }}\u003c/svg\u003e =\u003e \u003csvg width=\"319\" height=\"319\"\u003e\u003cpath\u003e...\u003c/path\u003e\u003c/svg\u003e","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | useragent","name":"useragent","aliases":[],"parameters":[{"description":"browser user agent from the request header","name":"useragent_header","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"parsed browser user agent information","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ context.headers.HTTP_USER_AGENT | useragent }} =\u003e\n{\n \"device\": {\"family\":\"Other\",\"model\":\"Other\",\"brand\":null},\n \"family\":\"Firefox\",\n \"os\":{\"version\":null,\"family\":\"Windows 7\"},\n \"version\":{\"version\":\"47.0\",\"major\":\"47\",\"minor\":\"0\",\"patch\":null}\n}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | uuid","name":"uuid","aliases":[],"parameters":[{"description":"parameter will be ignored","name":"_dummy","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Universally unique identifier v4","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '' | uuid }} =\u003e \"2d931510-d99f-494a-8c67-87feb05e1594\"\n\n{% assign id = '' | uuid %}\n{{ id }} =\u003e \"b12bd15e-4da7-41a7-b673-272221049c01\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | verify_access_key","name":"verify_access_key","aliases":[],"parameters":[{"description":"can be obtained in Partner Portal","name":"access_key","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"check if key is valid","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign access_key = '12345' %}\n{{ access_key | verify_access_key }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | video_params","name":"video_params","aliases":[],"parameters":[{"description":"URL to a video on the internet","name":"url","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"metadata about video","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'https://www.youtube.com/watch?v=8N_tupPBtWQ' | video_params }}\n=\u003e {\"provider\"=\u003e\"YouTube\", \"url\"=\u003e\"https://www.youtube.com/watch?v=8N_tupPBtWQ\", \"video_id\"=\u003e\"8N_tupPBtWQ\", \"embed_url\"=\u003e\"https://www.youtube.com/embed/8N_tupPBtWQ\", \"embed_code\"=\u003e\"\u003ciframe src=\\\"https://www.youtube.com/embed/8N_tupPBtWQ\\\" frameborder=\\\"0\\\" allowfullscreen=\\\"allowfullscreen\\\"\u003e\u003c/iframe\u003e\"},","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | videoify","name":"videoify","aliases":[],"parameters":[{"description":"URL to a video on the internet","name":"url","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"if the given URL is supported, an HTML formatted string containing a video player (inside an iframe)\nwhich will play the video at the given URL; otherwise an empty string is returned","array_value":""}],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | www_form_encode_rc","name":"www_form_encode_rc","aliases":[],"parameters":[{"description":"data object","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"This generates application/x-www-form-urlencoded data defined in HTML5 from given object.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign object = '{\"foo\": \"bar\", \"zoo\": [{ \"xoo\": 1 }, {\"xoo\": 2}]}' | parse_json\nassign form_data = object | www_form_encode_rc\n =\u003e \"foo=bar\u0026zoo[0][xoo]=555\u0026zoo[1][xoo]=999\",","parameter":false,"display_type":"text","show_data_tab":true}]}]
|
4
|
+
[{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ -3 | abs }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the absolute value of a number.","syntax":"number | abs","name":"abs"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | add_to_time","name":"add_to_time","aliases":[],"parameters":[{"description":"","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"number","required":false,"types":["Number"]},{"description":"time unit - allowed options are: y, years, mo, months, w, weeks, d [default], days, h, hours, m, minutes, s, seconds","name":"unit","required":false,"types":["String"]}],"return_type":[{"type":"time","name":"","description":"modified time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'now' | add_to_time: 1, 'w' }} # =\u003e returns current time plus one week","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'now' | add_to_time: 3, 'mo' }} # =\u003e returns current time plus three months","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | advanced_format","name":"advanced_format","aliases":[],"parameters":[{"description":"object you want to format","name":"argument_to_format","required":false,"types":["Untyped"]},{"description":"should look like: %[flags][width][.precision]type. For more examples and information see: https://ruby-doc.org/core-2.5.1/Kernel.html#method-i-sprintf","name":"format","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"formatted string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 3.124 | advanced_format: '%.2f' }} =\u003e 3.12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 3 | advanced_format: '%.2f' }} =\u003e 3.00\nIn the example above flags is not present, width is not present (refers to the total final\nlength of the string), precision \".2\" means 2 digits after the decimal point,\ntype \"f\" means floating point","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Converts amount in given currency to fractional. For example, convert USD to cents."],"summary":"returns ","syntax":"numeric | amount_to_fractional","name":"amount_to_fractional","aliases":[],"parameters":[{"description":"amount to be changed to fractional","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"number","name":"","description":"Amount in fractional, for example cents for USD","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | amount_to_fractional: 'USD' }} =\u003e 1050","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | amount_to_fractional: 'JPY' }} =\u003e 11","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign path = product.url -%}\n\n{{ request.origin | append: path }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds a given string to the end of a string.","syntax":"string | append: string","name":"append"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_add","name":"array_add","aliases":["add_to_array"],"parameters":[{"description":"array to which you add a new element","name":"array","required":false,"types":["Array"]},{"description":"item you add to the array","name":"item","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"array to which you add the item given as the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign array = 'a,b,c' | split: ',' %}\n{{ array | array_add: 'd' }} =\u003e ['a', 'b', 'c', 'd']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_any","name":"array_any","aliases":["any"],"parameters":[{"description":"array to search in","name":"array","required":false,"types":["Array"]},{"description":"String/Number compared to each item in the given array","name":"query","required":false,"types":["String","Number"]}],"return_type":[{"type":"boolean","name":"","description":"checks if given array contains at least one of the queried string/number","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = 'foo,bar' | split: ',' %}\n{{ elements | array_any: 'foo' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Removes blank elements from the array"],"summary":"returns ","syntax":"array | array_compact","name":"array_compact","aliases":["compact"],"parameters":[{"description":"array with some blank values","name":"array","required":false,"types":["Array","Hash"]},{"description":"optionally if you provide Hash as argument, you can remove elements which given key is blank","name":"property","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"array from which blank values are removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1,' | split: ',' | array_add: false | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1,' | split: ',' | array_add: null | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json empty_object %}{}{% endparse_json %}\n{{ '1,' | split: ',' | array_add: empty_object | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign empty_array = ',' | split: ',' %}\n{{ '1,' | split: ',' | array_add: empty_array | array_add: '2' | array_compact }} =\u003e 12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json hash %}[{ \"hello\": null }, { \"hello\" =\u003e \"world\" }, { \"hello\" =\u003e \"\" }]{% endparse_json %}\n{{ hash | array_compact: \"hello\" }} =\u003e [{ \"hello\": \"world\" }]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_delete","name":"array_delete","aliases":[],"parameters":[{"description":"array to process","name":"array","required":false,"types":["Array"]},{"description":"value to remove","name":"element","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"the initial array that has all occurences of \"element\" removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign test = ['test', 'test2', 'test', 'test3']\nassign arr = test | array_delete: 'test'\n =\u003e ['test2', 'test3']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_delete_at","name":"array_delete_at","aliases":[],"parameters":[{"description":"array to process","name":"array","required":false,"types":["Array"]},{"description":"array index to remove","name":"index","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the initial array that has the element at index removed","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign test = ['test', 'test2']\nassign arr = test | array_delete_at: 1\n =\u003e ['test']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_detect","name":"array_detect","aliases":["detect"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"untyped","name":"","description":"first object from the collection that matches the specified conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"}]\n{{ objects | array_detect: foo: 2 }} =\u003e {\"foo\":2,\"bar\":\"b\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_find_index","name":"array_find_index","aliases":[],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with indices from collection that matches provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_find_index: foo: 2 }} =\u003e [1, 3]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_flatten","name":"array_flatten","aliases":["flatten"],"parameters":[{"description":"array of arrays to be processed","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"with objects","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ array_of_arrays }} =\u003e [[1,2], [3,4], [5,6]]\n{{ array_of_arrays | array_flatten }} =\u003e [1,2,3,4,5,6]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Transforms array into hash, with keys equal to the values of object's method name and value being array containing objects"],"summary":"returns ","syntax":"array | array_group_by","name":"array_group_by","aliases":["group_by"],"parameters":[{"description":"array to be grouped","name":"objects","required":false,"types":["Array"]},{"description":"method name to be used to group Objects","name":"method_name","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"the original array grouped by method\nspecified by the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json objects %}\n [\n { \"size\": \"xl\", \"color\": \"red\"},\n { \"size\": \"xl\", \"color\": \"yellow\"},\n { \"size\": \"s\", \"color\": \"red\"}\n ]\n{% endparse_json %}\n\n{{ objects | array_group_by: 'size' }} =\u003e {\"xl\"=\u003e[{\"size\"=\u003e\"xl\", \"color\"=\u003e\"red\"}, {\"size\"=\u003e\"xl\", \"color\"=\u003e\"yellow\"}], \"s\"=\u003e[{\"size\"=\u003e\"s\", \"color\"=\u003e\"red\"}]}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Transforms array in array of arrays, each subarray containing exactly N elements"],"summary":"returns ","syntax":"array | array_in_groups_of","name":"array_in_groups_of","aliases":["in_groups_of"],"parameters":[{"description":"array to be split into groups","name":"array","required":false,"types":["Array"]},{"description":"the size of each group the array is to be split into","name":"number_of_elements","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the original array split into groups of the size\nspecified by the second parameter (an array of arrays)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = '1,2,3,4' | split: ',' %}\n{{ elements | array_in_groups_of: 3 }} =\u003e [[1, 2, 3], [4, null, null]]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"[any](#any) filter","description":["Checks if array includes element"],"summary":"returns ","syntax":"array | array_include","name":"array_include","aliases":["is_included_in_array"],"parameters":[{"description":"array of elements to look into","name":"array","required":false,"types":["Array"]},{"description":"look for this element inside the array","name":"el","required":false,"types":["Untyped"]}],"return_type":[{"type":"boolean","name":"","description":"whether the array includes the element given","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign elements = 'a,b,c,d' | split: ',' %}\n{{ elements | array_include: 'c' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Finds index of an object in the array"],"summary":"returns ","syntax":"array | array_index_of","name":"array_index_of","aliases":[],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"object to search for","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"","name":"","description":"Integer position of object in array if found or nil otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [1,'abc',3]\n{{ objects | array_index_of: 'abc' }} =\u003e 1","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_intersect","name":"array_intersect","aliases":["intersection"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of objects to be processed","name":"other_array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"that exists in both arrays","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign array = '1,2,3,4' | split: ','\n assign other_array = '3,4,5,6' | split: ','\n%}\n\n{{ array | array_intersect: other_array }} =\u003e [3,4]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_limit","name":"array_limit","aliases":["limit"],"parameters":[{"description":"array to shrink","name":"array","required":false,"types":["Array"]},{"description":"number of elements to be returned","name":"limit","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"parameter; [1,2,3,4] limited to 2 elements gives [1,2]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"items =\u003e [{ id: 1, name: 'foo', label: 'Foo' }, { id: 2, name: 'bar', label: 'Bar' }]\n{{ items | array_limit: 1 }} =\u003e [{ id: 1, name: 'foo', label: 'Foo' }]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_map","name":"array_map","aliases":["map_attributes"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of keys to be extracted","name":"attributes","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"array of arrays with values for given keys","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ items }} =\u003e [{ id: 1, name: 'foo', label: 'Foo' }, { id: 2, name: 'bar', label: 'Bar' }]\n{{ items | array_map: 'id', 'name' }} =\u003e [[1, 'foo'], [2, 'bar']]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_prepend","name":"array_prepend","aliases":["prepend_to_array"],"parameters":[{"description":"array to which you prepend a new element","name":"array","required":false,"types":["Array"]},{"description":"item you prepend to the array","name":"item","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"array to which you prepend the item given as the second parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign array = 'a,b,c' | split: ',' %}\n{{ array | array_prepend: 'd' }} =\u003e ['d', 'a', 'b', 'c']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_reject","name":"array_reject","aliases":["reject"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with objects from collection that don't match provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_reject: foo: 2 }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":3,\"bar\":\"c\"}]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_rotate","name":"array_rotate","aliases":["rotate"],"parameters":[{"description":"array to be rotated","name":"array","required":false,"types":["Array"]},{"description":"number of times to rotate the input array","name":"count","required":false,"types":["Number"]}],"return_type":[{"type":"array","name":"","description":"the input array rotated by a number of times given as the second\nparameter; [1,2,3,4] rotated by 2 gives [3,4,1,2]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign numbers = \"1,2,3\" | split: \",\" %}\n{{ numbers | array_rotate }} =\u003e [2,3,1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_select","name":"array_select","aliases":["select"],"parameters":[{"description":"array of objects to be processed","name":"objects","required":false,"types":["Array"]},{"description":"hash with conditions { field_name: value }","name":"conditions","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"with objects from collection that matches provided conditions","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ objects }} =\u003e [{\"foo\":1,\"bar\":\"a\"},{\"foo\":2,\"bar\":\"b\"},{\"foo\":3,\"bar\":\"c\"},{\"foo\":2,\"bar\":\"d\"}]\n{{ objects | array_select: foo: 2 }} =\u003e [{\"foo\":2,\"bar\":\"b\"},{\"foo\":2,\"bar\":\"d\"}]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_shuffle","name":"array_shuffle","aliases":["shuffle_array"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"array with shuffled items","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ items }} =\u003e [1, 2, 3, 4]\n{{ items | array_shuffle }} =\u003e [3, 2, 4, 1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_sort_by","name":"array_sort_by","aliases":["sort_by"],"parameters":[{"description":"Array of Hash to be sorted by a key","name":"input","required":false,"types":["Array"]},{"description":"property by which to sort an Array of Hashes","name":"property","required":false,"types":["Untyped"]}],"return_type":[{"type":"array","name":"","description":"Sorted object (Array of Hash)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"array1 is [{\"title\": \"Tester\", \"value\": 1}, {\"title\": \"And\", \"value\": 2}]\n{{ array1 | array_sort_by: \"title\" }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_subtract","name":"array_subtract","aliases":["subtract_array"],"parameters":[{"description":"array of objects to be processed","name":"array","required":false,"types":["Array"]},{"description":"array of objects to be processed","name":"other_array","required":false,"types":["Array"]}],"return_type":[{"type":"array","name":"","description":"that is a difference between two arrays","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign array = '1,2' | split: ','\n assign other_array = '2' | split: ','\n%}\n\n{{ array | array_subtract: other_array }} =\u003e [1]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | array_sum","name":"array_sum","aliases":["sum_array"],"parameters":[{"description":"array with values to be summarised","name":"array","required":false,"types":["Array"]}],"return_type":[{"type":"number","name":"","description":"summarised value of array","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign numbers = '[1,2,3]' | parse_json %}\n{{ numbers | array_sum }} =\u003e 6","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Removes duplicate elements from an array"],"summary":"returns ","syntax":"array | array_uniq","name":"array_uniq","aliases":[],"parameters":[{"description":"array to be processed","name":"input","required":false,"types":["Array"]},{"description":"String property to be used as the comparison key\n{% assign result = \"[[1,2],[1,2],[3,4]]\" | array_uniq %}\n{{ result }} =\u003e \"[[1,2],[3,4]]\"","name":"property","required":false,"types":null}],"return_type":[{"type":"array","name":"","description":"Returns an array with duplicate elements removed","array_value":""}],"examples":[]},{"category":"string","deprecated":true,"deprecation_reason":"[asset_url](#asset_url) filter","description":["Generates relative path to an asset, including `updated` query parameter"],"summary":"returns ","syntax":"string | asset_path","name":"asset_path","aliases":[],"parameters":[{"description":"path to the asset, relative to assets directory","name":"file_path","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"relative path to the physical file decorated with updated param to invalidate CDN cache. Always prefer asset_url,","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ \"valid/file.jpg\" | asset_path }} =\u003e /assets/valid/file.jpg?updated=1565632488\n{{ \"nonexistent/file.jpg\" | asset_path }} =\u003e /assets/nonexistent/file.jpg","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Generates CDN url to an asset"],"summary":"returns ","syntax":"string | asset_url","name":"asset_url","aliases":[],"parameters":[{"description":"path to the asset, relative to assets directory","name":"file_path","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"URL to the physical file if existing, root asset URL otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ \"valid/file.jpg\" | asset_url }} =\u003e https://cdn-server.com/valid/file.jpg?updated=1565632488\n{{ \"nonexistent/file.jpg\" | asset_url }} =\u003e https://cdn-server.com/assets/nonexistent/file.jpg","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | at_least: 5 }}\n{{ 4 | at_least: 3 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Limits a number to a minimum value.","syntax":"number | at_least","name":"at_least"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 6 | at_most: 5 }}\n{{ 4 | at_most: 5 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Limits a number to a maximum value.","syntax":"number | at_most","name":"at_most"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | base64_decode","name":"base64_decode","aliases":[],"parameters":[{"description":"Base64 encoded string","name":"base64_string","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"decoded string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'aGVsbG8gYmFzZTY0\\n' | base64_decode }} =\u003e 'hello base64'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | base64_encode","name":"base64_encode","aliases":[],"parameters":[{"description":"string to be encoded","name":"bin","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Returns the Base64-encoded version of bin. This method complies with RFC 2045. Line feeds are added to every 60 encoded characters.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'hello base64' | base64_encode }} =\u003e 'aGVsbG8gYmFzZTY0'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'this sentence should start with a capitalized word.' | capitalize }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Capitalizes the first word in a string and downcases the remaining characters.","syntax":"string | capitalize","name":"capitalize"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 1.2 | ceil }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number up to the nearest integer.","syntax":"number | ceil","name":"ceil"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | compute_hmac","name":"compute_hmac","aliases":[],"parameters":[{"description":"message to be authenticated","name":"data","required":false,"types":["String"]},{"description":"secret key","name":"secret","required":false,"types":["String"]},{"description":"defaults to SHA256. Supported algorithms are:\nSHA, SHA1, SHA224, SHA256, SHA384, SHA512, MD4, MDC2, MD5, RIPEMD160, DSS1.","name":"algorithm","required":false,"types":["String"]},{"description":"defaults to hex. Supported digest values are hex, none, base64","name":"digest","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Keyed-hash message authentication code (HMAC), that can\nbe used to authenticate requests from third\nparty apps, e.g. Stripe webhooks requests","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'some_data' | compute_hmac: 'some_secret', 'MD4' }} =\u003e 'cabff538af5f97ccc27d481942616492'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"\u003e Note:\n\u003e The `concat` filter won't filter out duplicates. If you want to remove duplicates, then you need to use the\n\u003e [`uniq` filter](/docs/api/liquid/filters/uniq).","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign types_and_vendors = collection.all_types | concat: collection.all_vendors -%}\n\nTypes and vendors:\n\n{% for item in types_and_vendors -%}\n {%- if item != blank -%}\n - {{ item }}\n {%- endif -%}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Concatenates (combines) two arrays.","syntax":"array | concat: array","name":"concat"},{"category":"format","deprecated":false,"deprecation_reason":"","description":"The `date` filter accepts the same parameters as Ruby's strftime method for formatting the date. For a list of shorthand\nformats, refer to the [Ruby documentation](https://ruby-doc.org/core-3.1.1/Time.html#method-i-strftime) or\n[strftime reference and sandbox](http://www.strfti.me/).","parameters":[{"description":"The desired date format.","name":"format","required":false,"types":["string"]}],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: '%B %d, %Y' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"The current date","description":"You can apply the `date` filter to the keywords `'now'` and `'today'` to output the current timestamp.\n\n\u003e Note:\n\u003e The timestamp will reflect the time that the Liquid was last rendered. Because of this, the timestamp might not be updated for every page view, depending on the context and caching.\n","syntax":"","path":"/","raw_liquid":"{{ 'now' | date: '%B %d, %Y' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"format","description":"Specify a locale-aware date format. You can use the following formats:\n\n- `abbreviated_date`\n- `basic`\n- `date`\n- `date_at_time`\n- `default`\n- `on_date`\n- `short` (deprecated)\n- `long` (deprecated)\n\n\u003e Note:\n\u003e You can also [define custom formats](/docs/api/liquid/filters/date-setting-format-options-in-locale-files) in your theme's locale files.\n","syntax":"string | date: format: string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: format: 'abbreviated_date' }}","parameter":true,"display_type":"text","show_data_tab":true},{"name":"Setting format options in locale files","description":"You can define custom date formats in your [theme's storefront locale files](/themes/architecture/locales/storefront-locale-files). These custom formats should be included in a `date_formats` category:\n\n```json\n\"date_formats\": {\n \"month_day_year\": \"%B %d, %Y\"\n}\n```\n","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.created_at | date: format: 'month_day_year' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Converts a timestamp into another date format.","syntax":"string | date: string","name":"date"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | date_add","name":"date_add","aliases":["add_to_date"],"parameters":[{"description":"","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"number","required":false,"types":["Number"]},{"description":"time unit - allowed options are: y, years, mo, months, w, weeks, d [default], days, h, hours, m, minutes, s, seconds","name":"unit","required":false,"types":["String"]}],"return_type":[{"type":"date","name":"","description":"modified Date","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | date_add: 1 }} =\u003e 2010-01-02\n{{ '2010-01-01' | date_add: 1, 'mo' }} =\u003e 2010-02-01","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Filter allowing to decrypt data encrypted with a specified algorithm. See encrypt filter for encryption."],"summary":"returns ","syntax":"string | decrypt","name":"decrypt","aliases":[],"parameters":[{"description":"string payload to be decrypted - must be a Base64 encoded (RFC 4648) or HEX (if from_hex flag true) string","name":"payload","required":false,"types":["String"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"a key used for encryption. Key must match the algorithm requirments. For asymmetric algorithms there are public and private keys that need to passed in PEM format.","name":"key","required":false,"types":["String"]},{"description":"- a Hash with additional options to control the decryption algorithm","name":"options","required":false,"types":null}],"return_type":[{"type":"string","name":"","description":"String - decrypted string using the algorithm of your choice. Initialization Vector (iv) is expected to be present in the encrypted payload at the beginning.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ some_payload | decrypt: 'aes-256-cbc', 'ThisPasswordIsReallyHardToGuessA' }} =\u003e decrypted string from payload\n{{ \"43553EEDD9BFE36D10F99E931245CF8826903C00D235DFD300B3CC40BD263A621FC2FB9F5C3743F75D399A912AFABF92371927C6D190E0EFF19EAE9802320391FED79D92009796403EC6B426E901AB981CE53A43557C295F3D6FC9678EE0557F\" | decrypt: 'aes-128-ecb', '4FCD5FAE2AC493C0F8CE8E1E6105D194', true, true, true }} =\u003e iframe=true;customer.firstName=John;customer.lastName=Smith;header.accountNumber=6759370;header.authToken1=12345;header.paymentTypeCode=UTILITY;header.amount=123.45","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | deep_clone","name":"deep_clone","aliases":[],"parameters":[{"description":"object to be duplicated","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"untyped","name":"","description":"returns a copy of the object parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign some_hash_copy = some_hash | deep_clone %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"default","deprecated":false,"deprecation_reason":"","description":"","parameters":[{"description":"Whether to use false values instead of the default.","name":"allow_false","required":false,"types":["boolean"]}],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.selected_variant.url | default: product.url }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"allow_false","description":"By default, the `default` filter's value will be used in place of `false` values. You can use the `allow_false` parameter to allow variables to return `false` instead of the default value.\n","syntax":"variable | default: variable, allow_false: boolean","path":"/products/health-potion","raw_liquid":"{%- assign display_price = false -%}\n\n{{ display_price | default: true, allow_false: true }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sets a default value for any variable whose value is one of the following:\n\n- [`empty`](/docs/api/liquid/basics#empty)\n- [`false`](/docs/api/liquid/basics#truthy-and-falsy)\n- [`nil`](/docs/api/liquid/basics#nil)","syntax":"variable | default: variable","name":"default"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | digest","name":"digest","aliases":[],"parameters":[{"description":"message that you want to obtain a cryptographic hash for","name":"object","required":false,"types":["String"]},{"description":"the hash algorithm to use. Choose from: 'md5', 'sha1', 'sha256', 'sha384', 'sha512'. Default is sha1.","name":"algorithm","required":false,"types":["String"]},{"description":"defaults to hex. Supported digest values are hex, none, base64","name":"digest","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"hexadecimal hash value obtained by applying the selected algorithm to the message","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | digest }} =\u003e '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'\n{{ 'foo' | digest: 'sha256' }} =\u003e '2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae'\n{{ 'foo' | digest: 'sha256', 'base64' }} =\u003e 'LCa0a2j/xo/5m0U8HTBBNBNCLXBkg7+g+YpeiGJm564='\n{{ 'foo' | digest: 'sha256', 'none' }} =\u003e ',\u0026\\xB4kh\\xFF\\xC6\\x8F\\xF9\\x9BE\u003c\\x1D0A4\\x13B-pd\\x83\\xBF\\xA0\\xF9\\x8A^\\x88bf\\xE7\\xAE'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | divided_by: 2 }}\n\n# divisor is an integer\n{{ 20 | divided_by: 7 }}\n\n# divisor is a float \n{{ 20 | divided_by: 7.0 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Divides a number by a given number. The `divided_by` filter produces a result of the same type as the divisor. This means if you divide by an integer, the result will be an integer, and if you divide by a float, the result will be a float.","syntax":"number | divided_by: number","name":"divided_by"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.title | downcase }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts a string to all lowercase characters.","syntax":"string | downcase","name":"downcase"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | download_file","name":"download_file","aliases":[],"parameters":[{"description":"url to a remote file","name":"url","required":false,"types":["String"]},{"description":"max file size of the file, default 1 megabyte. Can't exceed 50 megabytes.","name":"max_size","required":false,"types":["Number"]}],"return_type":[{"type":"string","name":"","description":"Body of the remote file","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'http://www.example.com/my_file.txt' | download_file }} =\u003e \"Content of a file\"\n{% assign data = 'https://example.com/data.json' | download_file | parse_json %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["The filter returns a string with the encoding changed to the one specified by the 'destination_encoding' parameter. The filter changes the string itself (its representation in memory) by first determining which graphical characters the underlying bytes in the string represent in the 'source_encoding', and then changing the bytes to encode the same graphical characters in 'destination_encoding'."],"summary":"returns ","syntax":"string | encode","name":"encode","aliases":[],"parameters":[{"description":"input string that we want to reencode","name":"text","required":false,"types":["String"]},{"description":"the encoding of the source string text","name":"source_encoding","required":false,"types":["String"]},{"description":"the encoding we want the source string text converted to","name":"destination_encoding","required":false,"types":["String"]},{"description":"if set to 'replace', invalid byte sequences for the source_encoding will be replaced with the replace parameter","name":"invalid","required":false,"types":["String"]},{"description":"if set to 'replace', characters which do not exist in the destination encoding will be replaced by the 'replace' parameter","name":"undefined","required":false,"types":["String"]},{"description":"used together with the invalid and undefined parameters","name":"replace","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input string with encoding modified from source_encoding to destination_encoding","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | encode: \"ISO-8859-1\", 'UTF-8', invalid: 'replace', undefined: 'replace', replace: '??' }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["The filter returns the encoding of the string parameter (i.e. how the underlying bytes in the string are interpreted to determine which graphical characters they encode)."],"summary":"returns ","syntax":"string | encoding","name":"encoding","aliases":[],"parameters":[{"description":"input string whose encoding we want to find","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"encoding of the string text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | encoding }} =\u003e 'UTF-8'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Filter allowing to encrypt data with specified algorithm. See decrypt filter for decryption"],"summary":"returns ","syntax":"string | encrypt","name":"encrypt","aliases":[],"parameters":[{"description":"string payload to be encrypted","name":"payload","required":false,"types":["String"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"a key used for encryption. Key must match the algorithm requirments. For asymmetric algorithms there are public and private keys that need to passed in PEM format.","name":"key","required":false,"types":["String"]},{"description":"- initialization vector, if not provided we will automatically generate one","name":"iv","required":false,"types":["optional"]},{"description":"- a Hash with additional options to control the encrypt algorithm","name":"options","required":false,"types":null}],"return_type":[{"type":"string","name":"","description":"Base64 encoded (RFC 4648) (or HEX if return_hex is true) encrypted string using the algorithm of your choice. Initialization Vector (iv) will be appended","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture payload %}\n {\n \"key\": \"value\",\n \"another_key\": \"another value\"\n }\n{% endcapture %}\n{{ payload | encrypt: 'aes-256-cbc', 'ThisPasswordIsReallyHardToGuessA' }} =\u003e Kkuo2eWEnTbcrtbGjAmQVMTjptS5elsgqQe-5blHpUR-ziHPI45n2wOnY30DVZGldCTNqMT_Ml0ZFiGiupKGD4ZWxVIMkdCHaq4XgiAIUew=\n{{ \"step=2;header.amount=10;header.paymentTypeCode=ONLINE;customer.firstName=John\" | encrypt: 'aes-128-ecb', '4C6C821832AAFFF2749852CEED2FE74F', null, true, true, 32 }} =\u003e 43553EEDD9BFE36D10F99E931245CF8826903C00D235DFD300B3CC40BD263A621FC2FB9F5C3743F75D399A912AFABF92371927C6D190E0EFF19EAE9802320391FED79D92009796403EC6B426E901AB981CE53A43557C295F3D6FC9678EE0557F","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Check if string ends with given substring(s)"],"summary":"returns ","syntax":"string | end_with","name":"end_with","aliases":[],"parameters":[{"description":"string to check ends with any of the provided suffixes","name":"string","required":false,"types":["String"]},{"description":"suffix to check","name":"suffixes","required":false,"types":["String","Array"]}],"return_type":[{"type":"boolean","name":"","description":"true if string ends with a suffixes","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | end_with: 'example' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | end_with: 'my' } =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign suffixes = ['array', 'example'] | parse_json %}\n{{ 'my_example' | end_with: suffixes } =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ '\u003cp\u003eText to be escaped.\u003c/p\u003e' | escape }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Escapes special characters in HTML, such as `\u003c\u003e`, `'`, and `\u0026`, and converts characters into escape sequences. The filter doesn't effect characters within the string that don’t have a corresponding escape sequence.\".","syntax":"string | escape","name":"escape"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | escape_javascript","name":"escape_javascript","aliases":[],"parameters":[{"description":"text to be escaped","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"escaped text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture js %}\nvar msg = 'hello world';\nfunction yell(x) {\n if (!x) { return; }\n return x + \"!!!\";\n}\nyell(msg).\n{% endcapture %}\n\n{{ js | escape_javascript }}\n=\u003e \\nvar msg = \\'hello world\\';\\nfunction yell(x) {\\n if (!x) { return; }\\n return x + \\\"!!!\\\";\\n}\\nyell(msg).\\n","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Creates url based on provided named parameters to the template"],"summary":"returns ","syntax":"string | expand_url_template","name":"expand_url_template","aliases":[],"parameters":[{"description":"URL template. Read more at https://tools.ietf.org/html/rfc6570","name":"template","required":false,"types":["String"]},{"description":"hash with data injected into template","name":"params","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"expanded URL","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/{city}/{street}\" %}\n{{ template | expand_url_template: city: \"Sydney\", street: \"BlueRoad\" }}\n=\u003e /search/Sydney/BlueRoad","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search{?city,street}\" %}\n{{ template | expand_url_template: city: \"Sydney\", street: \"BlueRoad\" }}\n=\u003e /search?city=Sydney\u0026street=BlueRoad","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Extracts named parameters from the url"],"summary":"returns ","syntax":"string | extract_url_params","name":"extract_url_params","aliases":[],"parameters":[{"description":"URL with params to extract","name":"url","required":false,"types":["String"]},{"description":"URL template, works also with array of templates. Read more at https://tools.ietf.org/html/rfc6570","name":"templates","required":false,"types":["String","Array"]}],"return_type":[{"type":"hash","name":"","description":"hash with extracted params","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/{city}/{street}\" %}\n{{ \"/search/Sydney/BlueRoad\" | extract_url_params: template }} =\u003e {\"city\":\"Sydney\",\"street\":\"BlueRoad\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/{first}/{-list|\\/|second}\" %}\n{{ \"/a/b/c/\" | extract_url_params: template }} =\u003e {\"first\":\"a\",\"second\":[\"b\", \"c\"]}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/{first}/{second}{?limit,offset}\" %}\n{{ \"/my/path?limit=10\u0026offset=0\" | extract_url_params: template }} =\u003e {\"first\":\"my\",\"second\":\"path\",\"limit\":\"10\",\"offset\":\"0\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"/search/-list|+|query\" %}\n{{ \"/search/this+is+my+query\" | extract_url_params: template }} =\u003e {\"query\":[\"this\",\"is\",\"my\",\"query\"]}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign template = \"{+location}/listings\" %}\n{{ \"/Warsaw/Poland/listings\" | extract_url_params: template }} =\u003e {\"location\":\"/Warsaw/Poland\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign first_product = collection.products | first -%}\n\n{{ first_product.title }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Dot notation","description":"You can use the `first` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.products.first.title }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the first item in an array.","syntax":"array | first","name":"first"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 1.2 | floor }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number down to the nearest integer.","syntax":"number | floor","name":"floor"},{"category":"string","deprecated":false,"deprecation_reason":"","description":["The filter returns a string with the encoding changed to the one specified by the 'encoding' parameter. The filter does not change the string itself (its representation in memory) but changes how the underlying bytes in the string are interpreted to determine which characters they encode"],"summary":"returns ","syntax":"string | force_encoding","name":"force_encoding","aliases":[],"parameters":[{"description":"input string whose encoding we want modified","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input string with encoding modified to the one specified by the encoding parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | force_encoding: \"ISO-8859-1\" }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | format_number","name":"format_number","aliases":[],"parameters":[{"description":"string (numberlike), integer or float to format","name":"number","required":false,"types":["Untyped"]},{"description":"formatting options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"formatted number","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111.2345 | format_number }} # =\u003e 111.235","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111.2345 | format_number: precision: 2 }} # =\u003e 111.23","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 111 | format_number: precision: 2 }} # =\u003e 111.00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1111.2345 | format_number: precision: 2, separator: ',', delimiter: '.' }} # =\u003e 1.111,23","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Converts currency in fractional to whole amount. For example, convert cents to USD."],"summary":"returns ","syntax":"integer | fractional_to_amount","name":"fractional_to_amount","aliases":[],"parameters":[{"description":"fractional amount","name":"amount","required":false,"types":["Integer","String"]},{"description":"currency to be used","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"number","name":"","description":"converted fractional amount","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10.50 | fractional_to_amount: 'USD' }} =\u003e 10","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1050 | fractional_to_amount: 'JPY' }} =\u003e 1050","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_add_key","name":"hash_add_key","aliases":["add_hash_key","assign_to_hash_key"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"","name":"key","required":false,"types":["String"]},{"description":"","name":"value","required":false,"types":["Untyped"]}],"return_type":[{"type":"hash","name":"","description":"hash with added key","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign accountants = \"Angela,Kevin,Oscar\" | split: \",\"\n assign management = \"David,Jan,Michael\" | split: \",\"\n assign company = '{}' | parse_json\n assign company = company | hash_add_key: \"name\", \"Dunder Mifflin\"\n assign company = company | hash_add_key: \"accountants\", accountants\n assign company = company | hash_add_key: \"management\", management\n%}\n{{ company }} =\u003e {\"name\"=\u003e\"Dunder Mifflin\", \"accountants\"=\u003e[\"Angela\", \"Kevin\", \"Oscar\"], \"management\"=\u003e[\"David\", \"Jan\", \"Michael\"]}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_delete_key","name":"hash_delete_key","aliases":["delete_hash_key","remove_hash_key"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"untyped","name":"","description":"value which was assigned to a deleted key. If the key did not exist in the first place, null is returned.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign hash = '{ \"a\": \"1\", \"b\": \"2\"}' | parse_json\n assign a_value = hash | hash_delete_key: \"a\"\n%}\n{{ a_value }} =\u003e \"1\"\n{{ hash }} =\u003e { \"b\": \"2\" }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Generates a list of additions (+), deletions (-) and changes (~) from given two ojects."],"summary":"returns ","syntax":"variable | hash_diff","name":"hash_diff","aliases":[],"parameters":[{"description":"","name":"hash1","required":false,"types":["Hash"]},{"description":"","name":"hash2","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"array containg the difference between two hashes","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{ \"a\": 1, \"c\": \"5 \", \"d\": 6, \"e\": { \"f\": 5.12 } }' | parse_json\n assign b = '{ \"b\": 2, \"c\": \"5\", \"d\": 5, \"e\": { \"f\": 5.13 } }' | parse_json\n%}\n{{ a | hash_diff: b }} =\u003e [[\"-\",\"a\",1],[\"~\",\"c\",\"5 \",\"5\"],[\"~\",\"d\",6,5],[\"~\",\"e.f\",5.12,5.13],[\"+\",\"b\",2]]\n{{ a | hash_diff: b, strip: true }} =\u003e [[\"-\",\"a\",1],[\"~\",\"d\",6,5],[\"~\",\"e.f\",5.12,5.13],[\"+\",\"b\",2]]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_dig","name":"hash_dig","aliases":["dig"],"parameters":[{"description":"","name":"hash","required":false,"types":["Hash"]},{"description":"comma separated sequence of string keys to dig down the hash","name":"keys","required":false,"types":["Array"]}],"return_type":[{"type":"untyped","name":"","description":"Extracted nested value specified by the sequence of keys by calling dig at each step,\nreturning null if any intermediate step is null.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json user_json %}\n{\n \"name\": {\n \"first\": \"John\"\n \"last\": \"Doe\"\n }\n}\n{% endparse_json %}\n{{ user_json | hash_dig: \"name\", \"first\" }} =\u003e \"John\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"use [dig](#dig) filter","description":[],"summary":"returns ","syntax":"variable | hash_fetch","name":"hash_fetch","aliases":["fetch"],"parameters":[{"description":"input hash to be traversed","name":"hash","required":false,"types":["Hash"]},{"description":"key to be fetched from hash branch","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json users %}\n[{\n \"name\": \"Jane\"\n}, {\n \"name\": \"Bob\"\n}]\n{% endparse_json %}\n{{ users | first | hash_fetch: \"name\" }} =\u003e \"Jane\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_keys","name":"hash_keys","aliases":[],"parameters":[{"description":"input hash","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign data = null | hash_merge: foo: 'fooval', bar: 'barval'\n%}\n\n{{ data | hash_keys }} =\u003e [\"foo\", \"bar\"]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_merge","name":"hash_merge","aliases":[],"parameters":[{"description":"","name":"hash1","required":false,"types":["Hash"]},{"description":"","name":"hash2","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"new hash containing the contents of hash1 and the contents of hash2.\nOn duplicated keys we keep value from hash2","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{\"a\": 1, \"b\": 2 }' | parse_json\n assign b = '{\"b\": 3, \"c\": 4 }' | parse_json\n assign new_hash = a | hash_merge: b\n%}\n{{ new_hash }} =\u003e { \"a\": 1, \"b\": 3, \"c\": 4 }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign a = '{\"a\": 1}' | parse_json\n assing a = a | hash_merge: b: 2, c: 3\n %}\n{{ a }} =\u003e { \"a\": 1, \"b\": 2, \"c\": 3 }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_sort","name":"hash_sort","aliases":[],"parameters":[{"description":"Hash to be sorted","name":"input","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Sorted hash","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign hash1 = '{\"key2\": \"value2\", \"key1\": \"value1\"}' | parse_json %}\n{{ hash1 | hash_sort }} =\u003e {\"key1\": \"value1\", \"key2\": \"value2\"}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign hash1 = '{\"a\": 1, \"c\": 2, \"b\": 3}' | parse_json %}\n{{ hash1 | hash_sort }} =\u003e {\"a\": 1, \"b\": 3, \"c\": 2}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hash_values","name":"hash_values","aliases":[],"parameters":[{"description":"input hash","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"array","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign data = null | hash_merge: foo: 'fooval', bar: 'barval'\n%}\n\n{{ data | hash_values }} =\u003e [\"fooval\", \"barval\"]","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | hcaptcha","name":"hcaptcha","aliases":[],"parameters":[{"description":"params sent to the server","name":"params","required":false,"types":["Hash"]}],"return_type":[{"type":"boolean","name":"","description":"whether the parameters are valid hcaptcha verification parameters","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ context.params | hcaptcha }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | html_safe","name":"html_safe","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"set raw_text to true to stop it from unescaping HTML entities","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"string that can be rendered with all HTML tags, by default all variables are escaped.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello\u003c/h1\u003e' }} =\u003e '\u0026lt;h1\u0026gt;Hello\u0026lt;/h1\u003e\u0026gt;'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello\u003c/h1\u003e' | html_safe }} =\u003e '\u003ch1\u003eHello\u003c/h1\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cscript\u003ealert(\"Hello\")\u003c/script\u003e' }} =\u003e \u003cscript\u003ealert(\"Hello\")\u003c/script\u003e - this will just print text in the source code of the page","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cscript\u003ealert(\"Hello\")\u003c/script\u003e' | html_safe }} =\u003e \u003cscript\u003ealert(\"Hello\")\u003c/script\u003e - this script will be evaluated when a user enters the page","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'abc \u0026quot; def' | html_safe: raw_text: true }} =\u003e 'abc \u0026quot; def'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'abc \u0026quot; def' | html_safe: raw_text: false }} =\u003e 'abc \" def'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | html_to_text","name":"html_to_text","aliases":[],"parameters":[{"description":"html to be converted to text","name":"html","required":false,"types":["String"]},{"description":"optional. Default root_element: null, remove_nodes: 'script, link, style', replace_newline: ' '","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"text without any html tags","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003ch1\u003eHello \u003ca href=\"#\"\u003eworld\u003c/a\u003e\u003c/h1\u003e' }} =\u003e 'Hello world'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | humanize","name":"humanize","aliases":[],"parameters":[{"description":"input string to be transformed","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"a human readable string derived from the input; capitalizes the first word, turns\nunderscores into spaces, and strips a trailing '_id' if present. Used for creating a formatted output (e.g. by replacing underscores with spaces, capitalizing the first word, etc.).","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'car_model' | humanize }} =\u003e 'Car model'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'customer_id' | humanize }} =\u003e 'Customer'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_date_before","name":"is_date_before","aliases":["date_before"],"parameters":[{"description":"time to compare to the second parameter","name":"first_time","required":false,"types":["String","Integer","Date","Time"]},{"description":"time against which the first parameter is compared to","name":"second_time","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"boolean","name":"","description":"returns true if the first time is lower than the second time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-02' | date_before: '2010-01-03' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '6 months ago' | date_before: '2010-01-03' }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1 day ago' | date_before: 'now' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_date_in_past","name":"is_date_in_past","aliases":[],"parameters":[{"description":"time object, can also be a string","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"boolean","name":"","description":"true if time passed is in the past, false otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | is_date_in_past }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '3000-01-01' | is_date_in_past }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_email_valid","name":"is_email_valid","aliases":[],"parameters":[{"description":"String containing potentially valid email","name":"email","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether or not the argument is a valid email","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign valid = 'john@example.com' | is_email_valid %}\nvalid =\u003e true\n\n{% assign valid = 'john@' | is_email_valid %}\nvalid =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | is_json_valid","name":"is_json_valid","aliases":[],"parameters":[{"description":"String containing potentially valid JSON","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether or not the argument is a valid JSON","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign valid = '{ \"name\": \"foo\", \"bar\": {} }' | is_json_valid %}\nvalid =\u003e true\n\n{% assign valid = '{ \"foo\" }' | is_json_valid %}\nvalid =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | is_parsable_date","name":"is_parsable_date","aliases":[],"parameters":[{"description":"object that can be a date","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"boolean","name":"","description":"whether the parameter can be parsed as a date","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2021/2' | is_parsable_date }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Temporary token is valid for desired number of hours (by default 48), which you can use to authorize the user in third party application. To do it, include it in a header with name UserTemporaryToken. Token will be invalidated on password change."],"summary":"returns ","syntax":"string | is_token_valid","name":"is_token_valid","aliases":[],"parameters":[{"description":"encrypted token generated via the temporary_token GraphQL property","name":"token","required":false,"types":["String"]},{"description":"id of the user who generated the token","name":"user_id","required":false,"types":["Number"]}],"return_type":[{"type":"boolean","name":"","description":"returns true if the token has not expired and was generated for the given user, false otherwise","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% token = '1234' %}\n{{ token | is_token_valid: context.current_user.id }} =\u003e false","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.all_tags | join }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Custom separator","description":"You can specify a custom separator for the joined items.\n","syntax":"array | join: string","path":"/collections/sale-potions","raw_liquid":"{{ collection.all_tags | join: ', ' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Combines all of the items in an array into a single string, separated by a space.","syntax":"array | join","name":"join"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | json","name":"json","aliases":["to_json"],"parameters":[{"description":"object you want a JSON representation of","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"JSON formatted string containing a representation of object.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ user | json }} =\u003e {\"name\":\"Mike\",\"email\":\"mike@mail.com\"}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | jwe_encode","name":"jwe_encode","aliases":["jwe_encode_rc"],"parameters":[{"description":"JSON body string that will be encypted","name":"json","required":false,"types":["String"]},{"description":"Public key","name":"key","required":false,"types":["String"]},{"description":"- Key Management Algorithm used to encrypt or determine the value of the Content Encryption Key.\nValid options:\n Single Asymmetric Public/Private Key Pair\n RSA1_5\n RSA-OAEP\n RSA-OAEP-256\n Two Asymmetric Public/Private Key Pairs with Key Agreement\n ECDH-ES\n ECDH-ES+A128KW\n ECDH-ES+A192KW\n ECDH-ES+A256KW\n Symmetric Password Based Key Derivation\n PBES2-HS256+A128KW\n PBES2-HS384+A192KW\n PBES2-HS512+A256KW\n Symmetric Key Wrap\n A128GCMKW\n A192GCMKW\n A256GCMKW\n A128KW\n A192KW\n A256KW\n Symmetric Direct Key (known to both sides)\n dir","name":"alg","required":false,"types":["required"]},{"description":"- Encryption Algorithm used to perform authenticated encryption on the plain text using the Content Encryption Key.\nValid options:\n A128CBC-HS256\n A192CBC-HS384\n A256CBC-HS512\n A128GCM\n A192GCM\n A256GCM","name":"enc","required":false,"types":["required"]}],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | jwt_decode","name":"jwt_decode","aliases":[],"parameters":[{"description":"encoded JWT token you want to decode","name":"encoded_token","required":false,"types":["String"]},{"description":"the algorithm that was used to encode the token","name":"algorithm","required":false,"types":["String"]},{"description":"either a shared secret or a PUBLIC key for RSA","name":"secret","required":false,"types":["String"]},{"description":"default true, for testing and debugging can remove verifying the signature","name":"verify_signature","required":false,"types":["Boolean"]},{"description":"JWK is a structure representing a cryptographic key. Currently only supports RSA public keys.\nValid options:\n none - unsigned token\n HS256 - SHA-256 hash algorithm\n HS384 - SHA-384 hash algorithm\n HS512 - SHA-512 hash algorithm\n RS256 - RSA using SHA-256 hash algorithm\n RS384 - RSA using SHA-384 hash algorithm\n RS512 - RSA using SHA-512 hash algorithm","name":"jwks","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"result of decoding JWT token","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign original_payload = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.XT8sHXyPTA9DoHzssXh1q6Uv2D1ENosW0F3Ixle85L0' | jwt_decode: 'HS256', 'this-is-secret' %} =\u003e\n[\n {\n \"key\" =\u003e \"value\",\n \"another_key\" =\u003e \"another value\"\n },\n {\n \"typ\" =\u003e \"JWT\",\n \"alg\" =\u003e \"HS256\"\n }\n]","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"RSA:\n{% capture public_key %}\n-----BEGIN PUBLIC KEY-----\nMIIBI...\n-----END PUBLIC KEY-----\n{% endcapture %}\n{% assign original_payload = 'some encoded token' | jwt_decode: 'RS256', public_key %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | jwt_encode","name":"jwt_encode","aliases":[],"parameters":[{"description":"payload or message you want to encrypt","name":"payload","required":false,"types":["Hash"]},{"description":"algorithm you want to use for encryption","name":"algorithm","required":false,"types":["String"]},{"description":"either a shared secret or a private key for RSA","name":"secret","required":false,"types":["String"]},{"description":"optional hash of custom headers to be added to default { \"typ\": \"JWT\", \"alg\": \"[algorithm]\" }","name":"header_fields","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"JWT token encrypted using the algorithm of your choice","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json payload %}\n{\n \"key\": \"value\",\n \"another_key\": \"another value\"\n}\n{% endparse_json %}\n\n{{ payload | jwt_encode: 'HS256', 'this-is-secret' }} =\u003e 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.XT8sHXyPTA9DoHzssXh1q6Uv2D1ENosW0F3Ixle85L0'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% parse_json payload %}\n{\n \"key\": \"value\",\n \"another_key\": \"another value\"\n}\n{% endparse_json %}\n\n{% parse_json headers %}\n{\n \"cty\": \"custom\"\n}\n{% endparse_json %}\n\n{{ payload | jwt_encode: 'HS256', 'this-is-secret', headers }} =\u003e 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6ImN1c3RvbSJ9.eyJrZXkiOiJ2YWx1ZSIsImFub3RoZXJfa2V5IjoiYW5vdGhlciB2YWx1ZSJ9.5_-LcqcbLMeswMw04UfXqDyqAEk1x-Pwi9nwGMqxHtQ'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"RSA:\n{% capture private_key %}\n-----BEGIN RSA PRIVATE KEY-----\nMIIEpA...\n-----END RSA PRIVATE KEY-----\n{% endcapture %}\n{% assign jwt_token = payload | jwt_encode: 'RS256', private_key %}\n{% comment %} Please note that storing private key as a plain text in a code is not a good idea. We suggest you\n provide the key via Partner Portal and use context.constants.\u003cname of private key constant\u003e instead.{% endcomment %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"untyped","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{%- assign last_product = collection.products | last -%}\n\n{{ last_product.title }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Dot notation","description":"You can use the `last` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.products.last.title }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the last item in an array.","syntax":"array | last","name":"last"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | localize","name":"localize","aliases":["l"],"parameters":[{"description":"parsable time object to be formatted","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"the format to be used for formatting the time; default is 'long'; other values can be used:\nthey are taken from translations, keys are of the form 'time.formats.#!{format_name}'","name":"format","required":false,"types":["String"]},{"description":"the time zone to be used for time","name":"zone","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"string, nil","name":"","description":"formatted representation of the passed parsable time","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01' | localize }} =\u003e 'January 01, 2010'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'in 14 days' | localize: 'long', '', '2011-03-15' }} =\u003e 'March 14, 2011'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | lstrip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the left of a string.","syntax":"string | lstrip","name":"lstrip"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | map","name":"map","aliases":[],"parameters":[{"description":"array of Hash to be processed. Nulls are skipped.","name":"object","required":false,"types":["Array"]},{"description":"name of the hash key for which all values should be returned\nin array of objects","name":"key","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"array which includes all values for a given key","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign objects = '[{\"id\":1,\"name\":\"foo\",\"label\":\"Foo\"},{\"id\":2,\"name\":\"bar\",\"label\":\"Bar\"}]' | parse_json %}\n{{ objects | map: 'name' }} =\u003e ['foo', 'bar']","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{%- assign product_titles = collection.products | map: 'title' -%}\n\n{{ product_titles | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Creates an array of values from a specific property of the items in an array.","syntax":"array | map: string","name":"map"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | markdown","name":"markdown","aliases":["markdownify"],"parameters":[{"description":"text using markdown syntax","name":"text","required":false,"types":["String"]},{"description":"string representing a JSON object with options for the sanitizer","name":"options","required":false,"types":["String"]},{"description":"string representing a JSON object with additional options for the sanitizer which can override the options param; pass nil for the options param to use the default options which extra_options could then override","name":"extra_options","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"processed text with markdown syntax changed to sanitized HTML.\nWe allow only safe tags and attributes by default. We also automatically add `rel=nofollow` to links. Default configuration is:\n{\n \"elements\": [\"a\",\"abbr\",\"b\",\"blockquote\",\"br\",\"cite\",\"code\",\"dd\",\"dfn\",\"dl\",\"dt\",\"em\",\"i\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"img\",\"kbd\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"s\",\"samp\",\"small\",\"strike\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"ul\",\"var\"],\n \"attributes\":{\n \"a\": [\"href\"],\n \"abbr\":[\"title\"],\n \"blockquote\":[\"cite\"],\n \"img\":[\"align\",\"alt\",\"border\",\"height\",\"src\",\"srcset\",\"width\"],\n \"dfn\":[\"title\"],\n \"q\":[\"cite\"],\n \"time\":[\"datetime\",\"pubdate\"]\n },\n \"add_attributes\": { \"a\" : {\"rel\":\"nofollow\"} },\n \"protocols\": {\n \"a\":{\"href\":[\"ftp\",\"http\",\"https\",\"mailto\",\"relative\"]},\n \"blockquote\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"q\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"img\": {\"src\": [\"http\",\"https\",\"relative\"] }\n }\n}","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '**Foo**' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '**Foo**' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '# Foo' | markdown }} =\u003e '\u003ch1\u003eFoo\u003c/h1\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Automatically add rel=nofollow to links\n{{ '[Foo link](https://example.com)' | markdown }} =\u003e '\u003cp\u003e\u003ca href=\"https://example.com\" rel=\"nofollow\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '\u003cb\u003eFoo\u003c/b\u003e' | markdown }} =\u003e '\u003cb\u003eFoo\u003c/b\u003e'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Tags not enabled by default are removed\n{{ '\u003cdiv class=\"hello\" style=\"font-color: red; font-size: 99px;\"\u003eFoo\u003c/div\u003e' | markdown }} =\u003e 'Foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Attributes not enabled by default are removed\n{{ '\u003cdiv class=\"hello\" style=\"font-color: red; font-size: 99px;\"\u003eFoo\u003c/div\u003e' | markdown: '{ \"elements\": [ \"div\" ] }' }} =\u003e '\u003cdiv\u003eFoo\u003c/div\u003e' # @example","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Specify custom tags with attributes","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Using extra_options to override options\n{% assign link1 = '[Foo link](https://example.com)' | markdown: nil, '{ \"add_attributes\": { \"a\": { \"custom_attr\": \"custom_value\", \"rel\": null } } }' %}\n{{ link1 }} =\u003e \u003cp\u003e\u003ca href=\"https://example.com\" custom_attr=\"custom_value\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e\n\n{% assign link2 = '[Foo link](https://example.com)' | markdown: nil, '{ \"add_attributes\": { \"a\": {} } }' %}\n{{ link2 }} =\u003e \u003cp\u003e\u003ca href=\"https://example.com\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e\n\n{% assign link3 = '[Foo link](https://example.com)' | markdown: nil, '{ \"add_attributes\": { \"a\": { \"custom_attr\": \"custom_value\" } } }' %}\n{{ link3 }} =\u003e \u003cp\u003e\u003ca href=\"https://example.com\" rel=\"nofollow\" custom_attr=\"custom_value\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e\n\n{% assign link4 = '[Foo link](https://example.com)' | markdown %}\n{{ link4 }} =\u003e \u003cp\u003e\u003ca href=\"https://example.com\" rel=\"nofollow\"\u003eFoo link\u003c/a\u003e\u003c/p\u003e","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | matches","name":"matches","aliases":[],"parameters":[{"description":"string to check against the regular expression","name":"text","required":false,"types":["String"]},{"description":"string representing a regular expression pattern against which\nto match the first parameter","name":"regexp","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"whether the given string matches the given regular expression; returns null if","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | matches: '[a-z]' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 4 | minus: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Subtracts a given number from another number.","syntax":"number | minus: number","name":"minus"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 12 | modulo: 5 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns the remainder of dividing a number by a given number.","syntax":"number | modulo: number","name":"modulo"},{"category":"string","deprecated":true,"deprecation_reason":"use built in `newline_to_br` filter","description":[],"summary":"returns ","syntax":" | new_line_to_br","name":"new_line_to_br","aliases":["nl2br"],"parameters":[],"return_type":[],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.description | newline_to_br }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts newlines (`\\n`) in a string to HTML line breaks (`\u003cbr\u003e`).","syntax":"string | newline_to_br","name":"newline_to_br"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | pad_left","name":"pad_left","aliases":[],"parameters":[{"description":"string to pad","name":"str","required":false,"types":["String"]},{"description":"minimum length of output string","name":"count","required":false,"types":["Number"]},{"description":"string to pad with","name":"symbol","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"returns string padded from left to the length of count with the symbol character","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | pad_left: 5 }} =\u003e ' foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'Y' | pad_left: 3, 'X' }} =\u003e 'XXY'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parameterize","name":"parameterize","aliases":[],"parameters":[{"description":"input string to be 'parameterized'","name":"text","required":false,"types":["String"]},{"description":"string to be used as separator in the output string; default is '-'","name":"separator","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"replaces special characters in a string so that it may be used as part of a 'pretty' URL;\nthe default separator used is '-';","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | parameterize }} =\u003e 'john-arrived_foo'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parse_csv","name":"parse_csv","aliases":["parse_csv_rc"],"parameters":[{"description":"CSV","name":"input","required":false,"types":["String"]},{"description":"parse csv options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"array of arrays","name":"","description":"Array","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign csv = \"name,description\\nname-1,description-1\\nname-2,description-2\\n\"\n\n {{ csv | parse_csv }} =\u003e [['name', 'description'], ['name-1', 'description-1'], ['name-2', 'description-2']]\n {{ csv | parse_csv: convert_to_hash: true }} =\u003e [{name: 'name-1', description: 'description-1'}, {name: 'name-2', description: 'description-2'}]\n%}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | parse_json","name":"parse_json","aliases":["to_hash"],"parameters":[{"description":"String containing valid JSON","name":"object","required":false,"types":["Untyped"]},{"description":"set to raw_text true to stop it from unescaping HTML entities","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Hash created based on JSON","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign text = '{ \"name\": \"foo\", \"bar\": {} }'\n assign object = text | parse_json\n%}\n{{ object.name }} =\u003e 'foo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '{ \"key\": \"abc \u0026quot; def\" }' | parse_json: raw_text: false }} =\u003e { \"key\": 'abc \" def' }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '{ \"key\": \"abc \u0026quot; def\" }' | parse_json: raw_text: true }} =\u003e { \"key\": 'abc \u0026quot; def' }","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | parse_xml","name":"parse_xml","aliases":["xml_to_hash"],"parameters":[{"description":"String containing valid XML","name":"xml","required":false,"types":["String"]},{"description":"attr_prefix: use '@' for element attributes, force_array: always try to use arrays for child elements","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"hash","name":"","description":"Hash created based on XML","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign text = '\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\u003cletter\u003e\u003ctitle maxlength=\"10\"\u003e Quote Letter \u003c/title\u003e\u003c/letter\u003e'\n assign object = text | parse_xml\n%}\n{{ object }} =\u003e '{\"letter\":[{\"title\":[{\"maxlength\":\"10\",\"content\":\" Quote Letter \"}]}]}'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Use either singular or plural version of a string, depending on provided count"],"summary":"returns ","syntax":"string | pluralize","name":"pluralize","aliases":[],"parameters":[{"description":"string to be pluralized","name":"string","required":false,"types":["String"]},{"description":"optional count number based on which string will be pluralized or singularized","name":"count","required":false,"types":["Number"]}],"return_type":[{"type":"string","name":"","description":"pluralized version of the input string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'dog' | pluralize: 1 }} =\u003e 'dog'\n{{ 'dog' | pluralize: 2 }} =\u003e 'dogs'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2 | plus: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds two numbers.","syntax":"number | plus: number","name":"plus"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign origin = request.origin -%}\n\n{{ product.url | prepend: origin }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Adds a given string to the beginning of a string.","syntax":"string | prepend: string","name":"prepend"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"numeric | pricify","name":"pricify","aliases":[],"parameters":[{"description":"amount to be formatted","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used for formatting","name":"currency","required":false,"types":["String"]},{"description":"optional. Default no_cents_if_whole: true","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"formatted price using global price formatting rules","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 0 | pricify }} =\u003e $0","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify }} =\u003e $1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1.20 | pricify }} =\u003e $1.20","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1000000 | pricify }} =\u003e $1,000,000","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"PLN\" }} =\u003e 1 zł","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"JPY\" }} =\u003e ¥1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify: \"USD\", no_cents_if_whole: false }} =\u003e $1.00","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Adds currency symbol and proper commas. It is used to showing prices to people."],"summary":"returns ","syntax":"numeric | pricify_cents","name":"pricify_cents","aliases":[],"parameters":[{"description":"amount in cents to be formatted","name":"amount","required":false,"types":["Numeric","String"]},{"description":"currency to be used for formatting","name":"currency","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"formatted price using the global price formatting rules","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents }} =\u003e $0.01","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 100 | pricify_cents }} =\u003e $1","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1000000 | pricify_cents }} =\u003e $10,000","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents: \"PLN\" }} =\u003e 0.01 zł","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 1 | pricify_cents: \"JPY\" }} =\u003e ¥1","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | querify","name":"querify","aliases":[],"parameters":[{"description":"hash to be \"querified\"","name":"hash","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"a query string","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ hash }} =\u003e { 'name' =\u003e 'Dan', 'id' =\u003e 1 }","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ hash | querify }} =\u003e 'name=Dan\u0026id=1'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"int | random_string","name":"random_string","aliases":[],"parameters":[{"description":"how many random characters should be included; default is 12","name":"length","required":false,"types":["Int"]}],"return_type":[{"type":"string","name":"","description":"returns a random alphanumeric string of given length","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 10 | random_string }} =\u003e '6a1ee2629'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | raw_escape_string","name":"raw_escape_string","aliases":[],"parameters":[{"description":"input string to be HTML-escaped","name":"value","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"HTML-escaped input string; returns a string with its HTML tags visible in\nthe browser","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo\u003cb\u003ebar\u003c/b\u003e' | raw_escape_string }} =\u003e 'foo\u0026amp;lt;b\u0026amp;gt;bar\u0026amp;lt;/b\u0026amp;gt;'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | regex_matches","name":"regex_matches","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"regexp to use for matching","name":"regexp","required":false,"types":["String"]},{"description":"can contain 'ixm'; i - ignore case, x - extended, m # - multiline (e.g. 'ix', 'm', 'mi' etc.)","name":"options","required":false,"types":["String"]}],"return_type":[{"type":"array","name":"","description":"matches for the expression in the string;\neach item in the array is an array containing all groups of matches; for example\nfor the regex (.)(.) and the text 'abcdef', the result will look like:\n[[\"a\", \"b\"], [\"c\", \"d\"], [\"e\", \"f\"]]","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"To retrieve the URL from a meta tag see the example below:\n\n{% liquid\n assign text = '\u003chtml\u003e\u003chead\u003e\u003cmeta property=\"og:image\" content=\"http://somehost.com/someimage.jpg\" /\u003e\u003c/head\u003e\u003cbody\u003econtent\u003c/body\u003e\u003c/html\u003e' | html_safe %}\n assign matches = text | regex_matches: '\u003cmeta\\s+property=\"og:image\"\\s+content=\"([^\"]+)\"'\n if matches.size \u003e 0\n assign image_path = matches[0][0]\n echo image_path\n endif\n%}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ \"I can't do it!\" | remove: \"'t\" }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes any instance of a substring inside a string.","syntax":"string | remove: string","name":"remove"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ \"I hate it when I accidentally spill my duplication potion accidentally!\" | remove_first: ' accidentally' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes the first instance of a substring inside a string.","syntax":"string | remove_first: string","name":"remove_first"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/komodo-dragon-scale","raw_liquid":"{{ product.handle | replace: '-', ' ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Replaces any instance of a substring inside a string with a given string.","syntax":"string | replace: string, string","name":"replace"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/komodo-dragon-scale","raw_liquid":"{{ product.handle | replace_first: '-', ' ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Replaces the first instance of a substring inside a string with a given string.","syntax":"string | replace_first: string, string","name":"replace_first"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | replace_regex","name":"replace_regex","aliases":[],"parameters":[{"description":"","name":"text","required":false,"types":["String"]},{"description":"regexp to use for matching","name":"regexp","required":false,"types":["String"]},{"description":"replacement text, or hash; if hash, keys in\nthe hash must be matched texts and values their replacements","name":"replacement","required":false,"types":["String"]},{"description":"can contain 'ixm'; i - ignore case, x - extended, m # - multiline (e.g. 'ix', 'm', 'mi' etc.)","name":"options","required":false,"types":["String"]},{"description":"whether all occurrences should be replaced or just the first","name":"global","required":false,"types":["Boolean"]}],"return_type":[{"type":"string","name":"","description":"string with regexp pattern replaced by replacement text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"Basic example:\n{{ \"fooooo fooo\" | replace_regex: 'o+', 'o' }} =\u003e \"fo fo\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Global set to false:\n{{ \"fooooo fooo\" | replace_regex: 'o+', 'o', '', false }} =\u003e \"fo fooo\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Hash replacement:\n{% liquid\n assign hash = '{}' | parse_json\n assign hash = hash | hash_add_key: 'ooooo', 'bbbbb'\n assign hash = hash | hash_add_key: 'ooo', 'ccc'\n %}\n{{ \"fooooo fooo\" | replace_regex: 'o+', hash }} =\u003e \"fbbbbb fccc\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Using options, ignore case:\n{{ \"FOOOOO\" | replace_regex: 'o+', 'a', 'i' }} =\u003e \"Fa\"\n{{ \"FOOOOO\" | replace_regex: 'o+', 'a' }} =\u003e \"FOOOOO\"\nUsing options, extended mode (insert spaces, newlines, and comments in the pattern to make it more readable):\n{{ \"FOOOOO\" | replace_regex: 'o+ #comment', 'a', 'ix' }} =\u003e \"Fa\"\nUsing options, multiline (. matches newline):\n{% capture newLine %}\n{% endcapture %}\n{{ \"abc\" | append: newLine | append: \"def\" | append: newLine | append: \"ghi\" | replace_regex: '.+', 'a', 'im' }} =\u003e \"a\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"Matches group:\n{% assign array = \"item 1,item 2,item 3,item 4\" | split: \",\" %}\n{{ array | join: \", \" | replace_regex: \"([^,]+),([^,]+)$\", \"\\1, \u0026\\2\" }} =\u003e item 1, item 2, item 3, \u0026 item 4","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"Original order:\n{{ collection.products | map: 'title' | join: ', ' }}\n\nReverse order:\n{{ collection.products | reverse | map: 'title' | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Reversing strings","description":"You can't use the `reverse` filter on strings directly. However, you can use the [`split` filter](/docs/api/liquid/filters/split) to create an array of characters in the string, reverse that array, and then use the [`join` filter](/docs/api/liquid/filters/join) to combine them again.\n","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.title | split: '' | reverse | join: '' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Reverses the order of the items in an array.","syntax":"array | reverse","name":"reverse"},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2.7 | round }}\n{{ 1.3 | round }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Round to a specific number of decimal places","description":"You can specify a number of decimal places to round to. If you don't specify a number, then the `round` filter rounds to the nearest integer.\n","syntax":"","path":"/","raw_liquid":"{{ 3.14159 | round: 2 }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Rounds a number to the nearest integer.","syntax":"number | round","name":"round"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | rstrip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the right of a string.","syntax":"string | rstrip","name":"rstrip"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | sanitize","name":"sanitize","aliases":[],"parameters":[{"description":"potential malicious html, which you would like to sanitize","name":"input","required":false,"types":["String"]},{"description":"Options to configure which elements and attributes are allowed, example:\n{ \"elements\": [\"a\", \"b\", \"h1\"], \"attributes\": { \"a\": [\"href\"] } }","name":"options","required":false,"types":null},{"description":"deprecated; do not use","name":"whitelist_tags","required":false,"types":["Array"]}],"return_type":[{"type":"string","name":"","description":"Sanitizes HTML input. If you want to allow any HTML, use html_safe filter.\nBy default we allow only safe html tags and attributes. We also automatically add `rel=nofollow` to links. Default configuration is:\n{\n \"elements\": [\"a\",\"abbr\",\"b\",\"blockquote\",\"br\",\"cite\",\"code\",\"dd\",\"dfn\",\"dl\",\"dt\",\"em\",\"i\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"img\",\"kbd\",\"li\",\"mark\",\"ol\",\"p\",\"pre\",\"q\",\"s\",\"samp\",\"small\",\"strike\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"ul\",\"var\"],\n \"attributes\":{\n \"a\": [\"href\"],\n \"abbr\":[\"title\"],\n \"blockquote\":[\"cite\"],\n \"img\":[\"align\",\"alt\",\"border\",\"height\",\"src\",\"srcset\",\"width\"],\n \"dfn\":[\"title\"],\n \"q\":[\"cite\"],\n \"time\":[\"datetime\",\"pubdate\"]\n },\n \"add_attributes\": { \"a\" : {\"rel\":\"nofollow\"} },\n \"protocols\": {\n \"a\":{\"href\":[\"ftp\",\"http\",\"https\",\"mailto\",\"relative\"]},\n \"blockquote\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"q\": {\"cite\": [\"http\",\"https\",\"relative\"] },\n \"img\": {\"src\": [\"http\",\"https\",\"relative\"] }\n }\n}","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture link %}\n \u003ca href=\"javascript:prompt(1)\"\u003eLink\u003c/a\u003e\n{% endcapture %}\n{{ link | sanitize }} =\u003e \u003ca href=\"\"\u003eLink\u003c/a\u003e\n{% assign whitelist_attributes = 'target' | split: '|' %}\n{{ link | sanitize: whitelist_attributes }} =\u003e \u003ca href=\"\"\u003eLink\u003c/a\u003e","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Scrubs invalid characters and sequences from the input string, in the given encoding (by default UTF-8)"],"summary":"returns ","syntax":"string | scrub","name":"scrub","aliases":[],"parameters":[{"description":"string to be scrubbed","name":"text","required":false,"types":["String"]},{"description":"encoding of the input string, default UTF-8","name":"source_encoding","required":false,"types":["String"]},{"description":"encoding of the output string, default UTF-8","name":"final_encoding","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Returns a string scrubbed of invalid characters and sequences; to be used when data is coming from external sources like APIs etc.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign scrubbed = \"Hello W�orld\" | scrub %}\n{{ scrubbed }} =\u003e \"Hello World\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":true,"deprecation_reason":"use [digest](#digest) filter","description":[],"summary":"returns ","syntax":"string | sha1","name":"sha1","aliases":[],"parameters":[{"description":"input object that you want to obtain the digest for","name":"object","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"SHA1 digest of the input object","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo' | sha1 }} =\u003e '0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"The size of a string is the number of characters that the string includes. The size of an array is the number of items\nin the array.","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/sale-potions","raw_liquid":"{{ collection.title | size }}\n{{ collection.products | size }}","parameter":false,"display_type":"text","show_data_tab":false},{"name":"Dot notation","description":"You can use the `size` filter with dot notation when you need to use it inside a tag or object output.\n","syntax":"","path":"/collections/sale-potions","raw_liquid":"{% if collection.products.size \u003e= 10 %}\n There are 10 or more products in this collection.\n{% else %}\n There are less than 10 products in this collection.\n{% endif %}","parameter":false,"display_type":"text","show_data_tab":false}],"summary":"Returns the size of a string or array.","syntax":"variable | size","name":"size"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"By default, the substring has a length of one character, and the array series has one array item. However, you can\nprovide a second parameter to specify the number of characters or array items.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.title | slice: 0 }}\n{{ collection.title | slice: 0, 5 }}\n\n{{ collection.all_tags | slice: 1, 2 | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Negative index","description":"You can supply a negative index which will count from the end of the string.\n","syntax":"","path":"/collections/all","raw_liquid":"{{ collection.title | slice: -3, 3 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Returns a substring or series of array items, starting at a given 0-based index.","syntax":"string | slice","name":"slice"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | slugify","name":"slugify","aliases":[],"parameters":[{"description":"input string to be 'slugified'","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"replaces special characters in a string so that it may be used as part of a 'pretty' URL;","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'John arrived_foo' | slugify }} =\u003e 'john-arrived-foo'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{% assign tags = collection.all_tags | sort %}\n\n{% for tag in tags -%}\n {{ tag }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Sort by an array item property","description":"You can specify an array item property to sort the array items by. You can sort by any property of the object that you're sorting.\n","syntax":"array | sort: string","path":"/collections/all","raw_liquid":"{% assign products = collection.products | sort: 'price' %}\n\n{% for product in products -%}\n {{ product.title }}\n{%- endfor %}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sorts the items in an array in case-sensitive alphabetical, or numerical, order.","syntax":"array | sort","name":"sort"},{"category":"array","deprecated":false,"deprecation_reason":"","description":"\u003e Caution:\n\u003e You shouldn't use the `sort_natural` filter to sort numerical values. When comparing items an array, each item is converted to a\n\u003e string, so sorting on numerical values can lead to unexpected results.","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/collections/all","raw_liquid":"{% assign tags = collection.all_tags | sort_natural %}\n\n{% for tag in tags -%}\n {{ tag }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Sort by an array item property","description":"You can specify an array item property to sort the array items by.\n","syntax":"array | sort_natural: string","path":"/collections/all","raw_liquid":"{% assign products = collection.products | sort_natural: 'title' %}\n\n{% for product in products -%}\n {{ product.title }}\n{%- endfor %}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Sorts the items in an array in case-insensitive alphabetical order.","syntax":"array | sort_natural","name":"sort_natural"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"string"}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{%- assign title_words = product.handle | split: '-' -%}\n\n{% for word in title_words -%}\n {{ word }}\n{%- endfor %}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Splits a string into an array of substrings based on a given separator.","syntax":"string | split: string","name":"split"},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Check if string starts with given substring(s)"],"summary":"returns ","syntax":"string | start_with","name":"start_with","aliases":[],"parameters":[{"description":"string to check if starts with any of the provided prefixes","name":"string","required":false,"types":["String"]},{"description":"prefix(es) to check","name":"prefixes","required":false,"types":["String","Array"]}],"return_type":[{"type":"boolean","name":"","description":"true if string starts with a prefix","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | start_with: 'my' }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'my_example' | start_with: 'example' } =\u003e false","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign prefixes = ['array', 'example'] | parse_json %}\n{{ 'my_example' | start_with: prefixes } =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | strftime","name":"strftime","aliases":[],"parameters":[{"description":"parsable time object","name":"time","required":false,"types":["String","Integer","Date","Time","DateTime"]},{"description":"string representing the desired output format\ne.g. '%Y-%m-%d' will result in '2020-12-21'\nCheatsheet: https://devhints.io/strftime","name":"format","required":false,"types":["String"]},{"description":"string representing the time zone","name":"zone","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"string","name":"","description":"formatted representation of the time object; the formatted representation\nwill be based on what the format parameter specifies","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M' }} =\u003e 2018-05-30 09:12","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign time = '2010-01-01 08:00' | to_time %}\n{{ time | strftime: \"%Y-%m-%d\" }} =\u003e '2010-01-01'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Europe/Warsaw' }} =\u003e 2018-05-30 18:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'America/New_York' }} =\u003e 2018-05-30 12:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Sydney' }} =\u003e 2018-05-31 02:12\n{{ '2018-05-30T09:12:34.000-07:00' | strftime: '%Y-%m-%d %H:%M', 'Pacific/Apia' }} =\u003e 2018-05-31 05:12","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{%- assign text = ' Some potions create whitespace. ' -%}\n\n\"{{ text }}\"\n\"{{ text | strip }}\"","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all whitespace from the left and right of a string.","syntax":"string | strip","name":"strip"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"\u003c!-- With HTML --\u003e\n{{ product.description }}\n\n\u003c!-- HTML stripped --\u003e\n{{ product.description | strip_html }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all HTML tags from a string.","syntax":"string | strip_html","name":"strip_html"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | strip_liquid","name":"strip_liquid","aliases":[],"parameters":[{"description":"text from which to strip liquid","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"input parameter without liquid","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'Hello! {% comment %}This is a comment!{% endcomment %}' | strip_liquid }} =\u003e \"Hello! This is a comment!\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"\u003c!-- With newlines --\u003e\n{{ product.description }}\n\n\u003c!-- Newlines stripped --\u003e\n{{ product.description | strip_newlines }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Strips all newline characters (line breaks) from a string.","syntax":"string | strip_newlines","name":"strip_newlines"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | time_diff","name":"time_diff","aliases":[],"parameters":[{"description":"","name":"start","required":false,"types":["String","Integer","Date","Time"]},{"description":"","name":"finish","required":false,"types":["String","Integer","Date","Time"]},{"description":"time unit - allowed options are: d, days, h, hours, m, minutes, s, seconds, ms, milliseconds [default]","name":"unit","required":false,"types":["String"]},{"description":"defines rounding after comma; default is 3","name":"precision","required":false,"types":["Number"]}],"return_type":[{"type":"number","name":"","description":"duration between start and finish in unit; default is ms (milliseconds)","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign result = 'now' | time_diff: 'in 5 minutes', 'd' %}\n{{ result }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign minutes_until_date = 'now' | time_diff: '2026-10-08 00:00', 'm' %}\n{% comment %}{% background _ = 'commands/foo', delay: minutes_until_date %} %}{% endcomment %}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"math","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"number","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 2 | times: 2 }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Multiplies a number by a given number.","syntax":"number | times: number","name":"times"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | titleize","name":"titleize","aliases":[],"parameters":[{"description":"string to be processed","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"capitalizes all the words and replaces some characters in the string to create\na string in title-case format","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'foo bar_zoo-xx' | titleize }} =\u003e 'Foo Bar Zoo Xx'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"array | to_csv","name":"to_csv","aliases":[],"parameters":[{"description":"array you would like to convert to CSV","name":"input","required":false,"types":["Array"]},{"description":"csv options","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"String containing CSV.\nIf one of the array element contains separator, this element will automatically be wrapped in double quotes.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign arr = '' | split: ','\n assign headers = 'id,header1,header2' | split: ','\n assign row1 = '1,example,value' | split: ','\n assign row2 = '2,another,val2' | split: ','\n assign arr = arr | array_add: headers | array_add: row1 | array_add: row2\n%}\n{{ arr | to_csv }} =\u003e \"id\",\"header1\",\"header2\"\\n1,\"example\",\"value\"\\n2,\"another\",\"val2\"","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ arr | to_csv: force_quotes: true }} =\u003e \"id\",\"header1\",\"header2\"\\n\"1\",\"example\",\"value\"\\n\"2\",\"another\",\"val2\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_date","name":"to_date","aliases":[],"parameters":[{"description":"parsable time object to be converted to date","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"date","name":"","description":"a Date object obtained/parsed from the input object","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010-01-01 8:00:00' | to_date }} =\u003e 2010-01-01","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_mobile_number","name":"to_mobile_number","aliases":[],"parameters":[{"description":"the base part of mobile number","name":"number","required":false,"types":["String"]},{"description":"country for which country code should be used. Can be anything - full name, iso2, iso3","name":"country","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"returns mobile number in E.164 format; recommended for sending sms notifications","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '500 123 999' | to_mobile_number: 'PL' }} =\u003e '+48500123999'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | to_positive_integer","name":"to_positive_integer","aliases":[],"parameters":[{"description":"value to be coerced to positive integer","name":"param","required":false,"types":["Untyped"]},{"description":"default value in case param is not valid positive integer","name":"default","required":false,"types":["Number"]}],"return_type":[{"type":"number","name":"","description":"number that is higher than 0","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1' | to_positive_integer: 2 }} =\u003e 1\n{{ '' | to_positive_integer: 2 }} =\u003e 2","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | to_time","name":"to_time","aliases":[],"parameters":[{"description":"a string representation of time ('today', '3 days ago', 'in 10 minutes' etc.) or a number in UNIX time format or time","name":"time","required":false,"types":["String","Integer","Date","Time"]},{"description":"time zone","name":"zone","required":false,"types":["String"]},{"description":"specific format to be used when parsing time","name":"format","required":false,"types":["String"]},{"description":"sets the time from which operation should be performed","name":"now","required":false,"types":["String","Integer","Date","Time"]}],"return_type":[{"type":"datetime","name":"","description":"a time object created from parsing the string representation of time given as input","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'today' | to_time }} =\u003e 2017-04-15 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'today' | to_time: 'UTC' }} =\u003e 2017-04-15 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '1 day ago' | to_time }} =\u003e 2017-04-14 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '5 days from now' | to_time }} =\u003e 2017-04-19 15:21:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '2010:01:01' | to_time: '', '%Y:%m:%d' }} =\u003e 2010-01-01 00:00:00","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '5 days from now' | to_time '', '', '2019-10-01' }} =\u003e 2019-10-06 00:00:00 # equivalent of {{ '2019-10-01' | add_to_time: 5, 'days' }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"variable | to_xml","name":"to_xml","aliases":["to_xml_rc"],"parameters":[{"description":"hash object that will be represented as xml","name":"object","required":false,"types":["Hash"]},{"description":"attr_prefix: use '@' for element attributes","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"String containing XML","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% liquid\n assign object = '{\"letter\":[{\"title\":[{\"maxlength\":\"10\",\"content\":\" Quote Letter \"}]}]}' | parse_json\n assign xml = object | to_xml\n%}\n{{ object }} =\u003e '\u003cletter\u003e \u003ctitle maxlength=\"10\"\u003e Quote Letter \u003c/title\u003e \u003c/letter\u003e'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | translate","name":"translate","aliases":["t"],"parameters":[{"description":"translation key","name":"key","required":false,"types":["String"]},{"description":"values passed to translation string","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"Translation value taken from translations YML file for the key given as parameter. The value is assumed to be html safe,\nplease use `t_escape` if you provide unsafe argument which can potentially include malicious script.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'beer' | translate }} =\u003e 'cerveza'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'beer' | t }} =\u003e 'cerveza'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'drinks.alcoholic.beer' | t }} =\u003e 'piwo'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'non_existing_translation' | t: default: 'Missing', fallback: false }} =\u003e 'Missing'","parameter":false,"display_type":"text","show_data_tab":true},{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'user-greeting' | t: username: 'Mike' }} =\u003e 'Hello Mike!'","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":["Escapes unsafe arguments passed to the translation and then returns its value"],"summary":"returns ","syntax":"string | translate_escape","name":"translate_escape","aliases":["t_escape"],"parameters":[{"description":"translation key","name":"key","required":false,"types":["String"]},{"description":"values passed to translation string","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"translation value taken from translations YML file for the key given as parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"en.yml\nen:\n user-greeting: Hello %{username}\n\n{{ 'user-greeting' | t_escape: username: '\u003cscript\u003ealert(\"hello\")\u003c/script\u003eMike' }}\n=\u003e will not evaluate the script, it will print out:\nHello \u003cscript\u003ealert(\"hello\")\u003c/script\u003eMike","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":"If the specified number of characters is less than the length of the string, then an ellipsis (`...`) is appended to\nthe truncated string. The ellipsis is included in the character count of the truncated string.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.title | truncate: 15 }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Specify a custom ellipsis","description":"You can provide a second parameter to specify a custom ellipsis. If you don't want an ellipsis, then you can supply an empty string.\n","syntax":"string | truncate: number, string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.title | truncate: 15, '--' }}\n{{ article.title | truncate: 15, '' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Truncates a string down to a given number of characters.","syntax":"string | truncate: number","name":"truncate"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"If the specified number of words is less than the number of words in the string, then an ellipsis (`...`) is appended to\nthe truncated string.\n\n\u003e Caution:\n\u003e HTML tags are treated as words, so you should strip any HTML from truncated content. If you don't strip HTML, then\n\u003e closing HTML tags can be removed, which can result in unexpected behavior.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.content | strip_html | truncatewords: 15 }}","parameter":false,"display_type":"text","show_data_tab":true},{"name":"Specify a custom ellipsis","description":"You can provide a second parameter to specify a custom ellipsis. If you don't want an ellipsis, then you can supply an empty string.\n","syntax":"string | truncatewords: number, string","path":"/blogs/potion-notions/how-to-tell-if-you-have-run-out-of-invisibility-potion","raw_liquid":"{{ article.content | strip_html | truncatewords: 15, '--' }}\n\n{{ article.content | strip_html | truncatewords: 15, '' }}","parameter":true,"display_type":"text","show_data_tab":true}],"summary":"Truncates a string down to a given number of words.","syntax":"string | truncatewords: number","name":"truncatewords"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | type_of","name":"type_of","aliases":[],"parameters":[{"description":"Variable whose type you want returned","name":"variable","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"Type of the variable parameter","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign variable_type = '{ \"name\": \"foo\", \"bar\": {} }' | parse_json | type_of %}\n{{ variable_type }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | unescape_javascript","name":"unescape_javascript","aliases":[],"parameters":[{"description":"text to be unescaped","name":"text","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"unescaped javascript text","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% capture 'js' %}\n\u003cscript\u003e\n let variable = \"\\t some text\\n\";\n let variable2 = 'some text 2';\n let variable3 = `some text`;\n let variable4 = `We love ${variable3}.`;\n \u003c/script\u003e\n{% endcapture %}\n\nThis will return the text to its original form:\n{{ js | escape_javascript | unescape_javascript }}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"array","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"array","name":"","description":"","array_value":"untyped"}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{% assign potion_array = 'invisibility, health, love, health, invisibility' | split: ', ' %}\n\n{{ potion_array | uniq | join: ', ' }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Removes any duplicate items in an array.","syntax":"array | uniq","name":"uniq"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/products/health-potion","raw_liquid":"{{ product.title | upcase }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts a string to all uppercase characters.","syntax":"string | upcase","name":"upcase"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'test%40test.com' | url_decode }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Decodes any [percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) characters\nin a string.","syntax":"string | url_decode","name":"url_decode"},{"category":"string","deprecated":false,"deprecation_reason":"","description":"\u003e Note:\n\u003e Spaces are converted to a `+` character, instead of a percent-encoded character.","parameters":[],"return_type":[{"type":"string","name":"","description":"","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"/","raw_liquid":"{{ 'test@test.com' | url_encode }}","parameter":false,"display_type":"text","show_data_tab":true}],"summary":"Converts any URL-unsafe characters in a string to the\n[percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) equivalent.","syntax":"string | url_encode","name":"url_encode"},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | url_to_qrcode_svg","name":"url_to_qrcode_svg","aliases":[],"parameters":[{"description":"URL to be encoded as QR code","name":"url","required":false,"types":["String"]},{"description":"optional. Defaults: color: \"000\", module_size: 11, shape_rendering: \"crispEdges\", viewbox: false","name":"options","required":false,"types":["Hash"]}],"return_type":[{"type":"string","name":"","description":"either `\u003cpath ...\u003e...\u003c/path\u003e` or `\u003csvg ...\u003e...\u003c/svg\u003e` depending on standalone flag","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"\u003csvg width=\"319\" height=\"319\"\u003e{{ 'https://example.com' | url_to_qrcode_svg, color: '000', module_size: 11 }}\u003c/svg\u003e =\u003e \u003csvg width=\"319\" height=\"319\"\u003e\u003cpath\u003e...\u003c/path\u003e\u003c/svg\u003e","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | useragent","name":"useragent","aliases":[],"parameters":[{"description":"browser user agent from the request header","name":"useragent_header","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"parsed browser user agent information","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ context.headers.HTTP_USER_AGENT | useragent }} =\u003e\n{\n \"device\": {\"family\":\"Other\",\"model\":\"Other\",\"brand\":null},\n \"family\":\"Firefox\",\n \"os\":{\"version\":null,\"family\":\"Windows 7\"},\n \"version\":{\"version\":\"47.0\",\"major\":\"47\",\"minor\":\"0\",\"patch\":null}\n}","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | uuid","name":"uuid","aliases":[],"parameters":[{"description":"parameter will be ignored","name":"_dummy","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"Universally unique identifier v4","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ '' | uuid }} =\u003e \"2d931510-d99f-494a-8c67-87feb05e1594\"\n\n{% assign id = '' | uuid %}\n{{ id }} =\u003e \"b12bd15e-4da7-41a7-b673-272221049c01\"","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | verify_access_key","name":"verify_access_key","aliases":[],"parameters":[{"description":"can be obtained in Partner Portal","name":"access_key","required":false,"types":["String"]}],"return_type":[{"type":"boolean","name":"","description":"check if key is valid","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{% assign access_key = '12345' %}\n{{ access_key | verify_access_key }} =\u003e true","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | video_params","name":"video_params","aliases":[],"parameters":[{"description":"URL to a video on the internet","name":"url","required":false,"types":["String"]}],"return_type":[{"type":"hash","name":"","description":"metadata about video","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"{{ 'https://www.youtube.com/watch?v=8N_tupPBtWQ' | video_params }}\n=\u003e {\"provider\"=\u003e\"YouTube\", \"url\"=\u003e\"https://www.youtube.com/watch?v=8N_tupPBtWQ\", \"video_id\"=\u003e\"8N_tupPBtWQ\", \"embed_url\"=\u003e\"https://www.youtube.com/embed/8N_tupPBtWQ\", \"embed_code\"=\u003e\"\u003ciframe src=\\\"https://www.youtube.com/embed/8N_tupPBtWQ\\\" frameborder=\\\"0\\\" allowfullscreen=\\\"allowfullscreen\\\"\u003e\u003c/iframe\u003e\"},","parameter":false,"display_type":"text","show_data_tab":true}]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"string | videoify","name":"videoify","aliases":[],"parameters":[{"description":"URL to a video on the internet","name":"url","required":false,"types":["String"]}],"return_type":[{"type":"string","name":"","description":"if the given URL is supported, an HTML formatted string containing a video player (inside an iframe)\nwhich will play the video at the given URL; otherwise an empty string is returned","array_value":""}],"examples":[]},{"category":"string","deprecated":false,"deprecation_reason":"","description":[],"summary":"returns ","syntax":"untyped | www_form_encode_rc","name":"www_form_encode_rc","aliases":[],"parameters":[{"description":"data object","name":"object","required":false,"types":["Untyped"]}],"return_type":[{"type":"string","name":"","description":"This generates application/x-www-form-urlencoded data defined in HTML5 from given object.","array_value":""}],"examples":[{"name":"","description":"","syntax":"","path":"","raw_liquid":"assign object = '{\"foo\": \"bar\", \"zoo\": [{ \"xoo\": 1 }, {\"xoo\": 2}]}' | parse_json\nassign form_data = object | www_form_encode_rc\n =\u003e \"foo=bar\u0026zoo[0][xoo]=555\u0026zoo[1][xoo]=999\",","parameter":false,"display_type":"text","show_data_tab":true}]}]
|
5
5
|
|
6
6
|
|