优化markd解析库
parent
9c78c80bc8
commit
5c24ae9c7c
|
@ -42,7 +42,6 @@ const INLINE = {
|
|||
}
|
||||
|
||||
function parseJs(code) {
|
||||
// console.log(code)
|
||||
return code
|
||||
.replace(EXP, (m, pun, str, flag) => {
|
||||
str = str.replace(/&/g, '&').replace(/(\\.)/g, '[fn]$1[/fn]')
|
||||
|
@ -61,6 +60,7 @@ function parseJs(code) {
|
|||
.replace(STR, (m, pun, str) => {
|
||||
str = str
|
||||
.replace(/\[(\w+)\](.*?)\[\/\1\]/g, '$2')
|
||||
.replace(/<(\/?)xmp>/g, '<$1xmp>')
|
||||
.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
|
@ -89,6 +89,7 @@ function parseJs(code) {
|
|||
}
|
||||
|
||||
function rebuild(code) {
|
||||
// console.log(code)
|
||||
return code
|
||||
.replace(/\[(\/?)tag\]/g, (m, s) => (s ? '</i>' : '<i class="r">'))
|
||||
.replace(/\[(\/?)attr\]/g, (m, s) => (s ? '</i>' : '<i class="b">'))
|
||||
|
|
|
@ -214,10 +214,13 @@ class Tool {
|
|||
let attr = hideCopy ? ' hide-copy' : ''
|
||||
|
||||
if (isCodeBlock) {
|
||||
list.push('</wc-code>')
|
||||
list.push('</xmp></wc-code>')
|
||||
} else {
|
||||
list.push(
|
||||
tmp.replace(/^```([\w\#\-]*?)$/, `<wc-code lang="$1"${attr}>`)
|
||||
tmp.replace(
|
||||
/^```([\w\#\-]*?)$/,
|
||||
`<wc-code lang="$1"${attr}><xmp>`
|
||||
)
|
||||
)
|
||||
}
|
||||
isCodeBlock = !isCodeBlock
|
||||
|
@ -225,8 +228,7 @@ class Tool {
|
|||
var qlink
|
||||
if (isCodeBlock) {
|
||||
it = it
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/<(\/?)([a-z][a-z\d\-]*?)([^>]*?)>/g, '<$1$2$3>')
|
||||
.replace('\\`\\`\\`', '```')
|
||||
} else {
|
||||
if (Helper.isTable(tmp) && !isTable) {
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
border: 1px solid var(--color-grey-2);
|
||||
border-radius: inherit;
|
||||
font-size: 14px;
|
||||
|
@ -77,6 +78,7 @@
|
|||
|
||||
.toolbar {
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 5px;
|
||||
line-height: 24px;
|
||||
|
@ -118,12 +120,14 @@
|
|||
.editor-outbox {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
border-radius: 3px;
|
||||
|
||||
.editor,
|
||||
.preview {
|
||||
flex: 1;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.editor {
|
||||
|
|
Reference in New Issue