chore: 部分内容适配

This commit is contained in:
nineya 2023-03-22 11:57:40 +08:00
parent 32e87ec4dc
commit 9c4fc6afbc
9 changed files with 1070 additions and 1151 deletions

View File

@ -130,30 +130,28 @@ spec:
name: banner_description name: banner_description
label: 横幅文字描述 label: 横幅文字描述
placeholder: '请输入描述内容' placeholder: '请输入描述内容'
# - $formkit: text - $formkit: select
# name: theme_style name: theme_style
# label: 主题风格 label: 主题风格
# type: select value: 'default'
# value: 'default' help: '主题风格效果,不改变主题整体框架。'
# help: '主题风格效果,不改变主题整体框架。' options:
# options: - value: 'default'
# - value: 'default' label: 默认
# label: 默认 - value: 'clean'
# - value: 'clean' label: 清爽
# label: 清爽 - $formkit: select
# - $formkit: text name: default_theme
# name: default_theme label: 默认主题模式
# label: 默认主题模式 value: 'light'
# type: select help: '未打开过博客的浏览器,首次打开博客时的默认主题模式。'
# value: 'light' options:
# help: '未打开过博客的浏览器,首次打开博客时的默认主题模式。' - value: 'light'
# options: label: 明亮模式
# - value: 'light' - value: 'night'
# label: 明亮模式 label: 黑暗模式
# - value: 'night' - value: 'system'
# label: 黑暗模式 label: 跟随系统
# - value: 'system'
# label: 跟随系统
# - $formkit: text # - $formkit: text
# name: theme_color # name: theme_color
# label: 明亮模式主题色 # label: 明亮模式主题色
@ -164,69 +162,65 @@ spec:
# label: 黑暗模式主题色 # label: 黑暗模式主题色
# type: color # type: color
# value: '#5d93db' # value: '#5d93db'
# - $formkit: text - $formkit: select
# name: web_font name: web_font
# label: 博客字体 label: 博客字体
# type: select value: 'default'
# value: 'default' options:
# options: - value: 'default'
# - value: 'default' label: 默认字体
# label: 默认字体 - value: 'WenCang.woff2'
# - value: 'WenCang.woff2' label: 问藏书房体
# label: 问藏书房体 - value: 'custom'
# - value: 'custom' label: 自定义
# label: 自定义
- $formkit: attachment - $formkit: attachment
name: custom_font name: custom_font
label: 自定义博客字体 label: 自定义博客字体
placeholder: '请输入/选择字体路径' placeholder: '请输入/选择字体路径'
help: '自定义博客字体在博客字体选项为自定义时生效。支持woff2/woff/ttf/eot/svg格式的字体文件链接建议使用woff2格式。' help: '自定义博客字体在博客字体选项为自定义时生效。支持woff2/woff/ttf/eot/svg格式的字体文件链接建议使用woff2格式。'
# - $formkit: text - $formkit: select
# name: sidebar_column name: sidebar_column
# label: 博客布局方式 label: 博客布局方式
# type: select value: 'all'
# value: 'all' options:
# options: - value: 'all'
# - value: 'all' label: 三列布局
# label: 三列布局 - value: 'only-left'
# - value: 'only-left' label: 仅显示左侧
# label: 仅显示左侧 - value: 'only-right'
# - value: 'only-right' label: 仅显示右侧
# label: 仅显示右侧 - value: 'module-left'
# - value: 'module-left' label: 模块化(左侧)
# label: 模块化(左侧) - value: 'module-right'
# - value: 'module-right' label: 模块化(右侧)
# label: 模块化(右侧)
# - $formkit: text # - $formkit: text
# name: module_links # name: module_links
# label: 模块化布局链接 # label: 模块化布局链接
# type: textarea # type: textarea
# placeholder: '标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址' # placeholder: '标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址'
# help: '以标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址格式填写内容,一行表示一个模块链接,可填写 1~6 个链接。' # help: '以标签|文字说明|是否新界面打开(true/false)|背景图链接|跳转链接地址格式填写内容,一行表示一个模块链接,可填写 1~6 个链接。'
# - $formkit: text - $formkit: radio
# name: left_sidebar_sticky name: left_sidebar_sticky
# label: 左侧边栏悬浮 label: 左侧边栏悬浮
# type: radio value: bottom
# value: bottom options:
# options: - value: top
# - value: top label: 固定顶部
# label: 固定顶部 - value: bottom
# - value: bottom label: 固定底部
# label: 固定底部 - value: none
# - value: none label: 不悬浮
# label: 不悬浮 - $formkit: radio
# - $formkit: text name: right_sidebar_sticky
# name: right_sidebar_sticky label: 右侧边栏悬浮
# label: 右侧边栏悬浮 value: top
# type: radio options:
# value: top - value: top
# options: label: 固定顶部
# - value: top - value: bottom
# label: 固定顶部 label: 固定底部
# - value: bottom - value: none
# label: 固定底部 label: 不悬浮
# - value: none
# label: 不悬浮
- group: post - group: post
label: '文章设置' label: '文章设置'
formSchema: formSchema:
@ -235,186 +229,183 @@ spec:
label: 默认文章缩略图 label: 默认文章缩略图
placeholder: '请输入/选择图片路径' placeholder: '请输入/选择图片路径'
help: "如果文章没有指定缩略图,则默认显示当前缩略图。" help: "如果文章没有指定缩略图,则默认显示当前缩略图。"
# - $formkit: text - $formkit: select
# name: top_thumbnail_mode name: top_thumbnail_mode
# label: 置顶文章列表缩略图模式 label: 置顶文章列表缩略图模式
# type: select value: back
# value: back help: '置顶的文章在列表的缩略图模式除网格布局外如果文章元数据配置了thumbnail_mode项则当前配置将被覆盖。注设置网格布局后非置顶文章也会变成网格布局。'
# help: '置顶的文章在列表的缩略图模式除网格布局外如果文章元数据配置了thumbnail_mode项则当前配置将被覆盖。注设置网格布局后非置顶文章也会变成网格布局。' options:
# options: - value: default
# - value: default label: 默认模式
# label: 默认模式 - value: back
# - value: back label: 背景图模式
# label: 背景图模式 - value: small
# - value: small label: 小图模式(左侧)
# label: 小图模式(左侧) - value: small-right
# - value: small-right label: 小图模式(右侧)
# label: 小图模式(右侧) - value: small-alter
# - value: small-alter label: 小图模式(交替)
# label: 小图模式(交替) - value: fold
# - value: fold label: 折叠模式
# label: 折叠模式 - value: grid
# - value: grid label: 网格模式(强优先)
# label: 网格模式(强优先) - $formkit: select
# - $formkit: text name: thumbnail_mode
# name: thumbnail_mode label: 文章列表缩略图模式
# label: 文章列表缩略图模式 value: default
# type: select help: '文章列表缩略图模式除网格布局外如果文章元数据配置了thumbnail_mode项则当前配置将被覆盖。'
# value: default options:
# help: '文章列表缩略图模式除网格布局外如果文章元数据配置了thumbnail_mode项则当前配置将被覆盖。' - value: default
# options: label: 默认模式
# - value: default - value: back
# label: 默认模式 label: 背景图模式
# - value: back - value: small
# label: 背景图模式 label: 小图模式(左侧)
# - value: small - value: small-right
# label: 小图模式(左侧) label: 小图模式(右侧)
# - value: small-right - value: small-alter
# label: 小图模式(右侧) label: 小图模式(交替)
# - value: small-alter - value: grid
# label: 小图模式(交替) label: 网格模式(强优先)
# - value: grid - $formkit: select
# label: 网格模式(强优先) name: code_pretty
# - $formkit: text label: 代码块高亮主题
# name: code_pretty value: atom-one-light
# label: 代码块高亮主题 options:
# type: select - value: a11y-dark
# value: atom-one-light label: A11y Dark
# options: - value: a11y-light
# - value: a11y-dark label: A11y Light
# label: A11y Dark - value: agate
# - value: a11y-light label: Agate
# label: A11y Light - value: an-old-hope
# - value: agate label: An Old Hope
# label: Agate - value: androidstudio
# - value: an-old-hope label: Androidstudio
# label: An Old Hope - value: arduino-light
# - value: androidstudio label: Arduino Light
# label: Androidstudio - value: arta
# - value: arduino-light label: Arta
# label: Arduino Light - value: ascetic
# - value: arta label: Ascetic
# label: Arta - value: atom-one-dark
# - value: ascetic label: Atom One Dark
# label: Ascetic - value: atom-one-dark-reasonable
# - value: atom-one-dark label: Atom One Dark Reasonable
# label: Atom One Dark - value: atom-one-light
# - value: atom-one-dark-reasonable label: Atom One Light
# label: Atom One Dark Reasonable - value: brown-paper
# - value: atom-one-light label: Brown Paper
# label: Atom One Light - value: brown-papersq
# - value: brown-paper label: Brown Papersq
# label: Brown Paper - value: codepen-embed
# - value: brown-papersq label: Codepen Embed
# label: Brown Papersq - value: color-brewer
# - value: codepen-embed label: Color Brewer
# label: Codepen Embed - value: dark
# - value: color-brewer label: Dark
# label: Color Brewer - value: default
# - value: dark label: Default
# label: Dark - value: devibeans
# - value: default label: Devibeans
# label: Default - value: docco
# - value: devibeans label: Docco
# label: Devibeans - value: far
# - value: docco label: Far
# label: Docco - value: foundation
# - value: far label: Foundation
# label: Far - value: github-dark-dimmed
# - value: foundation label: Github Dark Dimmed
# label: Foundation - value: github-dark
# - value: github-dark-dimmed label: Github Dark
# label: Github Dark Dimmed - value: github
# - value: github-dark label: Github
# label: Github Dark - value: gml
# - value: github label: Gml
# label: Github - value: googlecode
# - value: gml label: Googlecode
# label: Gml - value: gradient-dark
# - value: googlecode label: Gradient Dark
# label: Googlecode - value: gradient-light
# - value: gradient-dark label: Gradient Light
# label: Gradient Dark - value: grayscale
# - value: gradient-light label: Grayscale
# label: Gradient Light - value: hybrid
# - value: grayscale label: Hybrid
# label: Grayscale - value: idea
# - value: hybrid label: Idea
# label: Hybrid - value: ir-black
# - value: idea label: Ir Black
# label: Idea - value: isbl-editor-dark
# - value: ir-black label: Isbl Editor Dark
# label: Ir Black - value: isbl-editor-light
# - value: isbl-editor-dark label: Isbl Editor Light
# label: Isbl Editor Dark - value: kimbie-dark
# - value: isbl-editor-light label: Kimbie Dark
# label: Isbl Editor Light - value: kimbie-light
# - value: kimbie-dark label: Kimbie Light
# label: Kimbie Dark - value: lightfair
# - value: kimbie-light label: Lightfair
# label: Kimbie Light - value: lioshi
# - value: lightfair label: Lioshi
# label: Lightfair - value: magula
# - value: lioshi label: Magula
# label: Lioshi - value: mono-blue
# - value: magula label: Mono Blue
# label: Magula - value: monokai-sublime
# - value: mono-blue label: Monokai Sublime
# label: Mono Blue - value: monokai
# - value: monokai-sublime label: Monokai
# label: Monokai Sublime - value: night-owl
# - value: monokai label: Night Owl
# label: Monokai - value: nnfx-dark
# - value: night-owl label: Nnfx dark
# label: Night Owl - value: nnfx-light
# - value: nnfx-dark label: Nnfx Light
# label: Nnfx dark - value: nord
# - value: nnfx-light label: Nord
# label: Nnfx Light - value: obsidian
# - value: nord label: Obsidian
# label: Nord - value: paraiso-dark
# - value: obsidian label: Paraiso Dark
# label: Obsidian - value: paraiso-light
# - value: paraiso-dark label: Paraiso Light
# label: Paraiso Dark - value: pojoaque
# - value: paraiso-light label: Pojoaque
# label: Paraiso Light - value: purebasic
# - value: pojoaque label: Purebasic
# label: Pojoaque - value: qtcreator-dark
# - value: purebasic label: Qtcreator Dark
# label: Purebasic - value: qtcreator-light
# - value: qtcreator-dark label: Qtcreator Light
# label: Qtcreator Dark - value: rainbow
# - value: qtcreator-light label: Rainbow
# label: Qtcreator Light - value: routeros
# - value: rainbow label: Routeros
# label: Rainbow - value: school-book
# - value: routeros label: School Book
# label: Routeros - value: shades-of-purple
# - value: school-book label: Shades Of Purple
# label: School Book - value: srcery
# - value: shades-of-purple label: Srcery
# label: Shades Of Purple - value: stackoverflow-dark
# - value: srcery label: Stackoverflow Dark
# label: Srcery - value: stackoverflow-light
# - value: stackoverflow-dark label: Stackoverflow Light
# label: Stackoverflow Dark - value: sunburst
# - value: stackoverflow-light label: Sunburst
# label: Stackoverflow Light - value: tomorrow-night-blue
# - value: sunburst label: Tomorrow Night Blue
# label: Sunburst - value: tomorrow-night-bright
# - value: tomorrow-night-blue label: Tomorrow Night Bright
# label: Tomorrow Night Blue - value: vs
# - value: tomorrow-night-bright label: Vs
# label: Tomorrow Night Bright - value: vs2015
# - value: vs label: Vs 2015
# label: Vs - value: xcode
# - value: vs2015 label: Xcode
# label: Vs 2015 - value: xt256
# - value: xcode label: Xt 256
# label: Xcode
# - value: xt256
# label: Xt 256
- $formkit: text - $formkit: text
name: code_fold_line name: code_fold_line
label: 代码块折叠 label: 代码块折叠
@ -425,48 +416,42 @@ spec:
label: 正文长图折叠 label: 正文长图折叠
placeholder: '请输入高度数值px' placeholder: '请输入高度数值px'
help: '图片高度超出指定高度px后默认进行折叠指定的高度需大于等于 400px。' help: '图片高度超出指定高度px后默认进行折叠指定的高度需大于等于 400px。'
# - $formkit: text - $formkit: text
# name: invalid_tips_day name: invalid_tips_day
# label: 文章失效提示 label: 文章失效提示
# value: 99999999 value: 99999999
# placeholder: '请输入时间(天)' placeholder: '请输入时间(天)'
# help: '文章超过指定天数未进行更新,展示文章或图片可能失效的温馨提示。' help: '文章超过指定天数未进行更新,展示文章或图片可能失效的温馨提示。'
# - $formkit: text - $formkit: radio
# name: enable_katex name: enable_katex
# label: KaTeX 公式支持 label: KaTeX 公式支持
# type: radio value: false
# data-type: bool help: '博客通过 KaTeX 做数学公式渲染如果文章或页面元数据配置了enable_katex项则当前配置将被覆盖。'
# value: false options:
# help: '博客通过 KaTeX 做数学公式渲染如果文章或页面元数据配置了enable_katex项则当前配置将被覆盖。' - value: true
# options: label: 默认开启
# - value: true - value: false
# label: 默认开启 label: 默认关闭
# - value: false - $formkit: radio
# label: 默认关闭 name: enable_copyright
# - $formkit: text label: 开启文章版权声明
# name: enable_copyright value: true
# label: 开启文章版权声明 help: '如果文章或页面元数据配置了enable_copyright项则当前配置将被覆盖。'
# type: radio options:
# data-type: bool - value: true
# value: true label: 默认开启
# help: '如果文章或页面元数据配置了enable_copyright项则当前配置将被覆盖。' - value: false
# options: label: 默认关闭
# - value: true - $formkit: radio
# label: 默认开启 name: enable_post_share
# - value: false label: 开启文章分享
# label: 默认关闭 value: true
# - $formkit: text help: '如果文章或页面元数据配置了enable_share项则当前配置将被覆盖。'
# name: enable_post_share options:
# label: 开启文章分享 - value: true
# type: radio label: 默认开启
# data-type: bool - value: false
# value: true label: 默认关闭
# help: '如果文章或页面元数据配置了enable_share项则当前配置将被覆盖。'
# options:
# - value: true
# label: 默认开启
# - value: false
# label: 默认关闭
- $formkit: attachment - $formkit: attachment
name: donate_alipay name: donate_alipay
label: 支付宝捐赠二维码 label: 支付宝捐赠二维码
@ -1221,11 +1206,10 @@ spec:
# label: 开启 # label: 开启
# - value: false # - value: false
# label: 关闭 # label: 关闭
# - $formkit: text - $formkit: attachment
# name: journals_share_image name: journals_share_image
# label: 日志页面-日志分享背景图 label: 日志页面-日志分享背景图
# type: attachment placeholder: '请输入/选择图片路径'
# placeholder: '请输入/选择图片路径'
# - $formkit: text # - $formkit: text
# name: enable_tags_tag_color # name: enable_tags_tag_color
# label: 标签页面-开启标签颜色 # label: 标签页面-开启标签颜色
@ -1399,55 +1383,52 @@ spec:
# label: 显示 # label: 显示
# - value: false # - value: false
# label: 关闭 # label: 关闭
#enhance: - group: enhance
# label: 增强功能 label: '增强功能'
# items: formSchema:
# - $formkit: text - $formkit: select
# name: cursor_style name: cursor_style
# label: 鼠标风格 label: 鼠标风格
# type: select value: none
# value: none options:
# options: - value: none
# - value: none label: 关闭
# label: 关闭 - value: breeze
# - value: breeze label: 清风(深色)
# label: 清风(深色) - $formkit: select
# - $formkit: text name: cursor_move
# name: cursor_move label: 鼠标移动特效
# label: 鼠标移动特效 value: none
# type: select options:
# value: none - value: none
# options: label: 关闭
# - value: none - value: bubbleCursor
# label: 关闭 label: 气泡跟随
# - value: bubbleCursor - value: emojiCursor
# label: 气泡跟随 label: 表情包跟随
# - value: emojiCursor - value: springyEmojiCursor
# label: 表情包跟随 label: 弹性表情包跟随
# - value: springyEmojiCursor - value: fairyDustCursor
# label: 弹性表情包跟随 label: 仙女棒效果
# - value: fairyDustCursor - value: snowflakeCursor
# label: 仙女棒效果 label: 雪花跟随
# - value: snowflakeCursor - value: followingDotCursor
# label: 雪花跟随 label: 圆点跟随
# - value: followingDotCursor - value: ghostCursor
# label: 圆点跟随 label: 移动残影(疏)
# - value: ghostCursor - value: trailingCursor
# label: 移动残影(疏) label: 移动残影(密)
# - value: trailingCursor - $formkit: select
# label: 移动残影(密) name: cursor_click
# - $formkit: text label: 鼠标点击特效
# name: cursor_click value: none
# label: 鼠标点击特效 options:
# type: select - value: none
# value: none label: 关闭
# options: - value: firework
# - value: none label: 烟花特效
# label: 关闭 - value: granule
# - value: firework label: 粒子爆炸
# label: 烟花特效
# - value: granule
# label: 粒子爆炸
# - $formkit: text # - $formkit: text
# name: enable_sw # name: enable_sw
# label: "启用 Service Worker 优化" # label: "启用 Service Worker 优化"
@ -1464,130 +1445,102 @@ spec:
# label: 开启全站离线 # label: 开启全站离线
# - value: "uninstall" # - value: "uninstall"
# label: 卸载 # label: 卸载
# - $formkit: text - $formkit: radio
# name: enable_compress name: effects_sakura_mode
# label: "启用 HTML 压缩" label: 樱花飘落特效显示模式
# type: radio value: day
# data-type: text options:
# value: format - value: none
# options: label: 不显示
# - value: none - value: day
# label: 关闭 label: 明亮模式
# - value: format - value: night
# label: 压缩空格 label: 黑暗模式
# - value: single - value: all
# label: 完全格式压缩 label: 全模式
# - $formkit: text - $formkit: radio
# name: effects_sakura_mode name: effects_universe_mode
# label: 樱花飘落特效显示模式 label: 宇宙星空特效显示模式
# type: radio value: night
# value: day options:
# options: - value: none
# - value: none label: 不显示
# label: 不显示 - value: day
# - value: day label: 明亮模式
# label: 明亮模式 - value: night
# - value: night label: 黑暗模式
# label: 黑暗模式 - value: all
# - value: all label: 全模式
# label: 全模式 - $formkit: radio
# - $formkit: text name: effects_circle_magic_mode
# name: effects_universe_mode label: 上升圆点特效显示模式
# label: 宇宙星空特效显示模式 value: night
# type: radio options:
# value: night - value: none
# options: label: 不显示
# - value: none - value: day
# label: 不显示 label: 明亮模式
# - value: day - value: night
# label: 明亮模式 label: 黑暗模式
# - value: night - value: all
# label: 黑暗模式 label: 全模式
# - value: all - $formkit: radio
# label: 全模式 name: enable_gray_mode
# - $formkit: text label: 灰色模式
# name: effects_circle_magic_mode value: false
# label: 上升圆点特效显示模式 help: '向英雄致敬,愿精神长存!'
# type: radio options:
# value: night - value: true
# options: label: 开启
# - value: none - value: false
# label: 不显示 label: 关闭
# - value: day - $formkit: radio
# label: 明亮模式 name: enable_patch
# - value: night label: 补丁模式
# label: 黑暗模式 value: true
# - value: all help: '引入补丁脚本,实现对部分异常不更新主题进行 bug 修复!'
# label: 全模式 options:
# - $formkit: text - value: true
# name: enable_gray_mode label: 开启
# label: 灰色模式 - value: false
# type: switch label: 关闭
# data-type: bool - $formkit: radio
# value: false name: enable_busuanzi
# help: '向英雄致敬,愿精神长存!' label: 开启 busuanzi 访客统计
# options: value: true
# - value: true options:
# label: 开启 - value: true
# - value: false label: 开启
# label: 关闭 - value: false
# - $formkit: text label: 关闭
# name: enable_patch - $formkit: radio
# label: 补丁模式 name: enable_baidu_push
# type: switch label: 启用百度 URL 自动推送
# data-type: bool value: false
# value: true options:
# help: '引入补丁脚本,实现对部分异常不更新主题进行 bug 修复!' - value: true
# options: label: 开启
# - value: true - value: false
# label: 开启 label: 关闭
# - value: false - $formkit: radio
# label: 关闭 name: enable_toutiao_push
# - $formkit: text label: 启用头条搜索自动推送
# name: enable_busuanzi value: false
# label: 开启 busuanzi 访客统计 options:
# type: switch - value: true
# data-type: bool label: 开启
# value: true - value: false
# options: label: 关闭
# - value: true - $formkit: radio
# label: 开启 name: enable_debug
# - value: false label: 开启 DEBUG 日志
# label: 关闭 value: false
# - $formkit: text help: '开发和问题排查时开启日志。'
# name: enable_baidu_push options:
# label: 启用百度 URL 自动推送 - value: true
# type: switch label: 开启
# data-type: bool - value: false
# value: false label: 关闭
# options:
# - value: true
# label: 开启
# - value: false
# label: 关闭
# - $formkit: text
# name: enable_toutiao_push
# label: 启用头条搜索自动推送
# type: switch
# data-type: bool
# value: false
# options:
# - value: true
# label: 开启
# - value: false
# label: 关闭
# - $formkit: text
# name: enable_debug
# label: 开启 DEBUG 日志
# type: switch
# data-type: bool
# value: false
# help: '开发和问题排查时开启日志。'
# options:
# - value: true
# label: 开启
# - value: false
# label: 关闭
- group: custom - group: custom
label: '定制主题' label: '定制主题'
formSchema: formSchema:

