summaryrefslogtreecommitdiff
path: root/crates/typst-html/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-06-23 14:22:09 +0200
committerLaurenz <laurmaedje@gmail.com>2025-06-23 14:22:09 +0200
commit9050ee1639a20463e3cafce58964c9ef0fa38205 (patch)
tree7fbb132c4bb3e217d8898d052b68ba4265835e1f /crates/typst-html/src
parentc1b2aee1a941f49d5eb8c04c9b19841dbeb1b27d (diff)
Turn non-empty void element into export error
Diffstat (limited to 'crates/typst-html/src')
-rw-r--r--crates/typst-html/src/encode.rs3
-rw-r--r--crates/typst-html/src/lib.rs3
2 files changed, 3 insertions, 3 deletions
diff --git a/crates/typst-html/src/encode.rs b/crates/typst-html/src/encode.rs
index eb25ab1e..2bfa78a7 100644
--- a/crates/typst-html/src/encode.rs
+++ b/crates/typst-html/src/encode.rs
@@ -89,6 +89,9 @@ fn write_element(w: &mut Writer, element: &HtmlElement) -> SourceResult<()> {
w.buf.push('>');
if tag::is_void(element.tag) {
+ if !element.children.is_empty() {
+ bail!(element.span, "HTML void elements must not have children");
+ }
return Ok(());
}
diff --git a/crates/typst-html/src/lib.rs b/crates/typst-html/src/lib.rs
index 7d78a5da..703948f6 100644
--- a/crates/typst-html/src/lib.rs
+++ b/crates/typst-html/src/lib.rs
@@ -180,9 +180,6 @@ fn handle(
if let Some(body) = elem.body(styles) {
children = html_fragment(engine, body, locator.next(&elem.span()), styles)?;
}
- if tag::is_void(elem.tag) && !children.is_empty() {
- bail!(elem.span(), "HTML void elements may not have children");
- }
let element = HtmlElement {
tag: elem.tag,
attrs: elem.attrs(styles).clone(),