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_headings: false,
|
||||||
allow_tables: false,
|
allow_tables: false,
|
||||||
allow_fonts: false,
|
allow_fonts: false,
|
||||||
|
allow_math: true,
|
||||||
scrub_policy: [
|
scrub_policy: [
|
||||||
Pleroma.HTML.Scrubber.Default,
|
Pleroma.HTML.Scrubber.Default,
|
||||||
Pleroma.HTML.Transform.MediaProxy
|
Pleroma.HTML.Transform.MediaProxy
|
||||||
|
|
|
@ -124,6 +124,119 @@ defmodule Pleroma.HTML.Scrubber.Default do
|
||||||
Meta.allow_tag_with_these_attributes(:font, ["face"])
|
Meta.allow_tag_with_these_attributes(:font, ["face"])
|
||||||
end
|
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(:center, [])
|
||||||
Meta.allow_tag_with_these_attributes(:small, [])
|
Meta.allow_tag_with_these_attributes(:small, [])
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue