Allow lang attribute
This commit is contained in:
parent
d97425d49e
commit
163e82bab1
3 changed files with 51 additions and 38 deletions
1
changelog.d/3882.add
Normal file
1
changelog.d/3882.add
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Allow lang attribute in status text
|
|
@ -33,35 +33,35 @@ defmodule Pleroma.HTML.Scrubber.Default do
|
||||||
"ugc"
|
"ugc"
|
||||||
])
|
])
|
||||||
|
|
||||||
Meta.allow_tag_with_these_attributes(:a, ["name", "title"])
|
Meta.allow_tag_with_these_attributes(:a, ["name", "title", "lang"])
|
||||||
|
|
||||||
Meta.allow_tag_with_these_attributes(:abbr, ["title"])
|
Meta.allow_tag_with_these_attributes(:abbr, ["title", "lang"])
|
||||||
|
|
||||||
Meta.allow_tag_with_these_attributes(:b, [])
|
Meta.allow_tag_with_these_attributes(:b, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:blockquote, [])
|
Meta.allow_tag_with_these_attributes(:blockquote, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:br, [])
|
Meta.allow_tag_with_these_attributes(:br, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:code, [])
|
Meta.allow_tag_with_these_attributes(:code, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:del, [])
|
Meta.allow_tag_with_these_attributes(:del, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:em, [])
|
Meta.allow_tag_with_these_attributes(:em, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:hr, [])
|
Meta.allow_tag_with_these_attributes(:hr, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:i, [])
|
Meta.allow_tag_with_these_attributes(:i, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:li, [])
|
Meta.allow_tag_with_these_attributes(:li, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:ol, [])
|
Meta.allow_tag_with_these_attributes(:ol, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:p, [])
|
Meta.allow_tag_with_these_attributes(:p, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:pre, [])
|
Meta.allow_tag_with_these_attributes(:pre, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:strong, [])
|
Meta.allow_tag_with_these_attributes(:strong, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:sub, [])
|
Meta.allow_tag_with_these_attributes(:sub, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:sup, [])
|
Meta.allow_tag_with_these_attributes(:sup, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:ruby, [])
|
Meta.allow_tag_with_these_attributes(:ruby, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:rb, [])
|
Meta.allow_tag_with_these_attributes(:rb, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:rp, [])
|
Meta.allow_tag_with_these_attributes(:rp, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:rt, [])
|
Meta.allow_tag_with_these_attributes(:rt, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:rtc, [])
|
Meta.allow_tag_with_these_attributes(:rtc, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:u, [])
|
Meta.allow_tag_with_these_attributes(:u, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:ul, [])
|
Meta.allow_tag_with_these_attributes(:ul, ["lang"])
|
||||||
|
|
||||||
Meta.allow_tag_with_this_attribute_values(:span, "class", ["h-card", "recipients-inline"])
|
Meta.allow_tag_with_this_attribute_values(:span, "class", ["h-card", "recipients-inline"])
|
||||||
Meta.allow_tag_with_these_attributes(:span, [])
|
Meta.allow_tag_with_these_attributes(:span, ["lang"])
|
||||||
|
|
||||||
Meta.allow_tag_with_this_attribute_values(:code, "class", ["inline"])
|
Meta.allow_tag_with_this_attribute_values(:code, "class", ["inline"])
|
||||||
|
|
||||||
|
@ -77,29 +77,30 @@ defmodule Pleroma.HTML.Scrubber.Default do
|
||||||
"width",
|
"width",
|
||||||
"height",
|
"height",
|
||||||
"title",
|
"title",
|
||||||
"alt"
|
"alt",
|
||||||
|
"lang"
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
if Pleroma.Config.get([:markup, :allow_tables]) do
|
if Pleroma.Config.get([:markup, :allow_tables]) do
|
||||||
Meta.allow_tag_with_these_attributes(:table, [])
|
Meta.allow_tag_with_these_attributes(:table, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:tbody, [])
|
Meta.allow_tag_with_these_attributes(:tbody, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:td, [])
|
Meta.allow_tag_with_these_attributes(:td, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:th, [])
|
Meta.allow_tag_with_these_attributes(:th, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:thead, [])
|
Meta.allow_tag_with_these_attributes(:thead, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:tr, [])
|
Meta.allow_tag_with_these_attributes(:tr, ["lang"])
|
||||||
end
|
end
|
||||||
|
|
||||||
if Pleroma.Config.get([:markup, :allow_headings]) do
|
if Pleroma.Config.get([:markup, :allow_headings]) do
|
||||||
Meta.allow_tag_with_these_attributes(:h1, [])
|
Meta.allow_tag_with_these_attributes(:h1, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:h2, [])
|
Meta.allow_tag_with_these_attributes(:h2, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:h3, [])
|
Meta.allow_tag_with_these_attributes(:h3, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:h4, [])
|
Meta.allow_tag_with_these_attributes(:h4, ["lang"])
|
||||||
Meta.allow_tag_with_these_attributes(:h5, [])
|
Meta.allow_tag_with_these_attributes(:h5, ["lang"])
|
||||||
end
|
end
|
||||||
|
|
||||||
if Pleroma.Config.get([:markup, :allow_fonts]) do
|
if Pleroma.Config.get([:markup, :allow_fonts]) do
|
||||||
Meta.allow_tag_with_these_attributes(:font, ["face"])
|
Meta.allow_tag_with_these_attributes(:font, ["face", "lang"])
|
||||||
end
|
end
|
||||||
|
|
||||||
Meta.strip_everything_not_covered()
|
Meta.strip_everything_not_covered()
|
||||||
|
|
|
@ -527,6 +527,17 @@ defmodule Pleroma.Web.CommonAPITest do
|
||||||
assert Object.tags(object) == ["ساٴينس"]
|
assert Object.tags(object) == ["ساٴينس"]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "allows lang attribute" do
|
||||||
|
user = insert(:user)
|
||||||
|
text = ~s{<span lang="en">something</span><p lang="diaetuitech_rpyhpgc">random</p>}
|
||||||
|
|
||||||
|
{:ok, activity} = CommonAPI.post(user, %{status: text, content_type: "text/html"})
|
||||||
|
|
||||||
|
object = Object.normalize(activity, fetch: false)
|
||||||
|
|
||||||
|
assert object.data["content"] == text
|
||||||
|
end
|
||||||
|
|
||||||
test "double dot in link is allowed" do
|
test "double dot in link is allowed" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
text = "https://example.to/something..mp3"
|
text = "https://example.to/something..mp3"
|
||||||
|
|
Loading…
Reference in a new issue