mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 19:00:32 -06:00
DEV: Add logging for stack level too deep exception in HtmlToMarkdown
This commit is contained in:
parent
e0713455ca
commit
4a9ee25c56
@ -6,21 +6,30 @@ require "securerandom"
|
||||
class HtmlToMarkdown
|
||||
|
||||
def initialize(html, opts = {})
|
||||
@html = html
|
||||
@opts = opts
|
||||
|
||||
# we're only interested in <body>
|
||||
@doc = Nokogiri::HTML5(html).at("body")
|
||||
end
|
||||
|
||||
def to_markdown
|
||||
remove_not_allowed!(@doc)
|
||||
remove_hidden!(@doc)
|
||||
hoist_line_breaks!(@doc)
|
||||
remove_whitespaces!(@doc)
|
||||
end
|
||||
|
||||
def to_markdown
|
||||
traverse(@doc)
|
||||
.gsub(/\n{2,}/, "\n\n")
|
||||
.strip
|
||||
rescue SystemStackError => e
|
||||
Discourse.warn_exception(
|
||||
e,
|
||||
message: "stack level too deep in HtmlToMarkdown",
|
||||
env: { html: @html },
|
||||
)
|
||||
|
||||
raise
|
||||
end
|
||||
|
||||
private
|
||||
|
Loading…
Reference in New Issue
Block a user