-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathindex.js
More file actions
62 lines (54 loc) · 1.5 KB
/
index.js
File metadata and controls
62 lines (54 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
const replaceStream = require("replacestream");
const frontMatter = /^---(.|\n)*---\n/;
const media = /\(\/?media\//g;
const copyable = /{{< copyable\s+(.+)\s+>}}\r?\n/g;
const tabsPanel = /{{< tabs-panel\s+(.+)\s+>}}\n/g;
const customContentTidb =
/<CustomContent +platform=["']tidb["'] *>(.|\n)*?<\/CustomContent>\n/g;
const customContentTidbCloud =
/<CustomContent +platform=["']tidb-cloud["'] *>(.|\n)*?<\/CustomContent>\n/g;
/**
* Replace front matter.
*
* @param {string} str
* @param {string} replaced
* @return {string}
*/
function replaceFrontMatter(str, replaced) {
return str.replace(frontMatter, replaced);
}
function replaceImagePath(str, replaced) {
return str.replace(media, `(${replaced}/`);
}
function replaceCopyable(str, replaced) {
return str.replace(copyable, replaced);
}
function replaceImagePathStream(replaced) {
return replaceStream(media, `(${replaced}/`);
}
function replaceCopyableStream() {
return replaceStream(copyable, function (_, p1) {
// return `<WithCopy tag=${p1} />\n`
// ! WithCopy is deprecated!
return ``;
});
}
function replaceCustomContentStream(type) {
if (type === "tidb-cloud") {
return replaceStream(customContentTidbCloud, function (_, p1) {
return ``;
});
}
return replaceStream(customContentTidb, function (_, p1) {
return ``;
});
}
module.exports = {
replaceFrontMatter,
replaceImagePath,
replaceCopyable,
replaceStream,
replaceImagePathStream,
replaceCopyableStream,
replaceCustomContentStream,
};