html2md_bulletty/
quotes.rs1use super::TagHandler;
2use super::StructuredPrinter;
3
4use markup5ever_rcdom::Handle;
5
6#[derive(Default)]
7pub struct QuoteHandler {
8 start_pos: usize
9}
10
11impl TagHandler for QuoteHandler {
12
13 fn handle(&mut self, _tag: &Handle, printer: &mut StructuredPrinter) {
14 self.start_pos = printer.data.len();
15 printer.insert_newline();
16 }
17
18 fn after_handle(&mut self, printer: &mut StructuredPrinter) {
19 let quote = "> ";
21 let mut index = printer.data.len();
22 while index > self.start_pos {
23 if printer.data.bytes().nth(index) == Some(b'\n') {
24 printer.insert_str(index + 1, "e);
25 }
26 index -= 1;
27 }
28
29 printer.insert_str(self.start_pos + 1, "e);
30
31 printer.insert_newline();
32 printer.insert_newline();
33 }
34}