Class: RDoc::Generator::Markdown::Conversion
- Inherits:
-
Object
- Object
- RDoc::Generator::Markdown::Conversion
- Defined in:
- lib/rdoc/generator/markdown/conversion.rb
Overview
Converts RDoc HTML and normalizes generated Markdown.
Class Method Summary collapse
-
.markdownify(input, heading_level_offset: 0) ⇒ String
Converts RDoc HTML into GitHub-flavored Markdown.
Class Method Details
.markdownify(input, heading_level_offset: 0) ⇒ String
Converts RDoc HTML into GitHub-flavored Markdown.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rdoc/generator/markdown/conversion.rb', line 11 def self.markdownify(input, heading_level_offset: 0) fragment = normalized_html_fragment(input) anchor_aliases = tokenize_legacy_anchors(fragment.css("span.legacy-anchor[id]")) document = fragment.document fragment.css("a").each { |link| normalize_link(link, document) } markdown = ReverseMarkdown.convert(fragment, github_flavored: true).dup anchor_aliases.each { |token, id| markdown.gsub!(token, %(<a id="#{id}"></a>)) } normalize_definition_list_code_blocks(markdown).rstrip.gsub(/^(#+)(\s)/) do "#{"#" * [Regexp.last_match(1).length + heading_level_offset, 6].min}#{Regexp.last_match(2)}" end end |