blob: 3ca140cc678de9be55ccfbb1a14a5996a9d0d31f (
plain) (
blame)
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
|
mod types;
mod parser;
use std::fs::File;
use std::io::prelude::*;
use parser::lexer::Lexer;
use parser::parser::{Parser, AST};
use crate::types::elements;
use crate::types::elements::Renderable;
fn main() {
// let doc = elements::HTML::new();
// let doc = doc.render();
// let mut file = File::create("out.html").unwrap();
// file.write_all(doc.as_bytes()).unwrap();
let md = "## Title\nText of a paragraph\n\n##### Second heading\nSome more text";
let mut lexer = Lexer::new(md);
lexer.scan();
let mut parser = Parser::new(lexer);
parser.parse();
let root = parser.tree;
let mut doc = elements::HTML::new();
for child in root.children {
let ast = child.item;
doc.items.push(ast.convert_to_renderable());
}
let doc = doc.render();
let mut file = File::create("out.html").unwrap();
file.write_all(doc.as_bytes()).unwrap();
}
|