From 67cf5917e04f4afeaeb9e19a6154f0318f81e577 Mon Sep 17 00:00:00 2001 From: Brett Walker Date: Tue, 11 Sep 2018 18:12:19 -0500 Subject: 'code_block' closer to original implementation - utilize the 'out' method to output the 'fence_info', which converts to utf8 - output 'sourcepos' again --- lib/banzai/renderer/common_mark/html.rb | 14 +++++--------- spec/lib/banzai/filter/markdown_filter_spec.rb | 6 ++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/banzai/renderer/common_mark/html.rb b/lib/banzai/renderer/common_mark/html.rb index 46b609c36b0..0b27316da1b 100644 --- a/lib/banzai/renderer/common_mark/html.rb +++ b/lib/banzai/renderer/common_mark/html.rb @@ -4,15 +4,11 @@ module Banzai class HTML < CommonMarker::HtmlRenderer def code_block(node) block do - code = node.string_content - lang = node.fence_info - lang_attr = lang.present? ? %Q{ lang="#{lang}"} : '' - result = - "
" \
-                "#{ERB::Util.html_escape(code)}" \
-              "
" - - out(result) + out("') + out(escape_html(node.string_content)) + out('') end end end diff --git a/spec/lib/banzai/filter/markdown_filter_spec.rb b/spec/lib/banzai/filter/markdown_filter_spec.rb index a515d07b072..5cf9e698375 100644 --- a/spec/lib/banzai/filter/markdown_filter_spec.rb +++ b/spec/lib/banzai/filter/markdown_filter_spec.rb @@ -40,6 +40,12 @@ describe Banzai::Filter::MarkdownFilter do expect(result).to start_with("
")
       end
+
+      it 'works with utf8 chars in language' do
+        result = filter("```日\nsome code\n```")
+
+        expect(result).to start_with("
")
+      end
     end
 
     context 'using Redcarpet' do
-- 
cgit v1.2.1