commit: 3beb24ad5544723348d1e23a99c2b5ab1e26ae1f
parent: 0430f7c0fa73e03fad83af123b22f56cfe60c7fb
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Wed, 25 Jan 2017 16:53:30 +0100
Use <summary> to encode content warnings instead
Diffstat:
4 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb
@@ -42,9 +42,8 @@ module AtomBuilderHelper
end
def content(xml, content, warning = nil)
- extra = { type: 'html' }
- extra[:warning] = warning unless warning.blank?
- xml.content(extra, content) unless content.blank?
+ xml.summary(warning) unless warning.blank?
+ xml.content({ type: 'html' }, content) unless content.blank?
end
def title(xml, title)
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb
@@ -16,7 +16,7 @@ class PostStatusService < BaseService
status = account.statuses.create!(text: text,
thread: in_reply_to,
sensitive: options[:sensitive],
- spoiler_text: options[:spoiler_text],
+ spoiler_text: options[:spoiler_text] || '',
visibility: options[:visibility],
application: options[:application])
diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb
@@ -225,7 +225,7 @@ class ProcessFeedService < BaseService
end
def content_warning(xml = @xml)
- xml.at_xpath('./xmlns:content', xmlns: TagManager::XMLNS)['warning']
+ xml.at_xpath('./xmlns:summary', xmlns: TagManager::XMLNS)&.content || ''
end
def published(xml = @xml)
diff --git a/docs/Extensions.md b/docs/Extensions.md
@@ -12,6 +12,4 @@ Some functionality in Mastodon required some additions to the protocols to enabl
2. Statuses can be marked as containing sensitive (or not safe for work) media. This is symbolized by a `<category term="nsfw" />` on the Atom entry
-3. Statuses can have a content warning (used e.g. for warning about spoilers in the text). It is stored in the `warning` attribute on the `<content />` tag of the Atom entry, e.g. `<content type="html" warning="This post talks about the ending to 6th sense">Lorem ipsum dolor sit amet</content>`
-
-4. Statuses that are intended to be listed publicly on e.g. "whole known network" or "public" timelines contain a `<link rel="mentioned" href="http://activityschema.org/collection/public" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection"/>`. Conversely, statuses which do not contain that, are intended to be low key, unlisted
+3. Statuses that are intended to be listed publicly on e.g. "whole known network" or "public" timelines contain a `<link rel="mentioned" href="http://activityschema.org/collection/public" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection"/>`. Conversely, statuses which do not contain that, are intended to be low key, unlisted