diff --git a/lib/jekyll/tags/highlight.rb b/lib/jekyll/tags/highlight.rb index e1ed4e54..0305f1cf 100644 --- a/lib/jekyll/tags/highlight.rb +++ b/lib/jekyll/tags/highlight.rb @@ -42,7 +42,7 @@ eos def render(context) prefix = context["highlighter_prefix"] || "" suffix = context["highlighter_suffix"] || "" - code = super.to_s.gsub(/^\n+|\n+$/, '') + code = super.to_s.gsub(/^(\n|\r)+|(\n|\r)+$/, '') is_safe = !!context.registers[:site].safe diff --git a/test/test_tags.rb b/test/test_tags.rb index eb547750..c910d12b 100644 --- a/test/test_tags.rb +++ b/test/test_tags.rb @@ -174,10 +174,35 @@ CONTENT end end - context "post content has highlight tag with preceding spaces" do + context "post content has highlight tag with preceding spaces & lines" do setup do fill_post <<-EOS + + [,1] [,2] +[1,] FALSE TRUE +[2,] FALSE TRUE +EOS + end + + should "only strip the preceding newlines" do + assert_match %{
     [,1] [,2]}, @result
+    end
+  end
+
+  context "post content has highlight tag with preceding spaces & Windows-style newlines" do
+    setup do
+      fill_post "\r\n\r\n\r\n     [,1] [,2]"
+    end
+
+    should "only strip the preceding newlines" do
+      assert_match %{
     [,1] [,2]}, @result
+    end
+  end
+
+  context "post content has highlight tag with only preceding spaces" do
+    setup do
+      fill_post <<-EOS
      [,1] [,2]
 [1,] FALSE TRUE
 [2,] FALSE TRUE