优化代码

This commit is contained in:
1152958806@qq.com 2023-12-03 01:18:05 +08:00
parent 7906eff660
commit 8de7ebcea8
102 changed files with 932 additions and 1328 deletions

View File

@ -1424,23 +1424,6 @@ spec:
- group: fcircle - group: fcircle
label: 友链鱼塘 label: 友链鱼塘
formSchema: formSchema:
- $formkit: attachment
name: backgroundImg
label: 背景图
value: https://npm.onmicrosoft.cn/hao-theme-static@1.3.6/images/64624940e3623.jpeg
placeholder: 请输入图片地址
- $formkit: text
name: smallTitle
label: 小标题
value: 友链
- $formkit: text
name: bigTitle
label: 大标题
value: 最新文章订阅
- $formkit: text
name: detail
label: 描述
value: 使用 友链朋友圈 订阅友链最新文章
- $formkit: text - $formkit: text
name: buttonTitle name: buttonTitle
label: 按钮标题 label: 按钮标题
@ -1489,22 +1472,6 @@ spec:
label: 默认 label: 默认
- value: one - value: one
label: 样式一 label: 样式一
- $formkit: attachment
if: $get(photosStyle).value == 'default'
name: backgroundImg
label: 背景图
value: https://liuzhihang.com/upload/moments.png
- $formkit: text
if: $get(photosStyle).value == 'default'
name: smallTitle
key: smallTitle
label: 小标题
value: 相册集
- $formkit: text
name: bigTitle
key: bigTitle
label: 大标题
value: 这里是我的相册集哦😯
- $formkit: text - $formkit: text
name: topLink name: topLink
key: topLink key: topLink
@ -1530,26 +1497,9 @@ spec:
- group: todo - group: todo
label: 待办清单 label: 待办清单
formSchema: formSchema:
- $formkit: attachment
name: backgroundImg
label: 背景图
value: https://npm.onmicrosoft.cn/hao-theme-static@1.3.6/images/64624940e3623.jpeg
placeholder: 请输入图片地址
- $formkit: text
name: smallTitle
label: 小标题
value: 想做清单
- $formkit: text
name: bigTitle
label: 大标题
value: ToDoList
- $formkit: text
name: detail
label: 描述
value: 要做的事还有很多,想做的事源源不断
- $formkit: repeater - $formkit: repeater
name: list name: list
label: 待办清单 label: 待办清单列表
value: [ ] value: [ ]
children: children:
- $formkit: text - $formkit: text
@ -1605,27 +1555,6 @@ spec:
label: 描述 label: 描述
value: 跟我一起享受科技带来的乐趣 value: 跟我一起享受科技带来的乐趣
- group: new_comment
label: 最近评论
formSchema:
- $formkit: attachment
name: backgroundImg
label: 背景图
value: https://liuzhihang.com/upload/moments.png
placeholder: 请输入图片地址
- $formkit: text
name: smallTitle
label: 小标题
value: 评论
- $formkit: text
name: bigTitle
label: 大标题
value: 最近评论
- $formkit: text
name: detail
label: 描述
value: 快速查看本站最近评论内容。
- group: envelope_comment - group: envelope_comment
label: 留言板 label: 留言板
formSchema: formSchema:

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'about',title = ${'关于' + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'about',title = ${'关于' + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -79,7 +79,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -19,10 +19,10 @@
<main class="layout hide-aside" id="content-inner"> <main class="layout hide-aside" id="content-inner">
<div id="page"> <div id="page">
<div id="album" th:if="${#strings.equals(theme.config.photos.photosStyle, 'default')}"> <div id="album" th:if="${#strings.equals(theme.config.photos.photosStyle, 'default')}">
<div th:replace="~{macro/author-content :: author-content(background = ${theme.config.photos.backgroundImg}, <div th:replace="~{macro/author-content :: author-content(background = ${singlePage.spec.cover},
smallTitle = ${theme.config.photos.smallTitle}, smallTitle = '相册集',
bigTitle = ${theme.config.photos.bigTitle}, bigTitle = ${singlePage.spec.title},
detail = ${theme.config.photos.detail}, detail = ${singlePage.spec.excerpt.raw},
buttonUrl = '', buttonUrl = '',
buttonTitle = '')}"></div> buttonTitle = '')}"></div>
@ -182,7 +182,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'archive',title = ${'文章归档' + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'archive',title = ${'文章归档' + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '文章归档', <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '文章归档',
@ -59,7 +59,7 @@
<div th:replace="~{modules/aside :: aside(${theme.config.sidebar.widgetss.categoryWidgets})}"></div> <div th:replace="~{modules/aside :: aside(${theme.config.sidebar.widgetss.categoryWidgets})}"></div>
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta http-equiv="X-UA-Compatible" content="chrome=1">

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'bangumis',title = ${'追番' + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'bangumis',title = ${'追番' + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '追番', <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '追番',
@ -534,7 +534,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'category',title = ${'分类' + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'category',title = ${'分类' + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '分类目录', <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '分类目录',
@ -49,7 +49,7 @@
</div> </div>
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'category',title = ${'分类' + ': ' + category.spec.displayName + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'category',title = ${'分类' + ': ' + category.spec.displayName + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '分类', <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '分类',
@ -40,7 +40,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'comments',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'comments',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -276,7 +276,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'equipments',title = ${title + ' | ' + site.title}, head = ~{::head},_title = ${title})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'equipments',title = ${title + ' | ' + site.title}, head = ~{::head},_title = ${title})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title},
@ -202,7 +202,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = '404', title = '404', head = null)}" <html lang="zh-CN" th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = '404', title = '404', head = null)}"
xmlns:th="http://www.thymeleaf.org"> xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="content"> <th:block th:fragment="content">
@ -48,7 +48,7 @@
</div> </div>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = '500', title = '500', head = null)}" <html lang="zh-CN" th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = '500', title = '500', head = null)}"
xmlns:th="http://www.thymeleaf.org"> xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="content"> <th:block th:fragment="content">
@ -48,7 +48,7 @@
</div> </div>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'fcircle',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head} )}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'fcircle',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head} )}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -18,10 +18,10 @@
</header> </header>
<main class="layout hide-aside" id="content-inner"> <main class="layout hide-aside" id="content-inner">
<div id="page"> <div id="page">
<div th:replace="~{macro/author-content :: author-content(background = ${theme.config.fcircle.backgroundImg}, <div th:replace="~{macro/author-content :: author-content(background = ${singlePage.spec.cover},
smallTitle = ${theme.config.fcircle.smallTitle}, smallTitle = '友链',
bigTitle = ${theme.config.fcircle.bigTitle}, bigTitle = ${singlePage.spec.title},
detail = ${theme.config.fcircle.detail}, detail = ${singlePage.spec.excerpt.raw},
buttonUrl = ${theme.config.fcircle.buttonUrl}, buttonUrl = ${theme.config.fcircle.buttonUrl},
buttonTitle = ${theme.config.fcircle.buttonTitle})}" ></div> buttonTitle = ${theme.config.fcircle.buttonTitle})}" ></div>
<!--钓鱼--> <!--钓鱼-->
@ -91,7 +91,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> <script th:if="${theme.config.other.bubbleEnable}" async data-pjax th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>
</div> </div>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'index', title = null, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'index', title = null, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${site.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${site.title},
@ -15,15 +15,15 @@
<header th:class="${theme.config.top.above.enable_above ? 'full_page' : 'not-top-img'}" id="page-header"> <header th:class="${theme.config.top.above.enable_above ? 'full_page' : 'not-top-img'}" id="page-header">
<nav th:replace="~{modules/nav :: nav(title = ${siteTitle})}"></nav> <nav th:replace="~{modules/nav :: nav(title = ${siteTitle})}"></nav>
<!-- 问候语 --> <!-- 问候语 -->
<th:block th:replace="~{modules/header/greeting :: greeting}"></th:block> <th:block th:replace="~{modules/header/greeting}"/>
<!-- 第一屏 --> <!-- 第一屏 -->
<th:block th:replace="~{modules/header/index-img :: index-img}"></th:block> <th:block th:replace="~{modules/header/index-img}"/>
</header> </header>
<div id="home_top"> <div id="home_top">
<!-- 每日说说 --> <!-- 每日说说 -->
<div th:replace="~{modules/moment :: moment}"></div> <div th:replace="~{modules/moment}"/>
<!-- 置顶内容 --> <!-- 置顶内容 -->
<div th:replace="~{modules/recent-top :: recent-top}"></div> <div th:replace="~{modules/recent-top}"/>
</div> </div>
<main class="layout" id="content-inner" th:classappend="${theme.config.sidebar.location}"> <main class="layout" id="content-inner" th:classappend="${theme.config.sidebar.location}">
<div class="recent-posts" id="recent-posts"> <div class="recent-posts" id="recent-posts">
@ -31,13 +31,13 @@
<!-- 分类导航栏 --> <!-- 分类导航栏 -->
<div th:replace="~{'modules/bar/' + ${theme.config.layout.navs.nav}}"></div> <div th:replace="~{'modules/bar/' + ${theme.config.layout.navs.nav}}"></div>
<th:block th:replace="~{modules/post-list :: post-list}"></th:block> <th:block th:replace="~{modules/post-list}"/>
</div> </div>
<div th:replace="~{modules/aside :: aside(${theme.config.sidebar.widgetss.indexWidgets})}"></div> <div th:replace="~{modules/aside :: aside(${theme.config.sidebar.widgetss.indexWidgets})}"></div>
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'links',title = ${'友链' + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'links',title = ${'友链' + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '友链', <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = '友链',
@ -38,7 +38,7 @@
</div> </div>
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,8 +1,6 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div th:fragment="author-content(background, smallTitle, bigTitle, detail,buttonUrl,buttonTitle)" <div th:fragment="author-content(background, smallTitle, bigTitle, detail,buttonUrl,buttonTitle)"
class="author-content author-content-item essayPage single" class="author-content author-content-item essayPage single"
th:style="'background:url('+${background}+') left 28% / cover no-repeat !important;'"> th:style="'background:url('+${background}+') left 28% / cover no-repeat !important;'">
<div class="card-content"> <div class="card-content">
<div class="author-content-item-tips" th:text="${smallTitle}"></div> <div class="author-content-item-tips" th:text="${smallTitle}"></div>
<span class="author-content-item-title" th:text="${bigTitle}"></span> <span class="author-content-item-title" th:text="${bigTitle}"></span>
@ -17,5 +15,3 @@
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,5 +1,3 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="bangumi-item(spec)"> <th:block th:fragment="bangumi-item(spec)">
<div class="bangumi-item"> <div class="bangumi-item">
<div class="bangumi-picture no-lightbox"> <div class="bangumi-picture no-lightbox">
@ -51,5 +49,3 @@
</div> </div>
</div> </div>
</th:block> </th:block>
</html>

View File

@ -1,25 +1,20 @@
<!DOCTYPE html> <th:block th:if="${theme.config.code.enable}">
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <link rel="preload" as="style" onload="this.rel='stylesheet'"
<th:block th:fragment="prism-code"> th:href="${assets_link+'/libs/prism/prism.min.css'}">
<th:block th:if="${theme.config.code.enable}"> <link rel="preload" as="style" onload="this.rel='stylesheet'"
<link rel="preload" as="style" onload="this.rel='stylesheet'" th:href="${assets_link+'/libs/prism/code.css'}">
th:href="${assets_link+'/libs/prism/prism.min.css'}"> <link rel="preload" as="style" onload="this.rel='stylesheet'" data-code-theme="light"
<link rel="preload" as="style" onload="this.rel='stylesheet'" th:href="${assets_link+ '/libs/prism/themes/prism-'+theme.config.code.theme_light+'.css'}">
th:href="${assets_link+'/libs/prism/code.css'}"> <link rel="preload" as="style" onload="this.rel='stylesheet'" data-code-theme="dark"
<link rel="preload" as="style" onload="this.rel='stylesheet'" data-code-theme="light" th:href="${assets_link+'/libs/prism/themes/prism-'+theme.config.code.theme_dark+'.css'}">
th:href="${assets_link+ '/libs/prism/themes/prism-'+theme.config.code.theme_light+'.css'}"> <script data-pjax type="text/javascript" th:src="${assets_link+'/libs/prism/prism.min.js'}"></script>
<link rel="preload" as="style" onload="this.rel='stylesheet'" data-code-theme="dark"
th:href="${assets_link+'/libs/prism/themes/prism-'+theme.config.code.theme_dark+'.css'}">
<script data-pjax type="text/javascript" th:src="${assets_link+'/libs/prism/prism.min.js'}"></script>
<style> <style>
#article-container .code-toolbar pre.close{ #article-container .code-toolbar pre.close{
overflow: hidden; overflow: hidden;
height: [[${theme.config.code.height_limit}]]px; height: [[${theme.config.code.height_limit}]]px;
} }
</style> </style>
</th:block> </th:block>
</th:block>
</html>

View File

@ -1,11 +1,7 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 关于小组件 --> <!-- 关于小组件 -->
<th:block th:fragment="about-widgets(widgets)" <th:block th:fragment="about-widgets(widgets)"
th:if="${not #lists.isEmpty(widgets)}"> th:if="${not #lists.isEmpty(widgets)}">
<th:block th:each="widget : ${widgets}"> <th:block th:each="widget : ${widgets}">
<th:block th:replace="~{'modules/widgets/about-widgets/'+ ${widget.widgetId}}"/> <th:block th:replace="~{'modules/widgets/about-widgets/'+ ${widget.widgetId}}"/>
</th:block> </th:block>
</th:block> </th:block>
</html>

View File

@ -1,6 +1,3 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 侧边栏 --> <!-- 侧边栏 -->
<div class="aside-content" id="aside-content" th:fragment="aside(widgets)" <div class="aside-content" id="aside-content" th:fragment="aside(widgets)"
th:if="${theme.config.sidebar.location != 'hide-aside' && not #strings.isEmpty(widgets)}"> th:if="${theme.config.sidebar.location != 'hide-aside' && not #strings.isEmpty(widgets)}">
@ -30,7 +27,7 @@
<!-- toc 之后的组件需要被 sticky_layout 包裹 --> <!-- toc 之后的组件需要被 sticky_layout 包裹 -->
<div class="sticky_layout"> <div class="sticky_layout">
<th:block th:replace="~{modules/widgets/aside/toc :: toc}"/> <th:block th:replace="~{modules/widgets/aside/toc}"/>
<th:block th:each="widget : ${#strings.listSplit(#strings.substringAfter(widgets, 'toc'), ',')}"> <th:block th:each="widget : ${#strings.listSplit(#strings.substringAfter(widgets, 'toc'), ',')}">
<th:block th:replace="~{'modules/widgets/aside/'+ ${widget}}"/> <th:block th:replace="~{'modules/widgets/aside/'+ ${widget}}"/>
@ -39,5 +36,4 @@
</th:block> </th:block>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条 --> <!-- 目录条 -->
<div id="category-bar" th:fragment="category"> <div id="category-bar">
<div class="category-bar-items" id="category-bar-items"> <div class="category-bar-items" id="category-bar-items">
<div class="category-bar-item select" id="category-bar-home"> <div class="category-bar-item select" id="category-bar-home">
<a href="/">首页</a> <a href="/">首页</a>
@ -17,7 +15,5 @@
</th:block> </th:block>
</div> </div>
<a class="category-bar-more" th:replace="~{modules/bar/more :: more}">更多</a> <a class="category-bar-more" th:replace="~{modules/bar/more}">更多</a>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条 --> <!-- 目录条 -->
<div id="category-bar" th:fragment="custom-category"> <div id="category-bar">
<div class="category-bar-items" id="category-bar-items"> <div class="category-bar-items" id="category-bar-items">
<div class="category-bar-item select" id="category-bar-home"> <div class="category-bar-item select" id="category-bar-home">
<a href="/">首页</a> <a href="/">首页</a>
@ -16,7 +14,5 @@
</th:block> </th:block>
</div> </div>
<a class="category-bar-more" th:replace="~{modules/bar/more :: more}">更多</a> <a class="category-bar-more" th:replace="~{modules/bar/more}">更多</a>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条,这里使用和 category-bar 同样的 css --> <!-- 目录条,这里使用和 category-bar 同样的 css -->
<div id="category-bar" th:fragment="custom-tag"> <div id="category-bar">
<div class="category-bar-items" id="category-bar-items"> <div class="category-bar-items" id="category-bar-items">
<div class="category-bar-item select" id="category-bar-home"> <div class="category-bar-item select" id="category-bar-home">
<a href="/">首页</a> <a href="/">首页</a>
@ -16,7 +14,5 @@
</th:block> </th:block>
</div> </div>
<a class="category-bar-more" th:replace="~{modules/bar/more :: more}">更多</a> <a class="category-bar-more" th:replace="~{modules/bar/more}">更多</a>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条,这里使用和 category-bar 同样的 css --> <!-- 目录条,这里使用和 category-bar 同样的 css -->
<div id="category-bar" th:fragment="custom-tag"> <div id="category-bar">
<div class="category-bar-items" id="category-bar-items"> <div class="category-bar-items" id="category-bar-items">
<div class="category-bar-item select" id="category-bar-home"> <div class="category-bar-item select" id="category-bar-home">
<a href="/">首页</a> <a href="/">首页</a>
@ -17,7 +15,5 @@
</th:block> </th:block>
</div> </div>
<a class="category-bar-more" th:replace="~{modules/bar/more :: more}">更多</a> <a class="category-bar-more" th:replace="~{modules/bar/more}">更多</a>
</div> </div>
</html>

View File

@ -1,13 +1,9 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条,这里使用和 category-bar 同样的 css --> <!-- 目录条,这里使用和 category-bar 同样的 css -->
<th:block th:fragment="more"> <th:block>
<a class="category-bar-more" href="/categories" <a class="category-bar-more" href="/categories"
th:if="${#strings.equals(theme.config.layout.navs.navMore, 'categories') }">更多</a> th:if="${#strings.equals(theme.config.layout.navs.navMore, 'categories') }">更多</a>
<a class="category-bar-more" href="/tags" <a class="category-bar-more" href="/tags"
th:if="${#strings.equals(theme.config.layout.navs.navMore, 'tags') }">更多</a> th:if="${#strings.equals(theme.config.layout.navs.navMore, 'tags') }">更多</a>
<a class="category-bar-more" th:href="@{${theme.config.layout.navs.navMoreCustomUrl}}" <a class="category-bar-more" th:href="@{${theme.config.layout.navs.navMoreCustomUrl}}"
th:if="${#strings.equals(theme.config.layout.navs.navMore, 'customUrl') }">更多</a> th:if="${#strings.equals(theme.config.layout.navs.navMore, 'customUrl') }">更多</a>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录条,这里使用和 category-bar 同样的 css --> <!-- 目录条,这里使用和 category-bar 同样的 css -->
<div id="category-bar" th:fragment="tag"> <div id="category-bar">
<div class="category-bar-items" id="category-bar-items"> <div class="category-bar-items" id="category-bar-items">
<div class="category-bar-item select" id="category-bar-home"> <div class="category-bar-item select" id="category-bar-home">
<a href="/">首页</a> <a href="/">首页</a>
@ -17,7 +15,5 @@
</th:block> </th:block>
</div> </div>
<a class="category-bar-more" th:replace="~{modules/bar/more :: more}">更多</a> <a class="category-bar-more" th:replace="~{modules/bar/more}">更多</a>
</div> </div>
</html>

View File

@ -1,5 +1,3 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="comment(group, kind, name, allowComment)" th:if="${allowComment && theme.config.comments.commentsEnable}"> <th:block th:fragment="comment(group, kind, name, allowComment)" th:if="${allowComment && theme.config.comments.commentsEnable}">
<!-- 已知问题 PJAX 下comment 首次请求会出错。当前的临时解决办法是使用 js 重试 --> <!-- 已知问题 PJAX 下comment 首次请求会出错。当前的临时解决办法是使用 js 重试 -->
<div id="post-comment"> <div id="post-comment">
@ -39,5 +37,4 @@
<halo:comment th:if="${pluginFinder.available('PluginCommentWidget') && #strings.equals(theme.config.comments.use, 'commentWidget')}" <halo:comment th:if="${pluginFinder.available('PluginCommentWidget') && #strings.equals(theme.config.comments.use, 'commentWidget')}"
th:attr="name=${name},kind=${kind},group=${group}" colorScheme="document.documentElement.getAttribute('data-theme')"/> th:attr="name=${name},kind=${kind},group=${group}" colorScheme="document.documentElement.getAttribute('data-theme')"/>
</div> </div>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,4 @@
<!DOCTYPE html> <th:block th:if="${#strings.equals(theme.config.comments.use, 'Artalk')
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="artalk" th:if="${#strings.equals(theme.config.comments.use, 'Artalk')
&& not #strings.isEmpty(theme.config.comments.artalks.server)}"> && not #strings.isEmpty(theme.config.comments.artalks.server)}">
<div class="js-pjax"> <div class="js-pjax">
<script th:src="${assets_link + '/js/comment/artalk.js'}"></script> <script th:src="${assets_link + '/js/comment/artalk.js'}"></script>
@ -218,6 +215,4 @@
</style> </style>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="twikoo" th:if="${#strings.equals(theme.config.comments.use, 'Twikoo') && <th:block th:if="${#strings.equals(theme.config.comments.use, 'Twikoo') &&
not #strings.isEmpty(theme.config.comments.twikoos.envId)}"> not #strings.isEmpty(theme.config.comments.twikoos.envId)}">
<div class="js-pjax"> <div class="js-pjax">
<script th:src="${assets_link + '/js/comment/twikoo.js'}"></script> <script th:src="${assets_link + '/js/comment/twikoo.js'}"></script>
@ -149,5 +147,4 @@ not #strings.isEmpty(theme.config.comments.twikoos.envId)}">
document.addEventListener('pjax:complete', newestCommentInit) document.addEventListener('pjax:complete', newestCommentInit)
})</script> })</script>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="waline" th:if="${#strings.equals(theme.config.comments.use, 'Waline') <th:block th:if="${#strings.equals(theme.config.comments.use, 'Waline')
&& not #strings.isEmpty(theme.config.comments.walines.serverURL)}"> && not #strings.isEmpty(theme.config.comments.walines.serverURL)}">
<div class="js-pjax"> <div class="js-pjax">
<script th:src="${assets_link + '/js/comment/waline.js'}"></script> <script th:src="${assets_link + '/js/comment/waline.js'}"></script>
@ -138,5 +136,4 @@
</script> </script>
</th:block> </th:block>
</html>

View File

@ -1,39 +1,31 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 51统计 --> <!-- 51统计 -->
<th:block th:fragment="51-la"> <script th:if="${ not #strings.isEmpty(theme.config.about.LingQueMonitorID)}">
<script th:if="${ not #strings.isEmpty(theme.config.about.LingQueMonitorID)}"> !function (p) {
!function (p) { "use strict";
"use strict"; !function (t) {
!function (t) { var s = window
var s = window , e = document
, e = document , i = p
, i = p , c = "".concat("https:" === e.location.protocol ? "https://" : "http://", "sdk.51.la/js-sdk-pro.min.js")
, c = "".concat("https:" === e.location.protocol ? "https://" : "http://", "sdk.51.la/js-sdk-pro.min.js") , n = e.createElement("script")
, n = e.createElement("script") , r = e.getElementsByTagName("script")[0];
, r = e.getElementsByTagName("script")[0]; n.type = "text/javascript",
n.type = "text/javascript", n.setAttribute("charset", "UTF-8"),
n.setAttribute("charset", "UTF-8"), n.async = !0,
n.async = !0, n.src = c,
n.src = c, n.id = "LA_COLLECT",
n.id = "LA_COLLECT", i.d = n;
i.d = n; var o = function () {
var o = function () { s.LA.ids.push(i)
s.LA.ids.push(i) };
}; s.LA ? s.LA.ids && o() : (s.LA = p,
s.LA ? s.LA.ids && o() : (s.LA = p, s.LA.ids = [],
s.LA.ids = [], o()),
o()), r.parentNode.insertBefore(n, r)
r.parentNode.insertBefore(n, r) }()
}() }({
}({ id: "[[${theme.config.about.LingQueMonitorID}]]",
id: "[[${theme.config.about.LingQueMonitorID}]]", ck: "[[${theme.config.about.LingQueMonitorID}]]",
ck: "[[${theme.config.about.LingQueMonitorID}]]", hashMode: true
hashMode: true });
}); </script>
</script>
</th:block>
</html>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <th:block >
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="code">
<!-- 解决 pjax问题 自动识别语言--> <!-- 解决 pjax问题 自动识别语言-->
<th:block th:if="${pluginFinder.available('PluginPrismJS')}"> <th:block th:if="${pluginFinder.available('PluginPrismJS')}">
<script src="/plugins/PluginPrismJS/assets/static/highlight.js/highlight.min.js"></script> <script src="/plugins/PluginPrismJS/assets/static/highlight.js/highlight.min.js"></script>
@ -34,5 +32,3 @@
</th:block> </th:block>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 动态标题 --> <!-- 动态标题 -->
<script th:fragment="diytitle" <script
th:if="${theme.config.other.diytitle.diytitleEnable}"> th:if="${theme.config.other.diytitle.diytitleEnable}">
var leaveTitle = '[[${theme.config.other.diytitle.leaveTitle}]]'; var leaveTitle = '[[${theme.config.other.diytitle.leaveTitle}]]';
var backTitle = '[[${theme.config.other.diytitle.backTitle}]]'; var backTitle = '[[${theme.config.other.diytitle.backTitle}]]';
@ -21,5 +19,4 @@
}, 2000) }, 2000)
} }
}) })
</script> </script>
</html>

