mirror of
https://ghfast.top/https://github.com/zsjy/halo-theme-dream2.0-plus.git
synced 2025-03-16 00:49:40 +08:00
perf(code): 修改代码块中代码行选中方式
This commit is contained in:
parent
e03cbe4e83
commit
9d5bc74ff6
@ -9,11 +9,11 @@ const postContext = {
|
|||||||
let clazz = $(this).attr('class')
|
let clazz = $(this).attr('class')
|
||||||
// 通过class初始化代码块标题和是否默认关闭
|
// 通过class初始化代码块标题和是否默认关闭
|
||||||
let title = ''
|
let title = ''
|
||||||
let lines = [0, 0]
|
let lines = false
|
||||||
let isClose = false
|
let isClose = false
|
||||||
if (clazz != null) {
|
if (clazz != null) {
|
||||||
let str1 = clazz.match(/[|<](.*)$/)
|
let str1 = clazz.match(/[|<](.*)$/)
|
||||||
let str2 = clazz.match(/:(\d+)-(\d+)/)
|
let str2 = clazz.match(/:select/)
|
||||||
if (str1 || str2) {
|
if (str1 || str2) {
|
||||||
let num = 0
|
let num = 0
|
||||||
if (str2) {
|
if (str2) {
|
||||||
@ -25,8 +25,7 @@ const postContext = {
|
|||||||
} else {
|
} else {
|
||||||
title = clazz.substring(9, str2.index)
|
title = clazz.substring(9, str2.index)
|
||||||
}
|
}
|
||||||
lines[0] = Number(str2[1])
|
lines = true
|
||||||
lines[1] = Number(str2[2])
|
|
||||||
}
|
}
|
||||||
if (str1) {
|
if (str1) {
|
||||||
num = str1.index < num ? str1.index : num
|
num = str1.index < num ? str1.index : num
|
||||||
@ -41,12 +40,16 @@ const postContext = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 生成行号
|
// 生成行号
|
||||||
let nums = $(this).text().split('\n').length - 1 || 1
|
let codes = $(this).text().split('\n') || []
|
||||||
|
let nums = codes.length - 1
|
||||||
let lineDigit = String(nums).length
|
let lineDigit = String(nums).length
|
||||||
if (lineDigit === 1) lineDigit = 2
|
if (lineDigit === 1) lineDigit = 2
|
||||||
let lis = ''
|
let lis = ''
|
||||||
for (var i = 1; i <= nums; i++) {
|
for (var i = 0; i < nums; i++) {
|
||||||
lis += `<li ${i >= lines[0] && i <= lines[1]? 'class="code-select"' : ''}>${String(i).padStart(lineDigit, 0)}</li>`
|
lis += `<li ${(lines && /^\s*\|\+\s+/.test(codes[i]))? 'class="code-select"' : ''}>${String(i + 1).padStart(lineDigit, 0)}</li>`
|
||||||
|
}
|
||||||
|
if (lines) {
|
||||||
|
$(this).text($(this).text().replace(/(^\s*)\|\+\s/gm,'$1'))
|
||||||
}
|
}
|
||||||
// 代码块的id,用于代码块复制和折叠
|
// 代码块的id,用于代码块复制和折叠
|
||||||
let id = `codeBlock${index}-${new Date().getTime()}`
|
let id = `codeBlock${index}-${new Date().getTime()}`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user