Revision 24399
Added by Marius BĂLTEANU 6 days ago
| trunk/lib/redmine/wiki_formatting/common_mark/formatter.rb | ||
|---|---|---|
| 73 | 73 |
html = MarkdownFilter.new(@text, PIPELINE_CONFIG).call |
| 74 | 74 |
fragment = Redmine::WikiFormatting::HtmlParser.parse(html) |
| 75 | 75 |
SANITIZER.call(fragment) |
| 76 |
SCRUBBERS.each do |scrubber| |
|
| 77 |
fragment.scrub!(scrubber) |
|
| 76 |
scrubber = Loofah::Scrubber.new do |node| |
|
| 77 |
SCRUBBERS.each do |s| |
|
| 78 |
s.scrub(node) |
|
| 79 |
break if node.parent.nil? |
|
| 80 |
end |
|
| 78 | 81 |
end |
| 82 |
fragment.scrub!(scrubber) |
|
| 79 | 83 |
fragment.to_s |
| 80 | 84 |
end |
| 81 | 85 |
end |
| trunk/lib/redmine/wiki_formatting/html_sanitizer.rb | ||
|---|---|---|
| 27 | 27 |
def self.call(html) |
| 28 | 28 |
fragment = HtmlParser.parse(html) |
| 29 | 29 |
SANITIZER.call(fragment) |
| 30 |
SCRUBBERS.each do |scrubber| |
|
| 31 |
fragment.scrub!(scrubber) |
|
| 30 |
scrubber = Loofah::Scrubber.new do |node| |
|
| 31 |
SCRUBBERS.each do |s| |
|
| 32 |
s.scrub(node) |
|
| 33 |
break if node.parent.nil? |
|
| 34 |
end |
|
| 32 | 35 |
end |
| 36 |
fragment.scrub!(scrubber) |
|
| 33 | 37 |
fragment.to_s |
| 34 | 38 |
end |
| 35 | 39 |
end |
| trunk/lib/redmine/wiki_formatting/textile/formatter.rb | ||
|---|---|---|
| 39 | 39 |
def to_html(*rules) |
| 40 | 40 |
html = @filter.to_html(rules) |
| 41 | 41 |
fragment = Loofah.html5_fragment(html) |
| 42 |
SCRUBBERS.each do |scrubber| |
|
| 43 |
fragment.scrub!(scrubber) |
|
| 42 |
scrubber = Loofah::Scrubber.new do |node| |
|
| 43 |
SCRUBBERS.each do |s| |
|
| 44 |
s.scrub(node) |
|
| 45 |
break if node.parent.nil? |
|
| 46 |
end |
|
| 44 | 47 |
end |
| 48 |
fragment.scrub!(scrubber) |
|
| 45 | 49 |
fragment.to_s |
| 46 | 50 |
end |
| 47 | 51 |
end |
Also available in: Unified diff
Optimize Loofah performance by passing the HTML only once (#42737).