1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//! Handler for structural container elements.
//!
//! This module provides handlers for structural containers that process their
//! children without special formatting or whitespace truncation:
//! - body, html: Structural document containers
//! - time, data: Inline semantic containers
//! - thead, tbody, tfoot, tr, th, td: Table structure (handled elsewhere)
//! - source: Media source element
//! - wbr: Word break opportunity (no-op)
use crateConversionOptions;
use ;
// Type aliases for Context and DomContext to avoid circular imports
type Context = crateContext;
type DomContext = crateDomContext;
/// Handle structural container elements that recursively process children.
///
/// This is used for elements like `body` and `html` that should process their
/// children directly without any whitespace truncation or special formatting.
///
/// # Arguments
/// * `node_handle` - Handle to the HTML node
/// * `parser` - The HTML parser
/// * `output` - Accumulation buffer for Markdown output
/// * `options` - Conversion options
/// * `ctx` - Current conversion context
/// * `depth` - Current recursion depth
/// * `dom_ctx` - DOM context for tracking relationships
/// Handle pass-through container elements that process children inline.
///
/// This is used for semantic elements like `time` and `data` that wrap content
/// but should not add any additional formatting or block breaks.
///
/// # Arguments
/// * `node_handle` - Handle to the HTML node
/// * `parser` - The HTML parser
/// * `output` - Accumulation buffer for Markdown output
/// * `options` - Conversion options
/// * `ctx` - Current conversion context
/// * `depth` - Current recursion depth
/// * `dom_ctx` - DOM context for tracking relationships
/// Handle no-op container elements that should be ignored.
///
/// This is used for elements like `wbr` (word break opportunity) and `source`
/// (media source specification) that should not produce any output.
///
/// # Arguments
/// * `_node_handle` - Handle to the HTML node (unused)
/// * `_parser` - The HTML parser (unused)
/// * `_output` - Accumulation buffer for Markdown output (unused)
/// * `_options` - Conversion options (unused)
/// * `_ctx` - Current conversion context (unused)
/// * `_depth` - Current recursion depth (unused)
/// * `_dom_ctx` - DOM context (unused)