const feedPath = "/var/www/html/blog/feed.xml"; const fs = require("fs"); const blogs = require("/var/www/html/blog/blogs.js"); console.log(blogs); function escapeQuotes(value) { return value.replace(/["'&<>]/g, function (char) { switch (char) { case '"': return """; case "'": return "'"; case "&": return "&"; case "<": return "<"; case ">": return ">"; default: return char; } }); } // Function to create RSS feed as a string function createRSSFeed(blogs) { let rssFeed = `<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>DeaDvey</title> <link>https://deadvey.com</link> <description>Just talking about life and stuff I guess</description> <pubDate>${blogs[blogs.length - 1][2]} +0000</pubDate> <lastBuildDate>${blogs[blogs.length - 1][2]} +0000</lastBuildDate>`; // Add items to the feed for (let index = blogs.length - 1; index >= 0; index--) { const blog = blogs[index] const title = escapeQuotes(blog[0]); const content = escapeQuotes(blog[1]); const date = escapeQuotes(blog[2]); const imagesHtml = blogs[index][3] ? `${blogs[index][3].map(image => `<img src="/images/${image}" alt="Blog Image" />`).join('')}` : ''; const totalContent = content + escapeQuotes(imagesHtml) const category = blog[4] ? blog[4].map(category => `<category>${escapeQuotes(category)}</category>`).join('') : ''; rssFeed += ` <item> <title>${title}</title> <link>https://deadvey.com/blog/blogs/${index}.html</link> <description>${totalContent}</description> <pubDate>${date} +0000</pubDate> ${category} </item>`; } // Close the RSS feed rssFeed += ` </channel> </rss> `; return rssFeed; } feed = createRSSFeed(blogs) fs.writeFile(feedPath, feed, (err) => { if (err) { console.error('Error writing to the file:', err); } else { console.log('Data has been written to the file successfully.'); } });