use std::io::Read;
fn main() {
let mut html = String::new();
if let Err(e) = std::io::stdin().read_to_string(&mut html) {
eprintln!("reading stdin: {e}");
std::process::exit(1);
}
let mut dom = domq::parse(&html);
let chrome: Vec<_> = dom.select("nav, footer, script").map(|n| n.id()).collect();
for id in chrome {
dom.remove(id);
}
let markdown = match std::env::args().nth(1) {
Some(selector) => dom
.select(&selector)
.map(|n| n.to_markdown())
.collect::<Vec<_>>()
.join("\n\n"),
None => dom.to_markdown(),
};
println!("{markdown}");
}