summaryrefslogtreecommitdiff
path: root/crates/typst-html
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-07-08 10:52:43 +0200
committerGitHub <noreply@github.com>2025-07-08 08:52:43 +0000
commit0a3c6939dd274f40672484695d909c2cc0d0d755 (patch)
tree465c10338230b895fdd06c8b3491f1734e8a2932 /crates/typst-html
parent36ecbb2c8dccc1a31c43fee1466f1425844d8607 (diff)
Rewrite foundations of native elements (#6547)
Diffstat (limited to 'crates/typst-html')
-rw-r--r--crates/typst-html/src/lib.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/typst-html/src/lib.rs b/crates/typst-html/src/lib.rs
index 49518716..60ffa78e 100644
--- a/crates/typst-html/src/lib.rs
+++ b/crates/typst-html/src/lib.rs
@@ -177,12 +177,12 @@ fn handle(
output.push(HtmlNode::Tag(elem.tag.clone()));
} else if let Some(elem) = child.to_packed::<HtmlElem>() {
let mut children = vec![];
- if let Some(body) = elem.body(styles) {
+ if let Some(body) = elem.body.get_ref(styles) {
children = html_fragment(engine, body, locator.next(&elem.span()), styles)?;
}
let element = HtmlElement {
tag: elem.tag,
- attrs: elem.attrs(styles).clone(),
+ attrs: elem.attrs.get_cloned(styles),
children,
span: elem.span(),
};
@@ -198,7 +198,7 @@ fn handle(
);
} else if let Some(elem) = child.to_packed::<BoxElem>() {
// TODO: This is rather incomplete.
- if let Some(body) = elem.body(styles) {
+ if let Some(body) = elem.body.get_ref(styles) {
let children =
html_fragment(engine, body, locator.next(&elem.span()), styles)?;
output.push(
@@ -212,7 +212,7 @@ fn handle(
} else if let Some((elem, body)) =
child
.to_packed::<BlockElem>()
- .and_then(|elem| match elem.body(styles) {
+ .and_then(|elem| match elem.body.get_ref(styles) {
Some(BlockBody::Content(body)) => Some((elem, body)),
_ => None,
})
@@ -233,12 +233,12 @@ fn handle(
output.push(HtmlElement::new(tag::br).spanned(elem.span()).into());
} else if let Some(elem) = child.to_packed::<SmartQuoteElem>() {
output.push(HtmlNode::text(
- if elem.double(styles) { '"' } else { '\'' },
+ if elem.double.get(styles) { '"' } else { '\'' },
child.span(),
));
} else if let Some(elem) = child.to_packed::<FrameElem>() {
let locator = locator.next(&elem.span());
- let style = TargetElem::set_target(Target::Paged).wrap();
+ let style = TargetElem::target.set(Target::Paged).wrap();
let frame = (engine.routines.layout_frame)(
engine,
&elem.body,
@@ -248,7 +248,7 @@ fn handle(
)?;
output.push(HtmlNode::Frame(HtmlFrame {
inner: frame,
- text_size: TextElem::size_in(styles),
+ text_size: styles.resolve(TextElem::size),
}));
} else {
engine.sink.warn(warning!(