use std::io;
use markdown::to_html;
use rss::{Channel, ItemBuilder};
fn main() -> io::Result<()> {
let posts = std::env::args().skip(2).map(|f| {
let contents = std::fs::read_to_string(f.clone())?;
Ok(to_html(&contents))
}).collect::, io::Error>>()?;
if let Some(mode) = std::env::args().skip(1).next() {
match mode.as_str() {
"rss" => {
let mut channel = Channel::default();
channel.title = "MDF blog huge".to_string();
channel.link = "rakarake.xyz".to_string();
channel.description = "morbius text wow".to_string();
channel.items = posts.iter().enumerate().map(|(i, p)| {
ItemBuilder::default()
.title(format!("Blog post {i}"))
.description(Some(p.clone()))
.build()
}).collect();
print!("{}", channel);
},
"html" => {
print!("{}", posts.iter().map(|p| format!("{p}
")).collect::>().concat())
},
_ => eprintln!("need to specify 'rss' or 'html'"),
}
}
Ok(())
}