mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
feat: add highlight for code block (#291)
* feat: add highlight for code block * chore: update test
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
import { escape } from "lodash-es";
|
||||
import hljs from "highlight.js";
|
||||
|
||||
export const CODE_BLOCK_REG = /^```(\S*?)\s([\s\S]*?)```(\n?)/;
|
||||
|
||||
@ -8,7 +9,12 @@ const renderer = (rawStr: string): string => {
|
||||
return rawStr;
|
||||
}
|
||||
|
||||
return `<pre lang='${escape(matchResult[1])}'>\n${escape(matchResult[2])}</pre>${matchResult[3]}`;
|
||||
const language = escape(matchResult[1]) || "plaintext";
|
||||
const highlightedCodes = hljs.highlight(matchResult[2], {
|
||||
language,
|
||||
}).value;
|
||||
|
||||
return `<pre><code class="language-${language}">${highlightedCodes}</code></pre>${matchResult[3]}`;
|
||||
};
|
||||
|
||||
export default {
|
||||
|
Reference in New Issue
Block a user