[KEYWORD_MIXIN(5):mixin][WHITESPACE(1): ][MIXIN_NAME(4):list][EOL(1):\n]
[WHITESPACE(2):  ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(4):    ][TAG(2):li][WHITESPACE(1): ][TEXT(3):foo][EOL(1):\n]
[WHITESPACE(4):    ][TAG(2):li][WHITESPACE(1): ][TEXT(3):bar][EOL(1):\n]
[WHITESPACE(4):    ][TAG(2):li][WHITESPACE(1): ][TEXT(3):baz][EOL(1):\n]
[KEYWORD_MIXIN(5):mixin][WHITESPACE(1): ][MIXIN_NAME(3):pet][BRACKET_LEFT_PAREN(1):(][IDENTIFIER(4):name][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(2):  ][TAG(2):li][CSS_CLASS(4):.pet][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(4):name][EOL(1):\n]
[EOL(1):\n]
[KEYWORD_MIXIN(5):mixin][WHITESPACE(1): ][MIXIN_NAME(7):article][BRACKET_LEFT_PAREN(1):(][IDENTIFIER(5):title][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(2):  ][CSS_CLASS(8):.article][EOL(1):\n]
[WHITESPACE(4):    ][CSS_CLASS(16):.article-wrapper][EOL(1):\n]
[WHITESPACE(6):      ][TAG(2):h1][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(5):title][EOL(1):\n]
[WHITESPACE(6):      ][KEYWORD_IF(2):if][WHITESPACE(1): ][JAVASCRIPT(5):block][EOL(1):\n]
[WHITESPACE(8):        ][KEYWORD_BLOCK(5):block][EOL(1):\n]
[WHITESPACE(6):      ][KEYWORD_ELSE(4):else][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(19):No content provided][EOL(1):\n]
[EOL(1):\n]
[KEYWORD_MIXIN(5):mixin][WHITESPACE(1): ][MIXIN_NAME(4):link][BRACKET_LEFT_PAREN(1):(][IDENTIFIER(4):href][OPERATOR_COMMA(1):,][WHITESPACE(1): ][IDENTIFIER(4):name][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(2):  ][UNBUFFERED_COMMENT_DELIMITER(3)://-][UNBUFFERED_COMMENT(30): attributes == {class: "btn"}
][WHITESPACE(2):  ][TAG(1):a][BRACKET_LEFT_PAREN(1):(][ATTRIBUTE(5):class][OPERATOR_NOT_EQUALS(2):!=][JAVASCRIPT(16):attributes.class][OPERATOR_COMMA(1):,][WHITESPACE(1): ][ATTRIBUTE(4):href][OPERATOR_ASSIGNMENT(1):=][JAVASCRIPT(4):href][BRACKET_RIGHT_PAREN(1):)][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(4):name][EOL(1):\n]
[EOL(1):\n]
[EOL(1):\n]
[KEYWORD_MIXIN(5):mixin][WHITESPACE(1): ][MIXIN_NAME(4):list][BRACKET_LEFT_PAREN(1):(][IDENTIFIER(2):id][OPERATOR_COMMA(1):,][WHITESPACE(1): ][OPERATOR_REST_ARGUMENTS(3):...][IDENTIFIER(5):items][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(2):  ][TAG(2):ul][BRACKET_LEFT_PAREN(1):(][ATTRIBUTE(2):id][OPERATOR_ASSIGNMENT(1):=][JAVASCRIPT(2):id][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(4):    ][KEYWORD_EACH(4):each][WHITESPACE(1): ][JAVASCRIPT(4):item][WHITESPACE(1): ][KEYWORD_IN(2):in][WHITESPACE(1): ][JAVASCRIPT(5):items][EOL(1):\n]
[WHITESPACE(6):      ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(4):item][EOL(1):\n]
[EOL(1):\n]
[EOL(1):\n]
[DOCTYPE(7):doctype][WHITESPACE(1): ][DOCTYPE_TEMPLATE(4):html][EOL(1):\n]
[TAG(4):html][EOL(1):\n]
[WHITESPACE(4):    ][TAG(5):title][WHITESPACE(1): ][TEXT(19):TODO supply a title][EOL(1):\n]
[WHITESPACE(4):    ][TAG(4):body][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(41):var title = "On Dogs: Man's Best Friend";][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(22):var author = "enlore";][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(38):var theGreat = "<span>escape!</span>";][EOL(1):\n]
[EOL(1):\n]
[WHITESPACE(8):        ][TAG(2):h1][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(5):title][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(83):var riskyBusiness = "<em>Some of the girls are wearing my mother's clothing.</em>";][EOL(1):\n]
[WHITESPACE(8):        ][CSS_CLASS(6):.quote][EOL(1):\n]
[WHITESPACE(12):            ][TAG(1):p][WHITESPACE(1): ][TEXT(6):Joel: ][EXPRESSION_DELIMITER_OPEN(2):!{][JAVASCRIPT(13):riskyBusiness][EXPRESSION_DELIMITER_CLOSE(1):}][EOL(1):\n]
[EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(21):Written with love by ][EXPRESSION_DELIMITER_OPEN(2):#{][JAVASCRIPT(6):author][EXPRESSION_DELIMITER_CLOSE(1):}][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(19):This will be safe: ][EXPRESSION_DELIMITER_OPEN(2):#{][JAVASCRIPT(8):theGreat][EXPRESSION_DELIMITER_CLOSE(1):}][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(32):var msg = "not my inside voice";][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(8):This is ][EXPRESSION_DELIMITER_OPEN(2):#{][JAVASCRIPT(17):msg.toUpperCase()][EXPRESSION_DELIMITER_CLOSE(1):}][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(8):This is ][EXPRESSION_DELIMITER_OPEN(2):#{][JAVASCRIPT(35):msg.toUpperCase() == 'aa' ? 1:'not'][EXPRESSION_DELIMITER_CLOSE(1):}][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][PLAIN_TEXT_DELIMITER(1):.][EOL(1):\n]
[PLAIN_TEXT(276):          If you take a look at this page's source #[a(target="_blank", href="https://github.com/jadejs/jade/blob/master/docs/views/reference/interpolation.jade") on GitHub],
          you'll see several places where the tag interpolation operator is
          used, like so.
][WHITESPACE(8):        ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(12):            ][KEYWORD_EACH(4):each][WHITESPACE(1): ][JAVASCRIPT(3):val][WHITESPACE(1): ][KEYWORD_IN(2):in][WHITESPACE(1): ][JAVASCRIPT(15):[1, 2, 3, 4, 5]][EOL(1):\n]
[WHITESPACE(16):                ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(3):val][EOL(1):\n]
[WHITESPACE(8):        ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(12):            ][KEYWORD_EACH(4):each][WHITESPACE(1): ][JAVASCRIPT(10):val, index][WHITESPACE(1): ][KEYWORD_IN(2):in][WHITESPACE(1): ][JAVASCRIPT(22):['zero', 'one', 'two']][EOL(1):\n]
[WHITESPACE(16):                ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(18):index + ': ' + val][EOL(1):\n]
[WHITESPACE(8):        ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(12):            ][KEYWORD_EACH(4):each][WHITESPACE(1): ][JAVASCRIPT(10):val, index][WHITESPACE(1): ][KEYWORD_IN(2):in][WHITESPACE(1): ][JAVASCRIPT(27):{1:'one',2:'two',3:'three'}][EOL(1):\n]
[WHITESPACE(16):                ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(18):index + ': ' + val][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(16):var values = [];][EOL(1):\n]
[WHITESPACE(8):        ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(12):            ][KEYWORD_EACH(4):each][WHITESPACE(1): ][JAVASCRIPT(3):val][WHITESPACE(1): ][KEYWORD_IN(2):in][WHITESPACE(1): ][JAVASCRIPT(48):values.length ? values : ['There are no values']][EOL(1):\n]
[WHITESPACE(16):                ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(3):val][EOL(1):\n]
[WHITESPACE(8):        ][CODE_DELIMITER(1):-][WHITESPACE(1): ][JAVASCRIPT(9):var n = 0][EOL(1):\n]
[WHITESPACE(8):        ][TAG(2):ul][EOL(1):\n]
[WHITESPACE(12):            ][KEYWORD_WHILE(5):while][WHITESPACE(1): ][JAVASCRIPT(5):n < 4][EOL(1):\n]
[WHITESPACE(16):                ][TAG(2):li][CODE_DELIMITER(1):=][WHITESPACE(1): ][JAVASCRIPT(3):n++][EOL(1):\n]
[EOL(1):\n]
[WHITESPACE(8):        ][UNBUFFERED_COMMENT_DELIMITER(3)://-][UNBUFFERED_COMMENT(5): Use
][WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(4):list][EOL(1):\n]
[WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(4):list][EOL(1):\n]
[WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(7):article][BRACKET_LEFT_PAREN(1):(][JAVASCRIPT(6):'Ahoj'][BRACKET_LEFT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(7):article][BRACKET_LEFT_PAREN(1):(][JAVASCRIPT(13):'Hello world'][BRACKET_LEFT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(12):            ][TAG(1):p][WHITESPACE(1): ][TEXT(10):This is my][EOL(1):\n]
[WHITESPACE(12):            ][TAG(1):p][WHITESPACE(1): ][TEXT(15):Amazing article][EOL(1):\n]
[WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(4):link][BRACKET_LEFT_PAREN(1):(][JAVASCRIPT(6):'/foo'][OPERATOR_COMMA(1):,][JAVASCRIPT(6): 'foo'][BRACKET_LEFT_PAREN(1):)][BRACKET_LEFT_PAREN(1):(][ATTRIBUTE(5):class][OPERATOR_ASSIGNMENT(1):=][JAVASCRIPT(5):"btn"][BRACKET_RIGHT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(8):        ][OPERATOR_PLUS(1):+][MIXIN_NAME(4):list][BRACKET_LEFT_PAREN(1):(][JAVASCRIPT(9):'my-list'][OPERATOR_COMMA(1):,][JAVASCRIPT(2): 1][OPERATOR_COMMA(1):,][JAVASCRIPT(2): 2][OPERATOR_COMMA(1):,][JAVASCRIPT(2): 3][OPERATOR_COMMA(1):,][JAVASCRIPT(2): 4][BRACKET_LEFT_PAREN(1):)][EOL(1):\n]
[WHITESPACE(8):        ][PLAIN_TEXT_DELIMITER(1):|][PLAIN_TEXT(45): Plain text can include <strong>html</strong>][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][EOL(1):\n]
[WHITESPACE(12):            ][PLAIN_TEXT_DELIMITER(1):|][PLAIN_TEXT(34): It must always be on its own line][EOL(1):\n]
[WHITESPACE(8):        ][TAG(1):p][WHITESPACE(1): ][TEXT(44):Plain text can include <strong>html</strong>][EOL(1):\n]
[WHITESPACE(8):        ][TAG(6):script][PLAIN_TEXT_DELIMITER(1):.][EOL(1):\n]
[JAVASCRIPT(119):          if (usingJade)
            console.log('you are awesome')
          else
            console.log('use jade')
][WHITESPACE(8):        ][TAG(1):a][OPERATOR_COLON(1)::][WHITESPACE(1): ][TAG(3):img][EOL(1):\n]
[WHITESPACE(8):        ][TAG(3):img][OPERATOR_DIVISION(1):/]