Packages
html_to_markdown
3.8.2
3.9.0
3.8.3
3.8.2
3.8.1
3.8.0
3.8.0-rc.2
3.8.0-rc.1
3.7.2
3.7.1
3.7.0
3.6.21
3.6.20
3.6.19
3.6.18
3.6.17
3.6.16
3.6.15
3.6.14
3.6.13
3.6.11
3.6.10
3.6.9
3.6.8
3.6.3
3.6.1
3.6.0
3.6.0-rc.25
3.6.0-rc.23
3.6.0-rc.22
3.6.0-rc.21
3.6.0-rc.20
3.6.0-rc.17
3.6.0-rc.16
3.6.0-rc.14
3.6.0-rc.13
3.6.0-rc.12
3.6.0-rc.11
3.6.0-rc.10
3.6.0-rc.9
3.6.0-rc.7
3.6.0-rc.3
3.6.0-rc.2
3.6.0-rc.1
3.5.7
3.5.5
3.5.3
3.5.2
3.5.1
3.5.0
3.5.0-rc.1
3.4.0
3.4.0-rc.45
3.4.0-rc.44
3.4.0-rc.42
3.4.0-rc.41
3.4.0-rc.40
3.4.0-rc.25
3.4.0-rc.24
3.4.0-rc.23
3.4.0-rc.21
3.4.0-rc.20
3.4.0-rc.18
3.4.0-rc.16
3.4.0-rc.15
3.4.0-rc.14
3.4.0-rc.13
3.4.0-rc.12
3.4.0-rc.11
3.4.0-rc.9
3.4.0-rc.8
3.4.0-rc.2
3.4.0-rc.1
3.3.2
3.2.4
3.2.2
3.2.1
3.2.0
3.1.0
3.0.2
3.0.1
3.0.0
2.30.0
2.29.0
2.28.6
2.28.5
2.28.4
2.28.3
2.28.2
2.28.1
2.28.0
2.27.3
2.27.2
2.27.1
2.27.0
2.26.3
2.26.2
2.26.1
2.25.1
2.25.0
2.24.6
2.24.5
2.24.4
2.24.3
2.24.1
2.23.4
2.23.3
2.23.2
2.23.1
2.23.0
2.22.5
2.22.2
2.22.1
2.22.0
2.21.1
2.20.0
2.19.8
2.19.7
2.19.6
2.19.5
2.19.4
2.19.3
2.19.2
2.19.1
2.19.0
2.18.0
2.16.1
2.16.0
2.15.0
2.14.11
2.14.10
2.14.9
2.14.8
2.14.7
2.14.6
2.14.3
2.14.2
2.14.1
2.14.0
2.13.0
2.12.1
2.12.0
2.11.4
2.11.3
2.11.1
2.10.1
2.9.2
2.9.1
2.9.0
2.8.3
High-performance HTML to Markdown converter
Current section
Files
Jump to
Current section
Files
lib/html_to_markdown/conversion_options.ex
# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:df03cfa1ea58fc063ec7e305db2e9dcdc739bb4b063899fc4750f8584c5bd37e
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule HtmlToMarkdown.ConversionOptions do
@moduledoc """
Main conversion options for HTML to Markdown conversion.
Use [`ConversionOptions::builder()`] to construct, or [`Default::default()`] for defaults.
# Example
```rust
use html_to_markdown_rs::{ConversionOptions, HeadingStyle};
let options = ConversionOptions::builder()
.heading_style(HeadingStyle::Atx)
.wrap(true)
.wrap_width(100)
.build();
```
"""
@typedoc "Main conversion options for HTML to Markdown conversion."
@type t :: %__MODULE__{
heading_style: String.t() | nil,
list_indent_type: String.t() | nil,
list_indent_width: non_neg_integer(),
bullets: String.t() | nil,
strong_em_symbol: String.t() | nil,
escape_asterisks: boolean(),
escape_underscores: boolean(),
escape_misc: boolean(),
escape_ascii: boolean(),
code_language: String.t() | nil,
autolinks: boolean(),
default_title: boolean(),
br_in_tables: boolean(),
compact_tables: boolean(),
highlight_style: String.t() | nil,
extract_metadata: boolean(),
whitespace_mode: String.t() | nil,
strip_newlines: boolean(),
wrap: boolean(),
wrap_width: non_neg_integer(),
convert_as_inline: boolean(),
sub_symbol: String.t() | nil,
sup_symbol: String.t() | nil,
newline_style: String.t() | nil,
code_block_style: String.t() | nil,
keep_inline_images_in: [String.t()],
preprocessing: HtmlToMarkdown.PreprocessingOptions.t(),
encoding: String.t() | nil,
debug: boolean(),
strip_tags: [String.t()],
preserve_tags: [String.t()],
skip_images: boolean(),
url_escape_style: String.t() | nil,
link_style: String.t() | nil,
output_format: String.t() | nil,
include_document_structure: boolean(),
extract_images: boolean(),
max_image_size: non_neg_integer(),
capture_svg: boolean(),
infer_dimensions: boolean(),
max_depth: non_neg_integer() | nil,
exclude_selectors: [String.t()],
tier_strategy: String.t() | nil,
visitor: reference() | nil
}
defstruct heading_style: :atx,
list_indent_type: :spaces,
list_indent_width: 2,
bullets: "-*+",
strong_em_symbol: "*",
escape_asterisks: false,
escape_underscores: false,
escape_misc: false,
escape_ascii: false,
code_language: "",
autolinks: true,
default_title: false,
br_in_tables: false,
compact_tables: false,
highlight_style: :double_equal,
extract_metadata: true,
whitespace_mode: :normalized,
strip_newlines: false,
wrap: false,
wrap_width: 80,
convert_as_inline: false,
sub_symbol: "",
sup_symbol: "",
newline_style: :spaces,
code_block_style: :backticks,
keep_inline_images_in: [],
preprocessing: nil,
encoding: "utf-8",
debug: false,
strip_tags: [],
preserve_tags: [],
skip_images: false,
url_escape_style: :angle,
link_style: :inline,
output_format: :markdown,
include_document_structure: false,
extract_images: false,
max_image_size: 5_242_880,
capture_svg: false,
infer_dimensions: true,
max_depth: nil,
exclude_selectors: [],
tier_strategy: :auto,
visitor: nil
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end