[feat] Expose original content encoding in RSS feeds #392
Labels
No labels
approved, awaiting change
broken setup
bug
cannot reproduce
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs change/feedback
needs docs
needs tests
not a bug
not our bug
planned
pleroma_api
privacy
question
static_fe
triage
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
AkkomaGang/akkoma#392
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The idea
As a follow-on to #391, RSS feeds should expose the original source content and content type of each post.
Expose a
source:encodedsub-element for eachitemelement, containing the original content (i.e.activity["source"]["content"]) and with atypeattribute having the value ofactivity["source"]["mediaType"]`.If the title of the item is parsed from the original source content with the
:parse_sourceconfiguration of #391, expose an optionaldescriptionOffsetattribute in thesource:encodedelement, with a value representing the "grapheme" index into thesource:encodedvalue indicating where the source description (the content that follows the parsed title) should begin. Referring to the title parsing rules in #391, this would be after the two newlines separators, or theh1orh2element in the case of atext/htmlencoded post.The reasoning
To enable full interop between systems without loss of intention, RSS feeds should expose the content of items as originally authored, not just as algorithmically re-encoded by different ActivityPub softwares that support a variety of content types (glitch-soc vs Pleroma, etc.), into HTML.
The
descriptionelement in RSS is expressly re-encoded in HTML, and cannot be re-processed back to its original content type, so additional elements are needed to preserve the original intention and encoding. We cannot usecontent:encodedbecause the RSS 2.0 specification says, "The content MUST be suitable for presentation as HTML and be encoded as character data in the same manner as the description element." We want to preserve the other formats, not just HTML.Dave Winer, creator of RSS 2.0, has written recently about the importance of this capability, although he limits his discussion to the
text/markdowncontent type:The proposal in this issue extends his ideas to the other post content types that Pleroma supports. If the content type was "text/markdown", we could also expose the
source:markdownelement that he suggests as well.Have you searched for this feature request?