UNPKG

cheatsheet

Version:

Cheatsheet boilerplate. Created for the new lesscss.org website, based on Shopify Cheat Sheet by Mark Dunkley.

124 lines 4.43 kB
{ "ATTENTION": "Do not edit this file; changes belong in the appropriate YAML file.", "overview": "Set Delimiter tags are used to change the tag delimiters for all content\nfollowing the tag in the current compilation unit.\n\nThe tag's content MUST be any two non-whitespace sequences (separated by\nwhitespace) EXCEPT an equals sign ('=') followed by the current closing\ndelimiter.\n\nSet Delimiter tags SHOULD be treated as standalone when appropriate.\n", "tests": [ { "name": "Pair Behavior", "data": { "text": "Hey!" }, "expected": "(Hey!)", "template": "{{=<% %>=}}(<%text%>)", "desc": "The equals sign (used on both sides) should permit delimiter changes." }, { "name": "Special Characters", "data": { "text": "It worked!" }, "expected": "(It worked!)", "template": "({{=[ ]=}}[text])", "desc": "Characters with special meaning regexen should be valid delimiters." }, { "name": "Sections", "data": { "section": true, "data": "I got interpolated." }, "expected": "[\n I got interpolated.\n |data|\n\n {{data}}\n I got interpolated.\n]\n", "template": "[\n{{#section}}\n {{data}}\n |data|\n{{/section}}\n\n{{= | | =}}\n|#section|\n {{data}}\n |data|\n|/section|\n]\n", "desc": "Delimiters set outside sections should persist." }, { "name": "Inverted Sections", "data": { "section": false, "data": "I got interpolated." }, "expected": "[\n I got interpolated.\n |data|\n\n {{data}}\n I got interpolated.\n]\n", "template": "[\n{{^section}}\n {{data}}\n |data|\n{{/section}}\n\n{{= | | =}}\n|^section|\n {{data}}\n |data|\n|/section|\n]\n", "desc": "Delimiters set outside inverted sections should persist." }, { "name": "Partial Inheritence", "data": { "value": "yes" }, "expected": "[ .yes. ]\n[ .yes. ]\n", "template": "[ {{>include}} ]\n{{= | | =}}\n[ |>include| ]\n", "desc": "Delimiters set in a parent template should not affect a partial.", "partials": { "include": ".{{value}}." } }, { "name": "Post-Partial Behavior", "data": { "value": "yes" }, "expected": "[ .yes. .yes. ]\n[ .yes. .|value|. ]\n", "template": "[ {{>include}} ]\n[ .{{value}}. .|value|. ]\n", "desc": "Delimiters set in a partial should not affect the parent template.", "partials": { "include": ".{{value}}. {{= | | =}} .|value|." } }, { "name": "Surrounding Whitespace", "data": {}, "expected": "| |", "template": "| {{=@ @=}} |", "desc": "Surrounding whitespace should be left untouched." }, { "name": "Outlying Whitespace (Inline)", "data": {}, "expected": " | \n", "template": " | {{=@ @=}}\n", "desc": "Whitespace should be left untouched." }, { "name": "Standalone Tag", "data": {}, "expected": "Begin.\nEnd.\n", "template": "Begin.\n{{=@ @=}}\nEnd.\n", "desc": "Standalone lines should be removed from the template." }, { "name": "Indented Standalone Tag", "data": {}, "expected": "Begin.\nEnd.\n", "template": "Begin.\n {{=@ @=}}\nEnd.\n", "desc": "Indented standalone lines should be removed from the template." }, { "name": "Standalone Line Endings", "data": {}, "expected": "|\r\n|", "template": "|\r\n{{= @ @ =}}\r\n|", "desc": "\"\\r\\n\" should be considered a newline for standalone tags." }, { "name": "Standalone Without Previous Line", "data": {}, "expected": "=", "template": " {{=@ @=}}\n=", "desc": "Standalone tags should not require a newline to precede them." }, { "name": "Standalone Without Newline", "data": {}, "expected": "=\n", "template": "=\n {{=@ @=}}", "desc": "Standalone tags should not require a newline to follow them." }, { "name": "Pair with Padding", "data": {}, "expected": "||", "template": "|{{= @ @ =}}|", "desc": "Superfluous in-tag whitespace should be ignored." } ] }