View File

@ -1,72 +1,63 @@
<!DOCTYPE html> <script th:if="${theme.config.footer.footerContent.style_one.runtime_enable}" async="async">(function () {
<html lang="en" xmlns:th="http://www.thymeleaf.org"> var grt = new Date("[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[1]}]]/[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[2]}]]/[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[0]}]] 00:00:00"); //设置网站上线时间
var now = new Date();
var dnum;
var hnum;
var mnum;
var snum;
var nowHour;
var t;
var n;
<th:block th:fragment="footer-style-one"> // 计算并更新天数、小时数、分钟数和秒数
function updateTime() {
<script th:if="${theme.config.footer.footerContent.style_one.runtime_enable}" async="async">(function () { now = new Date(); // 更新 now 的值
var grt = new Date("[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[1]}]]/[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[2]}]]/[[${#strings.arraySplit(theme.config.basics.siteStartTime, '-')[0]}]] 00:00:00"); //设置网站上线时间 nowHour = now.getHours(); // 更新 nowHour 的值
var now = new Date(); var days = (now - grt) / 1000 / 60 / 60 / 24;
var dnum; dnum = Math.floor(days);
var hnum; var hours = (now - grt) / 1000 / 60 / 60 - 24 * dnum;
var mnum; hnum = Math.floor(hours);
var snum; if (String(hnum).length == 1) {
var nowHour; hnum = "0" + hnum;
var t;
var n;
// 计算并更新天数、小时数、分钟数和秒数
function updateTime() {
now = new Date(); // 更新 now 的值
nowHour = now.getHours(); // 更新 nowHour 的值
var days = (now - grt) / 1000 / 60 / 60 / 24;
dnum = Math.floor(days);
var hours = (now - grt) / 1000 / 60 / 60 - 24 * dnum;
hnum = Math.floor(hours);
if (String(hnum).length == 1) {
hnum = "0" + hnum;
}
var minutes = (now - grt) / 1000 / 60 - 24 * 60 * dnum - 60 * hnum;
mnum = Math.floor(minutes);
if (String(mnum).length == 1) {
mnum = "0" + mnum;
}
var seconds = (now - grt) / 1000 - 24 * 60 * 60 * dnum - 60 * 60 * hnum - 60 * mnum;
snum = Math.round(seconds);
if (String(snum).length == 1) {
snum = "0" + snum;
}
t = Math.trunc(234e8 + (now - grt) / 1e3 * 17)
n = (t / 1496e5).toFixed(6)
} }
var minutes = (now - grt) / 1000 / 60 - 24 * 60 * dnum - 60 * hnum;
mnum = Math.floor(minutes);
if (String(mnum).length == 1) {
mnum = "0" + mnum;
}
var seconds = (now - grt) / 1000 - 24 * 60 * 60 * dnum - 60 * 60 * hnum - 60 * mnum;
snum = Math.round(seconds);
if (String(snum).length == 1) {
snum = "0" + snum;
}
t = Math.trunc(234e8 + (now - grt) / 1e3 * 17)
n = (t / 1496e5).toFixed(6)
}
// 更新网页中显示的网站运行时间 // 更新网页中显示的网站运行时间
function updateHtml() { function updateHtml() {
const footer = document.getElementById("footer"); const footer = document.getElementById("footer");
if (!footer) return if (!footer) return
let currentTimeHtml = ""; let currentTimeHtml = "";
let img = ""; let img = "";
let description = ""; let description = "";
if (nowHour < 18 && nowHour >= 9) { if (nowHour < 18 && nowHour >= 9) {
// 如果是上班时间 // 如果是上班时间
img = "[(${theme.config.footer.footerContent.style_one.work_img})]"; img = "[(${theme.config.footer.footerContent.style_one.work_img})]";
description = "[(${theme.config.footer.footerContent.style_one.work_description})]"; description = "[(${theme.config.footer.footerContent.style_one.work_description})]";
} else { } else {
// 如果是下班时间 // 如果是下班时间
img = "[(${theme.config.footer.footerContent.style_one.offduty_img})]"; img = "[(${theme.config.footer.footerContent.style_one.offduty_img})]";
description = "[(${theme.config.footer.footerContent.style_one.offduty_description})]"; description = "[(${theme.config.footer.footerContent.style_one.offduty_description})]";
} }
if (document.getElementById("workboard")) { if (document.getElementById("workboard")) {
currentTimeHtml = `<img class="workSituationImg boardsign" src="${img}" alt="${description}" title="${description}"> currentTimeHtml = `<img class="workSituationImg boardsign" src="${img}" alt="${description}" title="${description}">
<div id="runtimeTextTip"> 本站居然运行了 ${dnum} 天<span id='runtime'> ${hnum} 小时 ${mnum} 分 ${snum} 秒 </span><i class='haofont hao-icon-heartbeat' style='color:red'></i> <br> 旅行者 1 号当前距离地球 ${t} 千米,约为 ${n} 个天文单位 🚀 </div>` <div id="runtimeTextTip"> 本站居然运行了 ${dnum} 天<span id='runtime'> ${hnum} 小时 ${mnum} 分 ${snum} 秒 </span><i class='haofont hao-icon-heartbeat' style='color:red'></i> <br> 旅行者 1 号当前距离地球 ${t} 千米,约为 ${n} 个天文单位 🚀 </div>`
document.getElementById("workboard").innerHTML = currentTimeHtml; document.getElementById("workboard").innerHTML = currentTimeHtml;
}
} }
setInterval(() => { }
updateTime(); setInterval(() => {
updateHtml(); updateTime();
}, 1000); updateHtml();
})();</script> }, 1000);
})();</script>
</th:block>
</html>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="open-graph(_title,_permalink,_cover,_excerpt,_type)"> <th:block th:fragment="open-graph(_title,_permalink,_cover,_excerpt,_type)">
<!-- Open Graph Start --> <!-- Open Graph Start -->
<meta property="og:site_name" th:content="${site.title}" /> <meta property="og:site_name" th:content="${site.title}" />

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- Tocbot 目录生成 start --> <!-- Tocbot 目录生成 start -->
<th:block th:fragment="toc-bot"> <th:bloc>
<script th:src="${assets_link + '/libs/tocbot/4.18.2/tocbot.min.js'}"></script> <script th:src="${assets_link + '/libs/tocbot/4.18.2/tocbot.min.js'}"></script>
<link th:href="${assets_link + '/libs/tocbot/4.18.2/tocbot.css'}" rel="stylesheet"> <link th:href="${assets_link + '/libs/tocbot/4.18.2/tocbot.css'}" rel="stylesheet">
</th:block> </th:bloc>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 页脚模块 --> <!-- 页脚模块 -->
<footer id="footer" th:fragment="footer"> <footer id="footer">
<div id="heo-footer-bar" th:if="${theme.config.footer.footer_bar.footer_bar_enable}"> <div id="heo-footer-bar" th:if="${theme.config.footer.footer_bar.footer_bar_enable}">
<div class="footer-logo"><th:block th:utext="${theme.config.footer.footer_bar.logo}"></th:block></div> <div class="footer-logo"><th:block th:utext="${theme.config.footer.footer_bar.logo}"></th:block></div>
@ -162,6 +160,4 @@
<!--评论弹幕弹窗 --> <!--评论弹幕弹窗 -->
<div class="comment-barrage needEndHide" style="display: none;"></div> <div class="comment-barrage needEndHide" style="display: none;"></div>
</footer> </footer>
</html>

