class Confluence::MarkdownConverter
By default, all documentation should be written in a normal Markdown format. Later, when we're generating/uploading final documentation, we'll use Confluence::MarkdownConverter
to convert normal Markdown into Confluence
specific Markdown confluence.atlassian.com/bitbucketserver/markdown-syntax-guide-776639995.html
Constants
- CONVERTERS
Public Instance Methods
convert(original_markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 24 def convert(original_markdown) return if original_markdown.nil? output = original_markdown CONVERTERS.each do |converter_method| output = send(converter_method, output) end output end
Private Instance Methods
convert_bold(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 58 def convert_bold(markdown) markdown.gsub(/(\*\*)(\w+)(\*\*)/, '*\2*') end
convert_code(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 66 def convert_code(markdown) output_lines = [] markdown.each_line do |line| if line =~ /^\~{3}\w+$/ language = line.gsub("~~~", "").strip output_lines.push("{code:language=#{language}}\n") elsif line =~ /^\~{3}$/ output_lines.push("{code}") else output_lines.push(line) end end output_lines.join end
convert_h1(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 38 def convert_h1(markdown) markdown.gsub(/^(#)([^#].+)$/, 'h1.\2') end
convert_h2(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 42 def convert_h2(markdown) markdown.gsub(/^(##)([^\#].+)$/, 'h2.\2') end
convert_h3(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 46 def convert_h3(markdown) markdown.gsub(/^(###)([^\#].+)$/, 'h3.\2') end
convert_h4(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 50 def convert_h4(markdown) markdown.gsub(/^(####)([^\#].+)$/, 'h4.\2') end
convert_h5(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 54 def convert_h5(markdown) markdown.gsub(/^(#####)([^\#].+)$/, 'h5.\2') end
convert_italic(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 62 def convert_italic(markdown) markdown.gsub(/(\*)(\w+)(\*)/, '_\2_') end
convert_unordered_list(markdown)
click to toggle source
# File lib/confluence/markdown_converter.rb, line 84 def convert_unordered_list(markdown) markdown.gsub(/^\*\s(.+)$/, '- \1') end