lib/jekyll-chatgpt-translate/plain.rb in jekyll-chatgpt-translate-0.0.18 vs lib/jekyll-chatgpt-translate/plain.rb in jekyll-chatgpt-translate-0.0.19

- old
+ new

@@ -37,11 +37,11 @@ @markdown = markdown end def to_s # To turn compact lists into proper lists - @markdown.gsub(/([^\n])\n(\s*\*)/, "\\1\n\n\\2").split(/\n{2,}/).compact.map do |par| + @markdown.gsub(/([^\n])\n(\s*\* )/, "\\1\n\n\\2").split(/\n{2,}/).compact.map do |par| par.strip! # Liquid tags are removed, but this implementation is primitive # Seehttps://stackoverflow.com/questions/ par.gsub!(/{{[^}]+}}/, '') par.gsub!(/{%.+?%}/, '') @@ -53,10 +53,11 @@ par.strip end.join("\n\n").gsub(/\n{2,}/, "\n\n").strip end # Markdown to pain text. + # Motivated by https://github.com/vmg/redcarpet/blob/master/lib/redcarpet/render_strip.rb class Strip < Redcarpet::Render::Base %i[ block_code block_quote block_html autolink double_emphasis @@ -69,17 +70,25 @@ define_method method do |*args| args.first end end + def header(text, level) + "#{'#' * level} #{text}" + end + def codespan(content) if content.start_with?("\n") "```#{content}```" elsif content.end_with?("\n") "```\n#{content.split("\n", 2)[1]}```" else content end + end + + def image(link, title, alt) + "![#{alt}](#{link} \"#{title}\")" end def raw_html(content) content end