Allow for bluesky, mastodon, instagram, threads source:account elements. moved twitter to the end of the list because they had the gall to ignore my please to restore the account.
Brought the json feed building up to date, implementing the following elements. (It had gotten out of sync.)
-
Added source:account entries for bluesky, mastodon, instagram, threads (placed before twitter)
-
Added image element (title, url, link, description, width, height)
-
Added source:self
-
Added source:blogroll
-
Added source:likes
-
Added webmaster
-
Fixed source:markdown Ñ now handles explicit markdowntext field and auto-conversion via turndown if flSourceMarkdown is set
Added author
The url of the source namespace changed to https://source.scripting.com/.
Support source:markdown.
When building a feed, if there's headElement.flSourceMarkdown and it's true, and there is a text value for the item, we generate a source:markdown element by calling turndown to convert it.
Note, there was previous source:markdown support dating back to 2022, which looked for item.markdowntext. It's good in case the feed is being generated for an editor where the user wrote in markdown, it's not being generated.
In package.json, the version of turndown is 7.2.2. Learned the lesson many times the hard way to always require the version of a package that you used to implement the functionality and not to use "*" because developers implement breaking changes in the most trivial packages (not that turndown is trivial but it may include them).
When building the element, we were adding the description twice. Fixed.
Added support for .
Add support for itunes:author and itunes:type.
Add support for source:self.
Support for source:blogroll element.
Stopped generating a source:outline element for enclosures that are images.
Allow for source:account elements for items that are not twitter identifiers.
Changed the value of rssCloudDefaults.path to /ping. Andrew Shell posted an issue saying that the path previously specified there was incorrect. Andrew operates the server, so is the authority on this.
Add support for sub-element of item.
Don't write out a subs att for source:outline elements.
support source:account for items
support category element
must provide an array called categories
each item in the array is a category
Bring in support for Facebook Instant Articles feeds.
In buildOutlineXml we only looked for four atts: type, text, created and name. But there are other types. I don't see any notes explaining why we were only exporting these. So I've changed it to export all atts that are present.
Per Dan MacTough's suggestion, in the JSON version, the length attribute on enclosure should be a number. If it coerces to a number, great, if there's an error, leave out the length att.
Forked from buildrss.js in libraries. There was lots of buggy cruft in here, I wanted to fix stuff, but without taking chances on breaking basically frozen apps like Radio3, LCE.
Removed rssCloudPing.
Copied rssCloudPing from Radio3. I didn't want to copy the code into ElectricPork.
Use rssCloudDefaults in producing your RSS feed. If you don't specify a server URL in the call to rssCloudPing, we'll use what's in rssCloudDefaults to form the URL.