From 3c107f8267a5f6e23e6787cbd91a9e1f8c461cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Tue, 19 Oct 2021 12:33:15 +0200 Subject: [PATCH] Adapt to updated markd API --- .../crystal/tools/doc/markd_doc_renderer.cr | 50 ++++++------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/src/compiler/crystal/tools/doc/markd_doc_renderer.cr b/src/compiler/crystal/tools/doc/markd_doc_renderer.cr index f0379e6702b4..8f1c006f2065 100644 --- a/src/compiler/crystal/tools/doc/markd_doc_renderer.cr +++ b/src/compiler/crystal/tools/doc/markd_doc_renderer.cr @@ -44,13 +44,11 @@ class Crystal::Doc::MarkdDocRenderer < Markd::HTMLRenderer end end - def code(node : Markd::Node, entering : Bool) - tag("code") do - if in_link?(node) - output(node.text) - else - literal(expand_code_links(node.text)) - end + def code_body(node : Markd::Node) + if in_link?(node) + output(node.text) + else + literal(expand_code_links(node.text)) end end @@ -115,39 +113,21 @@ class Crystal::Doc::MarkdDocRenderer < Markd::HTMLRenderer end end - def code_block(node : Markd::Node, entering : Bool) - languages = node.fence_language ? node.fence_language.split : nil - code_tag_attrs = attrs(node) - pre_tag_attrs = if @options.prettyprint - {"class" => "prettyprint"} - else - nil - end - - language = languages.try &.first?.try &.strip - language = nil if language.try &.empty? - + def code_block_language(languages) + language = languages.try(&.first?).try(&.strip.presence) if language.nil? || language == "cr" language = "crystal" end + language + end - if language - code_tag_attrs ||= {} of String => String - code_tag_attrs["class"] = "language-#{escape(language)}" - end - - newline - tag("pre", pre_tag_attrs) do - tag("code", code_tag_attrs) do - code = node.text.chomp - if language == "crystal" - literal(Highlighter.highlight code) - else - output(code) - end - end + def code_block_body(node : Markd::Node, language : String?) + code = node.text.chomp + if language == "crystal" + literal(Highlighter.highlight code) + else + output(code) end - newline end private def type_link(type, text)