View File

@ -45,23 +45,21 @@
<!-- </#if>--> <!-- </#if>-->
<!--</#if>--> <!--</#if>-->
<!--<link rel="stylesheet" th:href="@{/assets/css/mew-custom.min.css(mew=${theme.spec.version})}">--> <link rel="stylesheet" th:href="@{/assets/css/mew-custom.min.css(mew=${theme.spec.version})}">
<!--<#if is_post?? || is_sheet?? || is_photos?? || is_journals??>--> <!--<#if is_post?? || is_sheet?? || is_photos?? || is_journals??>-->
<!-- <link data-pjax rel="stylesheet" th:href="@{/assets/lib/fancybox@5.3.7/jquery.fancybox.min.css}>--> <!-- <link data-pjax rel="stylesheet" th:href="@{/assets/lib/fancybox@5.3.7/jquery.fancybox.min.css}>-->
<!--</#if>--> <!--</#if>-->
<!--<link rel="stylesheet" th:href="@{/assets/lib/qmsg/qmsg.min.css">--> <link rel="stylesheet" th:href="@{/assets/lib/qmsg/qmsg.min.css}">
<!--<#if settings.cursor_style?? && settings.cursor_style!='none'>--> <!--<#if settings.cursor_style?? && settings.cursor_style!='none'>-->
<!-- <link rel="stylesheet" th:href="@{/assets/css/cursor/${settings.cursor_style}.min.css(mew=${theme.spec.version})}">--> <!-- <link rel="stylesheet" th:href="@{/assets/css/cursor/${settings.cursor_style}.min.css(mew=${theme.spec.version})}">-->
<!--</#if>--> <!--</#if>-->
<!--<#include "config.ftl">--> <!--<#include "config.html">-->
<!--<script src="@{/assets/lib/jquery@3.5.1/jquery.min.js}"></script>--> <script src="@{/assets/lib/jquery@3.5.1/jquery.min.js}"></script>
<!--<#if settings.enable_patch!true>--> <script th:if="${theme.config.enhance.enable_patch}" src="//cdn.jsdelivr.net/gh/nineya/halo-theme-dream@master/src/patch.js"></script>
<!-- <script src="//cdn.jsdelivr.net/gh/nineya/halo-theme-dream@master/src/patch.js"></script>-->
<!--</#if>-->
<!--<#if settings.external_css?? && settings.external_css!=''>--> <!--<#if settings.external_css?? && settings.external_css!=''>-->
<!-- <link rel="stylesheet" th:href="${settings.external_css!}">--> <!-- <link rel="stylesheet" th:href="${settings.external_css!}">-->
<!--</#if>--> <!--</#if>-->

