feat: support standalone HTML documents

XI
2mo ago
+287-46

Summary

Closes #52.

  • Add standalone HTML detection from <!doctype html> or an <html> root, including HTML exports saved with a .doc extension.
  • Reuse the EPUB HTML-to-model walker for headings, formatting, links, tables, lists, CSS visibility, and external images.
  • Treat HTML void elements such as unclosed <meta> and <img> as empty elements in the shared DOM parser.
  • Expose html / .html / .htm through the Rust, Node, Python, and WASM APIs and update docs/tests.
  • MHTML remains out of scope for this change.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --locked
  • npm test
  • python -m unittest discover -s python/tests
  • node --test wasm/test.mjs

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.