diff --git a/annotation-setting.yaml b/annotation-setting.yaml new file mode 100644 index 0000000..374a308 --- /dev/null +++ b/annotation-setting.yaml @@ -0,0 +1,117 @@ +apiVersion: v1alpha1 +kind: AnnotationSetting +metadata: + generateName: annotation-setting- +spec: + targetRef: + group: content.halo.run + kind: Post + formSchema: + - $formkit: radio + name: enable_copyright + label: 开启文章版权声明 + help: '当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: select + name: top_thumbnail_mode + label: 置顶文章列表缩略图模式 + help: '文章在列表的缩略图模式,除网格布局外,当前配置将覆盖主题中的默认配置。' + options: + - value: default + label: 默认模式 + - value: back + label: 背景图模式 + - value: small + label: 小图模式(左侧) + - value: small-right + label: 小图模式(右侧) + - value: small-alter + label: 小图模式(交替) + - value: fold + label: 折叠模式 + - $formkit: text + name: tips + label: 文章提示 + placeholder: '请输入提示内容' + help: '在文章顶部显示一条提示。' + - $formkit: radio + name: enable_katex + label: KaTeX 公式支持 + value: false + help: '博客通过 KaTeX 做数学公式渲染,当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: radio + name: enable_share + label: 开启文章分享 + value: true + help: '当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: radio + name: index_carousel + label: 开启置顶轮播 + value: true + help: '如果该文章被置顶,在此处可开启文章置顶轮播。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + +--- + +apiVersion: v1alpha1 +kind: AnnotationSetting +metadata: + generateName: annotation-setting- +spec: + targetRef: + group: content.halo.run + kind: SinglePage + formSchema: + - $formkit: radio + name: enable_copyright + label: 开启文章版权声明 + value: true + help: '当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: text + name: tips + label: 文章提示 + placeholder: '请输入提示内容' + help: '在文章顶部显示一条提示。' + - $formkit: radio + name: enable_katex + label: KaTeX 公式支持 + value: false + help: '博客通过 KaTeX 做数学公式渲染,当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: radio + name: enable_share + label: 开启文章分享 + value: true + help: '当前配置将覆盖主题中的默认配置。' + options: + - value: true + label: 开启 + - value: false + label: 关闭 \ No newline at end of file diff --git a/package.json b/package.json index 7459750..051ba6d 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "test": "echo \"Error: no test specified\" && exit 1", "release": "eslint **/*.js && gulp release", "push": "eslint **/*.js && gulp push", - "zip": "eslint **/*.js && gulp zip", + "zip": "gulp zip", "build": "eslint **/*.js && gulp", "lint": "eslint **/*.js" }, diff --git a/settings.yaml b/settings.yaml index 27f3f31..e3f0cda 100644 --- a/settings.yaml +++ b/settings.yaml @@ -468,16 +468,15 @@ spec: label: 侧边栏展示 help: 配置侧边栏展示方式,三列布局时不能在右侧显示音乐模块。 value: - - name: QQ - icon: - url: https://api.sumt.cn/api/qq.talk.php?qq=自己的QQ号&format=card - delete: true - - name: Github - icon: - url: - - name: Email - icon: - url: mailto:邮箱地址 + - name: notice + position: left + hide: is-not-hidden + - name: notice + position: right + hide: is-not-hidden + - name: notice + position: right + hide: is-not-hidden children: - $formkit: select name: type @@ -506,8 +505,8 @@ spec: label: 文章标签模块 - value: 'tagcloud' label: 文章标签云模块 - - value: 'links' - label: 友链模块 +# - value: 'links' +# label: 友链模块 - $formkit: select name: position label: 模块位置 @@ -643,16 +642,15 @@ spec: label: 侧边栏音乐-自建API placeholder: '请输入 API 地址' help: '自建 API 方法见文档:Meting。' -# - $formkit: text -# name: music_mode -# label: 侧边栏音乐-音乐播放器配置方式 -# type: radio -# value: 'playlist' -# options: -# - value: 'playlist' -# label: '网易云歌单 ID' -# - value: 'config' -# label: 参数进阶配置 + - $formkit: radio + name: music_mode + label: 侧边栏音乐-音乐播放器配置方式 + value: 'playlist' + options: + - value: 'playlist' + label: '网易云歌单 ID' + - value: 'config' + label: 参数进阶配置 - $formkit: text name: netease_playlist_id label: '侧边栏音乐-网易云歌单 ID' @@ -679,17 +677,15 @@ spec: # label: 显示 # - value: false # label: 不显示 -# - $formkit: text -# name: ad_tag_close -# label: 侧边栏广告-点击“广告”标签可关闭广告 -# type: radio -# data-type: bool -# value: true -# options: -# - value: true -# label: 是 -# - value: false -# label: 否 + - $formkit: radio + name: ad_tag_close + label: 侧边栏广告-点击“广告”标签可关闭广告 + value: true + options: + - value: true + label: 是 + - value: false + label: 否 # - $formkit: text # name: ad_mode # label: 侧边栏广告-广告展示方法 @@ -718,16 +714,16 @@ spec: # type: textarea # placeholder: '请输入广告代码' # help: '在这里黏贴广告联盟提供的广告代码,自定义广告代码模式时不能为空。' -# - $formkit: text -# name: recent_posts_num -# label: 侧边栏最近文章-展示文章数量 -# placeholder: 请输入数量数值 -# value: 5 -# - $formkit: text -# name: recent_comments_num -# label: 侧边栏最近评论-展示评论数量 -# placeholder: 请输入数量数值 -# value: 5 + - $formkit: text + name: recent_posts_num + label: 侧边栏最近文章-展示文章数量 + placeholder: 请输入数量数值 + value: 5 + - $formkit: text + name: recent_comments_num + label: 侧边栏最近评论-展示评论数量 + placeholder: 请输入数量数值 + value: 5 # - $formkit: text # name: categories_more # label: 侧边栏分类-显示”更多”按钮 @@ -740,72 +736,62 @@ spec: # label: 显示 # - value: false # label: 不显示 -# - $formkit: text -# name: categories_num -# label: 侧边栏分类-展示分类数量 -# placeholder: 请输入数量数值 -# value: 10 -# - $formkit: text -# name: tags_more -# label: 侧边栏标签-显示”更多”按钮 -# type: radio -# data-type: bool -# value: true -# help: '超出展示的标签数量后是否显示更多按钮。' -# options: -# - value: true -# label: 显示 -# - value: false -# label: 不显示 -# - $formkit: text -# name: tags_num -# label: 侧边栏标签-展示标签数量 -# placeholder: 请输入数量数值 -# value: 18 -# - $formkit: text -# name: enable_tag_color -# label: 侧边栏标签-开启标签颜色 -# type: switch -# data-type: bool -# value: false -# options: -# - value: true -# label: 开启 -# - value: false -# label: 关闭 -# - $formkit: text -# name: tagcloud_more -# label: 侧边栏标签云-显示”更多”按钮 -# type: radio -# data-type: bool -# value: true -# help: '超出展示的标签数量后是否显示更多按钮。' -# options: -# - value: true -# label: 显示 -# - value: false -# label: 不显示 -# - $formkit: text -# name: tagcloud_num -# label: 侧边栏标签云-展示标签数量 -# placeholder: 请输入数量数值 -# value: 32 -# - $formkit: text -# name: enable_tagcloud_color -# label: 侧边栏标签云-开启标签颜色 -# type: switch -# data-type: bool -# value: false -# options: -# - value: true -# label: 开启 -# - value: false -# label: 关闭 -# - $formkit: text + - $formkit: text + name: categories_num + label: 侧边栏分类-展示分类数量 + placeholder: 请输入数量数值 + value: 10 + - $formkit: radio + name: tags_more + label: 侧边栏标签-显示”更多”按钮 + value: true + help: '超出展示的标签数量后是否显示更多按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + - $formkit: text + name: tags_num + label: 侧边栏标签-展示标签数量 + placeholder: 请输入数量数值 + value: 18 + - $formkit: radio + name: enable_tag_color + label: 侧边栏标签-开启标签颜色 + value: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 + - $formkit: radio + name: tagcloud_more + label: 侧边栏标签云-显示”更多”按钮 + value: true + help: '超出展示的标签数量后是否显示更多按钮。' + options: + - value: true + label: 显示 + - value: false + label: 不显示 + - $formkit: text + name: tagcloud_num + label: 侧边栏标签云-展示标签数量 + placeholder: 请输入数量数值 + value: 32 + - $formkit: radio + name: enable_tagcloud_color + label: 侧边栏标签云-开启标签颜色 + value: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 +# - $formkit: radio # name: links_more -# label: 侧边栏友链-显示”更多”按钮 -# type: radio -# data-type: bool +# label: 侧边栏友链-显示”更多”按钮 # value: true # help: '超出展示的友链数量后是否显示更多按钮。' # options: @@ -815,7 +801,7 @@ spec: # label: 不显示 # - $formkit: text # name: links_num -# label: 侧边栏友链-展示友链数量 +# label: 侧边栏友链-展示友链数量 # placeholder: 请输入数量数值 # value: 10 - group: page_config diff --git a/templates/common/config.html b/templates/common/config.html index df935ff..07da1f4 100644 --- a/templates/common/config.html +++ b/templates/common/config.html @@ -91,86 +91,60 @@ // /** 主题配置 */ const DreamConfig = {}; - DreamConfig["theme_version"] = '${theme_version!}'; - DreamConfig["theme_base"] = '${theme_base!}'; - DreamConfig["access_key"] = '${settings.access_key!'dream'}' - DreamConfig["code_fold_line"] = [[${theme.config.post.code_fold_line}]] - DreamConfig["document_hidden_title"] = [[${theme.config.basic_info.document_hidden_title}]] - <#if settings.document_visible_title?? && settings.document_visible_title!=''> - DreamConfig["document_visible_title"] = '${settings.document_visible_title}'; - - <#if settings.enable_color_character!false> - DreamConfig["spark_input_content"] = ['${user.description?trim?replace('\n', '')?js_string}'<#if settings.color_character?? && settings.color_character?trim!=''>, '${settings.color_character?trim?js_string?replace('\\n', "','")}']; - - <#if settings.website_time?? && settings.website_time!=''> - DreamConfig["website_time"] = '${settings.website_time}'; - - <#if settings.sidebar_notice?? && settings.sidebar_notice!='none'> - DreamConfig["notice_show_mode"] = '${settings.notice_show_mode!'index'}'; - - <#if settings.img_fold_height?? && settings.img_fold_height?number gte 400> - DreamConfig["img_fold_height"] = ${settings.img_fold_height}; - - <#if settings.journals_fold_height?? && settings.journals_fold_height?number gte 260> - DreamConfig["journals_fold_height"] = ${settings.journals_fold_height}; - - <#if settings.cursor_move?? && settings.cursor_move!='none'> - DreamConfig["cursor_move"] = '${settings.cursor_move}'; - - <#if settings.cursor_click?? && settings.cursor_click!='none'> - DreamConfig["cursor_click"] = '${settings.cursor_click}'; - - <#if settings.effects_sakura_mode?? && settings.effects_sakura_mode!='none'> - DreamConfig["effects_sakura_mode"] = '${settings.effects_sakura_mode}'; - - <#if settings.effects_universe_mode?? && settings.effects_universe_mode!='none'> - DreamConfig["effects_universe_mode"] = '${settings.effects_universe_mode}'; - - <#if settings.effects_circle_magic_mode?? && settings.effects_circle_magic_mode!='none'> - DreamConfig["effects_circle_magic_mode"] = '${settings.effects_circle_magic_mode}'; - - <#if settings.enable_baidu_push!false> - DreamConfig["enable_baidu_push"] = true; - - <#if settings.enable_toutiao_push!false> - DreamConfig["enable_toutiao_push"] = true; - - <#if settings.load_progress?? && settings.load_progress != 'none'> - DreamConfig["load_progress"] = '${settings.load_progress}'; - - <#if settings.journals_share_image?? && settings.journals_share_image != 'none'> - DreamConfig["journals_share_image"] = '${settings.journals_share_image}'; - - <#if settings.meting_api?? && settings.meting_api != ''> - var meting_api = '${settings.meting_api}'; - - /** 看板娘相关配置 */ - <#if settings.enable_live2d!true> - DreamConfig["enable_live2d"] = true; - <#if settings.live2d_about_page?? && settings.live2d_about_page!=''> - DreamConfig["live2d_about_page"] = '${settings.live2d_about_page}'; - - DreamConfig["live2d_model_url"] = '${settings.live2d_model_url!'https://unpkg.com/live2d-widget-model@1.0.1/'}'; - DreamConfig["live2d_tips_url"] = '${settings.live2d_tips_url!'/themes/dream/source/lib/live2d@1.0.1/waifu-tips.json'}'; - DreamConfig["live2d_edge_side"] = '${settings.live2d_edge_side!'right:50'}'; - DreamConfig["live2d_waifu_size"] = '${settings.live2d_waifu_size!'280x260'}'; - DreamConfig["live2d_model_id"] = '${settings.live2d_model_id!'0'}'; - DreamConfig["live2d_model_textures_id"] = '${settings.live2d_model_textures_id!'0'}'; - DreamConfig["live2d_show_tool_menu"] = ${(settings.live2d_show_tool_menu!true)?c}; - DreamConfig["live2d_can_turn_to_home_page"] = ${(settings.live2d_can_turn_to_home_page!true)?c}; - DreamConfig["live2d_can_switch_hitokoto"] = ${(settings.live2d_can_switch_hitokoto!true)?c}; - DreamConfig["live2d_can_switch_model"] = ${(settings.live2d_can_switch_model!true)?c}; - DreamConfig["live2d_can_switch_textures"] = ${(settings.live2d_can_switch_textures!true)?c}; - DreamConfig["live2d_can_take_screenshot"] = ${(settings.live2d_can_take_screenshot!true)?c}; - DreamConfig["live2d_can_turn_to_about_page"] = ${(settings.live2d_can_turn_to_about_page!true)?c}; - DreamConfig["live2d_can_close_live2d"] = ${(settings.live2d_can_close_live2d!true)?c}; - DreamConfig["live2d_model_rand_mode"] = '${settings.live2d_model_rand_mode!'switch'}'; - DreamConfig["live2d_model_textures_rand_mode"] = '${settings.live2d_model_textures_rand_mode!'rand'}'; - + DreamConfig["theme_version"] = [[${theme.spec.version}]]; + DreamConfig["theme_base"] = "[(${#theme.assets('/')})]"; + [(${!#strings.isEmpty(theme.config.post.code_fold_line)?'DreamConfig["code_fold_line"] = "' + theme.config.post.code_fold_line + '";': ''})] + [(${!#strings.isEmpty(theme.config.basic_info.document_hidden_title)?'DreamConfig["document_hidden_title"] = "' + theme.config.basic_info.document_hidden_title + '";': ''})] + [(${!#strings.isEmpty(theme.config.basic_info.document_visible_title)?'DreamConfig["document_visible_title"] = "' + theme.config.basic_info.document_visible_title + '";' : ''})] + [(${!#strings.isEmpty(theme.config.basic_info.website_time)?'DreamConfig["website_time"] = "' + theme.config.basic_info.website_time + '";' : ''})] + // <#if settings.enable_color_character!false> + // DreamConfig["spark_input_content"] = ['${user.description?trim?replace('\n', '')?js_string}'<#if settings.color_character?? && settings.color_character?trim!=''>, '${settings.color_character?trim?js_string?replace('\\n', "','")}']; + // + // <#if settings.sidebar_notice?? && settings.sidebar_notice!='none'> + // DreamConfig["notice_show_mode"] = '${settings.notice_show_mode!'index'}'; + // + [(${(!#strings.isEmpty(theme.config.post.img_fold_height) && #numbers.sequence(theme.config.post.img_fold_height,theme.config.post.img_fold_height)[0] >= 400)?'DreamConfig["img_fold_height"] = ' + theme.config.post.img_fold_height + ';': ''})] + // <#if settings.journals_fold_height?? && settings.journals_fold_height?number gte 260> + // DreamConfig["journals_fold_height"] = ${settings.journals_fold_height}; + // + [(${theme.config.enhance.cursor_move != 'none'?'DreamConfig["cursor_move"] = "' + theme.config.enhance.cursor_move + '";': ''})] + [(${theme.config.enhance.cursor_click != 'none'?'DreamConfig["cursor_click"] = "' + theme.config.enhance.cursor_click + '";': ''})] + [(${theme.config.enhance.effects_sakura_mode != 'none'?'DreamConfig["effects_sakura_mode"] = "' + theme.config.enhance.effects_sakura_mode + '";': ''})] + [(${theme.config.enhance.effects_universe_mode != 'none'?'DreamConfig["effects_universe_mode"] = "' + theme.config.enhance.effects_universe_mode + '";': ''})] + [(${theme.config.enhance.effects_circle_magic_mode != 'none'?'DreamConfig["effects_circle_magic_mode"] = "' + theme.config.enhance.effects_circle_magic_mode + '";': ''})] + [(${theme.config.enhance.enable_baidu_push?'DreamConfig["enable_baidu_push"] = true;': ''})] + [(${theme.config.enhance.enable_toutiao_push?'DreamConfig["enable_toutiao_push"] = true;': ''})] + [(${theme.config.basic_style.load_progress != 'none'?'DreamConfig["load_progress"] = "' + theme.config.basic_style.load_progress + '";': ''})] + // <#if settings.journals_share_image?? && settings.journals_share_image != 'none'> + // DreamConfig["journals_share_image"] = '${settings.journals_share_image}'; + // + [(${!#strings.isEmpty(theme.config.sidebar.meting_api)?'var meting_api = "' + theme.config.sidebar.meting_api + '";': ''})] + // /** 看板娘相关配置 */ + // <#if settings.enable_live2d!true> + // DreamConfig["enable_live2d"] = true; + // <#if settings.live2d_about_page?? && settings.live2d_about_page!=''> + // DreamConfig["live2d_about_page"] = '${settings.live2d_about_page}'; + // + // DreamConfig["live2d_model_url"] = '${settings.live2d_model_url!'https://unpkg.com/live2d-widget-model@1.0.1/'}'; + // DreamConfig["live2d_tips_url"] = '${settings.live2d_tips_url!'/themes/dream/source/lib/live2d@1.0.1/waifu-tips.json'}'; + // DreamConfig["live2d_edge_side"] = '${settings.live2d_edge_side!'right:50'}'; + // DreamConfig["live2d_waifu_size"] = '${settings.live2d_waifu_size!'280x260'}'; + // DreamConfig["live2d_model_id"] = '${settings.live2d_model_id!'0'}'; + // DreamConfig["live2d_model_textures_id"] = '${settings.live2d_model_textures_id!'0'}'; + // DreamConfig["live2d_show_tool_menu"] = ${(settings.live2d_show_tool_menu!true)?c}; + // DreamConfig["live2d_can_turn_to_home_page"] = ${(settings.live2d_can_turn_to_home_page!true)?c}; + // DreamConfig["live2d_can_switch_hitokoto"] = ${(settings.live2d_can_switch_hitokoto!true)?c}; + // DreamConfig["live2d_can_switch_model"] = ${(settings.live2d_can_switch_model!true)?c}; + // DreamConfig["live2d_can_switch_textures"] = ${(settings.live2d_can_switch_textures!true)?c}; + // DreamConfig["live2d_can_take_screenshot"] = ${(settings.live2d_can_take_screenshot!true)?c}; + // DreamConfig["live2d_can_turn_to_about_page"] = ${(settings.live2d_can_turn_to_about_page!true)?c}; + // DreamConfig["live2d_can_close_live2d"] = ${(settings.live2d_can_close_live2d!true)?c}; + // DreamConfig["live2d_model_rand_mode"] = '${settings.live2d_model_rand_mode!'switch'}'; + // DreamConfig["live2d_model_textures_rand_mode"] = '${settings.live2d_model_textures_rand_mode!'rand'}'; + // /** 配置主题模式 */ - DreamConfig["default_theme"] = '${settings.default_theme!'light'}'; - + DreamConfig["default_theme"] = '[(${theme.config.basic_style.default_theme})]'; (function(){ let isNight = DreamConfig.default_theme === 'system'? matchMedia('(prefers-color-scheme: dark)').matches : localStorage.getItem('night') || DreamConfig.default_theme === 'night'; if (isNight.toString() === 'true') { diff --git a/templates/common/head.html b/templates/common/head.html index 4cf3367..3988f8d 100644 --- a/templates/common/head.html +++ b/templates/common/head.html @@ -55,19 +55,13 @@ - + - - - - - - - - - - - - + + + + [(${theme.config.custom.external_js_head})] + \ No newline at end of file diff --git a/templates/common/layout.html b/templates/common/layout.html index 9a3bdbe..5a9cc07 100644 --- a/templates/common/layout.html +++ b/templates/common/layout.html @@ -1,6 +1,7 @@ - + th:fragment="layout (title, canonical, content, isPost)" + th:with="isPjax = ${#strings.equals('',param._pjax)}"> +
@@ -9,7 +10,7 @@ - + @@ -17,12 +18,11 @@
-
+
- diff --git a/templates/common/widget.html b/templates/common/widget.html index 130fd78..bfcca55 100644 --- a/templates/common/widget.html +++ b/templates/common/widget.html @@ -1,9 +1,9 @@