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 highlight;
62        #[cfg(feature = "highlight")]
63        pub(crate) mod tokenize;
64        #[cfg(feature = "highlight")]
65        pub(crate) mod transform;
66    }
67    pub(crate) mod comment {
68        pub(crate) mod convert;
69    }
70    pub(crate) mod del {
71        pub(crate) mod convert;
72    }
73    pub(crate) mod dl {
74        pub(crate) mod convert;
75    }
76    pub(crate) mod em {
77        pub(crate) mod convert;
78    }
79    pub(crate) mod hast {
80        pub(crate) mod bridge;
81        pub(crate) mod convert;
82        pub(crate) mod format;
83        #[cfg(feature = "highlight")]
84        pub(crate) mod highlight;
85        pub(crate) mod minify;
86        pub(crate) mod raw;
87        pub(crate) mod sanitize;
88        pub(crate) mod slug;
89        pub(crate) mod stringify;
90        pub(crate) mod toc;
91        pub(crate) mod unwrap;
92    }
93    pub(crate) mod heading {
94        pub(crate) mod convert;
95    }
96    pub(crate) mod hr {
97        pub(crate) mod convert;
98    }
99    pub(crate) mod html {
100        pub(crate) mod parse;
101    }
102    pub(crate) mod iframe {
103        pub(crate) mod convert;
104    }
105    pub(crate) mod img {
106        pub(crate) mod convert;
107    }
108    pub(crate) mod inline_code {
109        pub(crate) mod convert;
110    }
111    pub(crate) mod input {
112        pub(crate) mod convert;
113    }
114    pub(crate) mod li {
115        pub(crate) mod convert;
116    }
117    pub(crate) mod list {
118        pub(crate) mod convert;
119    }
120    pub(crate) mod media {
121        pub(crate) mod convert;
122    }
123    pub(crate) mod p {
124        pub(crate) mod convert;
125    }
126    pub(crate) mod q {
127        pub(crate) mod convert;
128    }
129    pub(crate) mod root {
130        pub(crate) mod convert;
131    }
132    pub(crate) mod select {
133        pub(crate) mod convert;
134    }
135    pub(crate) mod strong {
136        pub(crate) mod convert;
137    }
138    pub(crate) mod table {
139        pub(crate) mod convert;
140    }
141    pub(crate) mod table_cell {
142        pub(crate) mod convert;
143    }
144    pub(crate) mod table_row {
145        pub(crate) mod convert;
146    }
147    pub(crate) mod text {
148        pub(crate) mod convert;
149    }
150    pub(crate) mod textarea {
151        pub(crate) mod convert;
152    }
153    #[cfg(feature = "highlight")]
154    pub(crate) mod theme {
155        pub(crate) mod resolve;
156    }
157    pub(crate) mod unknown {
158        pub(crate) mod convert;
159    }
160    pub(crate) mod wbr {
161        pub(crate) mod convert;
162    }
163}
164mod helpers {
165    pub(crate) mod doctype;
166    pub(crate) mod entities;
167    pub(crate) mod foreign;
168    pub(crate) mod omission;
169    pub(crate) mod phrasing;
170    pub(crate) mod property;
171    pub(crate) mod reason;
172    #[cfg(feature = "highlight")]
173    pub(crate) mod registry;
174    pub(crate) mod schema;
175    pub(crate) mod selected;
176    pub(crate) mod slug;
177    pub(crate) mod slug_table;
178    pub(crate) mod tag;
179    pub(crate) mod text;
180    #[cfg(feature = "highlight")]
181    pub(crate) mod theme_table;
182    pub(crate) mod value;
183}
184mod plugins {
185    pub(crate) mod extract_toc {
186        pub(crate) mod plugin;
187    }
188    pub(crate) mod format {
189        pub(crate) mod plugin;
190    }
191    #[cfg(feature = "highlight")]
192    pub(crate) mod highlight {
193        pub(crate) mod plugin;
194    }
195    pub(crate) mod parse {
196        pub(crate) mod plugin;
197    }
198    pub(crate) mod raw {
199        pub(crate) mod plugin;
200    }
201    pub(crate) mod sanitize {
202        pub(crate) mod plugin;
203    }
204    pub(crate) mod slug {
205        pub(crate) mod plugin;
206    }
207    pub(crate) mod stringify {
208        pub(crate) mod plugin;
209    }
210    pub(crate) mod to_markdown {
211        pub(crate) mod plugin;
212    }
213    pub(crate) mod to_natural_language {
214        pub(crate) mod plugin;
215    }
216    pub(crate) mod unwrap_images {
217        pub(crate) mod plugin;
218    }
219}
220
221// models
222pub use models::options::{
223    AttributeDefinition, Classes, ColorReplacement, ConfiguredTransformer, Format,
224    Highlight, HighlightTransformer, Indent, InlineCode, Parse, Primitive, Raw, Sanitize,
225    Slug, Stringify, ToMarkdown, TransformerName,
226};
227
228// actions
229pub use actions::hast::bridge::bridge_hast;
230pub use actions::hast::convert::convert_hast;
231pub use actions::hast::format::format_hast;
232#[cfg(feature = "highlight")]
233pub use actions::hast::highlight::highlight_hast;
234pub use actions::hast::raw::raw_hast;
235pub use actions::hast::sanitize::sanitize_hast;
236pub use actions::hast::slug::slug_hast;
237pub use actions::hast::stringify::stringify_hast;
238pub use actions::hast::toc::extract_toc;
239pub use actions::hast::unwrap::unwrap_images;
240pub use actions::html::parse::parse_html;
241
242// plugins
243pub use plugins::extract_toc::plugin::ExtractToc;
244pub use plugins::to_natural_language::plugin::ToNaturalLanguage;
245pub use plugins::unwrap_images::plugin::UnwrapImages;