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