From 8aeaf89ae9fcdf169e13261fc6a1a55ca98704eb Mon Sep 17 00:00:00 2001
From: sy-records <52o@qq52o.cn>
Date: Tue, 20 Oct 2020 09:20:45 +0800
Subject: [PATCH 1/4] fix: title error when sidebar link exists with image
---
src/core/render/tpl.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/core/render/tpl.js b/src/core/render/tpl.js
index 2bad3a311..1aa4647e0 100644
--- a/src/core/render/tpl.js
+++ b/src/core/render/tpl.js
@@ -90,8 +90,10 @@ export function tree(toc, tpl = '
') {
}
let innerHTML = '';
+ let title = '';
toc.forEach(node => {
- innerHTML += `${node.title}`;
+ title = node.title.replace(/(<\/?img.*?>)/g, '');
+ innerHTML += `${node.title}`;
if (node.children) {
innerHTML += tree(node.children, tpl);
}
From 791f1b629e5c65736300993c60fbae0daffa0928 Mon Sep 17 00:00:00 2001
From: sy-records <52o@qq52o.cn>
Date: Mon, 26 Oct 2020 12:03:25 +0800
Subject: [PATCH 2/4] fix #1408
---
src/core/render/tpl.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/render/tpl.js b/src/core/render/tpl.js
index 1aa4647e0..91f990feb 100644
--- a/src/core/render/tpl.js
+++ b/src/core/render/tpl.js
@@ -92,7 +92,7 @@ export function tree(toc, tpl = '') {
let innerHTML = '';
let title = '';
toc.forEach(node => {
- title = node.title.replace(/(<\/?img.*?>)/g, '');
+ title = node.title.replace(/(<([^>]+)>)/g, '');
innerHTML += `${node.title}`;
if (node.children) {
innerHTML += tree(node.children, tpl);
From 9810960806d07d731bb8a1550d7605c9f29ca790 Mon Sep 17 00:00:00 2001
From: sy-records <52o@qq52o.cn>
Date: Mon, 26 Oct 2020 14:17:37 +0800
Subject: [PATCH 3/4] add test
---
test/unit/render-util.test.js | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/test/unit/render-util.test.js b/test/unit/render-util.test.js
index 3a82a0f9d..be4897879 100644
--- a/test/unit/render-util.test.js
+++ b/test/unit/render-util.test.js
@@ -1,4 +1,5 @@
const { removeAtag } = require(`${SRC_PATH}/core/render/utils`);
+const { tree } = require(`${SRC_PATH}/core/render/tpl`);
// Suite
// -----------------------------------------------------------------------------
@@ -13,3 +14,32 @@ describe('core/render/utils', () => {
});
});
});
+
+describe('core/render/tpl', () => {
+ describe('remove html tag in tree', () => {
+ test('remove span and img', () => {
+ const result = tree([
+ {
+ level: 2,
+ slug: '#/cover?id=basic-usage',
+ title: 'Basic usage',
+ },
+ {
+ level: 2,
+ slug: '#/cover?id=custom-background',
+ title: 'Custom background',
+ },
+ {
+ level: 2,
+ slug: '#/cover?id=test',
+ title:
+ '
Test',
+ },
+ ]);
+
+ expect(result).toEqual(
+ ``
+ );
+ });
+ });
+});
From 6385b7fa45f6397ec866993086248cf1260c3779 Mon Sep 17 00:00:00 2001
From: sy-records <52o@qq52o.cn>
Date: Sat, 21 Nov 2020 09:05:49 +0800
Subject: [PATCH 4/4] Update
---
src/core/render/tpl.js | 3 +--
test/unit/render-util.test.js | 46 +++++++++++++++++------------------
2 files changed, 23 insertions(+), 26 deletions(-)
diff --git a/src/core/render/tpl.js b/src/core/render/tpl.js
index 91f990feb..595cdff76 100644
--- a/src/core/render/tpl.js
+++ b/src/core/render/tpl.js
@@ -90,9 +90,8 @@ export function tree(toc, tpl = '') {
}
let innerHTML = '';
- let title = '';
toc.forEach(node => {
- title = node.title.replace(/(<([^>]+)>)/g, '');
+ const title = node.title.replace(/(<([^>]+)>)/g, '');
innerHTML += `${node.title}`;
if (node.children) {
innerHTML += tree(node.children, tpl);
diff --git a/test/unit/render-util.test.js b/test/unit/render-util.test.js
index be4897879..5d556168f 100644
--- a/test/unit/render-util.test.js
+++ b/test/unit/render-util.test.js
@@ -16,30 +16,28 @@ describe('core/render/utils', () => {
});
describe('core/render/tpl', () => {
- describe('remove html tag in tree', () => {
- test('remove span and img', () => {
- const result = tree([
- {
- level: 2,
- slug: '#/cover?id=basic-usage',
- title: 'Basic usage',
- },
- {
- level: 2,
- slug: '#/cover?id=custom-background',
- title: 'Custom background',
- },
- {
- level: 2,
- slug: '#/cover?id=test',
- title:
- '
Test',
- },
- ]);
+ test('remove html tag in tree', () => {
+ const result = tree([
+ {
+ level: 2,
+ slug: '#/cover?id=basic-usage',
+ title: 'Basic usage',
+ },
+ {
+ level: 2,
+ slug: '#/cover?id=custom-background',
+ title: 'Custom background',
+ },
+ {
+ level: 2,
+ slug: '#/cover?id=test',
+ title:
+ '
Test',
+ },
+ ]);
- expect(result).toEqual(
- ``
- );
- });
+ expect(result).toEqual(
+ ``
+ );
});
});