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.