feat: simple markdown parser (#252)

* feat: simple markdown parser

* chore: rename test file name

* feat: add plain text link parser

* chore: update style
This commit is contained in:
boojack
2022-10-02 22:49:30 +08:00
committed by GitHub
parent 8e63b8f289
commit 51fb8ddb07
25 changed files with 504 additions and 179 deletions

View File

@ -0,0 +1,23 @@
export const CODE_BLOCK_REG = /^```(\S*?)\s([\s\S]*?)```(\n?)/;
const match = (rawStr: string): number => {
const matchResult = rawStr.match(CODE_BLOCK_REG);
if (!matchResult) {
return 0;
}
const matchStr = matchResult[0];
return matchStr.length;
};
const renderer = (rawStr: string): string => {
const parsedStr = rawStr.replace(CODE_BLOCK_REG, "<pre lang='$1'>\n$2</pre>$3");
return parsedStr;
};
export default {
name: "code block",
regex: CODE_BLOCK_REG,
match,
renderer,
};