Skip to content

Commit 3428ebd

Browse files
authored
Merge branch 'develop' into search-filter-md-pure
2 parents 39d2717 + 49f5c56 commit 3428ebd

File tree

11 files changed

+65
-25
lines changed

11 files changed

+65
-25
lines changed

docs/_navbar.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
- Translations
44

5-
- [:uk: English](/)
6-
- [:cn: 简体中文](/zh-cn/)
7-
- [:de: Deutsch](/de-de/)
8-
- [:es: Español](/es/)
9-
- [:ru: Русский](/ru-ru/)
5+
- [English](/)
6+
- [简体中文](/zh-cn/)
7+
- [Deutsch](/de-de/)
8+
- [Español](/es/)
9+
- [Русский](/ru-ru/)

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"jest": "^29.7.0",
7070
"jest-environment-jsdom": "^29.7.0",
7171
"lint-staged": "^15.2.2",
72-
"marked": "^12.0.2",
72+
"marked": "^13.0.2",
7373
"npm-run-all": "^4.1.5",
7474
"postcss-cli": "^11.0.0",
7575
"postcss-import": "^16.1.0",

src/core/render/compiler.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,13 +205,14 @@ export class Compiler {
205205
/**
206206
* Render anchor tag
207207
* @link https://github.com/markedjs/marked#overriding-renderer-methods
208-
* @param {String} text Text content
209-
* @param {Number} level Type of heading (h<level> tag)
208+
* @param {String} tokens the content tokens
209+
* @param {Number} depth Type of heading (h<level> tag)
210210
* @returns {String} Heading element
211211
*/
212-
origin.heading = renderer.heading = function (text, level) {
212+
origin.heading = renderer.heading = function ({ tokens, depth }) {
213+
const text = this.parser.parseInline(tokens);
213214
let { str, config } = getAndRemoveConfig(text);
214-
const nextToc = { level, title: str };
215+
const nextToc = { depth, title: str };
215216

216217
const { content, ignoreAllSubs, ignoreSubHeading } =
217218
getAndRemoveDocsifyIgnoreConfig(str);
@@ -229,7 +230,7 @@ export class Compiler {
229230
// elements after navigation. This is preferred over focusing on the link
230231
// within the heading because it matches the focus behavior of screen
231232
// readers when navigating page content.
232-
return `<h${level} id="${slug}" tabindex="-1"><a href="${url}" data-id="${slug}" class="anchor"><span>${str}</span></a></h${level}>`;
233+
return `<h${depth} id="${slug}" tabindex="-1"><a href="${url}" data-id="${slug}" class="anchor"><span>${str}</span></a></h${depth}>`;
233234
};
234235

235236
origin.code = highlightCodeCompiler({ renderer });

src/core/render/compiler/code.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import Prism from 'prismjs';
33
import 'prismjs/components/prism-markup-templating.js';
44

55
export const highlightCodeCompiler = ({ renderer }) =>
6-
(renderer.code = function (code, lang = 'markup') {
6+
(renderer.code = function ({ text, lang = 'markup' }) {
77
const langOrMarkup = Prism.languages[lang] || Prism.languages.markup;
8-
const text = Prism.highlight(
9-
code.replace(/@DOCSIFY_QM@/g, '`'),
8+
const code = Prism.highlight(
9+
text.replace(/@DOCSIFY_QM@/g, '`'),
1010
langOrMarkup,
1111
lang,
1212
);
1313

14-
return /* html */ `<pre data-lang="${lang}" class="language-${lang}"><code class="lang-${lang} language-${lang}" tabindex="0">${text}</code></pre>`;
14+
return /* html */ `<pre data-lang="${lang}" class="language-${lang}"><code class="lang-${lang} language-${lang}" tabindex="0">${code}</code></pre>`;
1515
});

src/core/render/compiler/image.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { getAndRemoveConfig } from '../utils.js';
22
import { isAbsolutePath, getPath, getParentPath } from '../../router/util.js';
33

44
export const imageCompiler = ({ renderer, contentBase, router }) =>
5-
(renderer.image = (href, title, text) => {
5+
(renderer.image = ({ href, title, text }) => {
66
let url = href;
77
const attrs = [];
88

src/core/render/compiler/link.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ export const linkCompiler = ({
88
linkRel,
99
compilerClass,
1010
}) =>
11-
(renderer.link = (href, title = '', text) => {
11+
(renderer.link = function ({ href, title = '', tokens }) {
1212
const attrs = [];
13+
const text = this.parser.parseInline(tokens) || '';
1314
const { str, config } = getAndRemoveConfig(title);
1415
linkTarget = config.target || linkTarget;
1516
linkRel =

src/core/render/compiler/paragraph.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { helper as helperTpl } from '../tpl.js';
22

33
export const paragraphCompiler = ({ renderer }) =>
4-
(renderer.paragraph = text => {
4+
(renderer.paragraph = function ({ tokens }) {
5+
const text = this.parser.parseInline(tokens);
56
let result;
67

78
if (text.startsWith('!&gt;')) {

src/core/render/compiler/taskList.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
export const taskListCompiler = ({ renderer }) =>
2-
(renderer.list = (body, ordered, start) => {
2+
(renderer.list = function (token) {
3+
const ordered = token.ordered;
4+
const start = token.start;
5+
6+
let body = '';
7+
for (let j = 0; j < token.items.length; j++) {
8+
const item = token.items[j];
9+
body += this.listitem?.(item);
10+
}
11+
312
const isTaskList = /<li class="task-list-item">/.test(
413
body.split('class="task-list"')[0],
514
);

src/core/render/compiler/taskListItem.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
export const taskListItemCompiler = ({ renderer }) =>
2-
(renderer.listitem = text => {
2+
(renderer.listitem = function (item) {
3+
let text = '';
4+
if (item.task) {
5+
const checkbox = this.checkbox?.({ checked: !!item.checked });
6+
if (item.loose) {
7+
if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
8+
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
9+
if (
10+
item.tokens[0].tokens &&
11+
item.tokens[0].tokens.length > 0 &&
12+
item.tokens[0].tokens[0].type === 'text'
13+
) {
14+
item.tokens[0].tokens[0].text =
15+
checkbox + ' ' + item.tokens[0].tokens[0].text;
16+
}
17+
} else {
18+
item.tokens.unshift({
19+
type: 'text',
20+
raw: checkbox + ' ',
21+
text: checkbox + ' ',
22+
});
23+
}
24+
} else {
25+
text += checkbox + ' ';
26+
}
27+
}
28+
29+
text += this.parser?.parse(item.tokens, !!item.loose);
30+
331
const isTaskItem = /^(<input.*type="checkbox"[^>]*>)/.test(text);
432
const html = isTaskItem
533
? /* html */ `<li class="task-list-item"><label>${text}</label></li>`

test/integration/__snapshots__/docs.test.js.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ exports[`Docs Site coverpage renders and is unchanged 1`] = `
1717
exports[`Docs Site navbar renders and is unchanged 1`] = `
1818
"<nav class="app-nav" aria-label="secondary"><!-- markdownlint-disable first-line-h1 -->
1919
20-
<ul><li><p>Translations</p><ul><li><a href="#/"><img src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ec-1f1e7.png?v8.png" alt="uk" class="emoji" loading="lazy"> English</a></li><li><a href="#/zh-cn/"><img src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e8-1f1f3.png?v8.png" alt="cn" class="emoji" loading="lazy"> 简体中文</a></li><li><a href="#/de-de/"><img src="https://github.githubassets.com/images/icons/emoji/unicode/1f1e9-1f1ea.png?v8.png" alt="de" class="emoji" loading="lazy"> Deutsch</a></li><li><a href="#/es/"><img src="https://github.githubassets.com/images/icons/emoji/unicode/1f1ea-1f1f8.png?v8.png" alt="es" class="emoji" loading="lazy"> Español</a></li><li><a href="#/ru-ru/"><img src="https://github.githubassets.com/images/icons/emoji/unicode/1f1f7-1f1fa.png?v8.png" alt="ru" class="emoji" loading="lazy"> Русский</a></li></ul></li></ul></nav>"
20+
<ul><li><p>Translations</p><ul><li><a href="#/">English</a></li><li><a href="#/zh-cn/">简体中文</a></li><li><a href="#/de-de/">Deutsch</a></li><li><a href="#/es/">Español</a></li><li><a href="#/ru-ru/">Русский</a></li></ul></li></ul></nav>"
2121
`;
2222
2323
exports[`Docs Site sidebar renders and is unchanged 1`] = `

0 commit comments

Comments
 (0)