View File

@ -6,15 +6,13 @@
<div class="column-main"> <div class="column-main">
<th:block th:replace="${content}"/> <th:block th:replace="${content}"/>
</div> </div>
<#include "templates/common/scripts.html"> <th:block th:replace="~{common/scripts}"/>
</body> </body>
</th:block> </th:block>
<th:block th:if="${#strings.equals('',param._pjax)}"> <th:block th:if="${#strings.equals('',param._pjax)}">
<th:block th:replace="~{common/head :: head}"/> <th:block th:replace="~{common/head :: head}"/>
<body> <body>
<!-- <#include "templates/common/widget.ftl">--> <th:block th:replace="~{common/navbar}"/>
<!-- <#import "templates/common/navbar.ftl" as nav>-->
<!-- <@nav.navbar/>-->
<th:block th:if="${theme.config.basic_style.enable_banner}"> <th:block th:if="${theme.config.basic_style.enable_banner}">
<th:block th:replace="~{common/banner :: banner}"/> <th:block th:replace="~{common/banner :: banner}"/>
</th:block> </th:block>
@ -24,18 +22,19 @@
<div class="column column-main"> <div class="column column-main">
<th:block th:insert="${content}"/> <th:block th:insert="${content}"/>
</div> </div>
<!-- <#if !settings.sidebar_column?? || (settings.sidebar_column!='only-right' && settings.sidebar_column!='module-left')>--> <th:block th:insert="${content}"/>
<!-- <@widget 'left' />--> <th:block th:if="${theme.config.basic_style.sidebar_column!='only-right' && theme.config.basic_style.sidebar_column!='module-left'}">
<!-- </#if>--> <th:block th:replace="~{common/widget :: widget('left')}"/>
<!-- <#if !settings.sidebar_column?? || (settings.sidebar_column!='only-left' && settings.sidebar_column!='module-right')>--> </th:block>
<!-- <@widget 'right' />--> <th:block th:if="${theme.config.basic_style.sidebar_column!='only-left' && theme.config.basic_style.sidebar_column!='module-right'}">
<!-- </#if>--> <th:block th:replace="~{common/widget :: widget('right')}"/>
</th:block>
</div> </div>
</div> </div>
</section> </section>
<th:block th:replace="~{common/actions}"/> <th:block th:replace="~{common/actions}"/>
<!-- <#include "templates/common/footer.ftl">--> <th:block th:replace="~{common/footer}"/>
<!-- <#include "templates/common/scripts.html">--> <th:block th:replace="~{common/scripts}"/>
</body> </body>
</th:block> </th:block>
</html> </html>

