From 2986df9f1eef1112b2221a52bf0a025611ec4e09 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 2 Oct 2012 11:26:28 -0500 Subject: don't insert extra newlines for blocks --- lib/Text/Xslate/Syntax/Handlebars.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/Text/Xslate/Syntax/Handlebars.pm') diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm index 934a83b..4741d7f 100644 --- a/lib/Text/Xslate/Syntax/Handlebars.pm +++ b/lib/Text/Xslate/Syntax/Handlebars.pm @@ -97,14 +97,21 @@ sub preprocess { my @chunks = $self->split_tags($input); my $code = ''; + my $suppress_newline; for my $chunk (@chunks) { my ($type, $content) = @$chunk; if ($type eq 'text') { $content =~ s/(["\\])/\\$1/g; - $code .= qq{print_raw "$content";\n}; + $content =~ s/^\n// + if $suppress_newline; + $code .= qq{print_raw "$content";\n} + if length($content); + $suppress_newline = 0; } elsif ($type eq 'code') { $code .= qq{$content;\n}; + $suppress_newline = 1 + if $content =~ m{^[#/]}; } elsif ($type eq 'raw_code') { $code .= qq{mark_raw $content;\n}; -- cgit v1.2.3-54-g00ecf