Merge pull request #5029 from uhoreg/sanitize_language

don't syntax highlight languages that begin with "_"
This commit is contained in:
Hubert Chathi 2020-07-21 13:12:51 -04:00 committed by GitHub
commit cbe4f04cd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 3 deletions

View file

@ -184,7 +184,7 @@ const transformTags: sanitizeHtml.IOptions["transformTags"] = { // custom to mat
if (typeof attribs.class !== 'undefined') { if (typeof attribs.class !== 'undefined') {
// Filter out all classes other than ones starting with language- for syntax highlighting. // Filter out all classes other than ones starting with language- for syntax highlighting.
const classes = attribs.class.split(/\s/).filter(function(cl) { const classes = attribs.class.split(/\s/).filter(function(cl) {
return cl.startsWith('language-'); return cl.startsWith('language-') && !cl.startsWith('language-_');
}); });
attribs.class = classes.join(' '); attribs.class = classes.join(' ');
} }

View file

@ -107,7 +107,7 @@ export default createReactClass({
} else { } else {
// Only syntax highlight if there's a class starting with language- // Only syntax highlight if there's a class starting with language-
const classes = blocks[i].className.split(/\s+/).filter(function(cl) { const classes = blocks[i].className.split(/\s+/).filter(function(cl) {
return cl.startsWith('language-'); return cl.startsWith('language-') && !cl.startsWith('language-_');
}); });
if (classes.length != 0) { if (classes.length != 0) {

View file

@ -64,7 +64,7 @@ function parseCodeBlock(n: HTMLElement, partCreator: PartCreator) {
let language = ""; let language = "";
if (n.firstChild && n.firstChild.nodeName === "CODE") { if (n.firstChild && n.firstChild.nodeName === "CODE") {
for (const className of (<HTMLElement>n.firstChild).classList) { for (const className of (<HTMLElement>n.firstChild).classList) {
if (className.startsWith("language-")) { if (className.startsWith("language-") && !className.startsWith("language-_")) {
language = className.substr("language-".length); language = className.substr("language-".length);
break; break;
} }