View File

@ -1,210 +0,0 @@
<#macro navbar>
<header class="navbar">
<div class="navbar-above">
<div class="container<#if settings.sidebar_column?? && settings.sidebar_column!='all'> two-column</#if>">
<i class="fa fa-bars navbar-slideicon"></i>
<a class="navbar-item logo-title" href="${context!}">
<#if blog_logo?? && blog_logo!=''>
<img class="logo-img" src="${blog_logo!}" alt="${blog_title!}" height="28">
<img class="logo-img-dark" src="${settings.night_logo!blog_logo!}" alt="${blog_title!}" height="28">
<#else>
${blog_title!}
</#if>
</a>
<nav class="navbar-nav active-animate">
<@menuTag method="tree">
<#list menus?sort_by('priority') as menu>
<#if menu.children?? && menu.children?size gt 0>
<#if menu.name?default('')?starts_with('#hide') != true>
<div class="item-dropdown" trigger="hover" placement="60px">
<div class="item-dropdown-link">
<#if menu.url!='#'>
<a class="item" href="${menu.url!}" target="${menu.target!}" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>
<#else>
<a class="item" style="cursor:default;" href="javascript:" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>
</#if>
<i class="fa fa-angle-down item-dropdown-link-icon" style="color:var(--main)"></i>
</div>
<nav class="item-dropdown-menu">
<#list menu.children?sort_by('priority') as child>
<#if child.children?? && child.children?size gt 0>
<#if child.name?default('')?starts_with('#hide') != true>
<li class="item-sub-li">
<a class="item" href="${child.url!}" target="${child.target!}" title="${child.name!}"><#if child.icon?? && child.icon!=''><i class="m-icon ${child.icon}"></i></#if>${child.name!}</a>
<ol class="item-sub">
<#list child.children?sort_by('priority') as child1>
<#if child1.name?default('')?starts_with('#hide') != true>
<li>
<a class="item" href="${child1.url!}" target="${child1.target!}" title="${child1.name!}"><#if child1.icon?? && child1.icon!=''><i class="m-icon ${child1.icon}"></i></#if>${child1.name!}</a>
</li>
</#if>
</#list>
</ol>
</li>
</#if>
<#else>
<#if child.name?default('')?starts_with('#hide') != true>
<li>
<a class="item" href="${child.url!}"
target="${child.target!}" title="${child.name!}"><#if child.icon?? && child.icon!=''><i class="m-icon ${child.icon}"></i></#if>${child.name!}</a>
</li>
</#if>
</#if>
</#list>
</nav>
</div>
</#if>
<#else>
<#if menu.name?default('')?starts_with('#hide') != true>
<a class="item" href="${menu.url!}" target="${menu.target!}" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>
</#if>
</#if>
</#list>
</@menuTag>
</nav>
<form data-pjax class="navbar-search" method="get" action="/search">
<input maxlength="16" autocomplete="off" placeholder="搜索内容..." name="keyword" value class="input" type="text">
<button type="submit" class="submit" aria-label="搜索按钮"><i class="fa fa-search"></i></button>
<span class="icon"></span>
<@postTag method="latest" top="5">
<nav class="result">
<#list posts as post>
<a href="${post.fullPath!}" title="${post.title!}" class="item">
<span class="sort">${post_index+1}</span>
<span class="text">${post.title!}</span>
</a>
</#list>
</nav>
</@postTag>
</form>
<i class="fa fa-search navbar-searchicon"></i>
</div>
</div>
<#-- mobile菜单 -->
<div class="navbar-slideout">
<div class="navbar-slideout-wrap">
<div class="navbar-slideout-author">
<img width="50" height="50" src="${user.avatar!}" class="avatar" alt="${user.nickname!}"/>
<div class="info">
<a class="link" target="_blank" rel="noopener noreferrer nofollow">${user.nickname!}</a>
<p class="motto">${user.description!'一句话介绍自己吧!'}</p>
</div>
</div>
<ul class="navbar-slideout-menu">
<li class="item">
<i class="fa fa-pencil-square-o"></i>
<@postTag method="count"><span>累计撰写 <strong>${count!"0"}</strong> 篇文章</span></@postTag>
</li>
<li class="item">
<i class="fa fa-tags"></i>
<@tagTag method="count"><span>累计创建 <strong>${count!"0"}</strong> 个标签</span></@tagTag>
</li>
<li class="item">
<i class="fa fa-commenting-o"></i>
<@commentTag method="count"><span>累计收到 <strong>${count!"0"}</strong> 条评论</span></@commentTag>
</li>
</ul>
<ul class="navbar-slideout-menu not-toc">
<li>
<a class="link panel" href="#" rel="nofollow">
<span>导航</span>
<i class="fa fa-angle-right"></i>
</a>
<ul class="slides panel-body panel-side-menu">
<@menuTag method="tree">
<#list menus?sort_by('priority') as menu>
<#if menu.children?? && menu.children?size gt 0>
<#if menu.name?default('')?starts_with('#hide') != true>
<li>
<div class="link panel">
<a href="${menu.url!}" title="${menu.name!}">${menu.name!}</a>
<i class="fa fa-angle-right"></i>
</div>
<ul class="slides panel-body">
<#if menu.children?? && menu.children?size gt 0>
<#list menu.children?sort_by('priority') as child>
<#if child.children?? && child.children?size gt 0>
<#if child.name?default('')?starts_with('#hide') != true>
<li>
<div class="link panel">
<a href="${child.url!}" title="${child.name!}">${child.name!}</a>
<i class="fa fa-angle-right"></i>
</div>
<ul class="slides panel-body">
<#list child.children?sort_by('priority') as child1>
<#if child1.name?default('')?starts_with('#hide') != true>
<li>
<a class="link" href="${child1.url!}" title="${child1.name!}">${child1.name!}</a>
</li>
</#if>
</#list>
</ul>
</li>
</#if>
<#else>
<#if child.name?default('')?starts_with('#hide') != true>
<li>
<a class="link" href="${child.url!}" title="${child.name!}">${child.name!}</a>
</li>
</#if>
</#if>
</#list>
</#if>
</ul>
</li>
</#if>
<#else>
<#if menu.name?default('')?starts_with('#hide') != true>
<li>
<a class="link" href="${menu.url!}" title="${menu.name!}">${menu.name!}</a>
</li>
</#if>
</#if>
</#list>
</@menuTag>
</ul>
</li>
</ul>
<#if settings.drawer_toc!true>
<ul class="navbar-slideout-menu is-toc">
<a class="link in" href="#" rel="nofollow"><span>目录</span></a>
<div class="toc-content">
</div>
</ul>
</#if>
</div>
</div>
<#-- mobile搜索 -->
<div class="navbar-searchout">
<div class="search-container">
<div class="navbar-searchout-inner">
<form data-pjax class="navbar-search-mobile" method="get" action="/search">
<input maxlength="16" autocomplete="off" placeholder="请输入关键字..." name="keyword" value class="input" type="text"/>
<button type="submit" class="submit">搜索</button>
</form>
<@tagTag method="list">
<#if tags?size gt 0>
<div class="tag-search">
<i class="fa fa-bullseye"></i>标签搜索
</div>
<ul class="cloud">
<#assign colors=["#F8D800", "#0396FF", "#EA5455", "#7367F0", "#32CCBC", "#F6416C", "#28C76F", "#9F44D3", "#F55555", "#736EFE", "#E96D71", "#DE4313", "#D939CD", "#4C83FF", "#F072B6", "#C346C2", "#5961F9", "#FD6585", "#465EFB", "#FFC600", "#FA742B", "#5151E5", "#BB4E75", "#FF52E5", "#49C628", "#00EAFF", "#F067B4", "#F067B4", "#ff9a9e", "#00f2fe", "#4facfe", "#f093fb", "#6fa3ef", "#bc99c4", "#46c47c", "#f9bb3c", "#e8583d", "#f68e5f"]>
<#assign nextRandom = .now?string["HHmmssSSS"]?number>
<#list tags as tag>
<li class="item">
<a style="background:${colors[nextRandom % colors?size]}" href="${tag.fullPath!}" title="${tag.name!}">${tag.name!}</a>
</li>
<#assign nextRandom = nextRandom * 10 % 38>
</#list>
</ul>
</#if>
</@tagTag>
</div>
</div>
</div>
<div class="navbar-mask"></div>
</header>
</#macro>

