Skip to content

Commit caf7222

Browse files
authored
fix: handle code languages included in pre tag (#408)
1 parent de8c001 commit caf7222

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

libs/blog-bff/articles/api/src/lib/mappers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const toArticle = (dto?: WPPostDetailsDto): Article => {
6969
},
7070
allowedClasses: {
7171
blockquote: ['twitter-tweet'],
72-
pre: ['lang:*'],
72+
pre: ['lang:*', 'language*'],
7373
code: ['language-*'],
7474
div: ['crayon-line', 'crayon-syntax'],
7575
},

libs/blog-bff/articles/api/src/lib/utils.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,13 @@ export const wpCodeRewriter: RewriteAdapter = ($) => {
5353
$(element).html(`<code class="hljs">${code}</code>`);
5454
}
5555

56-
const classAttr = $(element).find('code').attr()['class'];
57-
const classes = classAttr?.split(' ') ?? [];
58-
const codeLanguageClass = classes.find((cl) =>
59-
/^language-[\w-]+$/.test(cl),
60-
);
56+
const codeClassAttr = $(element).find('code').attr()['class'];
57+
const preClassAttr = $(element).attr()['class'];
58+
const classes = codeClassAttr?.split(' ') ?? [];
59+
const preClasses = preClassAttr?.split(' ') ?? [];
60+
const codeLanguageClass = classes
61+
.concat(preClasses)
62+
.find((cl) => /^language-[\w-]+$/.test(cl));
6163

6264
let language: string;
6365

0 commit comments

Comments
 (0)