Html2Markdown.Options (html2markdown v0.3.0)

Handles configuration options for HTML to Markdown conversion.

Available Options

  • :navigation_classes - List of CSS classes that identify navigation elements to remove. Default: ["footer", "menu", "nav", "sidebar", "aside"]

  • :non_content_tags - List of HTML tags to filter out completely. Default includes tags like script, style, iframe, etc.

  • :markdown_flavor - The markdown variant to generate. Currently only :basic is supported. Future versions may support :gfm and :commonmark.

  • :normalize_whitespace - Whether to collapse multiple spaces and trim whitespace. Default: true. Code blocks always preserve whitespace regardless of this setting.

Examples

# Use all defaults
options = Options.defaults()

# Merge custom options with defaults
custom = Options.merge(%{
  navigation_classes: ["custom-nav", "advertisement"],
  normalize_whitespace: false
})

Summary

Functions

Returns the default options map.

Merges user options with defaults.

Types

t()

@type t() :: %{
  navigation_classes: [String.t()],
  non_content_tags: [String.t()],
  markdown_flavor: :basic | :gfm,
  normalize_whitespace: boolean()
}

Functions

defaults()

@spec defaults() :: t()

Returns the default options map.

merge(user_options)

@spec merge(map()) :: t()

Merges user options with defaults.