View File

@ -1,5 +1,3 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 公共的 head 部分,可以定义部分 links,scripts,styles --> <!-- 公共的 head 部分,可以定义部分 links,scripts,styles -->
<th:block th:fragment="head(htmlType)"> <th:block th:fragment="head(htmlType)">
<meta charset="UTF-8"> <meta charset="UTF-8">
@ -39,12 +37,12 @@
/> />
<!-- 代码块自动识别语言 --> <!-- 代码块自动识别语言 -->
<th:block th:replace="~{modules/common/code :: code}"/> <th:block th:replace="~{modules/common/code}"/>
<!-- 代码块--> <!-- 代码块-->
<th:block th:replace="~{macro/prism-code :: prism-code}"/> <th:block th:replace="~{macro/prism-code}"/>
<!-- 页脚内容-样式一 --> <!-- 页脚内容-样式一 -->
<th:block th:replace="~{modules/common/footer-style-one :: footer-style-one}"/> <th:block th:replace="~{modules/common/footer-style-one}"/>
<script> <script>
(win => { (win => {
@ -180,9 +178,7 @@
<!-- icon图标 --> <!-- icon图标 -->
<link rel="stylesheet" th:href="${assets_link + '/icon/iconfont.css' + theme_version}"> <link rel="stylesheet" th:href="${assets_link + '/icon/iconfont.css' + theme_version}">
<th:block th:replace="~{modules/variables/site-config :: site-config}" /> <th:block th:replace="~{modules/variables/site-config}" />
</th:block> </th:block>
</html>

View File

@ -1,98 +1,92 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 第一屏 --> <!-- 第一屏 -->
<th:block th:fragment="greeting"> <th:block th:if="${theme.config.other.greeting.enable_greeting}">
<th:block th:if="${theme.config.other.greeting.enable_greeting}"> <div id="greetingBox"></div>
<div id="greetingBox"></div> <style>
<style> #greetingBox {
#greetingBox { position: fixed;
position: fixed; top: 10px;
top: 10px; left: 15%;
left: 15%; width: 400px;
width: 400px; text-align: center;
text-align: center; z-index: 10000;
z-index: 10000; pointer-events: none
pointer-events: none }
}
#greeting { #greeting {
display: inline-block; display: inline-block;
position: relative; position: relative;
opacity: 0; opacity: 0;
top: -110px; top: -110px;
padding: 5px 40px; padding: 5px 40px;
border-radius: 50px; border-radius: 50px;
background-color: #fff; background-color: #fff;
color: #000; color: #000;
font-size: small; font-size: small;
transition: .5s; transition: .5s;
box-shadow: rgb(0 0 0 / 5%) 0 10px 20px box-shadow: rgb(0 0 0 / 5%) 0 10px 20px
} }
#greeting.shown { #greeting.shown {
opacity: 1; opacity: 1;
top: 0 top: 0
}
</style>
<script th:inline="javascript">
(() => {
const greeting = [[${theme.config.other.greeting.setting}]].map((itme) => {
return itme.realNode
})
let e = greeting.length !== 0 ? greeting : [
{
greeting: "晚安😴",
start_time: 0,
end_time: 5
}, {
greeting: "早上好鸭👋, 祝你一天好心情!",
start_time: 6,
end_time: 9
}, {
greeting: "上午好👋, 状态很好,鼓励一下~",
start_time: 10,
end_time: 10
}, {
greeting: "11点多啦, 在坚持一下就吃饭啦~",
start_time: 11,
end_time: 11
}, {
greeting: "午安👋, 宝贝",
start_time: 12,
end_time: 14
}, {
greeting: "🌈充实的一天辛苦啦!",
start_time: 14,
end_time: 18
}, {
greeting: "19点喽, 奖励一顿丰盛的大餐吧🍔。",
start_time: 19,
end_time: 19
}, {
greeting: "晚上好👋, 在属于自己的时间好好放松😌~",
start_time: 20,
end_time: 24
}];
let t = document.createElement("div");
t.id = "greeting", setTimeout((() => {
t.classList.add("shown")
}), 1e3);
let i = document.querySelector("#greetingBox");
i.appendChild(t);
const n = (new Date).getHours();
let r = "晚上好👋";
for (let t = 0; t < e.length; t++) if (n >= e[t].start_time && n <= e[t].end_time) {
r = e[t].greeting;
break
} }
</style> t.innerHTML = r, setTimeout((() => {
<script th:inline="javascript"> t.classList.remove("shown"), setTimeout((() => {
(() => { i.remove()
const greeting = [[${theme.config.other.greeting.setting}]].map((itme) => { }), 500)
return itme.realNode }), 3e3)
}) })()
let e = greeting.length !== 0 ? greeting : [ </script>
{ </th:block>
greeting: "晚安😴",
start_time: 0,
end_time: 5
}, {
greeting: "早上好鸭👋, 祝你一天好心情!",
start_time: 6,
end_time: 9
}, {
greeting: "上午好👋, 状态很好,鼓励一下~",
start_time: 10,
end_time: 10
}, {
greeting: "11点多啦, 在坚持一下就吃饭啦~",
start_time: 11,
end_time: 11
}, {
greeting: "午安👋, 宝贝",
start_time: 12,
end_time: 14
}, {
greeting: "🌈充实的一天辛苦啦!",
start_time: 14,
end_time: 18
}, {
greeting: "19点喽, 奖励一顿丰盛的大餐吧🍔。",
start_time: 19,
end_time: 19
}, {
greeting: "晚上好👋, 在属于自己的时间好好放松😌~",
start_time: 20,
end_time: 24
}];
let t = document.createElement("div");
t.id = "greeting", setTimeout((() => {
t.classList.add("shown")
}), 1e3);
let i = document.querySelector("#greetingBox");
i.appendChild(t);
const n = (new Date).getHours();
let r = "晚上好👋";
for (let t = 0; t < e.length; t++) if (n >= e[t].start_time && n <= e[t].end_time) {
r = e[t].greeting;
break
}
t.innerHTML = r, setTimeout((() => {
t.classList.remove("shown"), setTimeout((() => {
i.remove()
}), 500)
}), 3e3)
})()
</script>
</th:block>
</th:block>
</html>

View File

