Current section

Files

Jump to
html_to_markdown lib html_to_markdown native.ex
Raw

lib/html_to_markdown/native.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:058f46c4a23be631f95892dda1285555d88e130514a84226566de9b275e464cd
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
# Issues & docs: https://github.com/sample_crate-dev/alef
defmodule HtmlToMarkdown.Native do
@moduledoc false
use RustlerPrecompiled,
otp_app: :html_to_markdown,
crate: "html_to_markdown_nif",
base_url: "https://github.com/kreuzberg-dev/html-to-markdown/releases/download/v#{Mix.Project.config()[:version]}",
version: Mix.Project.config()[:version],
targets: ~w(aarch64-apple-darwin aarch64-unknown-linux-gnu x86_64-unknown-linux-gnu x86_64-pc-windows-gnu),
nif_versions: ["2.16", "2.17"],
force_build: System.get_env("HTML_TO_MARKDOWN_BUILD") in ["1", "true"] or Mix.env() in [:dev]
@doc """
Convert HTML to Markdown, returning a [`ConversionResult`] with content, metadata, images,
and warnings.
# Arguments
* `html` — the HTML string to convert.
* `options` — optional conversion options. Defaults to [`ConversionOptions::default`].
# Example
```
use html_to_markdown_rs::convert;
let html = "<h1>Hello World</h1>";
let result = convert(html, None).unwrap();
assert!(result.content.as_deref().unwrap_or("").contains("Hello World"));
```
# Errors
Returns an error if HTML parsing fails or if the input contains invalid UTF-8.
"""
def convert(_html, _options), do: :erlang.nif_error(:nif_not_loaded)
def convert_with_visitor(_html, _options, _visitor), do: :erlang.nif_error(:nif_not_loaded)
def visitor_reply(_ref_id, _result), do: :erlang.nif_error(:nif_not_loaded)
def complete_trait_call(_reply_id, _result_json), do: :erlang.nif_error(:nif_not_loaded)
def fail_trait_call(_reply_id, _error_message), do: :erlang.nif_error(:nif_not_loaded)
@doc """
Validate that the header level is within valid range (1-6).
# Returns
`true` if level is 1-6, `false` otherwise.
# Examples
```
let valid = HeaderMetadata {
level: 3,
text: "Title".to_string(),
id: None,
depth: 2,
html_offset: 100,
};
assert!(valid.is_valid());
let invalid = HeaderMetadata {
level: 7, // Invalid
text: "Title".to_string(),
id: None,
depth: 2,
html_offset: 100,
};
assert!(!invalid.is_valid());
```
"""
def headermetadata_is_valid(_obj), do: :erlang.nif_error(:nif_not_loaded)
def conversionoptions_default, do: :erlang.nif_error(:nif_not_loaded)
def preprocessingoptions_default, do: :erlang.nif_error(:nif_not_loaded)
@doc false
def document_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def header_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def link_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def image_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def structured_data_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def html_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def conversion_options_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def preprocessing_options_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def document_structure_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def document_node_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def text_annotation_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def conversion_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def table_grid_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def grid_cell_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def table_data_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def processing_warning_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
end