[feat] Expose original content encoding in RSS feeds #392
Labels
No labels
approved, awaiting change
bug
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs docs
needs tests
not a 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…
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:encoded
sub-element for eachitem
element, containing the original content (i.e.activity["source"]["content"]) and with a
typeattribute having the value of
activity["source"]["mediaType"]`.If the title of the item is parsed from the original source content with the
:parse_source
configuration of #391, expose an optionaldescriptionOffset
attribute in thesource:encoded
element, with a value representing the "grapheme" index into thesource:encoded
value 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 theh1
orh2
element in the case of atext/html
encoded 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
description
element 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:encoded
because 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/markdown
content 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:markdown
element that he suggests as well.Have you searched for this feature request?