From 33007b7f9a2187d5b510c3bc7fe80d59290f32fb Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 10 Jul 2025 01:05:12 +0300 Subject: [PATCH] add channel `pubDate` tag --- src/rss.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) 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,