Skip to main content

textlane_html/
lib.rs

1//! Textlane's HTML plugins: parsing, hast transforms, sanitizing and serializing.
2
3mod models {
4    #[cfg(feature = "highlight")]
5    pub(crate) mod highlight;
6    pub(crate) mod namespace;
7    pub(crate) mod options;
8    pub(crate) mod parse_error;
9    pub(crate) mod token;
10}
11mod utils {
12    #[cfg(feature = "highlight")]
13    pub(crate) mod ansi {
14        pub(crate) mod palette;
15        pub(crate) mod parse;
16    }
17    pub(crate) mod builder {
18        pub(crate) mod convert;
19        pub(crate) mod dom;
20        pub(crate) mod feed;
21        pub(crate) mod formatting;
22        pub(crate) mod modes;
23        pub(crate) mod parser;
24    }
25    pub(crate) mod converter {
26        pub(crate) mod state;
27        pub(crate) mod store;
28        pub(crate) mod wrap;
29    }
30    #[cfg(feature = "highlight")]
31    pub(crate) mod notation {
32        pub(crate) mod apply;
33        pub(crate) mod parse;
34    }
35    pub(crate) mod tokenizer {
36        pub(crate) mod entity;
37        pub(crate) mod machine;
38        pub(crate) mod preprocess;
39    }
40}
41mod actions {
42    pub(crate) mod a {
43        pub(crate) mod convert;
44    }
45    #[cfg(feature = "highlight")]
46    pub(crate) mod ansi {
47        pub(crate) mod tokenize;
48    }
49    pub(crate) mod base {
50        pub(crate) mod convert;
51    }
52    pub(crate) mod blockquote {
53        pub(crate) mod convert;
54    }
55    pub(crate) mod br {
56        pub(crate) mod convert;
57    }
58    pub(crate) mod code {
59        pub(crate) mod convert;
60        #[cfg(feature = "highlight")]
61        pub(crate) mod decorate;
62        #[cfg(feature = "highlight")]
63        pub(crate) mod highlight;
64        #[cfg(feature = "highlight")]
65        pub(crate) mod tokenize;
66        #[cfg(feature = "highlight")]
67        pub(crate) mod transform;
68    }
69    pub(crate) mod comment {
70        pub(crate) mod convert;
71    }
72    pub(crate) mod del {
73        pub(crate) mod convert;
74    }
75    pub(crate) mod dl {
76        pub(crate) mod convert;
77    }
78    pub(crate) mod em {
79        pub(crate) mod convert;
80    }
81    pub(crate) mod hast {
82        pub(crate) mod autolink;
83        pub(crate) mod bridge;
84        pub(crate) mod convert;
85        pub(crate) mod external;
86        pub(crate) mod format;
87        #[cfg(feature = "highlight")]
88        pub(crate) mod highlight;
89        pub(crate) mod minify;
90        pub(crate) mod raw;
91        pub(crate) mod sanitize;
92        pub(crate) mod slug;
93        pub(crate) mod stringify;
94        pub(crate) mod toc;
95        #[cfg(feature = "katex")]
96        pub(crate) mod typeset;
97        pub(crate) mod unwrap;
98    }
99    pub(crate) mod heading {
100        pub(crate) mod convert;
101    }
102    pub(crate) mod hr {
103        pub(crate) mod convert;
104    }
105    pub(crate) mod html {
106        pub(crate) mod parse;
107    }
108    pub(crate) mod iframe {
109        pub(crate) mod convert;
110    }
111    pub(crate) mod img {
112        pub(crate) mod convert;
113    }
114    pub(crate) mod inline_code {
115        pub(crate) mod convert;
116    }
117    pub(crate) mod input {
118        pub(crate) mod convert;
119    }
120    pub(crate) mod li {
121        pub(crate) mod convert;
122    }
123    pub(crate) mod list {
124        pub(crate) mod convert;
125    }
126    #[cfg(feature = "katex")]
127    pub(crate) mod math {
128        pub(crate) mod typeset;
129    }
130    pub(crate) mod media {
131        pub(crate) mod convert;
132    }
133    pub(crate) mod p {
134        pub(crate) mod convert;
135    }
136    pub(crate) mod q {
137        pub(crate) mod convert;
138    }
139    pub(crate) mod root {
140        pub(crate) mod convert;
141    }
142    pub(crate) mod select {
143        pub(crate) mod convert;
144    }
145    pub(crate) mod strong {
146        pub(crate) mod convert;
147    }
148    pub(crate) mod table {
149        pub(crate) mod convert;
150    }
151    pub(crate) mod table_cell {
152        pub(crate) mod convert;
153    }
154    pub(crate) mod table_row {
155        pub(crate) mod convert;
156    }
157    pub(crate) mod text {
158        pub(crate) mod convert;
159    }
160    pub(crate) mod textarea {
161        pub(crate) mod convert;
162    }
163    #[cfg(feature = "highlight")]
164    pub(crate) mod theme {
165        pub(crate) mod resolve;
166    }
167    pub(crate) mod unknown {
168        pub(crate) mod convert;
169    }
170    pub(crate) mod wbr {
171        pub(crate) mod convert;
172    }
173}
174mod helpers {
175    pub(crate) mod doctype;
176    pub(crate) mod entities;
177    pub(crate) mod foreign;
178    pub(crate) mod omission;
179    pub(crate) mod phrasing;
180    pub(crate) mod property;
181    pub(crate) mod reason;
182    #[cfg(feature = "highlight")]
183    pub(crate) mod registry;
184    pub(crate) mod schema;
185    pub(crate) mod selected;
186    pub(crate) mod tag;
187    pub(crate) mod text;
188    #[cfg(feature = "highlight")]
189    pub(crate) mod theme_table;
190    pub(crate) mod value;
191}
192mod plugins {
193    pub(crate) mod external_links {
194        pub(crate) mod plugin;
195    }
196    pub(crate) mod extract_toc {
197        pub(crate) mod plugin;
198    }
199    pub(crate) mod format {
200        pub(crate) mod plugin;
201    }
202    #[cfg(feature = "highlight")]
203    pub(crate) mod highlight {
204        pub(crate) mod plugin;
205    }
206    #[cfg(feature = "katex")]
207    pub(crate) mod katex {
208        pub(crate) mod plugin;
209    }
210    pub(crate) mod parse {
211        pub(crate) mod plugin;
212    }
213    pub(crate) mod raw {
214        pub(crate) mod plugin;
215    }
216    pub(crate) mod sanitize {
217        pub(crate) mod plugin;
218    }
219    pub(crate) mod slug {
220        pub(crate) mod plugin;
221    }
222    pub(crate) mod stringify {
223        pub(crate) mod plugin;
224    }
225    pub(crate) mod to_markdown {
226        pub(crate) mod plugin;
227    }
228    pub(crate) mod to_natural_language {
229        pub(crate) mod plugin;
230    }
231    pub(crate) mod unwrap_images {
232        pub(crate) mod plugin;
233    }
234}
235
236// models
237pub use models::options::{
238    AttributeDefinition, Autolink, AutolinkBehavior, AutolinkOptions, Classes,
239    ColorReplacement, ConfiguredTransformer, ExternalLinks, ExtractToc, Format,
240    Highlight, HighlightTransformer, Indent, InlineCode, Katex, KatexOutput, KatexStrict,
241    KatexStrictMode, Minify, MinifyOptions, Parse, Primitive, Raw, Sanitize, Slug,
242    Stringify, TagNames, ToMarkdown, Tokens, TransformerName,
243};
244
245// actions
246pub use actions::hast::bridge::bridge_hast;
247pub use actions::hast::convert::convert_hast;
248pub use actions::hast::external::mark_external_links;
249pub use actions::hast::format::format_hast;
250#[cfg(feature = "highlight")]
251pub use actions::hast::highlight::highlight_hast;
252pub use actions::hast::raw::raw_hast;
253pub use actions::hast::sanitize::sanitize_hast;
254pub use actions::hast::slug::slug_hast;
255pub use actions::hast::stringify::stringify_hast;
256pub use actions::hast::toc::extract_toc;
257#[cfg(feature = "katex")]
258pub use actions::hast::typeset::typeset_hast;
259pub use actions::hast::unwrap::unwrap_images;
260pub use actions::html::parse::parse_html;
261
262// plugins
263pub use plugins::to_natural_language::plugin::ToNaturalLanguage;
264pub use plugins::unwrap_images::plugin::UnwrapImages;