View File

@ -0,0 +1,179 @@
<header class="navbar" xmlns:th="https://www.thymeleaf.org">
<div class="navbar-above">
<div class="container<#if settings.sidebar_column?? && settings.sidebar_column!='all'> two-column</#if>">
<i class="fa fa-bars navbar-slideicon"></i>
<a class="navbar-item logo-title" th:href="${site.url}">
<th:block if="${site.logo != ''}">
<img class="logo-img" th:src="${site.logo}" th:alt="${site.title}" height="28">
<img class="logo-img-dark" th:src="${site.logo}" th:alt="${site.title}" height="28">
</th:block>
<th:block if="${site.logo == ''}" th:text="${site.title}"/>
</a>
<!-- <nav class="navbar-nav active-animate">-->
<!-- <@menuTag method="tree">-->
<!-- <#list menus?sort_by('priority') as menu>-->
<!-- <#if menu.children?? && menu.children?size gt 0>-->
<!-- <#if menu.name?default('')?starts_with('#hide') != true>-->
<!-- <div class="item-dropdown" trigger="hover" placement="60px">-->
<!-- <div class="item-dropdown-link">-->
<!-- <#if menu.url!='#'>-->
<!-- <a class="item" href="${menu.url!}" target="${menu.target!}" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>-->
<!-- <#else>-->
<!-- <a class="item" style="cursor:default;" href="javascript:" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>-->
<!-- </#if>-->
<!-- <i class="fa fa-angle-down item-dropdown-link-icon" style="color:var(&#45;&#45;main)"></i>-->
<!-- </div>-->
<!-- <nav class="item-dropdown-menu">-->
<!-- <#list menu.children?sort_by('priority') as child>-->
<!-- <#if child.children?? && child.children?size gt 0>-->
<!-- <#if child.name?default('')?starts_with('#hide') != true>-->
<!-- <li class="item-sub-li">-->
<!-- <a class="item" href="${child.url!}" target="${child.target!}" title="${child.name!}"><#if child.icon?? && child.icon!=''><i class="m-icon ${child.icon}"></i></#if>${child.name!}</a>-->
<!-- <ol class="item-sub">-->
<!-- <#list child.children?sort_by('priority') as child1>-->
<!-- <#if child1.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <a class="item" href="${child1.url!}" target="${child1.target!}" title="${child1.name!}"><#if child1.icon?? && child1.icon!=''><i class="m-icon ${child1.icon}"></i></#if>${child1.name!}</a>-->
<!-- </li>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </ol>-->
<!-- </li>-->
<!-- </#if>-->
<!-- <#else>-->
<!-- <#if child.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <a class="item" href="${child.url!}"-->
<!-- target="${child.target!}" title="${child.name!}"><#if child.icon?? && child.icon!=''><i class="m-icon ${child.icon}"></i></#if>${child.name!}</a>-->
<!-- </li>-->
<!-- </#if>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </nav>-->
<!-- </div>-->
<!-- </#if>-->
<!-- <#else>-->
<!-- <#if menu.name?default('')?starts_with('#hide') != true>-->
<!-- <a class="item" href="${menu.url!}" target="${menu.target!}" title="${menu.name!}"><#if menu.icon?? && menu.icon!=''><i class="m-icon ${menu.icon}"></i></#if>${menu.name!}</a>-->
<!-- </#if>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </@menuTag>-->
<!-- </nav>-->
<!-- <form data-pjax class="navbar-search" method="get" action="/search">-->
<!-- <input maxlength="16" autocomplete="off" placeholder="搜索内容..." name="keyword" value class="input" type="text">-->
<!-- <button type="submit" class="submit" aria-label="搜索按钮"><i class="fa fa-search"></i></button>-->
<!-- <span class="icon"></span>-->
<!-- <@postTag method="latest" top="5">-->
<!-- <nav class="result">-->
<!-- <#list posts as post>-->
<!-- <a href="${post.fullPath!}" title="${post.title!}" class="item">-->
<!-- <span class="sort">${post_index+1}</span>-->
<!-- <span class="text">${post.title!}</span>-->
<!-- </a>-->
<!-- </#list>-->
<!-- </nav>-->
<!-- </@postTag>-->
<!-- </form>-->
<i th:if="${pluginFinder.available('PluginSearchWidget')}" class="fa fa-search navbar-searchicon" href="javascript:SearchWidget.open();"></i>
</div>
</div>
<!-- <#&#45;&#45; mobile菜单 &ndash;&gt;-->
<!-- <div class="navbar-slideout">-->
<!-- <div class="navbar-slideout-wrap">-->
<!-- <div class="navbar-slideout-author">-->
<!-- <img width="50" height="50" src="${user.avatar!}" class="avatar" alt="${user.nickname!}"/>-->
<!-- <div class="info">-->
<!-- <a class="link" target="_blank" rel="noopener noreferrer nofollow">${user.nickname!}</a>-->
<!-- <p class="motto">${user.description!'一句话介绍自己吧!'}</p>-->
<!-- </div>-->
<!-- </div>-->
<!-- <ul class="navbar-slideout-menu">-->
<!-- <li class="item">-->
<!-- <i class="fa fa-pencil-square-o"></i>-->
<!-- <@postTag method="count"><span>累计撰写 <strong>${count!"0"}</strong> 篇文章</span></@postTag>-->
<!-- </li>-->
<!-- <li class="item">-->
<!-- <i class="fa fa-tags"></i>-->
<!-- <@tagTag method="count"><span>累计创建 <strong>${count!"0"}</strong> 个标签</span></@tagTag>-->
<!-- </li>-->
<!-- <li class="item">-->
<!-- <i class="fa fa-commenting-o"></i>-->
<!-- <@commentTag method="count"><span>累计收到 <strong>${count!"0"}</strong> 条评论</span></@commentTag>-->
<!-- </li>-->
<!-- </ul>-->
<!-- <ul class="navbar-slideout-menu not-toc">-->
<!-- <li>-->
<!-- <a class="link panel" href="#" rel="nofollow">-->
<!-- <span>导航</span>-->
<!-- <i class="fa fa-angle-right"></i>-->
<!-- </a>-->
<!-- <ul class="slides panel-body panel-side-menu">-->
<!-- <@menuTag method="tree">-->
<!-- <#list menus?sort_by('priority') as menu>-->
<!-- <#if menu.children?? && menu.children?size gt 0>-->
<!-- <#if menu.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <div class="link panel">-->
<!-- <a href="${menu.url!}" title="${menu.name!}">${menu.name!}</a>-->
<!-- <i class="fa fa-angle-right"></i>-->
<!-- </div>-->
<!-- <ul class="slides panel-body">-->
<!-- <#if menu.children?? && menu.children?size gt 0>-->
<!-- <#list menu.children?sort_by('priority') as child>-->
<!-- <#if child.children?? && child.children?size gt 0>-->
<!-- <#if child.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <div class="link panel">-->
<!-- <a href="${child.url!}" title="${child.name!}">${child.name!}</a>-->
<!-- <i class="fa fa-angle-right"></i>-->
<!-- </div>-->
<!-- <ul class="slides panel-body">-->
<!-- <#list child.children?sort_by('priority') as child1>-->
<!-- <#if child1.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <a class="link" href="${child1.url!}" title="${child1.name!}">${child1.name!}</a>-->
<!-- </li>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </#if>-->
<!-- <#else>-->
<!-- <#if child.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <a class="link" href="${child.url!}" title="${child.name!}">${child.name!}</a>-->
<!-- </li>-->
<!-- </#if>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </#if>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </#if>-->
<!-- <#else>-->
<!-- <#if menu.name?default('')?starts_with('#hide') != true>-->
<!-- <li>-->
<!-- <a class="link" href="${menu.url!}" title="${menu.name!}">${menu.name!}</a>-->
<!-- </li>-->
<!-- </#if>-->
<!-- </#if>-->
<!-- </#list>-->
<!-- </@menuTag>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </ul>-->
<!-- <#if settings.drawer_toc!true>-->
<!-- <ul class="navbar-slideout-menu is-toc">-->
<!-- <a class="link in" href="#" rel="nofollow"><span>目录</span></a>-->
<!-- <div class="toc-content">-->
<!-- </div>-->
<!-- </ul>-->
<!-- </#if>-->
<!-- </div>-->
<!-- </div>-->
<div class="navbar-mask"></div>
</header>

