Fix glitch-soc marking every link in toots as a tag

Fixes #1281
This commit is contained in:
Thibaut Girka
2020-03-22 16:59:29 +01:00
committed by ThibG
parent d101438b9d
commit 2c510ee00a
3 changed files with 16 additions and 3 deletions

View File

@ -54,6 +54,15 @@ class Sanitize
end
end
LINK_REL_TRANSFORMER = lambda do |env|
return unless env[:node_name] == 'a'
node = env[:node]
rel = (node['rel'] || '').split(' ') & ['tag']
node['rel'] = (['nofollow', 'noopener', 'noreferrer'] + rel).join(' ')
end
UNSUPPORTED_HREF_TRANSFORMER = lambda do |env|
return unless env[:node_name] == 'a'
@ -82,7 +91,6 @@ class Sanitize
add_attributes: {
'a' => {
'rel' => 'nofollow noopener tag noreferrer',
'target' => '_blank',
},
},
@ -95,6 +103,7 @@ class Sanitize
transformers: [
CLASS_WHITELIST_TRANSFORMER,
IMG_TAG_TRANSFORMER,
LINK_REL_TRANSFORMER,
UNSUPPORTED_HREF_TRANSFORMER,
]
)