* Rubocop enabled style/alias * Enabled Style/ArrayJoin Cop * Enabled Style/Attr * Enabled Case Equality * Enabled CharacterLiteral * Enabled ColonMethodCall Cop * Enabled CommentAnnotation cop * Enabled PreferredHashMethods Cop * Enabled DoubleNegation Cop * Enabled EachWithObject Cop * Enabled EmptyLiteral Cop * Enabled EvenOdd Cop * Enabled IfWithSemicolon Cop * Enabled Lambda and LambdaCall Cop * Enabled LineEndConcatenation Cop * Enabled ModuleFunction Cop; * Enable NegatedIf and NegatedWhile Cop * Enabled NilComparison Cop * Enabled Not Cop * Enabled NumericLiterals Cop * Enabled OneLineConditional Cop * Enabled PercentLiteralDelimiters Cop * Excluded internal/users_controller from negated_if cop * Reverted the double negation change from github_issue_tag and github_issue.rb" * Enabled PerlBackrefs Cop * Changed Regexp.last_match(1) to Regexp.last_match(0) * Enabled proc cop * Enabled RaiseArgs Cop * Reverted Regexp.last_match(0) to Regexp.last_match(1) * Enabled SelfAssignment Cop * Enabled SingleLineMethods Cop * Enabled SpecialGlobalVars Cop * Enabled VariableInterpolation Cop * Enabled WhenThen Cop * Enabled WhileUntilModifier Cop * Enabled WordArray Cop * Enabled IfUnlessModifier Cop * Enabled GuardClause Cop
20 lines
525 B
Ruby
20 lines
525 B
Ruby
class HtmlCleaner
|
|
def clean_html(html)
|
|
doc = Nokogiri::HTML(html)
|
|
# Remove Medium tracking pixel
|
|
doc.css("img").each do |img|
|
|
img.remove if img.attr("src") && (img.attr("src").include? "medium.com/_/stat")
|
|
end
|
|
# Remove Medium catch phrase
|
|
doc.css("p").each do |p|
|
|
p.remove if p.text.include? "where people are continuing the conversation by highlighting"
|
|
end
|
|
|
|
doc.css("figure").each do |el|
|
|
el.name = "p"
|
|
end
|
|
|
|
doc.xpath("//@class").remove
|
|
doc.to_html
|
|
end
|
|
end
|