View File

@ -32,12 +32,12 @@
<!-- options.comment_internal_plugin_js!'//cdn.jsdelivr.net/gh/halo-dev/halo-comment@latest/dist/halo-comment.min.js')}"></script>--> <!-- options.comment_internal_plugin_js!'//cdn.jsdelivr.net/gh/halo-dev/halo-comment@latest/dist/halo-comment.min.js')}"></script>-->
<!--</#if>--> <!--</#if>-->
<!--<script th:src="@{/assets/lib/jquery-pjax@2.0.1/jquery.pjax.min.js}"></script>--> <script th:src="@{/assets/lib/jquery-pjax@2.0.1/jquery.pjax.min.js}"></script>
<!--<#if settings.load_progress?? && settings.load_progress != 'none'>--> <!--<#if settings.load_progress?? && settings.load_progress != 'none'>-->
<!-- <script th:src="@{/assets/js/dprogress.min.js(mew=${theme.spec.version})}"></script>--> <!-- <script th:src="@{/assets/js/dprogress.min.js(mew=${theme.spec.version})}"></script>-->
<!--</#if>--> <!--</#if>-->
<!--<script th:src="@{/assets/js/pjax.min.js(mew=${theme.spec.version})}"></script>--> <script th:src="@{/assets/js/pjax.min.js(mew=${theme.spec.version})}"></script>
<!--<script async th:src="@{/assets/lib/qmsg/qmsg.min.js}"></script>--> <script async th:src="@{/assets/lib/qmsg/qmsg.min.js}"></script>
<!--<#if post?? || is_photos?? || is_journals?? >--> <!--<#if post?? || is_photos?? || is_journals?? >-->
<!-- <script data-pjax async th:src="@{/assets/lib/fancybox@5.3.7/jquery.fancybox.min.js}"></script>--> <!-- <script data-pjax async th:src="@{/assets/lib/fancybox@5.3.7/jquery.fancybox.min.js}"></script>-->
@ -48,7 +48,7 @@
<!-- <script defer th:src="@{/assets/lib/aplayer@1.10.1/APlayer.min.js}"></script>--> <!-- <script defer th:src="@{/assets/lib/aplayer@1.10.1/APlayer.min.js}"></script>-->
<!-- <script defer th:src="@{/assets/lib/meting@2.0.1/Meting.min.js}"></script>--> <!-- <script defer th:src="@{/assets/lib/meting@2.0.1/Meting.min.js}"></script>-->
<!--</#if>--> <!--</#if>-->
<!--<script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js}"></script>--> <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js}"></script>
<!--${settings.external_js_body!}--> <!--${settings.external_js_body!}-->
<!--<#if settings.inline_js_body?? && settings.inline_js_body!=''>--> <!--<#if settings.inline_js_body?? && settings.inline_js_body!=''>-->