@ -1,282 +1,275 @@
<!DOCTYPE html> <th:block th:if="${theme.config.top.above.enable_above}">
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <div class="pl-container">
<!-- 第一屏 --> <th:block th:if="!${theme.config.top.above.enable_above_video}">
<th:block th:fragment="index-img"> <div class="pl-img pl-blur pl-visible"></div>
<th:block th:if="${theme.config.top.above.enable_above}"> <div class="pl-img pl-visible"></div>
<div class="pl-container"> <video class="video"></video>
<th:block th:if="!${theme.config.top.above.enable_above_video}"> </th:block>
<div class="pl-img pl-blur pl-visible"></div> <th:block th:if="${theme.config.top.above.enable_above_video}">
<div class="pl-img pl-visible"></div> <video class="index-video" id="index-video" autoplay=""
<video class="video"></video> th:src="${theme.config.top.above.index_video}" loop="" muted="" playsinline=""
</th:block> webkit-playsinline=""
<th:block th:if="${theme.config.top.above.enable_above_video}"> style="display:block;object-fit:cover;width:100%;height:100%;pointer-events:none;">
<video class="index-video" id="index-video" autoplay="" </video>
th:src="${theme.config.top.above.index_video}" loop="" muted="" playsinline="" </th:block>
webkit-playsinline="" </div>
style="display:block;object-fit:cover;width:100%;height:100%;pointer-events:none;">
</video> <div id="site-info">
</th:block> <h1 id="site-title">[[${site.title}]]</h1>
<div id="site-subtitle">
<span id="subtitle"></span>
<span class="typed-cursor" aria-hidden="true"></span>
</div> </div>
</div>
<div id="scroll-down"><i class="haofont hao-icon-angle-down scroll-down-effects"></i></div>
<div id="site-info"> <link rel="stylesheet" th:href="${assets_link + '/css/fullPage.css' + theme_version}">
<h1 id="site-title">[[${site.title}]]</h1>
<div id="site-subtitle">
<span id="subtitle"></span>
<span class="typed-cursor" aria-hidden="true"></span>
</div>
</div>
<div id="scroll-down"><i class="haofont hao-icon-angle-down scroll-down-effects"></i></div>
<link rel="stylesheet" th:href="${assets_link + '/css/fullPage.css' + theme_version}"> <style>
#site-title {
width: max-content;
max-width: 100%;
position: relative;
color: rgba(255, 255, 255, 0);
animation: 1.5s linear 1s 1 normal both running show;
margin: 0px auto !important;
}
<style> #site-title::after {
#site-title { content: "";
width: max-content; position: absolute;
max-width: 100%; left: 0px;
position: relative; margin: auto;
color: rgba(255, 255, 255, 0); border-radius: 12px;
animation: 1.5s linear 1s 1 normal both running show; top: 11px;
margin: 0px auto !important; height: 55px;
} width: 110%;
animation: 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running color_change, 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running swipe_box;
}
@media screen and (max-width: 768px) {
#site-title::after { #site-title::after {
content: ""; background: rgb(255, 255, 255) !important;
position: absolute;
left: 0px;
margin: auto;
border-radius: 12px;
top: 11px;
height: 55px;
width: 110%;
animation: 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running color_change, 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running swipe_box;
}
@media screen and (max-width: 768px) {
#site-title::after {
background: rgb(255, 255, 255) !important;
}
}
@media screen and (max-width: 768px) {
#site-subtitle::after {
background: rgb(255, 255, 255) !important;
}
}
#site-subtitle {
width: 100%;
max-width: 100%;
position: relative;
animation: 1.5s linear 1s 1 normal both running show;
margin: 0px auto !important;
} }
}
@media screen and (max-width: 768px) {
#site-subtitle::after { #site-subtitle::after {
content: ""; background: rgb(255, 255, 255) !important;
position: absolute; }
}
#site-subtitle {
width: 100%;
max-width: 100%;
position: relative;
animation: 1.5s linear 1s 1 normal both running show;
margin: 0px auto !important;
}
#site-subtitle::after {
content: "";
position: absolute;
left: 0px;
right: 0px;
margin: auto;
border-radius: 12px;
height: 100%;
width: 0%;
animation: 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running color_change, 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running swipe_box2;
}
@keyframes color_change {
0% {
background: rgb(255, 255, 255);
}
100% {
background: var(--xlfd-main);
}
}
@-webkit-keyframes color_change {
0% {
background: rgb(255, 255, 255);
}
100% {
background: var(--xlfd-main);
}
}
@-webkit-keyframes swipe_box {
0% {
left: 0px; left: 0px;
right: 0px;
margin: auto;
border-radius: 12px;
height: 100%;
width: 0%; width: 0%;
animation: 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running color_change, 2s cubic-bezier(0.62, 0.21, 0.25, 1) 1.5s 1 normal both running swipe_box2;
} }
@keyframes color_change { 50% {
0% { left: 0px;
background: rgb(255, 255, 255); width: 100%;
}
100% {
background: var(--xlfd-main);
}
} }
@-webkit-keyframes color_change { 100% {
0% { left: 100%;
background: rgb(255, 255, 255); width: 0%;
} }
}
100% { @keyframes swipe_box {
background: var(--xlfd-main); 0% {
} left: 0px;
width: 0%;
} }
@-webkit-keyframes swipe_box { 50% {
0% { left: 0px;
left: 0px; width: 100%;
width: 0%;
}
50% {
left: 0px;
width: 100%;
}
100% {
left: 100%;
width: 0%;
}
} }
@keyframes swipe_box { 100% {
0% { left: 100%;
left: 0px; width: 0%;
width: 0%; }
} }
50% { @-webkit-keyframes swipe_box2 {
left: 0px; 0% {
width: 100%; left: 0px;
} width: 0%;
100% {
left: 100%;
width: 0%;
}
} }
@-webkit-keyframes swipe_box2 { 50% {
0% { left: 0px;
left: 0px; width: 80%;
width: 0%;
}
50% {
left: 0px;
width: 80%;
}
100% {
left: 0px;
width: 0%;
}
} }
@keyframes swipe_box2 { 100% {
0% { left: 0px;
left: 0px; width: 0%;
width: 0%; }
} }
50% { @keyframes swipe_box2 {
left: 0px; 0% {
width: 80%; left: 0px;
} width: 0%;
100% {
left: 0px;
width: 0%;
}
} }
@-webkit-keyframes show { 50% {
0% { left: 0px;
color: rgba(255, 255, 255, 0); width: 80%;
text-shadow: transparent 2px 3px 10px;
}
81% {
color: rgba(255, 255, 255, 0);
}
100% {
color: rgb(255, 255, 255);
}
} }
@keyframes show { 100% {
0% { left: 0px;
color: rgba(255, 255, 255, 0); width: 0%;
text-shadow: transparent 2px 3px 10px; }
} }
81% { @-webkit-keyframes show {
color: rgba(255, 255, 255, 0); 0% {
} color: rgba(255, 255, 255, 0);
text-shadow: transparent 2px 3px 10px;
100% {
color: rgb(255, 255, 255);
}
} }
81% {
color: rgba(255, 255, 255, 0);
}
100% {
color: rgb(255, 255, 255);
}
}
@keyframes show {
0% {
color: rgba(255, 255, 255, 0);
text-shadow: transparent 2px 3px 10px;
}
81% {
color: rgba(255, 255, 255, 0);
}
100% {
color: rgb(255, 255, 255);
}
}
.pl-img {
background-image: url([[${theme.config.top.above.index_img}]]);
}
@media screen and (max-width: 768px) {
.pl-img { .pl-img {
background-image: url([[${theme.config.top.above.index_img}]]); background-image: url([[${theme.config.top.above.phone_index_img}]]);
} }
}
@media screen and (max-width: 768px) { .typed-cursor {
.pl-img { opacity: 1;
background-image: url([[${theme.config.top.above.phone_index_img}]]); }
}
.typed-cursor.typed-cursor--blink {
animation: typedjsBlink 0.7s infinite;
-webkit-animation: typedjsBlink 0.7s infinite;
animation: typedjsBlink 0.7s infinite;
}
@keyframes typedjsBlink {
50% {
opacity: 0.0;
} }
}
.typed-cursor { @-webkit-keyframes typedjsBlink {
0% {
opacity: 1; opacity: 1;
} }
50% {
.typed-cursor.typed-cursor--blink { opacity: 0.0;
animation: typedjsBlink 0.7s infinite;
-webkit-animation: typedjsBlink 0.7s infinite;
animation: typedjsBlink 0.7s infinite;
} }
100% {
@keyframes typedjsBlink { opacity: 1;
50% {
opacity: 0.0;
}
} }
}
@-webkit-keyframes typedjsBlink { </style>
0% { <script th:inline="javascript">
opacity: 1; function subtitleType() {
} if([[${theme.config.top.above.enable_typed_random}]]){
50% { fetch("https://v1.hitokoto.cn").then((t => t.json())).then((t => {
opacity: 0.0; {
} const e = "出自 " + t.from;
100% { const n = [[${theme.config.top.above.typed}]].map((item) => {
opacity: 1; return item.realNode.text;
} });
n.push(t.hitokoto, e), window.typed = new Typed("#subtitle", {
strings: n,
startDelay: 300,
typeSpeed: 100,
loop: !0,
backSpeed: 50
})
}
}))
}else{
const n = [[${theme.config.top.above.typed}]].map((item) => {
return item.realNode.text;
});
window.typed = new Typed("#subtitle", {
strings: n,
startDelay: 300,
typeSpeed: 100,
loop: !0,
backSpeed: 50
})
} }
</style> }
<script th:inline="javascript"> // 防止加载文字太短时第一个自定义文字显示不出来
function subtitleType() { setTimeout(()=>{
if([[${theme.config.top.above.enable_typed_random}]]){ "function" == typeof Typed ? subtitleType() : getScript("https://npm.elemecdn.com/typed.js@2.0.12/lib/typed.min.js").then(subtitleType)
fetch("https://v1.hitokoto.cn").then((t => t.json())).then((t => { },1800)
{ </script>
const e = "出自 " + t.from; </th:block>
const n = [[${theme.config.top.above.typed}]].map((item) => {
return item.realNode.text;
});
n.push(t.hitokoto, e), window.typed = new Typed("#subtitle", {
strings: n,
startDelay: 300,
typeSpeed: 100,
loop: !0,
backSpeed: 50
})
}
}))
}else{
const n = [[${theme.config.top.above.typed}]].map((item) => {
return item.realNode.text;
});
window.typed = new Typed("#subtitle", {
strings: n,
startDelay: 300,
typeSpeed: 100,
loop: !0,
backSpeed: 50
})
}
}
// 防止加载文字太短时第一个自定义文字显示不出来
setTimeout(()=>{
"function" == typeof Typed ? subtitleType() : getScript("https://npm.elemecdn.com/typed.js@2.0.12/lib/typed.min.js").then(subtitleType)
},1800)
</script>
</th:block>
</th:block>
</html>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" th:fragment="layout(content, htmlType, title, head)" xmlns:th="http://www.thymeleaf.org" <html lang="zh-CN" th:fragment="layout(content, htmlType, title, head)" xmlns:th="http://www.thymeleaf.org"
th:with="assets_link=${theme.config.other.staticResource.use == 'onmicrosoft' ? 'https://npm.onmicrosoft.cn/hao-theme-static@' + theme.spec.version +'/templates/assets' : th:with="assets_link=${theme.config.other.staticResource.use == 'onmicrosoft' ? 'https://npm.onmicrosoft.cn/hao-theme-static@' + theme.spec.version +'/templates/assets' :
theme.config.other.staticResource.use == 'cbd' ? 'https://cdn.cbd.int/hao-theme-static@' + theme.spec.version +'/templates/assets' : theme.config.other.staticResource.use == 'cbd' ? 'https://cdn.cbd.int/hao-theme-static@' + theme.spec.version +'/templates/assets' :
theme.config.other.staticResource.use == 'custom' ? theme.config.other.staticResource.cdn_link : #theme.assets('/')}, theme.config.other.staticResource.use == 'custom' ? theme.config.other.staticResource.cdn_link : #theme.assets('/')},
@ -26,7 +26,7 @@
<body> <body>
<!-- loading 页面 --> <!-- loading 页面 -->
<th:block th:replace="~{modules/loading-box :: loading-box}"></th:block> <th:block th:replace="~{modules/loading-box}"/>
<!-- 网站背景 --> <!-- 网站背景 -->
<div id="web_bg"></div> <div id="web_bg"></div>
@ -35,13 +35,13 @@
<div id="an_music_bg"></div> <div id="an_music_bg"></div>
<!-- 控制台 --> <!-- 控制台 -->
<div th:replace="~{modules/widgets/console :: console}"></div> <div th:replace="~{modules/widgets/console}"/>
<div th:replace="~{modules/sidebar :: sidebar}"></div> <div th:replace="~{modules/sidebar}"/>
<!-- 左下角音乐 --> <!-- 左下角音乐 -->
<th:block th:if="${theme.config.tool.nav_music.nav_musicEnable}" > <th:block th:if="${theme.config.tool.nav_music.nav_musicEnable}" >
<div th:replace="~{modules/widgets/nav-music :: nav-music}"></div> <div th:replace="~{modules/widgets/nav-music}"/>
</th:block> </th:block>
<!-- 内容 --> <!-- 内容 -->
@ -49,10 +49,10 @@
<!-- todo 右下角悬浮操作按钮 --> <!-- todo 右下角悬浮操作按钮 -->
<th:block th:replace="~{modules/widgets/rightside :: rightside}"></th:block> <th:block th:replace="~{modules/widgets/rightside}"/>
<div th:replace="~{modules/widgets/right-menu :: right-menu}"></div> <div th:replace="~{modules/widgets/right-menu}"/>
<div> <div>
<script th:src="${assets_link + '/js/utils.js' + theme_version}"></script> <script th:src="${assets_link + '/js/utils.js' + theme_version}"></script>
@ -71,7 +71,7 @@
<div class="js-pjax"> <div class="js-pjax">
<!-- 动态标题 --> <!-- 动态标题 -->
<script th:replace="~{modules/common/diytitle :: diytitle}"></script> <script th:replace="~{modules/common/diytitle}"/>
</div> </div>
<!-- 评论 --> <!-- 评论 -->
@ -124,10 +124,10 @@
th:src="${assets_link + '/zhheo/commentBarrage.js'}"></script> th:src="${assets_link + '/zhheo/commentBarrage.js'}"></script>
<!-- Tocbot 目录生成 start --> <!-- Tocbot 目录生成 start -->
<th:block th:replace="~{modules/common/toc-bot :: toc-bot}"></th:block> <th:block th:replace="~{modules/common/toc-bot}"/>
<!-- 51统计 --> <!-- 51统计 -->
<th:block th:replace="~{modules/common/51-la :: 51-la}"></th:block> <th:block th:replace="~{modules/common/51-la}"/>
<!--官方评论插件js--> <!--官方评论插件js-->
<script th:if="${pluginFinder.available('PluginCommentWidget')}" src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js"></script> <script th:if="${pluginFinder.available('PluginCommentWidget')}" src="/plugins/PluginCommentWidget/assets/static/comment-widget.iife.js"></script>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- loading页面 --> <!-- loading页面 -->
<th:block th:fragment="loading-box" <th:block
th:if="${theme.config.other.loadingBoxs.loadingBoxEnable} and not ${#strings.isEmpty(theme.config.other.loadingBoxs.loadingBoxImg)}"> th:if="${theme.config.other.loadingBoxs.loadingBoxEnable} and not ${#strings.isEmpty(theme.config.other.loadingBoxs.loadingBoxImg)}">
<style type="text/css"> <style type="text/css">
#loading-box { #loading-box {
@ -103,5 +101,3 @@
</script> </script>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,4 @@
<!DOCTYPE html> <div class="bbTimeList container" id="bbTimeList"
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div class="bbTimeList container" id="bbTimeList" th:fragment="moment"
th:if="${theme.config.top.moment}"> th:if="${theme.config.top.moment}">
<i class="haofont hao-icon-logo-moment" onclick="" style="font-size: 1.3rem;" title="瞬间"></i> <i class="haofont hao-icon-logo-moment" onclick="" style="font-size: 1.3rem;" title="瞬间"></i>
@ -36,5 +33,4 @@
onclick="halo.changeMarginLeft(this)" onclick="halo.changeMarginLeft(this)"
th:data-lazy-src="${ isLazyload ? theme.config.top.climb.climbImg : ''}"> th:data-lazy-src="${ isLazyload ? theme.config.top.climb.climbImg : ''}">
</div> </div>
</html>

View File

@ -1,10 +1,8 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<nav class="show" id="nav" th:fragment="nav(title)"> <nav class="show" id="nav" th:fragment="nav(title)">
<div id="nav-group"> <div id="nav-group">
<!-- 导航栏左侧 --> <!-- 导航栏左侧 -->
<div th:replace="~{modules/widgets/nav-left :: nav-left}"></div> <div th:replace="~{modules/widgets/nav-left}"/>
<div id="page-name-mask"> <div id="page-name-mask">
<div id="page-name" > <div id="page-name" >
<a id="page-name-text" onclick="btf.scrollToDest(0,500)" <a id="page-name-text" onclick="btf.scrollToDest(0,500)"
@ -16,9 +14,7 @@
<div th:replace="~{modules/widgets/nav-menu :: nav-menu}"></div> <div th:replace="~{modules/widgets/nav-menu :: nav-menu}"></div>
<!-- 导航栏右侧 --> <!-- 导航栏右侧 -->
<div th:replace="~{modules/widgets/nav-right :: nav-right}"></div> <div th:replace="~{modules/widgets/nav-right}"/>
</div> </div>
</nav> </nav>
</html>

View File

@ -1,7 +1,4 @@
<!DOCTYPE html> <th:block
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="post-list"
th:with='postItems=${posts.items}, th:with='postItems=${posts.items},
postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}'> postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}'>
@ -107,5 +104,3 @@
<div th:replace="~{modules/widgets/page :: page('',${posts},true,'')}"></div> <div th:replace="~{modules/widgets/page :: page('',${posts},true,'')}"></div>
</th:block> </th:block>
</html>

View File

@ -1,17 +1,9 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 版权声明 --> <!-- 版权声明 -->
<th:block th:fragment="copyright"> <th:block >
<!-- 默认样式 --> <!-- 默认样式 -->
<th:block th:replace="~{modules/post/copyright/copyright-default :: copyright-default}"></th:block> <th:block th:replace="~{modules/post/copyright/copyright-default}"/>
<!-- 样式一 --> <!-- 样式一 -->
<th:block th:replace="~{modules/post/copyright/copyright-one :: copyright-one}"></th:block> <th:block th:replace="~{modules/post/copyright/copyright-one}"/>
</th:block>
</th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 版权样式默认 --> <!-- 版权样式默认 -->
<th:block th:fragment="copyright-default" th:if="${#strings.equals(theme.config.post.copyrightsStyle, 'default')}"> <th:block th:if="${#strings.equals(theme.config.post.copyrightsStyle, 'default')}">
<div class="post-tools" id="post-tools"> <div class="post-tools" id="post-tools">
<div class="post-tools-left"> <div class="post-tools-left">
@ -111,6 +109,3 @@
<link rel="stylesheet" th:href="${assets_link + '/css/post-copyright.css' + theme_version}"> <link rel="stylesheet" th:href="${assets_link + '/css/post-copyright.css' + theme_version}">
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 版权样式一 --> <!-- 版权样式一 -->
<th:block th:fragment="copyright-one" th:if="${#strings.equals(theme.config.post.copyrightsStyle, 'one')}"> <th:block th:if="${#strings.equals(theme.config.post.copyrightsStyle, 'one')}">
<!-- 版权声明 --> <!-- 版权声明 -->
<div class="post-copyright"> <div class="post-copyright">
<div class="post-copyright__author_group"><a class="post-copyright__author_img" href="/about" <div class="post-copyright__author_group"><a class="post-copyright__author_img" href="/about"
@ -96,7 +94,3 @@
</div> </div>
<link rel="stylesheet" th:href="${assets_link + '/css/post-copyright-one.css' + theme_version}"> <link rel="stylesheet" th:href="${assets_link + '/css/post-copyright-one.css' + theme_version}">
</th:block> </th:block>
</html>

View File

@ -1,7 +1,6 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 阅读建议 --> <!-- 阅读建议 -->
<th:block th:fragment="relatedPosts" th:if="${not #lists.isEmpty(post.categories)}" th:with="recommendQuantity = ${theme.config.post.recommendQuantity}, <th:block th:if="${not #lists.isEmpty(post.categories)}" th:with="recommendQuantity = ${theme.config.post.recommendQuantity},
recommandPosts = ${postFinder.listByCategory(1,recommendQuantity == 'six' ? 7 : recommendQuantity == 'two' ? 3 : 1,post.categories.get(0).metadata.name)}, recommandPosts = ${postFinder.listByCategory(1,recommendQuantity == 'six' ? 7 : recommendQuantity == 'two' ? 3 : 1,post.categories.get(0).metadata.name)},
containsTitle = ${#strings.contains(recommandPosts,post.spec.title)}, containsTitle = ${#strings.contains(recommandPosts,post.spec.title)},
postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,'?') ? theme.config.layout.postRandomImg+'&' : theme.config.layout.postRandomImg+'?'}"> postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,'?') ? theme.config.layout.postRandomImg+'&' : theme.config.layout.postRandomImg+'?'}">
@ -56,5 +55,4 @@ postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,'?') ? theme
th:href="${assets_link + '/css/related-posts-six.css' + theme_version}"> th:href="${assets_link + '/css/related-posts-six.css' + theme_version}">
<link th:if="${#strings.equals(recommendQuantity, 'two')}" rel="stylesheet" <link th:if="${#strings.equals(recommendQuantity, 'two')}" rel="stylesheet"
th:href="${assets_link + '/css/related-posts-two.css' + theme_version}"> th:href="${assets_link + '/css/related-posts-two.css' + theme_version}">
</th:block> </th:block>
</html>

View File

@ -1,17 +1,12 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 置顶的文章--> <!-- 置顶的文章-->
<div class="recent-top-post-group" id="recent-top-post-group" <div class="recent-top-post-group" id="recent-top-post-group"
th:fragment="recent-top"
th:if="${theme.config.top.recentTop}"> th:if="${theme.config.top.recentTop}">
<div class="recent-post-top" id="recent-post-top"> <div class="recent-post-top" id="recent-post-top">
<!-- banner --> <!-- banner -->
<div th:replace="~{modules/widgets/banner-group :: banner-group}"></div> <div th:replace="~{modules/widgets/banner-group}"/>
<!-- top --> <!-- top -->
<div th:replace="~{modules/widgets/top-group :: top-group}"></div> <div th:replace="~{modules/widgets/top-group}"/>
</div> </div>
</div> </div>
</html>

