# frozen_string_literal: true require 'reverse_markdown' module Html2rss module AttributePostProcessors ## # Returns HTML code as Markdown formatted String. # Before converting to markdown, the HTML is sanitized with SanitizeHtml. # Imagine this HTML structure: # #
# Lorem ipsum dolor... # # #
# # YAML usage example: # # selectors: # description: # selector: section # extractor: html # post_process: # name: html_to_markdown # # Would return: # 'Lorem **ipsum** dolor' class HtmlToMarkdown < Base def self.validate_args!(value, context) assert_type value, String, :value, context: end ## # @return [String] formatted in Markdown def get sanitized_value = SanitizeHtml.new(value, context).get ReverseMarkdown.convert(sanitized_value) end end end end