diff --git a/crates/typst-html/src/encode.rs b/crates/typst-html/src/encode.rs
index 9c7938360..84860dbe9 100644
--- a/crates/typst-html/src/encode.rs
+++ b/crates/typst-html/src/encode.rs
@@ -3,9 +3,8 @@ use std::fmt::Write;
use typst_library::diag::{bail, At, SourceResult, StrResult};
use typst_library::foundations::Repr;
use typst_library::html::{
- attr, charsets, tag, HtmlDocument, HtmlElement, HtmlNode, HtmlTag,
+ attr, charsets, tag, HtmlDocument, HtmlElement, HtmlFrame, HtmlNode, HtmlTag,
};
-use typst_library::layout::Frame;
use typst_syntax::Span;
/// Encodes an HTML document into a string.
@@ -304,9 +303,15 @@ fn write_escape(w: &mut Writer, c: char) -> StrResult<()> {
}
/// Encode a laid out frame into the writer.
-fn write_frame(w: &mut Writer, frame: &Frame) {
+fn write_frame(w: &mut Writer, frame: &HtmlFrame) {
// FIXME: This string replacement is obviously a hack.
- let svg = typst_svg::svg_frame(frame)
- .replace("