feat: 優化代碼高亮系統並修復樣式問題 (v5.5.4-b1)

- 簡化 config.pug 中的高亮設置檢測邏輯
- 重構滾動條樣式,提取為可重用的 $scrollbar-style
- 優化 JavaScript 代碼高亮邏輯,增加對默認高亮的支持
- 修復打賞彈窗的邊框圓角應用位置
- 改善代碼高亮工具的檢測和處理流程
This commit is contained in:
Jerry committed 2026-01-10 13:19:23 +08:00
1 parent c771efa9bc
commit b0951197a9
7 files changed
+34 -29

No files matched your search

+4 -8
View File
@@ -72,20 +72,16 @@
}) })
} }
let highlight = 'undefined' let highlightProvider = config.syntax_highlighter || (config.highlight.enable ? 'highlight.js' : config.prismjs.enable ? 'prismjs' : null)
let syntaxHighlighter = config.syntax_highlighter const { copy, language, height_limit, fullpage, macStyle, shrink } = theme.code_blocks
let highlightEnable = syntaxHighlighter ? ['highlight.js', 'prismjs'].includes(syntaxHighlighter) : (config.highlight.enable || config.prismjs.enable) let highlight = JSON.stringify({
if (highlightEnable) { plugin: highlightProvider,
const { copy, language, height_limit, fullpage, macStyle } = theme.code_blocks
highlight = JSON.stringify({
plugin: syntaxHighlighter ? syntaxHighlighter : config.highlight.enable ? 'highlight.js' : 'prismjs',
highlightCopy: copy, highlightCopy: copy,
highlightLang: language, highlightLang: language,
highlightHeightLimit: height_limit, highlightHeightLimit: height_limit,
highlightFullpage: fullpage, highlightFullpage: fullpage,
highlightMacStyle: macStyle highlightMacStyle: macStyle
}) })
}
script. script.
const GLOBAL_CONFIG = { const GLOBAL_CONFIG = {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "hexo-theme-butterfly", "name": "hexo-theme-butterfly",
"version": "5.5.3", "version": "5.5.4-b1",
"description": "A Simple and Card UI Design theme for Hexo", "description": "A Simple and Card UI Design theme for Hexo",
"main": "package.json", "main": "package.json",
"scripts": { "scripts": {
+13
View File
@@ -24,6 +24,14 @@ wordWrap = $highlight_enable && !$highlight_line_number && hexo-config('code_blo
--hlscrollbar-bg: lighten(#121212, 5) --hlscrollbar-bg: lighten(#121212, 5)
--hlexpand-bg: linear-gradient(180deg, rgba(lighten(#121212, 2), .6), rgba(lighten(#121212, 2), .9)) --hlexpand-bg: linear-gradient(180deg, rgba(lighten(#121212, 2), .6), rgba(lighten(#121212, 2), .9))
$scrollbar-style
// scrollbar - firefox
@-moz-document url-prefix()
scrollbar-color: var(--hlscrollbar-bg) transparent
&::-webkit-scrollbar-thumb
background: var(--hlscrollbar-bg)
if $highlight_enable if $highlight_enable
@require 'highlight/index' @require 'highlight/index'
@@ -88,6 +96,11 @@ $code-block
&:hover &:hover
border-bottom-color: var(--hl-color) border-bottom-color: var(--hl-color)
&.default
pre
padding: 10px 20px
@extend $scrollbar-style
&.copy-true &.copy-true
user-select: all user-select: all
-webkit-user-select: all -webkit-user-select: all
Loaded 3 of 7 files, more files were not shown because too many files have changed in this diff. Show more