diff --git a/src/rss.rs b/src/rss.rs index a0f0226..5489b86 100644 --- a/src/rss.rs +++ b/src/rss.rs @@ -29,22 +29,30 @@ impl Rss { } // init temporary file to write let mut file = File::create(&tmp)?; + file.write_all( - b"", + b"<?xml version=\"1.0\" encoding=\"UTF-8\"?><rss version=\"2.0\"><channel>", )?; + + file.write_all(b"<pubDate>")?; + file.write_all(chrono::Utc::now().to_rfc2822().as_bytes())?; + file.write_all(b"</pubDate>")?; + + file.write_all(b"<title>")?; file.write_all(escape(title).as_bytes())?; file.write_all(b"")?; + if let Some(s) = description { + file.write_all(b"")?; + file.write_all(escape(s).as_bytes())?; + file.write_all(b"")? + } + if let Some(s) = link { file.write_all(b"")?; file.write_all(escape(s).as_bytes())?; file.write_all(b"")? } - if let Some(s) = description { - file.write_all(b"")?; - file.write_all(escape(s).as_bytes())?; - file.write_all(b"")? - } Ok(Self { file,