html_to_markdown library

High-performance HTML to Markdown converter for Dart and Flutter.

Powered by the Rust html-to-markdown library via FFI bindings.

Classes

ConversionOptions
ConversionResult
HtmlMetadata
Extracted HTML metadata from document head and body.
ImageMetadata
LinkMetadata
NodeContext
Context information passed to each visitor callback.
PreprocessingOptions
Preprocessing configuration for HTML cleanup before conversion.
ProcessingWarning
Visitor
Abstract visitor for intercepting HTML element processing.

Enums

CodeBlockStyle
Code block rendering style.
HeadingStyle
Supported heading styles.
HighlightStyle
Code highlighting style.
LinkStyle
Link rendering style.
ListIndentType
List indentation type.
NewlineStyle
Line ending style.
NodeType
HTML node type for visitor context.
OutputFormat
Output format for the converted Markdown.
PreprocessingPreset
Preprocessing preset for input normalization.
VisitResult
Result of a visitor callback. continue_ has underscore suffix because continue is a reserved keyword in Dart.
WarningKind
Processing warning category.
WhitespaceMode
Whitespace handling mode.

Constants

conversionError → const ConversionErrorException Function(String message, {int? errorCode})
Surfaces the preserved typed failure helper for callers that drive the bridge directly; re-exported here for import-path compatibility.

Properties

htmlToMarkdownFfi → HtmlToMarkdownFfiService
The service instance backing the top-level convert function: the datasource path (in-process native bridge). Federated consumers that register an adapter port get the adapter path transparently — see HtmlToMarkdownFfiService.
final
nativeConverterAvailable → bool
Whether the native bridge is loadable on this host right now.
no setter

Functions

checkLastError() → void
convert(String html, {ConversionOptions? options, Visitor? visitor}) → ConversionResult
convertAsync(String html, {ConversionOptions? options, Visitor? visitor}) → Future<ConversionResult>
Conversion through the stack without an adapter, surfaced asynchronously.