diff --git a/crates/typst-html/src/convert.rs b/crates/typst-html/src/convert.rs
index 220023897..40e1b4364 100644
--- a/crates/typst-html/src/convert.rs
+++ b/crates/typst-html/src/convert.rs
@@ -125,9 +125,3 @@ fn last_char(nodes: &[HtmlNode]) -> Option {
}
None
}
-
-/// Checks whether the given element is an inline-level HTML element.
-pub fn is_inline(elem: &Content) -> bool {
- elem.to_packed::()
- .is_some_and(|elem| tag::is_inline_by_default(elem.tag))
-}
diff --git a/crates/typst-html/src/document.rs b/crates/typst-html/src/document.rs
index 1dc85572c..ec9d9a50e 100644
--- a/crates/typst-html/src/document.rs
+++ b/crates/typst-html/src/document.rs
@@ -17,7 +17,7 @@ use typst_library::text::SmartQuoter;
use typst_syntax::Span;
use typst_utils::NonZeroExt;
-use crate::{HtmlDocument, HtmlElement, HtmlNode, attr, tag};
+use crate::{HtmlDocument, HtmlElem, HtmlElement, HtmlNode, attr, tag};
/// Produce an HTML document from content.
///
@@ -72,10 +72,7 @@ fn html_document_impl(
let arenas = Arenas::default();
let mut info = DocumentInfo::default();
let children = (engine.routines.realize)(
- RealizationKind::HtmlDocument {
- info: &mut info,
- is_inline: crate::convert::is_inline,
- },
+ RealizationKind::HtmlDocument { info: &mut info, is_inline: HtmlElem::is_inline },
&mut engine,
&mut locator,
&arenas,
diff --git a/crates/typst-html/src/fragment.rs b/crates/typst-html/src/fragment.rs
index 773c66faf..efce44548 100644
--- a/crates/typst-html/src/fragment.rs
+++ b/crates/typst-html/src/fragment.rs
@@ -9,7 +9,7 @@ use typst_library::World;
use typst_library::routines::{Arenas, FragmentKind, Pair, RealizationKind, Routines};
use typst_library::text::SmartQuoter;
-use crate::HtmlNode;
+use crate::{HtmlElem, HtmlNode};
/// Produces HTML nodes from content contained in an HTML element that is
/// block-level by default.
@@ -114,7 +114,7 @@ fn realize_fragment<'a>(
RealizationKind::HtmlFragment {
// We ignore the `FragmentKind` because we handle both uniformly.
kind: &mut FragmentKind::Block,
- is_inline: crate::convert::is_inline,
+ is_inline: HtmlElem::is_inline,
},
engine,
locator,
diff --git a/crates/typst-html/src/lib.rs b/crates/typst-html/src/lib.rs
index 68311e8a3..5c42b7080 100644
--- a/crates/typst-html/src/lib.rs
+++ b/crates/typst-html/src/lib.rs
@@ -97,6 +97,12 @@ impl HtmlElem {
self
}
}
+
+ /// Checks whether the given element is an inline-level HTML element.
+ fn is_inline(elem: &Content) -> bool {
+ elem.to_packed::()
+ .is_some_and(|elem| tag::is_inline_by_default(elem.tag))
+ }
}
/// An element that lays out its content as an inline SVG.