feed icon indicating copy to clipboard operation
feed copied to clipboard

Atom export missing item images

Open BenMcH opened this issue 1 year ago • 1 comments

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch [email protected] for the project I'm working on.

I found that the atom export did not currently support images in the way that my current RSS feed has them exported. This adds them as I'd expect.

Here is the diff that solved my problem:

diff --git a/node_modules/feed/lib/atom1.js b/node_modules/feed/lib/atom1.js
index 18c1d2a..37a3024 100644
--- a/node_modules/feed/lib/atom1.js
+++ b/node_modules/feed/lib/atom1.js
@@ -8,7 +8,7 @@ exports.default = (function (ins) {
     var base = {
         _declaration: { _attributes: { version: "1.0", encoding: "utf-8" } },
         feed: {
-            _attributes: { xmlns: "http://www.w3.org/2005/Atom" },
+            _attributes: { xmlns: "http://www.w3.org/2005/Atom", "xmlns:media": "http://search.yahoo.com/mrss/" },
             id: options.id,
             title: options.title,
             updated: options.updated ? options.updated.toISOString() : new Date().toISOString(),
@@ -93,6 +93,10 @@ exports.default = (function (ins) {
         if (item.copyright) {
             entry.rights = item.copyright;
         }
+        if (item.image) {
+            entry['media:thumbnail'] = { _attributes: { url: item.image } };
+            entry['media:content'] = { _attributes: { medium: 'image', url: item.image } };
+        }
         base.feed.entry.push(entry);
     });
     return convert.js2xml(base, { compact: true, ignoreComment: true, spaces: 4 });

This issue body was partially generated by patch-package.

BenMcH avatar Sep 30 '24 01:09 BenMcH

@BenMcH Feel free to create a PR with this change & will review. Thanks!

jpmonette avatar May 06 '25 14:05 jpmonette