Commit Graph
33 Commits
Author SHA1 Message Date
ldm0 4094579d4f perf(markdown): use native traversal for ordinary documents 2026-11-05 03:29:43 +08:00
lanyue-llk 851e619ee3 fix(renderer): preserve text flow before display blockification 2026-11-03 17:07:17 +08:00
lanyue-llk 164e8aaec9 fix(renderer): omit empty hidden structures and synthetic control defaults 2026-11-03 17:07:17 +08:00
lanyue-llk 0353303786 fix(fetch): retain document structure across live visibility states 2026-11-03 17:07:17 +08:00
lanyue-llk e357277aad fix(fetch): retain nested disclosures and computed text boundaries 2026-11-03 17:07:17 +08:00
lanyue-llk 6b70341184 fix(markdown): read live textarea values through the DOM adapter 2026-11-03 17:07:17 +08:00
lanyue-llk 3bc01b5456 fix(html2md): finalize list spacing and retain code box boundaries 2026-10-28 03:43:27 +07:00
lanyue-llk 2e972a32a7 fix(html2md): preserve source and structural boundary semantics 2026-10-28 03:43:27 +07:00
lanyue-llk e1f0455675 test(fetch): enforce exact CLI output at the owning layer 2026-10-28 03:43:27 +07:00
lanyue-llk 413bf13007 fix(html2md): share structural boundaries and preserve fallback targets 2026-10-28 03:43:27 +07:00
lanyue-llk 9343290ad6 fix(html2md): preserve unique targets and source in HTML fallback 2026-10-28 03:43:27 +07:00
lanyue-llk d87642ff4d fix(html2md): preserve data structure without promoting layout tables 2026-10-28 03:43:27 +07:00
lanyue-llk 321cd36ecf fix(html2md): retain complex tables and referenced fragments 2026-10-28 03:43:27 +07:00
ldm0 300be94372 test: cover MathML and XML escaping edge cases
Cover literal entity text, attribute whitespace, Unicode, and Markdown-sensitive MathML text without changing the fused serialization paths.
2026-10-26 01:15:17 +08:00
ldm0 dcf798e3ee fix(html2md): classify Unicode emphasis boundaries correctly
Use ICU punctuation and symbol categories with an ASCII fast path. Apply the same non-whitespace, non-punctuation rule to both delimiter boundaries and cover combining marks, format characters, symbols, and adjacent links with rendered round trips.
2026-10-26 01:15:17 +08:00
ldm0 be728f9128 fix(html2md): guard math payloads and inline boundaries 2026-10-25 16:35:14 +07:00
ldm0 c1d7a9071b fix(html2md): normalize textual attribute whitespace 2026-10-25 16:35:14 +07:00
ldm0 f5b8578c05 fix(html2md): preserve math payloads and MathML grouping 2026-10-25 16:35:14 +07:00
lanyue-llk 29d26d54fc docs: clarify math delimiter separation 2026-10-25 16:35:14 +07:00
lanyue-llk 604e404c39 fix(html2md): preserve math boundaries across empty wrappers 2026-10-25 16:35:14 +07:00
lanyue-llk 2172066fb5 fix(html2md): keep math delimiters safe and independent 2026-10-25 16:35:14 +07:00
lanyue-llk 9744d98d6f fix(html2md): preserve mathematical and inline formatting semantics 2026-10-25 16:35:14 +07:00
lanyue-llk f7c30e6ba3 fix(renderer): preserve valid media alternatives and srcset candidates 2026-10-25 02:03:50 +07:00
lanyue-llk f0f97e5506 fix(html2md): preserve resource fallbacks and distinguish empty fields 2026-10-25 02:03:50 +07:00
lanyue-llk 1962f15783 fix(html2md): keep inline media flow and accessible alternatives 2026-10-25 02:03:50 +07:00
lanyue-llk 4ab78ca2e1 fix(html2md): base accessible fallback on emitted child content 2026-10-25 02:03:50 +07:00
lanyue-llk 3d0cc8d7ff test(fetch): bind media semantics and freeze response metadata 2026-10-25 02:03:50 +07:00
lanyue-llk 196a281f4b fix(html2md): preserve media resources and readable controls 2026-10-25 02:03:50 +07:00
lanyue-llk 06d6a57d72 fix(html2md): omit hidden serialized page state 2026-09-24 19:22:52 +08:00
ldm0 3d664bf3b5 fix(markdown): expand presentational tables into blocks
Honor presentation and none table roles with ASCII case-insensitive matching and HTML whitespace trimming. Preserve captions, cell content, and independent conversion of nested data tables.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18,162 passed, 13 skipped).
2026-09-17 02:19:47 +08:00
ldm0 a14ec9788c refactor(markdown): unify output ownership and table state
Use concrete Output and Cow parameters with conversions at call sites. Merge text fragments and keep table cell lifecycle and complexity checks inside Table.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18,114 passed, 13 skipped).
2026-09-17 01:16:06 +08:00
ldm0 0e521aa8a3 feat(markdown): render simple HTML tables as GFM
Synthesize empty headings for simple headerless tables and keep complex tables readable as blocks. Use owned output fragments to avoid repeated copying through nested fallback tables.

Cover escaping, alignment, layouts, CLI output and linear copy growth. Validated with cargo fmt, workspace Clippy, and 18,114 passing nextest tests (13 skipped).
2026-09-17 01:16:06 +08:00
ldm0 61dbf7ea3e feat(markdown): introduce moli-html2md 2026-09-16 16:07:15 +08:00