Allow MathML core tags in sanitized content
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending approval
ci/woodpecker/pr/build-arm64 Pipeline is pending approval
ci/woodpecker/pr/docs Pipeline is pending approval
ci/woodpecker/pr/lint Pipeline is pending approval
ci/woodpecker/pr/test Pipeline is pending approval
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending approval
ci/woodpecker/pr/build-arm64 Pipeline is pending approval
ci/woodpecker/pr/docs Pipeline is pending approval
ci/woodpecker/pr/lint Pipeline is pending approval
ci/woodpecker/pr/test Pipeline is pending approval
This commit is contained in:
parent
c0a99df06a
commit
f048e0cf1b
2 changed files with 114 additions and 0 deletions
|
@ -302,6 +302,7 @@
|
|||
allow_headings: false,
|
||||
allow_tables: false,
|
||||
allow_fonts: false,
|
||||
allow_math: true,
|
||||
scrub_policy: [
|
||||
Pleroma.HTML.Scrubber.Default,
|
||||
Pleroma.HTML.Transform.MediaProxy
|
||||
|
|
|
@ -124,6 +124,119 @@ defmodule Pleroma.HTML.Scrubber.Default do
|
|||
Meta.allow_tag_with_these_attributes(:font, ["face"])
|
||||
end
|
||||
|
||||
if Pleroma.Config.get!([:markup, :allow_math]) do
|
||||
Meta.allow_tag_with_these_attributes("annotation", ["encoding"])
|
||||
Meta.allow_tag_with_these_attributes(:"annotation-xml", ["encoding"])
|
||||
|
||||
Meta.allow_tag_with_these_attributes(:math, [
|
||||
"display",
|
||||
"displaystyle",
|
||||
"mathvariant",
|
||||
"scriptlevel"
|
||||
])
|
||||
|
||||
basic_math_tags = [
|
||||
"maction",
|
||||
"merror",
|
||||
:mi,
|
||||
"mmultiscripts",
|
||||
:mn,
|
||||
"mphantom",
|
||||
"mprescripts",
|
||||
"mroot",
|
||||
"mrow",
|
||||
"ms",
|
||||
"msqrt",
|
||||
"mstyle",
|
||||
"msub",
|
||||
"msubsup",
|
||||
"msup",
|
||||
"mtable",
|
||||
"mtext",
|
||||
"mtr",
|
||||
"semantics"
|
||||
]
|
||||
|
||||
for tag <- basic_math_tags do
|
||||
Meta.allow_tag_with_these_attributes(unquote(tag), [
|
||||
"mathvariant",
|
||||
"displaystyle",
|
||||
"scriptlevel"
|
||||
])
|
||||
end
|
||||
|
||||
Meta.allow_tag_with_these_attributes("mfrac", [
|
||||
"displaystyle",
|
||||
"linethickness",
|
||||
"mathvariant",
|
||||
"scriptlevel"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes(:mo, [
|
||||
"displaystyle",
|
||||
"form",
|
||||
"largeop",
|
||||
"lspace",
|
||||
"mathvariant",
|
||||
"minsize",
|
||||
"movablelimits",
|
||||
"rspace",
|
||||
"scriptlevel",
|
||||
"stretchy",
|
||||
"symmetric"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("mover", [
|
||||
"accent",
|
||||
"displaystyle",
|
||||
"mathvariant",
|
||||
"scriptlevel"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("mpadded", [
|
||||
"depth",
|
||||
"displaystyle",
|
||||
"height",
|
||||
"lspace",
|
||||
"mathvariant",
|
||||
"scriptlevel",
|
||||
"voffset",
|
||||
"width"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("mspace", [
|
||||
"depth",
|
||||
"displaystyle",
|
||||
"height",
|
||||
"mathvariant",
|
||||
"scriptlevel",
|
||||
"width"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("mtd", [
|
||||
"columnspan",
|
||||
"displaystyle",
|
||||
"mathvariant",
|
||||
"rowspan",
|
||||
"scriptlevel"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("munder", [
|
||||
"accentunder",
|
||||
"displaystyle",
|
||||
"mathvariant",
|
||||
"scriptlevel"
|
||||
])
|
||||
|
||||
Meta.allow_tag_with_these_attributes("munderover", [
|
||||
"accent",
|
||||
"accentunder",
|
||||
"displaystyle",
|
||||
"mathvariant",
|
||||
"scriptlevel"
|
||||
])
|
||||
end
|
||||
|
||||
Meta.allow_tag_with_these_attributes(:center, [])
|
||||
Meta.allow_tag_with_these_attributes(:small, [])
|
||||
|
||||
|
|
Loading…
Reference in a new issue