Add MathML Support to SVG-edit
Doesn't actually render anything, but doesn't strip out all the MAthML tags, either.
This commit is contained in:
parent
bad5beec29
commit
b5a7f7ac05
|
@ -37,13 +37,13 @@ module Sanitizer
|
||||||
selected shape size span src start style summary tabindex target title
|
selected shape size span src start style summary tabindex target title
|
||||||
type usemap valign value vspace width xml:lang]
|
type usemap valign value vspace width xml:lang]
|
||||||
|
|
||||||
mathml_attributes = Set.new %w[actiontype align close columnalign columnalign
|
mathml_attributes = Set.new %w[actiontype align close
|
||||||
columnalign columnlines columnspacing columnspan depth display
|
columnalign columnlines columnspacing columnspan depth display
|
||||||
displaystyle encoding equalcolumns equalrows fence fontstyle fontweight
|
displaystyle encoding equalcolumns equalrows fence fontstyle fontweight
|
||||||
frame height linethickness lspace mathbackground mathcolor mathvariant
|
frame height linethickness lspace mathbackground mathcolor mathvariant
|
||||||
mathvariant maxsize minsize open other rowalign rowalign rowalign
|
maxsize minsize open other rowalign
|
||||||
rowlines rowspacing rowspan rspace scriptlevel selection separator
|
rowlines rowspacing rowspan rspace scriptlevel selection separator
|
||||||
separators stretchy width width xlink:href xlink:show xlink:type xmlns
|
separators stretchy width xlink:href xlink:show xlink:type xmlns
|
||||||
xmlns:xlink]
|
xmlns:xlink]
|
||||||
|
|
||||||
svg_attributes = Set.new %w[accent-height accumulate additive alphabetic
|
svg_attributes = Set.new %w[accent-height accumulate additive alphabetic
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* svgcanvas.js
|
* svgcanvas.js
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2
|
* Licensed under the Apache License, Version 2
|
||||||
|
@ -36,6 +36,7 @@ var isOpera = !!window.opera,
|
||||||
"ellipse": ["class", "clip-path", "clip-rule", "cx", "cy", "fill", "fill-opacity", "fill-rule", "filter", "id", "mask", "opacity", "requiredFeatures", "rx", "ry", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],
|
"ellipse": ["class", "clip-path", "clip-rule", "cx", "cy", "fill", "fill-opacity", "fill-rule", "filter", "id", "mask", "opacity", "requiredFeatures", "rx", "ry", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],
|
||||||
"feGaussianBlur": ["class", "id", "requiredFeatures", "stdDeviation"],
|
"feGaussianBlur": ["class", "id", "requiredFeatures", "stdDeviation"],
|
||||||
"filter": ["class", "filterRes", "filterUnits", "height", "id", "primitiveUnits", "requiredFeatures", "width", "x", "xlink:href", "y"],
|
"filter": ["class", "filterRes", "filterUnits", "height", "id", "primitiveUnits", "requiredFeatures", "width", "x", "xlink:href", "y"],
|
||||||
|
"foreignObject": ["height", "width", "x", "y"],
|
||||||
"g": ["class", "clip-path", "clip-rule", "id", "display", "fill", "fill-opacity", "fill-rule", "filter", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],
|
"g": ["class", "clip-path", "clip-rule", "id", "display", "fill", "fill-opacity", "fill-rule", "filter", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],
|
||||||
"image": ["class", "clip-path", "clip-rule", "filter", "height", "id", "mask", "opacity", "requiredFeatures", "style", "systemLanguage", "transform", "width", "x", "xlink:href", "xlink:title", "y"],
|
"image": ["class", "clip-path", "clip-rule", "filter", "height", "id", "mask", "opacity", "requiredFeatures", "style", "systemLanguage", "transform", "width", "x", "xlink:href", "xlink:title", "y"],
|
||||||
"line": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "id", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "x1", "x2", "y1", "y2"],
|
"line": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "id", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "x1", "x2", "y1", "y2"],
|
||||||
|
@ -57,7 +58,36 @@ var isOpera = !!window.opera,
|
||||||
"textPath": ["class", "id", "method", "requiredFeatures", "spacing", "startOffset", "style", "systemLanguage", "transform", "xlink:href"],
|
"textPath": ["class", "id", "method", "requiredFeatures", "spacing", "startOffset", "style", "systemLanguage", "transform", "xlink:href"],
|
||||||
"title": [],
|
"title": [],
|
||||||
"tspan": ["class", "clip-path", "clip-rule", "dx", "dy", "fill", "fill-opacity", "fill-rule", "filter", "font-family", "font-size", "font-style", "font-weight", "id", "mask", "opacity", "requiredFeatures", "rotate", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "text-anchor", "textLength", "transform", "x", "xml:space", "y"],
|
"tspan": ["class", "clip-path", "clip-rule", "dx", "dy", "fill", "fill-opacity", "fill-rule", "filter", "font-family", "font-size", "font-style", "font-weight", "id", "mask", "opacity", "requiredFeatures", "rotate", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "text-anchor", "textLength", "transform", "x", "xml:space", "y"],
|
||||||
"use": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "height", "id", "mask", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "transform", "width", "x", "xlink:href", "y"]
|
"use": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "height", "id", "mask", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "transform", "width", "x", "xlink:href", "y"],
|
||||||
|
"annotation-xml": ["encoding"],
|
||||||
|
"maction": ["actiontype", "other", "selection"],
|
||||||
|
"math": ["class", "id", "display", "xmlns"],
|
||||||
|
"merror": [],
|
||||||
|
"mfrac": ["linethickness"],
|
||||||
|
"mi": ["mathvariant"],
|
||||||
|
"mmultiscripts": [],
|
||||||
|
"mn": [],
|
||||||
|
"mo": ["fence", "lspace", "maxsize", "minsize", "rspace", "stretchy"],
|
||||||
|
"mover": [],
|
||||||
|
"mpadded": ["lspace", "width"],
|
||||||
|
"mphantom": [],
|
||||||
|
"mprescripts": [],
|
||||||
|
"mroot": [],
|
||||||
|
"mrow": ["xlink:href", "xlink:type", "xmlns:xlink"],
|
||||||
|
"mspace": ["depth", "height", "width"],
|
||||||
|
"msqrt": [],
|
||||||
|
"mstyle": ["displaystyle", "mathbackground", "mathcolor", "mathvariant", "scriptlevel"],
|
||||||
|
"msub": [],
|
||||||
|
"msubsup": [],
|
||||||
|
"msup": [],
|
||||||
|
"mtable": ["align", "columnalign", "columnlines", "columnspacing", "displaystyle", "equalcolumns", "equalrows", "frame", "rowalign", "rowlines", "rowspacing", "width"],
|
||||||
|
"mtd": ["columnalign", "columnspan", "rowalign", "rowspan"],
|
||||||
|
"mtext": [],
|
||||||
|
"mtr": ["columnalign", "rowalign"],
|
||||||
|
"munder": [],
|
||||||
|
"munderover": [],
|
||||||
|
"none": [],
|
||||||
|
"semantics": []
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue