Skip to content
This repository was archived by the owner on Jun 7, 2024. It is now read-only.

Commit a5391fb

Browse files
authoredJan 9, 2024
chore(deps): update marked (speced#4636)
1 parent 2f6a7fb commit a5391fb

File tree

4 files changed

+16
-24
lines changed

4 files changed

+16
-24
lines changed
 

‎package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
"@rollup/plugin-commonjs": "^25.0.7",
2929
"@rollup/plugin-node-resolve": "^15.2.3",
3030
"@rollup/plugin-terser": "^0.4.4",
31-
"@types/marked": "^4.3.2",
3231
"@types/pluralize": "0.0.33",
3332
"boxen": "^7.1.1",
3433
"chokidar": "^3.5.3",
@@ -89,7 +88,7 @@
8988
"dependencies": {
9089
"colors": "1.4.0",
9190
"finalhandler": "^1.2.0",
92-
"marked": "^4.3.0",
91+
"marked": "^11.1.1",
9392
"puppeteer": "^21.7.0",
9493
"sade": "^1.8.1",
9594
"serve-static": "^1.15.0"

‎pnpm-lock.yaml

+5-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/core/markdown.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
* property of the configuration object to "markdown."
88
*
99
* We use marked for parsing Markdown:
10-
* https://github.com/chjj/marked
10+
* https://github.com/markedjs/marked
1111
*
1212
*/
1313

1414
import { getElementIndentation, reindent } from "./utils.js";
1515
import { marked } from "./import-maps.js";
16+
1617
export const name = "core/markdown";
1718

1819
const gtEntity = />/gm;
1920
const ampEntity = /&/gm;
21+
2022
class Renderer extends marked.Renderer {
2123
code(code, infoString, isEscaped) {
2224
const { language, ...metaData } = Renderer.parseInfoString(infoString);
@@ -26,7 +28,9 @@ class Renderer extends marked.Renderer {
2628
return `<pre class="idl">${code}</pre>`;
2729
}
2830

29-
const html = super.code(code, language, isEscaped);
31+
const html = super
32+
.code(code, language, isEscaped)
33+
.replace(`class="language-`, `class="`);
3034

3135
const { example, illegalExample } = metaData;
3236
if (!example && !illegalExample) return html;
@@ -72,21 +76,19 @@ class Renderer extends marked.Renderer {
7276
return { language, ...metaData };
7377
}
7478

75-
heading(text, level, raw, slugger) {
79+
heading(text, level, raw) {
7680
const headingWithIdRegex = /(.+)\s+{#([\w-]+)}$/;
7781
if (headingWithIdRegex.test(text)) {
7882
const [, textContent, id] = text.match(headingWithIdRegex);
7983
return `<h${level} id="${id}">${textContent}</h${level}>`;
8084
}
81-
return super.heading(text, level, raw, slugger);
85+
return super.heading(text, level, raw);
8286
}
8387
}
8488

89+
/** @type {import('marked').MarkedOptions} */
8590
const config = {
86-
sanitize: false,
8791
gfm: true,
88-
headerIds: false,
89-
langPrefix: "",
9092
renderer: new Renderer(),
9193
};
9294

‎tests/spec/core/markdown-spec.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,7 @@ describe("Core - Markdown", () => {
315315
expect(webidlBlock.querySelector(".respec-button-copy-paste")).toBeTruthy();
316316

317317
expect(jsBlock.firstElementChild.localName).toBe("code");
318-
expect(
319-
jsBlock.querySelector("code.hljs").classList.contains("js")
320-
).toBeTruthy();
318+
expect(jsBlock.querySelector("code.hljs").classList).toContain("js");
321319
expect(jsBlock.querySelector("code.hljs span")).not.toBeNull();
322320
expect(jsBlock.querySelector(".respec-button-copy-paste")).toBeNull();
323321

0 commit comments

Comments
 (0)