View File

@ -1,9 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 侧栏,主要是手机端时会使用 --> <!-- 侧栏,主要是手机端时会使用 -->
<div id="sidebar" th:fragment="sidebar"> <div id="sidebar">
<div id="menu-mask"></div> <div id="menu-mask"></div>
<div id="sidebar-menus"> <div id="sidebar-menus">
<span class="sidebar-menu-item-title">功能</span> <span class="sidebar-menu-item-title">功能</span>
@ -77,5 +73,4 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,4 +1,4 @@
<style type="text/css" th:inline="css" th:fragment="variables-root"> <style type="text/css" th:inline="css">
[data-theme=light] { [data-theme=light] {
--heo-theme: [(${theme.config.style.themeLightSkin})] !important; --heo-theme: [(${theme.config.style.themeLightSkin})] !important;
--heo-theme-op: [(${theme.config.style.themeLightSkin})]23 !important; --heo-theme-op: [(${theme.config.style.themeLightSkin})]23 !important;

View File

@ -1,135 +1,130 @@
<!DOCTYPE html> <!-- 声明一些公共信息 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <script id="site-config" th:inline="javascript">
<th:block th:fragment="site-config"> var GLOBAL_CONFIG = {
<!-- 声明一些公共信息 --> // 页面类型 index,page,post,tag,category
<script id="site-config" th:inline="javascript"> htmlType: [[${ htmlType }]],
var GLOBAL_CONFIG = { postTitle: [[${ htmlType == 'post' ? post.spec.title : htmlType == 'page' ? singlePage.spec.title : ''}]],
// 页面类型 index,page,post,tag,category isPost: [[${htmlType == 'post'}]],
htmlType: [[${ htmlType }]], isHome: [[${ htmlType == 'index'}]],
postTitle: [[${ htmlType == 'post' ? post.spec.title : htmlType == 'page' ? singlePage.spec.title : ''}]], copyright: undefined,
isPost: [[${htmlType == 'post'}]], lightbox: 'fancybox',
isHome: [[${ htmlType == 'index'}]], lazyload: {enable: [[${theme.config.other.vanillaLazyload.enable}]], error: [[@{${theme.config.other.vanillaLazyload.errorImg}}]] },
copyright: undefined, isFriendLinksInFooter: [[${theme.config.footer.footer_group.enable_footer_group}]],
lightbox: 'fancybox', loadingBox: [[${theme.config.other.loadingBoxs.loadingBoxEnable}]],
lazyload: {enable: [[${theme.config.other.vanillaLazyload.enable}]], error: [[@{${theme.config.other.vanillaLazyload.errorImg}}]] }, loadProgressBar: [[${theme.config.other.loadingBoxs.loadProgressBar}]],
isFriendLinksInFooter: [[${theme.config.footer.footer_group.enable_footer_group}]], navMusicEnable:[[${theme.config.tool.nav_music.nav_musicEnable}]],
loadingBox: [[${theme.config.other.loadingBoxs.loadingBoxEnable}]], isMusic: [[${ htmlType == 'music'}]],
loadProgressBar: [[${theme.config.other.loadingBoxs.loadProgressBar}]], helloText: [[${#strings.listSplit(theme.config.sidebar.profile.helloText, ',')}]],
navMusicEnable:[[${theme.config.tool.nav_music.nav_musicEnable}]], profileStyle: [[${theme.config.sidebar.profile.profileStyle}]],
isMusic: [[${ htmlType == 'music'}]], rightMenuEnable: [[${theme.config.tool.rightMenu.rightMenuEnable}]],
helloText: [[${#strings.listSplit(theme.config.sidebar.profile.helloText, ',')}]], date_suffix: {
profileStyle: [[${theme.config.sidebar.profile.profileStyle}]], just: '刚刚',
rightMenuEnable: [[${theme.config.tool.rightMenu.rightMenuEnable}]], min: '分钟前',
date_suffix: { hour: '小时前',
just: '刚刚', day: '天前',
min: '分钟前', month: '个月前'
hour: '小时前', },
day: '天前', Snackbar: {
month: '个月前' chs_to_cht: "你已切换为繁体",
cht_to_chs: "你已切换为简体",
day_to_night: "你已切换为深色模式",
night_to_day: "你已切换为浅色模式",
bgLight: "[(${theme.config.style.themeLightSkin})]",
bgDark: "[(${theme.config.style.themeDarkSkin})]",
position: "top-center",
},
translate: {
defaultEncoding:[[${theme.config.style.translate.defaultEncoding}]],
translateDelay:0,
msgToTraditionalChinese:"繁",
msgToSimplifiedChinese:"简",
rightMenuMsgToTraditionalChinese:"轉為繁體",
rightMenuMsgToSimplifiedChinese:"转为简体"
},
prism: {
enable: [[${ theme.config.code.enable }]],
enable_title: [[${ theme.config.code.enable_title }]],
enable_hr: [[${ theme.config.code.enable_hr }]],
enable_line: [[${ theme.config.code.enable_line }]],
enable_copy: [[${ theme.config.code.enable_copy }]],
enable_expander: [[${ theme.config.code.enable_expander }]],
prism_limit: Number([[${#strings.isEmpty(theme.config.code.height_limit) ? 300 : theme.config.code.height_limit}]])+30,
enable_height_limit: [[${theme.config.code.enable_height_limit}]]
},
source: {
power:{
list:[[${theme.config.sidebar.power.list}]]
}, },
Snackbar: { links: {
chs_to_cht: "你已切换为繁体", linksUrl: [[${ theme.config.link.linksUrl }]],
cht_to_chs: "你已切换为简体", linksNum: [[${theme.config.footer.footer_group.num}]],
day_to_night: "你已切换为深色模式",
night_to_day: "你已切换为浅色模式",
bgLight: "[(${theme.config.style.themeLightSkin})]",
bgDark: "[(${theme.config.style.themeDarkSkin})]",
position: "top-center",
}, },
translate: { jQuery: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js',
defaultEncoding:[[${theme.config.style.translate.defaultEncoding}]], justifiedGallery: {
translateDelay:0, js: 'https://npm.elemecdn.com/flickr-justified-gallery@2.1.2/dist/fjGallery.min.js',
msgToTraditionalChinese:"繁", css: 'https://npm.elemecdn.com/flickr-justified-gallery@2.1.2/dist/fjGallery.css'
msgToSimplifiedChinese:"简",
rightMenuMsgToTraditionalChinese:"轉為繁體",
rightMenuMsgToSimplifiedChinese:"转为简体"
}, },
prism: { fancybox: {
enable: [[${ theme.config.code.enable }]], js: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js',
enable_title: [[${ theme.config.code.enable_title }]], css: '/null'
enable_hr: [[${ theme.config.code.enable_hr }]],
enable_line: [[${ theme.config.code.enable_line }]],
enable_copy: [[${ theme.config.code.enable_copy }]],
enable_expander: [[${ theme.config.code.enable_expander }]],
prism_limit: Number([[${#strings.isEmpty(theme.config.code.height_limit) ? 300 : theme.config.code.height_limit}]])+30,
enable_height_limit: [[${theme.config.code.enable_height_limit}]]
}, },
source: { comments:{
power:{ use: [[${theme.config.comments.use}]],
list:[[${theme.config.sidebar.power.list}]] maxBarrage: [[${ theme.config.comments.commentBarrageConfig.maxBarrage }]],
}, barrageTime: [[${ theme.config.comments.commentBarrageConfig.barrageTime }]],
links: { mailMd5: "[(${theme.config.comments.commentBarrageConfig.mailMd5})]",
linksUrl: [[${ theme.config.link.linksUrl }]], lazyload: [[${theme.config.comments.lazyload}]],
linksNum: [[${theme.config.footer.footer_group.num}]], textarea: [[${ theme.config.comments.use == 'Twikoo' ? 'el-textarea__inner' :
},
jQuery: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js',
justifiedGallery: {
js: 'https://npm.elemecdn.com/flickr-justified-gallery@2.1.2/dist/fjGallery.min.js',
css: 'https://npm.elemecdn.com/flickr-justified-gallery@2.1.2/dist/fjGallery.css'
},
fancybox: {
js: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js',
css: '/null'
},
comments:{
use: [[${theme.config.comments.use}]],
maxBarrage: [[${ theme.config.comments.commentBarrageConfig.maxBarrage }]],
barrageTime: [[${ theme.config.comments.commentBarrageConfig.barrageTime }]],
mailMd5: "[(${theme.config.comments.commentBarrageConfig.mailMd5})]",
lazyload: [[${theme.config.comments.lazyload}]],
textarea: [[${ theme.config.comments.use == 'Twikoo' ? 'el-textarea__inner' :
theme.config.comments.use == 'Artalk' ? 'atk-textarea' : theme.config.comments.use == 'Artalk' ? 'atk-textarea' :
theme.config.comments.use == 'Waline' ? 'wl-editor' : 'appearance-none' }]] theme.config.comments.use == 'Waline' ? 'wl-editor' : 'appearance-none' }]]
}, },
welcome:{ welcome:{
key:"[(${theme.config.sidebar.welcome.key})]", key:"[(${theme.config.sidebar.welcome.key})]",
locationLng: [[${theme.config.sidebar.welcome.locationLng}]], locationLng: [[${theme.config.sidebar.welcome.locationLng}]],
locationLat: [[${theme.config.sidebar.welcome.locationLat}]] locationLat: [[${theme.config.sidebar.welcome.locationLat}]]
}, },
post:{ post:{
dynamicBackground: [[${ theme.config.post.dynamicBackground }]] dynamicBackground: [[${ theme.config.post.dynamicBackground }]]
}, },
tool:{ tool:{
switch: [[${ theme.config.tool.snackbar.switch }]] switch: [[${ theme.config.tool.snackbar.switch }]]
}, },
postAi:{ postAi:{
ai : [[${htmlType != 'post' || !theme.config.post.aiDescription.aiDescriptionEnable ? '' : ai : [[${htmlType != 'post' || !theme.config.post.aiDescription.aiDescriptionEnable ? '' :
theme.config.post.aiDescription.mode != 'local' && !theme.config.post.aiDescription.switchBtn ? '' : theme.config.post.aiDescription.mode != 'local' && !theme.config.post.aiDescription.switchBtn ? '' :
post.spec.excerpt.autoGenerate ? '本地模式需要自己填写文章摘要' : post.spec.excerpt.autoGenerate ? '本地模式需要自己填写文章摘要' :
#strings.isEmpty(post.status.excerpt) ? '请填写文章摘要' : post.status.excerpt }]], #strings.isEmpty(post.status.excerpt) ? '请填写文章摘要' : post.status.excerpt }]],
randomNum : [[${theme.config.post.aiDescription.randomNum}]], randomNum : [[${theme.config.post.aiDescription.randomNum}]],
basicWordCount : [[${theme.config.post.aiDescription.basicWordCount}]], basicWordCount : [[${theme.config.post.aiDescription.basicWordCount}]],
btnLink : "[(${theme.config.post.aiDescription.btnLink})]", btnLink : "[(${theme.config.post.aiDescription.btnLink})]",
gptName : "[(${theme.config.post.aiDescription.gptName})]", gptName : "[(${theme.config.post.aiDescription.gptName})]",
modeName : [[${theme.config.post.aiDescription.mode}]], modeName : [[${theme.config.post.aiDescription.mode}]],
switchBtn : [[${theme.config.post.aiDescription.switchBtn}]], switchBtn : [[${theme.config.post.aiDescription.switchBtn}]],
keys : "[(${theme.config.post.aiDescription.key})]", keys : "[(${theme.config.post.aiDescription.key})]",
Referers : "[(${theme.config.post.aiDescription.Referer})]", Referers : "[(${theme.config.post.aiDescription.Referer})]",
},
img:{
src: [[${isLazyload ? 'data-lazy-src' : 'src' }]]
},
twikoo:{
js:[[${not #strings.isEmpty(theme.config.comments.twikoos.js) ? theme.config.comments.twikoos.js : assets_link +'/libs/twikoo/twikoo.all.min.js' }]],
twikooUrl: "[(${theme.config.comments.twikoos.envId})]",
accessToken: "[(${theme.config.comments.twikoos.accessToken})]",
},
artalk:{
js:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkJs) ? theme.config.comments.artalks.artalkJs : assets_link +'/libs/artalk/Artalk.js' }]],
css:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkCss) ? theme.config.comments.artalks.artalkCss : assets_link +'/libs/artalk/Artalk.css' }]],
artalkUrl: "[(${theme.config.comments.artalks.server})]",
siteName: "[(${theme.config.comments.artalks.siteName})]",
},
waline:{
js:[[${not #strings.isEmpty(theme.config.comments.walines.walinesJs) ? theme.config.comments.walines.walinesJs : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.js' }]],
serverURL: "[(${theme.config.comments.walines.serverURL})]",
locale: [(${not #strings.isEmpty(theme.config.comments.walines.locale) ? theme.config.comments.walines.locale : {} })]
},
}, },
img:{
src: [[${isLazyload ? 'data-lazy-src' : 'src' }]]
},
twikoo:{
js:[[${not #strings.isEmpty(theme.config.comments.twikoos.js) ? theme.config.comments.twikoos.js : assets_link +'/libs/twikoo/twikoo.all.min.js' }]],
twikooUrl: "[(${theme.config.comments.twikoos.envId})]",
accessToken: "[(${theme.config.comments.twikoos.accessToken})]",
}; },
artalk:{
js:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkJs) ? theme.config.comments.artalks.artalkJs : assets_link +'/libs/artalk/Artalk.js' }]],
css:[[${not #strings.isEmpty(theme.config.comments.artalks.artalkCss) ? theme.config.comments.artalks.artalkCss : assets_link +'/libs/artalk/Artalk.css' }]],
artalkUrl: "[(${theme.config.comments.artalks.server})]",
siteName: "[(${theme.config.comments.artalks.siteName})]",
},
waline:{
js:[[${not #strings.isEmpty(theme.config.comments.walines.walinesJs) ? theme.config.comments.walines.walinesJs : 'https://cdn.cbd.int/@waline/client@2.15.7/dist/waline.js' }]],
serverURL: "[(${theme.config.comments.walines.serverURL})]",
locale: [(${not #strings.isEmpty(theme.config.comments.walines.locale) ? theme.config.comments.walines.locale : {} })]
},
},
</script> };
</th:block>
</html> </script>

View File

@ -1,4 +1,4 @@
<div class="author-content" th:fragment="about-reward" th:if="${theme.config.aboutReward.aboutRewardEnable}"> <div class="author-content" th:if="${theme.config.aboutReward.aboutRewardEnable}">
<div class="author-content-item single reward" id="about-reward"> <div class="author-content-item single reward" id="about-reward">
<div class="author-content-item-tips">致谢</div> <div class="author-content-item-tips">致谢</div>
<span class="author-content-item-title" >[[${theme.config.aboutReward.title}]]</span> <span class="author-content-item-title" >[[${theme.config.aboutReward.title}]]</span>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 技能&职业生涯 --> <!-- 技能&职业生涯 -->
<div class="author-content" th:fragment="authorCareers"> <div class="author-content">
<div class="author-content-item skills"> <div class="author-content-item skills">
<div class="card-content"> <div class="card-content">
@ -314,5 +312,3 @@
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 我的介绍&我的想法 --> <!-- 我的介绍&我的想法 -->
<div class="author-content" th:fragment="content-idea"> <div class="author-content">
<div class="author-content-item myInfoAndSayHello" th:utext="${theme.config.about.content}"> <div class="author-content-item myInfoAndSayHello" th:utext="${theme.config.about.content}">
</div> </div>
<div class="aboutsiteTips author-content-item" th:utext="${theme.config.about.idea}"></div> <div class="aboutsiteTips author-content-item" th:utext="${theme.config.about.idea}"></div>
@ -18,11 +16,9 @@
show.setAttribute('data-up', '') show.setAttribute('data-up', '')
next.setAttribute('data-show', '') next.setAttribute('data-show', '')
}, 2000) }, 2000)
document.addEventListener('pjax:send', function () { document.addEventListener('pjax:send', function () {
clearInterval(pursuitInterval); clearInterval(pursuitInterval);
}); });
</script> </script>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 爱好 --> <!-- 爱好 -->
<div class="author-content" th:fragment="game"> <div class="author-content" >
<div class="author-content-item game-lol" <div class="author-content-item game-lol"
th:style="'background: url('+ @{${theme.config.about.game.game_bg}} +') top / cover no-repeat'"> th:style="'background: url('+ @{${theme.config.about.game.game_bg}} +') top / cover no-repeat'">
<div class="card-content"> <div class="card-content">
@ -64,6 +62,4 @@
background-position-x: 0; background-position-x: 0;
} }
</style> </style>
</div> </div>
</html>

View File

@ -1,17 +1,15 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- hello --> <!-- hello -->
<div class="hello-about" th:fragment="hello-about"> <div class="hello-about">
<div class="cursor" style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"></div> <div class="cursor" style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"></div>
<div class="shapes"> <div class="shapes">
<div class="shape shape-1" <div class="shape shape-1"
style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"> style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);">
</div> </div>
<div class="shape shape-2" <div class="shape shape-2"
style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"> style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);">
</div> </div>
<div class="shape shape-3" <div class="shape shape-3"
style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"> style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);">
</div> </div>
</div> </div>
<div class="content"> <div class="content">
@ -158,5 +156,3 @@
</script> </script>
</div> </div>
</html>

View File

@ -1,16 +1,14 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 关注偏好&音乐偏好 --> <!-- 关注偏好&音乐偏好 -->
<div class="author-content" th:fragment="like-music"> <div class="author-content" >
<div class="author-content-item like-technology" <div class="author-content-item like-technology"
th:style="'background: url('+ @{${theme.config.about.like.like_bg}} +') top / cover no-repeat;'"> th:style="'background: url('+ @{${theme.config.about.like.like_bg}} +') top / cover no-repeat;'">
<div class="card-content"> <div class="card-content">
<div class="author-content-item-tips" th:text="${theme.config.about.like.like_tips}"> <div class="author-content-item-tips" th:text="${theme.config.about.like.like_tips}">
</div> </div>
<span class="author-content-item-title" <span class="author-content-item-title"
th:text="${theme.config.about.like.like_title}"></span> th:text="${theme.config.about.like.like_title}"></span>
<div class="content-bottom"> <div class="content-bottom">
<div class="tips" th:text="${theme.config.about.like.like_bottom}"></div> <div class="tips" th:text="${theme.config.about.like.like_bottom}"></div>
</div> </div>
@ -18,13 +16,13 @@
</div> </div>
<div class="author-content-item like-music" <div class="author-content-item like-music"
th:style="'background: url('+ @{${theme.config.about.music.music_bg}} +') top / cover no-repeat'"> th:style="'background: url('+ @{${theme.config.about.music.music_bg}} +') top / cover no-repeat'">
<div class="card-content"> <div class="card-content">
<div class="author-content-item-tips" th:text="${theme.config.about.music.music_tips}"> <div class="author-content-item-tips" th:text="${theme.config.about.music.music_tips}">
</div> </div>
<span class="author-content-item-title" <span class="author-content-item-title"
th:text="${theme.config.about.music.music_title}"></span> th:text="${theme.config.about.music.music_title}"></span>
<div class="content-bottom"> <div class="content-bottom">
<div class="tips">跟 [[${site.title}]] 一起欣赏更多音乐</div> <div class="tips">跟 [[${site.title}]] 一起欣赏更多音乐</div>
</div> </div>
@ -33,11 +31,10 @@
th:href="${theme.config.about.music.music_link}" th:href="${theme.config.about.music.music_link}"
target="_blank" target="_blank"
rel="noopener nofollow"> rel="noopener nofollow">
<i class="haofont hao-icon-circle-arrow-up-right-1"></i> <i class="haofont hao-icon-circle-arrow-up-right-1"></i>
<span class="banner-button-text">更多推荐</span></a> <span class="banner-button-text">更多推荐</span></a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,9 +1,7 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 性格&图片 --> <!-- 性格&图片 -->
<!-- personalities --> <!-- personalities -->
<div class="author-content" th:fragment="personalities-photo"> <div class="author-content">
<div class="author-content-item personalities" th:with="personality = ${theme.config.about.personalities}"> <div class="author-content-item personalities" th:with="personality = ${theme.config.about.personalities}">
<div class="author-content-item-tips">性格</div> <div class="author-content-item-tips">性格</div>
@ -13,9 +11,9 @@
<div class="image"><img th:src="${assets_link + '/images/infp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/infp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/INFP-%E4%BA%BA%E6%A0%BC'}">调停者</a> th:href="@{'https://www.16personalities.com/ch/INFP-%E4%BA%BA%E6%A0%BC'}">调停者</a>
</div> </div>
</th:block> </th:block>
@ -25,9 +23,9 @@
<div class="image"><img th:src="${assets_link + '/images/intj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/intj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/INTJ-%E4%BA%BA%E6%A0%BC'}">建筑师</a> th:href="@{'https://www.16personalities.com/ch/INTJ-%E4%BA%BA%E6%A0%BC'}">建筑师</a>
</div> </div>
</th:block> </th:block>
@ -37,9 +35,9 @@
<div class="image"><img th:src="${assets_link + '/images/intp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/intp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/INTP-%E4%BA%BA%E6%A0%BC'}">逻辑学家</a> th:href="@{'https://www.16personalities.com/ch/INTP-%E4%BA%BA%E6%A0%BC'}">逻辑学家</a>
</div> </div>
</th:block> </th:block>
@ -49,9 +47,9 @@
<div class="image"><img th:src="${assets_link + '/images/entj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/entj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ENTJ-%E4%BA%BA%E6%A0%BC'}">指挥官</a> th:href="@{'https://www.16personalities.com/ch/ENTJ-%E4%BA%BA%E6%A0%BC'}">指挥官</a>
</div> </div>
</th:block> </th:block>
@ -61,9 +59,9 @@
<div class="image"><img th:src="${assets_link + '/images/entp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/entp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ENTP-%E4%BA%BA%E6%A0%BC'}">辩论家</a> th:href="@{'https://www.16personalities.com/ch/ENTP-%E4%BA%BA%E6%A0%BC'}">辩论家</a>
</div> </div>
</th:block> </th:block>
@ -73,9 +71,9 @@
<div class="image"><img th:src="${assets_link + '/images/enfj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/enfj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ENFJ-%E4%BA%BA%E6%A0%BC'}">主人公</a> th:href="@{'https://www.16personalities.com/ch/ENFJ-%E4%BA%BA%E6%A0%BC'}">主人公</a>
</div> </div>
</th:block> </th:block>
@ -85,9 +83,9 @@
<div class="image"><img th:src="${assets_link + '/images/enfp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/enfp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ENFP-%E4%BA%BA%E6%A0%BC'}">竞选者</a> th:href="@{'https://www.16personalities.com/ch/ENFP-%E4%BA%BA%E6%A0%BC'}">竞选者</a>
</div> </div>
</th:block> </th:block>
@ -97,9 +95,9 @@
<div class="image"><img th:src="${assets_link + '/images/estj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/estj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ESTJ-%E4%BA%BA%E6%A0%BC'}">总经理</a> th:href="@{'https://www.16personalities.com/ch/ESTJ-%E4%BA%BA%E6%A0%BC'}">总经理</a>
</div> </div>
</th:block> </th:block>
@ -109,9 +107,9 @@
<div class="image"><img th:src="${assets_link + '/images/estp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/estp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ESTP-%E4%BA%BA%E6%A0%BC'}">企业家</a> th:href="@{'https://www.16personalities.com/ch/ESTP-%E4%BA%BA%E6%A0%BC'}">企业家</a>
</div> </div>
</th:block> </th:block>
@ -121,9 +119,9 @@
<div class="image"><img th:src="${assets_link + '/images/esfj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/esfj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ESFJ-%E4%BA%BA%E6%A0%BC'}">执政官</a> th:href="@{'https://www.16personalities.com/ch/ESFJ-%E4%BA%BA%E6%A0%BC'}">执政官</a>
</div> </div>
</th:block> </th:block>
@ -133,9 +131,9 @@
<div class="image"><img th:src="${assets_link + '/images/esfp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/esfp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ESFP-%E4%BA%BA%E6%A0%BC'}">表演者</a> th:href="@{'https://www.16personalities.com/ch/ESFP-%E4%BA%BA%E6%A0%BC'}">表演者</a>
</div> </div>
</th:block> </th:block>
@ -145,9 +143,9 @@
<div class="image"><img th:src="${assets_link + '/images/infj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/infj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/INFJ-%E4%BA%BA%E6%A0%BC'}">提倡者</a> th:href="@{'https://www.16personalities.com/ch/INFJ-%E4%BA%BA%E6%A0%BC'}">提倡者</a>
</div> </div>
</th:block> </th:block>
@ -157,9 +155,9 @@
<div class="image"><img th:src="${assets_link + '/images/istj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/istj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ISTJ-%E4%BA%BA%E6%A0%BC'}">物流师</a> th:href="@{'https://www.16personalities.com/ch/ISTJ-%E4%BA%BA%E6%A0%BC'}">物流师</a>
</div> </div>
</th:block> </th:block>
@ -169,9 +167,9 @@
<div class="image"><img th:src="${assets_link + '/images/istp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/istp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ISTP-%E4%BA%BA%E6%A0%BC'}">鉴赏家</a> th:href="@{'https://www.16personalities.com/ch/ISTP-%E4%BA%BA%E6%A0%BC'}">鉴赏家</a>
</div> </div>
</th:block> </th:block>
@ -181,9 +179,9 @@
<div class="image"><img th:src="${assets_link + '/images/isfj.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/isfj.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ISFJ-%E4%BA%BA%E6%A0%BC'}">守卫者</a> th:href="@{'https://www.16personalities.com/ch/ISFJ-%E4%BA%BA%E6%A0%BC'}">守卫者</a>
</div> </div>
</th:block> </th:block>
@ -193,16 +191,14 @@
<div class="image"><img th:src="${assets_link + '/images/isfp.svg'}" style="transform: rotateY(180deg);"> <div class="image"><img th:src="${assets_link + '/images/isfp.svg'}" style="transform: rotateY(180deg);">
</div> </div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow" <div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a> target="_blank">16personalities</a>
了解更多关于 <a rel="noopener external nofollow" target="_blank" 了解更多关于 <a rel="noopener external nofollow" target="_blank"
th:href="@{'https://www.16personalities.com/ch/ISFP-%E4%BA%BA%E6%A0%BC'}">探险家</a> th:href="@{'https://www.16personalities.com/ch/ISFP-%E4%BA%BA%E6%A0%BC'}">探险家</a>
</div> </div>
</th:block> </th:block>
</div> </div>
<div class="author-content-item myphoto"><img alt="自拍" class="author-content-img" <div class="author-content-item myphoto"><img alt="自拍" class="author-content-img"
th:src="${theme.config.about.authorCareersPhoto}"> th:src="${theme.config.about.authorCareersPhoto}">
</div> </div>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 数据统计&作者相关信息 --> <!-- 数据统计&作者相关信息 -->
<div class="author-content" th:fragment="statistics-map"> <div class="author-content" >
<div class="about-statistic author-content-item" <div class="about-statistic author-content-item"
style="background: url(https://bu.dusays.com/2023/03/12/640dc8c72f623.webp);"> style="background: url(https://bu.dusays.com/2023/03/12/640dc8c72f623.webp);">
<div class="card-content"> <div class="card-content">
@ -170,5 +168,3 @@
</script> </script>
</div> </div>
</html>

View File

@ -1,4 +1,4 @@
<div class="author-content" th:fragment="tenyear" th:if="${theme.config.about.tenyear.tenyear_enable}"> <div class="author-content" th:if="${theme.config.about.tenyear.tenyear_enable}">
<div class="create-site-post author-content-item single"> <div class="create-site-post author-content-item single">
<div class="author-content-item-tips">[[${theme.config.about.tenyear.tenyear_tips}]]</div> <div class="author-content-item-tips">[[${theme.config.about.tenyear.tenyear_tips}]]</div>
<span class="author-content-item-title">[[${theme.config.about.tenyear.tenyear_title}]]</span> <span class="author-content-item-title">[[${theme.config.about.tenyear.tenyear_title}]]</span>

View File

@ -1,13 +1,10 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 座右铭 --> <!-- 座右铭 -->
<!-- motto --> <div class="author-content" th:if="${theme.config.about.textarea.size()}=='2'" th:with="texts = ${theme.config.about.textarea}">
<div class="author-content" th:fragment="textarea" th:if="${theme.config.about.textarea.size()}=='2'" th:with="texts = ${theme.config.about.textarea}">
<div class="author-content-item maxim"> <div class="author-content-item maxim">
<div class="author-content-item-tips" th:text="${texts[0].tittle}">座右铭</div> <div class="author-content-item-tips" th:text="${texts[0].tittle}">座右铭</div>
<span class="maxim-title"> <span class="maxim-title">
<span style="opacity: 0.6;margin-bottom:8px;" <span style="opacity: 0.6;margin-bottom:8px;"
th:text="${texts[0].textarea_up}">生活原本沉闷,</span> th:text="${texts[0].textarea_up}">生活原本沉闷,</span>
<span th:text="${texts[0].textarea_down}">但跑起来就有风。</span> <span th:text="${texts[0].textarea_down}">但跑起来就有风。</span>
</span> </span>
</div> </div>
@ -17,13 +14,11 @@
<div class="author-content-item-tips" th:text="${texts[1].tittle}">特长</div> <div class="author-content-item-tips" th:text="${texts[1].tittle}">特长</div>
<span class="buff-title"> <span class="buff-title">
<span style="opacity: 0.6;margin-bottom:8px;" <span style="opacity: 0.6;margin-bottom:8px;"
th:text="${texts[1].textarea_up}">玄学流电脑疑难问题解决 th:text="${texts[1].textarea_up}">玄学流电脑疑难问题解决
<span class="inline-word">专家</span> <span class="inline-word">专家</span>
</span> </span>
<span th:text="${texts[1].textarea_down}">软件学习能力</span> <span th:text="${texts[1].textarea_down}">软件学习能力</span>
</span> </span>
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,23 +1,17 @@
<!DOCTYPE html> <!-- 广告 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <div class="card-widget" th:if="${theme.config.sidebar.adbox.adType=='google'}">
<!-- 目录 --> <div class="item-headline"><span>广告</span></div>
<script async th:src="${'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' + theme.config.sidebar.adbox.ad_google.ad_client}"
crossorigin="anonymous"></script>
<!-- 广告2 -->
<ins class="adsbygoogle"
style="display:block"
th:data-ad-client="${theme.config.sidebar.adbox.ad_google.ad_client}"
th:data-ad-slot="${theme.config.sidebar.adbox.ad_google.ad_slot}"
th:data-ad-format="${theme.config.sidebar.adbox.ad_google.ad_format}"
th:data-full-width-responsive="${theme.config.sidebar.adbox.ad_google.full_width_responsive}"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<th:block th:fragment="adbox"> </div>
<div class="card-widget" th:if="${theme.config.sidebar.adbox.adType=='google'}">
<div class="item-headline"><span>广告</span></div>
<script async th:src="${'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' + theme.config.sidebar.adbox.ad_google.ad_client}"
crossorigin="anonymous"></script>
<!-- 广告2 -->
<ins class="adsbygoogle"
style="display:block"
th:data-ad-client="${theme.config.sidebar.adbox.ad_google.ad_client}"
th:data-ad-slot="${theme.config.sidebar.adbox.ad_google.ad_slot}"
th:data-ad-format="${theme.config.sidebar.adbox.ad_google.ad_format}"
th:data-full-width-responsive="${theme.config.sidebar.adbox.ad_google.full_width_responsive}"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</th:block>
</html>

View File

@ -1,8 +1,4 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 归档 --> <!-- 归档 -->
<div class="card-widget card-categories" th:fragment="archives"> <div class="card-widget card-categories" >
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录 --> <!-- 目录 -->
<div class="card-widget card-categories" th:fragment="categories" <div class="card-widget card-categories"
th:with="categories = ${categoryFinder.list(1, theme.config.sidebar.categoryQuantity)}"> th:with="categories = ${categoryFinder.list(1, theme.config.sidebar.categoryQuantity)}">
<div class="item-headline"><i class="haofont hao-icon-folder-open"></i><span>分类</span></div> <div class="item-headline"><i class="haofont hao-icon-folder-open"></i><span>分类</span></div>
<div class="aside-list"> <div class="aside-list">
@ -18,5 +16,3 @@
</div> </div>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 最新评论 --> <!-- 最新评论 -->
<div class="card-widget card-recent-post" th:fragment="comments"> <div class="card-widget card-recent-post" >
<a th:if="${not #strings.isEmpty(theme.config.sidebar.newcomment.newcommentUrl)}" <a th:if="${not #strings.isEmpty(theme.config.sidebar.newcomment.newcommentUrl)}"
th:onclick="pjax.loadUrl([[${theme.config.sidebar.newcomment.newcommentUrl}]])" th:onclick="pjax.loadUrl([[${theme.config.sidebar.newcomment.newcommentUrl}]])"
title="查看更多" title="查看更多"
@ -38,5 +36,3 @@
</th:block> </th:block>
</div> </div>
</div> </div>
</html>

View File

@ -1,8 +1,6 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 标签 --> <!-- 标签 -->
<th:block th:fragment="archive-contain" > <th:block >
<div class="item-headline"><a class="card-more-btn" href="/archives/" title="查看更多" data-pjax-state=""></a></div> <div class="item-headline"><a class="card-more-btn" href="/archives/" title="查看更多" data-pjax-state=""></a></div>
<ul class="card-archive-list" <ul class="card-archive-list"
@ -36,6 +34,3 @@
</ul> </ul>
</th:block> </th:block>
</html>

View File

@ -1,10 +1,8 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 侧边栏站点信息统计 --> <!-- 侧边栏站点信息统计 -->
<th:block th:fragment="stat-contain" th:with="stats = ${siteStatsFinder.getStats()}"> <th:block th:with="stats = ${siteStatsFinder.getStats()}">
<!-- <div class="item-headline"><i class="haofont icon-icon-sidebar-scxmtj"></i><span>统计</span></div>--> <!-- <div class="item-headline"><i class="haofont icon-icon-sidebar-scxmtj"></i><span>统计</span></div>-->
<div class="webinfo"> <div class="webinfo">
<div class="webinfo-item"> <div class="webinfo-item">
<div class="webinfo-item-title"><i class="haofont hao-icon-file-lines"></i> <div class="webinfo-item-title"><i class="haofont hao-icon-file-lines"></i>
@ -44,5 +42,3 @@
</div> --> </div> -->
</div> </div>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 标签 --> <!-- 标签 -->
<th:block th:fragment="tags-contain" <th:block
th:with="tags = ${tagFinder.listAll()}, tagQuantity = ${#conversions.convert(theme.config.sidebar.tagQuantity, 'java.lang.Integer')}"> th:with="tags = ${tagFinder.listAll()}, tagQuantity = ${#conversions.convert(theme.config.sidebar.tagQuantity, 'java.lang.Integer')}">
<div class="item-headline"></div> <div class="item-headline"></div>
@ -21,7 +19,4 @@
} }
</script> </script>
</th:block> </th:block>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 通讯录 --> <!-- 通讯录 -->
<div class="card-widget card-friend-link" th:fragment="friend-link"> <div class="card-widget card-friend-link">
<div class="item-headline"><i class="haofont hao-icon-tongxunlu07" <div class="item-headline"><i class="haofont hao-icon-tongxunlu07"
style="font-size: 0.9rem;font-weight: 700;"></i><span>通讯录</span></div> style="font-size: 0.9rem;font-weight: 700;"></i><span>通讯录</span></div>
<div class="card-friend-link-container" <div class="card-friend-link-container"
@ -52,5 +50,4 @@
</div> </div>
</div> </div>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 音乐卡片 --> <!-- 音乐卡片 -->
<div th:fragment="music"> <div >
<div class="item-headline-music"><i class="haofont hao-icon-music"></i><span>音乐天地</span></div> <div class="item-headline-music"><i class="haofont hao-icon-music"></i><span>音乐天地</span></div>
<div class="card-widget card-music" <div class="card-widget card-music"
@ -28,7 +26,4 @@
} }
</style> </style>
</div> </div>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 爱发电赞助 --> <!-- 爱发电赞助 -->
<div th:fragment="power"> <div >
<div class="card-widget card-power"> <div class="card-widget card-power">
<div class="item-headline"><i class="haofont hao-icon-aifadian-line"></i><span>爱发电赞助</span> <div class="item-headline"><i class="haofont hao-icon-aifadian-line"></i><span>爱发电赞助</span>
<a class="power-charge" th:href="${theme.config.sidebar.power.powerLink}" target="_blank" title="赞助博主">赞助 <a class="power-charge" th:href="${theme.config.sidebar.power.powerLink}" target="_blank" title="赞助博主">赞助
@ -29,9 +26,5 @@
</div> </div>
</div> </div>
</th:block> </th:block>
</div> </div>
</div> </div>
</html>

View File

@ -1,8 +1,6 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 侧边栏自我介绍 --> <!-- 侧边栏自我介绍 -->
<div class="card-widget card-info" th:fragment="profile"> <div class="card-widget card-info" >
<!-- 默认 --> <!-- 默认 -->
<th:block th:if="${#strings.equals(theme.config.sidebar.profile.profileStyle, 'default')}"> <th:block th:if="${#strings.equals(theme.config.sidebar.profile.profileStyle, 'default')}">
@ -469,5 +467,3 @@
</th:block> </th:block>
</div> </div>
</html>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <div class="card-widget card-recent-post" th:with='posts = ${postFinder.list(1,theme.config.sidebar.recentPost)},
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div class="card-widget card-recent-post" th:fragment="recent-posts" th:with='posts = ${postFinder.list(1,theme.config.sidebar.recentPost)},
postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}'> postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}'>
<div class="item-headline"><i class="haofont hao-icon-eicon_map-2-line1"></i><span>最近发布</span></div> <div class="item-headline"><i class="haofont hao-icon-eicon_map-2-line1"></i><span>最近发布</span></div>
<div class="aside-list"> <div class="aside-list">
@ -23,5 +21,4 @@
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,7 +1,4 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div class="card-widget card-webinfo">
<div class="card-widget card-webinfo" th:fragment="stat"> <th:block th:replace="~{modules/widgets/aside/contain/stat-contain}"/>
<th:block th:replace="~{modules/widgets/aside/contain/stat-contain :: stat-contain}"></th:block>
</div> </div>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- Steam卡片 --> <!-- Steam卡片 -->
<div th:fragment="steam"> <div >
<div class="item-headline-steam"><i class="fa-brands fa-steam"></i><span>Steam卡片</span></div> <div class="item-headline-steam"><i class="fa-brands fa-steam"></i><span>Steam卡片</span></div>
<div class="card-widget card-steam" <div class="card-widget card-steam"
@ -16,7 +14,4 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,30 +1,20 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- tag & stat 粘性布局 --> <!-- tag & stat 粘性布局 -->
<div class="card-widget card-tags card-archives card-webinfo card-allinfo">
<th:block th:fragment="tags-stat">
<div class="card-widget card-tags card-archives card-webinfo card-allinfo">
<span th:if="${theme.config.sidebar.tags_switch}"> <span th:if="${theme.config.sidebar.tags_switch}">
<th:block th:replace="~{modules/widgets/aside/contain/tags-contain :: tags-contain}" th:if="${theme.config.sidebar.tags_switch}"></th:block> <th:block th:replace="~{modules/widgets/aside/contain/tags-contain}" th:if="${theme.config.sidebar.tags_switch}"/>
<hr> <hr>
</span> </span>
<span th:if="${theme.config.sidebar.archive_switch}"> <span th:if="${theme.config.sidebar.archive_switch}">
<th:block th:replace="~{modules/widgets/aside/contain/archive-contain :: archive-contain}" ></th:block> <th:block th:replace="~{modules/widgets/aside/contain/archive-contain}" />
<hr> <hr>
</span> </span>
<th:block th:replace="~{modules/widgets/aside/contain/stat-contain :: stat-contain}" ></th:block> <th:block th:replace="~{modules/widgets/aside/contain/stat-contain}" />
</div> </div>
</th:block>
</html>

View File

@ -1,7 +1,4 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 标签 --> <!-- 标签 -->
<div class="card-widget card-tags">
<div class="card-widget card-tags" th:fragment="tags"> <th:block th:replace="~{modules/widgets/aside/contain/tags-contain}"/>
<th:block th:replace="~{modules/widgets/aside/contain/tags-contain :: tags-contain}"></th:block>
</div> </div>

View File

@ -1,16 +1,10 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 目录 --> <!-- 目录 -->
<div class="card-widget" id="card-toc">
<th:block th:fragment="toc"> <div class="item-headline">
<div class="card-widget" id="card-toc"> <i class="haofont hao-icon-bars"></i>
<div class="item-headline"> <span>文章目录</span>
<i class="haofont hao-icon-bars"></i> <span class="toc-percentage"></span>
<span>文章目录</span>
<span class="toc-percentage"></span>
</div>
<!-- 目录容器 -->
<div class="toc-content"></div>
</div> </div>
</th:block> <!-- 目录容器 -->
</html> <div class="toc-content"></div>
</div>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <div class="card-widget heo-right-widget" id="card-wechat"
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div class="card-widget heo-right-widget" id="card-wechat" th:fragment="wechat"
th:with="faceImg = ${theme.config.sidebar.wechat.wechatImgFace}, backImg=${theme.config.sidebar.wechat.wechatImgBack}" th:with="faceImg = ${theme.config.sidebar.wechat.wechatImgFace}, backImg=${theme.config.sidebar.wechat.wechatImgBack}"
th:attr="onclick='javascript:window.open(\''+ ${theme.config.sidebar.wechat.url} +'\')'"> th:attr="onclick='javascript:window.open(\''+ ${theme.config.sidebar.wechat.url} +'\')'">
<div id="flip-wrapper"> <div id="flip-wrapper">
@ -35,4 +33,3 @@ th:with="faceImg = ${theme.config.sidebar.wechat.wechatImgFace}, backImg=${theme
</style> </style>
</div> </div>
</html>

View File

@ -1,11 +1,7 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 小板报 --> <!-- 小板报 -->
<div class="card-widget card-announcement" th:fragment="welcome"> <div class="card-widget card-announcement">
<div class="item-headline"><i class="haofont hao-icon-bullhorn" <div class="item-headline"><i class="haofont hao-icon-bullhorn"
style="font-size: 0.9rem;font-weight: 700;"></i><span>小板报</span></div> style="font-size: 0.9rem;font-weight: 700;"></i><span>小板报</span></div>
<div id="welcome-info"></div> <div id="welcome-info"></div>
</div> </div>
</html>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <div id="bannerGroup" >
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div id="bannerGroup" th:fragment="banner-group">
<!-- banners --> <!-- banners -->
<div id="banners"> <div id="banners">
@ -20,253 +18,253 @@
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8"> <div class="tags-group-icon" style="background:#989bf8">
<img <img
th:with=" img = ${assets_link + '/images/icons/AfterEffect.png'}" th:with=" img = ${assets_link + '/images/icons/AfterEffect.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="AfterEffect"> title="AfterEffect">
</div> </div>
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/Sketch.png'}" th:with=" img = ${assets_link + '/images/icons/Sketch.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Sketch"> title="Sketch">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6"> <div class="tags-group-icon" style="background:#57b6e6">
<img <img
th:with=" img = ${assets_link + '/images/icons/Docker.png'}" th:with=" img = ${assets_link + '/images/icons/Docker.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Docker"> title="Docker">
</div> </div>
<div class="tags-group-icon" style="background:#4082c3"> <div class="tags-group-icon" style="background:#4082c3">
<img <img
th:with=" img = ${assets_link + '/images/icons/Photoshop.png'}" th:with=" img = ${assets_link + '/images/icons/Photoshop.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Photoshop"> title="Photoshop">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/FinalCutPro.png'}" th:with=" img = ${assets_link + '/images/icons/FinalCutPro.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="FinalCutPro"> title="FinalCutPro">
</div> </div>
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/Python.png'}" th:with=" img = ${assets_link + '/images/icons/Python.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Python"> title="Python">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840"> <div class="tags-group-icon" style="background:#eb6840">
<img <img
th:with=" img = ${assets_link + '/images/icons/Swift.png'}" th:with=" img = ${assets_link + '/images/icons/Swift.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Swift"> title="Swift">
</div> </div>
<div class="tags-group-icon" style="background:#8f55ba"> <div class="tags-group-icon" style="background:#8f55ba">
<img <img
th:with=" img = ${assets_link + '/images/icons/Principle.png'}" th:with=" img = ${assets_link + '/images/icons/Principle.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Principle"> title="Principle">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39"> <div class="tags-group-icon" style="background:#f29e39">
<img <img
th:with=" img = ${assets_link + '/images/icons/illustrator.png'}" th:with=" img = ${assets_link + '/images/icons/illustrator.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="illustrator"> title="illustrator">
</div> </div>
<div class="tags-group-icon" style="background:#2c51db"> <div class="tags-group-icon" style="background:#2c51db">
<img <img
th:with=" img = ${assets_link + '/images/icons/CSS3.png'}" th:with=" img = ${assets_link + '/images/icons/CSS3.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="CSS3"> title="CSS3">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f"> <div class="tags-group-icon" style="background:#f7cb4f">
<img <img
th:with=" img = ${assets_link + '/images/icons/JS.png'}" th:with=" img = ${assets_link + '/images/icons/JS.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="JS"> title="JS">
</div> </div>
<div class="tags-group-icon" style="background:#e9572b"> <div class="tags-group-icon" style="background:#e9572b">
<img <img
th:with=" img = ${assets_link + '/images/icons/HTML.png'}" th:with=" img = ${assets_link + '/images/icons/HTML.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="HTML"> title="HTML">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40"> <div class="tags-group-icon" style="background:#df5b40">
<img <img
th:with=" img = ${assets_link + '/images/icons/Git.webp'}" th:with=" img = ${assets_link + '/images/icons/Git.webp'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Git"> title="Git">
</div> </div>
<div class="tags-group-icon" style="background:#e65164"> <div class="tags-group-icon" style="background:#e65164">
<img <img
th:with=" img = ${assets_link + '/images/icons/Apifox.webp'}" th:with=" img = ${assets_link + '/images/icons/Apifox.webp'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Apifox"> title="Apifox">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8"> <div class="tags-group-icon" style="background:#989bf8">
<img <img
th:with=" img = ${assets_link + '/images/icons/AfterEffect.png'}" th:with=" img = ${assets_link + '/images/icons/AfterEffect.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="AfterEffect"> title="AfterEffect">
</div> </div>
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/Sketch.png'}" th:with=" img = ${assets_link + '/images/icons/Sketch.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Sketch"> title="Sketch">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6"> <div class="tags-group-icon" style="background:#57b6e6">
<img <img
th:with=" img = ${assets_link + '/images/icons/Docker.png'}" th:with=" img = ${assets_link + '/images/icons/Docker.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Docker"> title="Docker">
</div> </div>
<div class="tags-group-icon" style="background:#4082c3"> <div class="tags-group-icon" style="background:#4082c3">
<img <img
th:with=" img = ${assets_link + '/images/icons/Photoshop.png'}" th:with=" img = ${assets_link + '/images/icons/Photoshop.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Photoshop"> title="Photoshop">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/FinalCutPro.png'}" th:with=" img = ${assets_link + '/images/icons/FinalCutPro.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="FinalCutPro"> title="FinalCutPro">
</div> </div>
<div class="tags-group-icon" style="background:#fff"> <div class="tags-group-icon" style="background:#fff">
<img <img
th:with=" img = ${assets_link + '/images/icons/Python.png'}" th:with=" img = ${assets_link + '/images/icons/Python.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Python"> title="Python">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840"> <div class="tags-group-icon" style="background:#eb6840">
<img <img
th:with=" img = ${assets_link + '/images/icons/Swift.png'}" th:with=" img = ${assets_link + '/images/icons/Swift.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Swift"> title="Swift">
</div> </div>
<div class="tags-group-icon" style="background:#8f55ba"> <div class="tags-group-icon" style="background:#8f55ba">
<img <img
th:with=" img = ${assets_link + '/images/icons/Principle.png'}" th:with=" img = ${assets_link + '/images/icons/Principle.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Principle"> title="Principle">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39"> <div class="tags-group-icon" style="background:#f29e39">
<img <img
th:with=" img = ${assets_link + '/images/icons/illustrator.png'}" th:with=" img = ${assets_link + '/images/icons/illustrator.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="illustrator"> title="illustrator">
</div> </div>
<div class="tags-group-icon" style="background:#2c51db"> <div class="tags-group-icon" style="background:#2c51db">
<img <img
th:with=" img = ${assets_link + '/images/icons/CSS3.png'}" th:with=" img = ${assets_link + '/images/icons/CSS3.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="CSS3"> title="CSS3">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f"> <div class="tags-group-icon" style="background:#f7cb4f">
<img <img
th:with=" img = ${assets_link + '/images/icons/JS.png'}" th:with=" img = ${assets_link + '/images/icons/JS.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="JS"> title="JS">
</div> </div>
<div class="tags-group-icon" style="background:#e9572b"> <div class="tags-group-icon" style="background:#e9572b">
<img <img
th:with=" img = ${assets_link + '/images/icons/HTML.png'}" th:with=" img = ${assets_link + '/images/icons/HTML.png'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="HTML"> title="HTML">
</div> </div>
</div> </div>
<div class="tags-group-icon-pair"> <div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40"> <div class="tags-group-icon" style="background:#df5b40">
<img <img
th:with=" img = ${assets_link + '/images/icons/Git.webp'}" th:with=" img = ${assets_link + '/images/icons/Git.webp'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Git"> title="Git">
</div> </div>
<div class="tags-group-icon" style="background:#e65164"> <div class="tags-group-icon" style="background:#e65164">
<img <img
th:with=" img = ${assets_link + '/images/icons/Apifox.webp'}" th:with=" img = ${assets_link + '/images/icons/Apifox.webp'}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
title="Apifox"> title="Apifox">
</div> </div>
</div> </div>
</div> </div>
@ -292,11 +290,11 @@
th:style="'background:' + ${techEven.background}" th:style="'background:' + ${techEven.background}"
th:with="techEven = ${tech}"> th:with="techEven = ${tech}">
<img <img
th:with=" img = @{${techEven.url}}" th:with=" img = @{${techEven.url}}"
th:src="${isLazyload ? loadingImg : img}" th:src="${isLazyload ? loadingImg : img}"
th:data-lazy-src="${ isLazyload ? img : ''}" th:data-lazy-src="${ isLazyload ? img : ''}"
th:title="${techEven.name}"> th:title="${techEven.name}">
</div> </div>
</div> </div>
</th:block> </th:block>
@ -383,5 +381,4 @@
</script> </script>
</div> </div>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<!-- 控制台,右上角点击的时候会显示 -->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- TODO 控制台功能 --> <!-- TODO 控制台功能 -->
<div id="console" th:fragment="console"> <div id="console" >
<div class="close-btn" onclick="heo.hideConsole()" href="javascript:void(0);"> <div class="close-btn" onclick="heo.hideConsole()" href="javascript:void(0);">
<i class="haofont hao-icon-circle-xmark"></i> <i class="haofont hao-icon-circle-xmark"></i>
</div> </div>
@ -138,5 +135,3 @@
<div class="console-mask" href="javascript:void(0);" onclick="heo.hideConsole()" rel="external nofollow"> <div class="console-mask" href="javascript:void(0);" onclick="heo.hideConsole()" rel="external nofollow">
</div> </div>
</div> </div>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 导航栏左侧 --> <!-- 导航栏左侧 -->
<div id="blog_name" th:fragment="nav-left"> <div id="blog_name" >
<th:block th:if="${not #strings.isEmpty(theme.config.nav.leftMenu)}" <th:block th:if="${not #strings.isEmpty(theme.config.nav.leftMenu)}"
th:with="leftMenu = ${menuFinder.getByName(theme.config.nav.leftMenu)}"> th:with="leftMenu = ${menuFinder.getByName(theme.config.nav.leftMenu)}">
@ -40,6 +37,3 @@
<span th:utext="${#strings.isEmpty(theme.config.basics.siteTitle)} ? ${site.title} : ${theme.config.basics.siteTitle}"></span> <span th:utext="${#strings.isEmpty(theme.config.basics.siteTitle)} ? ${site.title} : ${theme.config.basics.siteTitle}"></span>
</a> </a>
</div> </div>
</html>

View File

@ -1,7 +1,3 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="nav-menu-recursion(menuItem)"> <th:block th:fragment="nav-menu-recursion(menuItem)">
<!-- 有子菜单则显示子菜单 --> <!-- 有子菜单则显示子菜单 -->
<th:block th:if="${not #lists.isEmpty(menuItem.children)}"> <th:block th:if="${not #lists.isEmpty(menuItem.children)}">
@ -45,7 +41,4 @@
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,11 +1,7 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 音乐 --> <!-- 音乐 -->
<div th:fragment="nav-music" class="needEndHide" id="nav-music" > <div class="needEndHide" id="nav-music" >
<a id="nav-music-hoverTips" onclick="heo.musicToggle()" accesskey="m">播放音乐</a> <a id="nav-music-hoverTips" onclick="heo.musicToggle()" accesskey="m">播放音乐</a>
<div id="console-music-bg"></div><meting-js th:id="${theme.config.tool.nav_music.id}" th:server="${theme.config.tool.nav_music.server}" type="playlist" mutex="true" <div id="console-music-bg"></div><meting-js th:id="${theme.config.tool.nav_music.id}" th:server="${theme.config.tool.nav_music.server}" type="playlist" mutex="true"
preload="none" theme="var(--heo-main)" data-lrctype="0" order="random"></meting-js> preload="none" theme="var(--heo-main)" data-lrctype="0" order="random"></meting-js>
</div> </div>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 导航栏菜单栏 --> <!-- 导航栏菜单栏 -->
<div id="nav-right" th:fragment="nav-right"> <div id="nav-right">
<!-- 功能都需要添加开关 --> <!-- 功能都需要添加开关 -->
@ -82,6 +79,3 @@
</a> </a>
</div> </div>
</div> </div>
</html>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <!--
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!--
分页模块 分页模块
@param path '/path/page/n' 中的 `/path` 需要保留 `/` @param path '/path/page/n' 中的 `/path` 需要保留 `/`
@ -73,5 +71,3 @@
</div> </div>
</nav> </nav>
</html>

View File

@ -1,7 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 右键菜单 --> <!-- 右键菜单 -->
<div class="js-pjax" th:fragment="right-menu" th:if="${theme.config.tool.rightMenu.rightMenuEnable}"> <div class="js-pjax" th:if="${theme.config.tool.rightMenu.rightMenuEnable}">
<div id="rightMenu"> <div id="rightMenu">
<div class="rightMenu-group rightMenu-small"> <div class="rightMenu-group rightMenu-small">
<div class="rightMenu-item" id="menu-backward"><i class="haofont hao-icon-arrow-left"></i></div> <div class="rightMenu-item" id="menu-backward"><i class="haofont hao-icon-arrow-left"></i></div>
@ -119,5 +117,3 @@
</div> </div>
<div id="rightmenu-mask"></div> <div id="rightmenu-mask"></div>
</div> </div>
</html>

View File

@ -1,6 +1,4 @@
<!DOCTYPE html> <th:block >
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="rightside">
<div id="rightside"> <div id="rightside">
<div id="rightside-config-hide"> <div id="rightside-config-hide">
<button th:if="${htmlType == 'post' && theme.config.tool.rightside.readmode}" id="readmode" type="button" title="阅读模式"><i class="haofont hao-icon-book-open"></i></button> <button th:if="${htmlType == 'post' && theme.config.tool.rightside.readmode}" id="readmode" type="button" title="阅读模式"><i class="haofont hao-icon-book-open"></i></button>
@ -39,5 +37,4 @@
<link th:if="${theme.config.tool.rightside.readmode && theme.config.tool.rightside.rightsideEnable}" <link th:if="${theme.config.tool.rightside.readmode && theme.config.tool.rightside.rightsideEnable}"
rel="stylesheet" th:href="${assets_link + '/css/read-mode.css' + theme_version}"> rel="stylesheet" th:href="${assets_link + '/css/read-mode.css' + theme_version}">
</th:block> </th:block>
</html>

View File

@ -1,8 +1,5 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 推荐文章 --> <!-- 推荐文章 -->
<div class="topGroup" th:fragment="top-group" th:with='topGroupPosts = ${postFinder.list(1,6)}, <div class="topGroup" th:with='topGroupPosts = ${postFinder.list(1,6)},
postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}' postRandomImg=${#strings.contains(theme.config.layout.postRandomImg,"?") ? theme.config.layout.postRandomImg+"&" : theme.config.layout.postRandomImg+"?"}'
> >
<div class="recent-post-item" <div class="recent-post-item"
@ -79,4 +76,4 @@
</div> </div>
</div> </div>
</div> </div>
</html>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'moments',title = ${title + ' | ' + site.title}, head = ~{::head}, _title = ${title})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'moments',title = ${title + ' | ' + site.title}, head = ~{::head}, _title = ${title})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title},
@ -83,7 +83,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'music',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'music',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -37,7 +37,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'newComment',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'newComment',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -18,10 +18,10 @@
</header> </header>
<main class="layout hide-aside" id="content-inner"> <main class="layout hide-aside" id="content-inner">
<div id="page"> <div id="page">
<div th:replace="~{macro/author-content :: author-content(background = ${theme.config.new_comment.backgroundImg}, <div th:replace="~{macro/author-content :: author-content(background = ${singlePage.spec.cover},
smallTitle = ${theme.config.new_comment.smallTitle}, smallTitle = '评论',
bigTitle = ${theme.config.new_comment.bigTitle}, bigTitle = ${singlePage.spec.title},
detail = ${theme.config.new_comment.detail}, detail = ${singlePage.spec.excerpt.raw},
buttonUrl = '', buttonUrl = '',
buttonTitle = '')}"></div> buttonTitle = '')}"></div>
<div id="comments-page"> <div id="comments-page">
@ -353,7 +353,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -36,7 +36,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'page',title = ${singlePage.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${singlePage.spec.title},
@ -33,7 +33,7 @@
</div> </div>
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content},htmlType = 'photos',title = ${title + ' | ' + site.title}, head = ~{::head},_title = ${title})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content},htmlType = 'photos',title = ${title + ' | ' + site.title}, head = ~{::head},_title = ${title})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${_title},
@ -249,7 +249,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
<!-- 卡片顶部气泡效果 --> <!-- 卡片顶部气泡效果 -->
<script th:if="${theme.config.other.bubbleEnable}" async data-pjax <script th:if="${theme.config.other.bubbleEnable}" async data-pjax
th:src="${assets_link + '/libs/canvas/bubble.js'}"></script> th:src="${assets_link + '/libs/canvas/bubble.js'}"></script>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'post',title = ${post.spec.title + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'post',title = ${post.spec.title + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${post.spec.title}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${post.spec.title},
@ -174,7 +174,7 @@
th:src="${assets_link + '/libs/gpt/post-ai.js'}"></script> th:src="${assets_link + '/libs/gpt/post-ai.js'}"></script>
<!-- 版权声明 --> <!-- 版权声明 -->
<th:block th:replace="~{modules/post/copyright :: copyright}"></th:block> <th:block th:replace="~{modules/post/copyright}"></th:block>
<nav class="pagination-post needEndHide" id="pagination" <nav class="pagination-post needEndHide" id="pagination"
th:with="postCursor = ${postFinder.cursor(post.metadata.name)}, th:with="postCursor = ${postFinder.cursor(post.metadata.name)},
@ -206,7 +206,7 @@
</div> </div>
</nav> </nav>
<!-- 阅读建议 --> <!-- 阅读建议 -->
<th:block th:replace="~{modules/post/relatedPosts :: relatedPosts}"></th:block> <th:block th:replace="~{modules/post/relatedPosts}"/>
<hr> <hr>
<!--/* 评论组件 */--> <!--/* 评论组件 */-->
<th:block <th:block
@ -222,7 +222,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" <html xmlns:th="http://www.thymeleaf.org"
th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'tag',title = ${'标签' + ': ' + tag.spec.displayName + ' | ' + site.title}, head = ~{::head})}"> th:replace="~{modules/layouts/layout :: layout(content = ~{::content}, htmlType = 'tag',title = ${'标签' + ': ' + tag.spec.displayName + ' | ' + site.title}, head = ~{::head})}">
<th:block th:fragment="head"> <th:block th:fragment="head">
<th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${tag.spec.displayName}, <th:block th:replace="~{modules/common/open-graph :: open-graph(_title = ${tag.spec.displayName},
@ -34,7 +34,7 @@
</main> </main>
<!-- 底部 --> <!-- 底部 -->
<footer th:replace="~{modules/footer :: footer}"></footer> <footer th:replace="~{modules/footer}"/>
</div> </div>
</th:block> </th:block>

Some files were not shown because too many files have changed in this diff Show More