typst_library/model/
mod.rs

1//! Structuring elements that define the document model.
2
3mod bibliography;
4mod cite;
5mod document;
6mod emph;
7#[path = "enum.rs"]
8mod enum_;
9mod figure;
10mod footnote;
11mod heading;
12mod link;
13mod list;
14#[path = "numbering.rs"]
15mod numbering_;
16mod outline;
17mod par;
18mod quote;
19mod reference;
20mod strong;
21mod table;
22mod terms;
23
24pub use self::bibliography::*;
25pub use self::cite::*;
26pub use self::document::*;
27pub use self::emph::*;
28pub use self::enum_::*;
29pub use self::figure::*;
30pub use self::footnote::*;
31pub use self::heading::*;
32pub use self::link::*;
33pub use self::list::*;
34pub use self::numbering_::*;
35pub use self::outline::*;
36pub use self::par::*;
37pub use self::quote::*;
38pub use self::reference::*;
39pub use self::strong::*;
40pub use self::table::*;
41pub use self::terms::*;
42
43use crate::foundations::Scope;
44
45/// Hook up all `model` definitions.
46pub fn define(global: &mut Scope) {
47    global.start_category(crate::Category::Model);
48    global.define_elem::<DocumentElem>();
49    global.define_elem::<RefElem>();
50    global.define_elem::<LinkElem>();
51    global.define_elem::<OutlineElem>();
52    global.define_elem::<HeadingElem>();
53    global.define_elem::<FigureElem>();
54    global.define_elem::<FootnoteElem>();
55    global.define_elem::<QuoteElem>();
56    global.define_elem::<CiteElem>();
57    global.define_elem::<BibliographyElem>();
58    global.define_elem::<EnumElem>();
59    global.define_elem::<ListElem>();
60    global.define_elem::<ParbreakElem>();
61    global.define_elem::<ParElem>();
62    global.define_elem::<TableElem>();
63    global.define_elem::<TermsElem>();
64    global.define_elem::<EmphElem>();
65    global.define_elem::<StrongElem>();
66    global.define_func::<numbering>();
67    global.reset_category();
68}