summaryrefslogtreecommitdiff
path: root/crates/typst-html/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-html/src/lib.rs')
-rw-r--r--crates/typst-html/src/lib.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/crates/typst-html/src/lib.rs b/crates/typst-html/src/lib.rs
index 19eb1446..7063931b 100644
--- a/crates/typst-html/src/lib.rs
+++ b/crates/typst-html/src/lib.rs
@@ -1,7 +1,9 @@
//! Typst's HTML exporter.
+mod css;
mod encode;
mod rules;
+mod typed;
pub use self::encode::html;
pub use self::rules::register;
@@ -9,7 +11,9 @@ pub use self::rules::register;
use comemo::{Track, Tracked, TrackedMut};
use typst_library::diag::{bail, warning, At, SourceResult};
use typst_library::engine::{Engine, Route, Sink, Traced};
-use typst_library::foundations::{Content, StyleChain, Target, TargetElem};
+use typst_library::foundations::{
+ Content, Module, Scope, StyleChain, Target, TargetElem,
+};
use typst_library::html::{
attr, tag, FrameElem, HtmlDocument, HtmlElem, HtmlElement, HtmlFrame, HtmlNode,
};
@@ -20,9 +24,19 @@ use typst_library::layout::{Abs, Axes, BlockBody, BlockElem, BoxElem, Region, Si
use typst_library::model::{DocumentInfo, ParElem};
use typst_library::routines::{Arenas, FragmentKind, Pair, RealizationKind, Routines};
use typst_library::text::{LinebreakElem, SmartQuoteElem, SpaceElem, TextElem};
-use typst_library::World;
+use typst_library::{Category, World};
use typst_syntax::Span;
+/// Create a module with all HTML definitions.
+pub fn module() -> Module {
+ let mut html = Scope::deduplicating();
+ html.start_category(Category::Html);
+ html.define_elem::<HtmlElem>();
+ html.define_elem::<FrameElem>();
+ crate::typed::define(&mut html);
+ Module::new("html", html)
+}
+
/// Produce an HTML document from content.
///
/// This first performs root-level realization and then turns the resulting