Merge pull request #266 from chengzhongxue/main

静态资源优化,友联-默认样式右侧图标
This commit is contained in:
困困鱼 2023-07-11 23:04:53 +08:00 committed by GitHub
commit be47f7355d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 228 additions and 169 deletions

View File

@ -1641,6 +1641,33 @@ spec:
- group: other
label: 其他设置
formSchema:
- $formkit: group
name: staticResource
label: 静态资源文件设置
value:
use:
cdn_link:
children:
- $formkit: select
name: use
id: use
key: use
label: 类型选择
value: local
options:
- label: 本地
value: local
- label: elemecdn
value: elemecdn
- label: 自定义
value: custom
- $formkit: url
name: cdn_link
if: "$get(use).value == 'custom'"
label: cdn地址外链地址
validation: required
value: '(https://npm.elemecdn.com/hao-theme-static@1.1.5/templates/assets'
help: '默认为npmJs的elemecdn加速地址如果你有自己的cdn地址请确保链接下assets文件夹下主题静态资源文件可以填写否则请勿修改 '
- $formkit: group
name: diytitle
label: 动态标题

View File

@ -25,7 +25,7 @@
</div>
<div class="author-img">
<img
th:src="@{${#strings.isEmpty(site.logo) ? '/assets/images/hao-logo.jpg' : site.logo}}">
th:src="@{${#strings.isEmpty(site.logo) ? assets_link + '/images/hao-logo.jpg' : site.logo}}">
</div>
<div class="author-tag-right"
th:if="${not #lists.isEmpty(theme.config.about.authorInfoRightTags)}"

View File

@ -364,8 +364,8 @@ var heo = {
heo.musicBindEvent();
heo_musicFirst = true;
}
let msgPlay = '<i class="anzhiyufont anzhiyu-icon-play"></i><span>播放音乐</span>';
let msgPause = '<i class="anzhiyufont anzhiyu-icon-pause"></i><span>暂停音乐</span>';
let msgPlay = '<i class="haofont hao-icon-play"></i><span>播放音乐</span>';
let msgPause = '<i class="haofont hao-icon-pause"></i><span>暂停音乐</span>';
if (heo_musicPlaying) {
navMusicEl.classList.remove("playing");
document.getElementById("menu-music-toggle").innerHTML = msgPlay;

View File

@ -317,7 +317,7 @@ document.addEventListener('DOMContentLoaded', function () {
const jqLoadAndRun = () => {
const $fancyboxEle = GLOBAL_CONFIG.lightbox === 'fancybox'
? document.querySelectorAll('#article-container :not(a):not(.gallery-group):not(.site-card-avatar) > img, #article-container > img,.bber-content-img > img')
? document.querySelectorAll('#article-container :not(a):not(.gallery-group):not(.site-card-avatar):not(.flink-item-info) > img, #article-container > img,.bber-content-img > img')
: []
const fbLengthNoZero = $fancyboxEle.length > 0
const $jgEle = document.querySelectorAll('#article-container .justified-gallery')

View File

@ -94,7 +94,7 @@ function popCommentBarrage(data) {
<a class="barrageTitle" href="#post-comment">热评</a>
<div class="barrageNick">${data.nick}</div>
<img class="barrageAvatar" src="https://cravatar.cn/avatar/${data.mailMd5}"/>
<a class="comment-barrage-close" href="javascript:heo.switchCommentBarrage()"><i class="anzhiyufont anzhiyu-icon-xmark"></i></a>
<a class="comment-barrage-close" href="javascript:heo.switchCommentBarrage()"><i class="haofont hao-icon-xmark"></i></a>
</div>
<a class="barrageContent" href="#${data.id}">${data.comment}</a>
`

View File

@ -9235,7 +9235,7 @@ li {
font-size: 20px;
line-height: 20px;
}
.ai-title .anzhiyufont.anzhiyu-icon-arrow-rotate-right {
.ai-title .haofont.hao-icon-arrow-rotate-right {
font-size: 14px;
margin-left: 4px;
cursor: pointer;
@ -14136,8 +14136,8 @@ span.tags-punctuation {
}
span.tags-punctuation::before {
content: "\e608";
font-family: "anzhiyufont" !important;
content: "\e663";
font-family: "haofont" !important;
opacity: 0.4;
margin-right: 2px;
}
@ -14445,6 +14445,7 @@ figure.gallery-group:hover .gallery-group-name::after {
min-height: 60px;
}
/* 悬浮状态头像 */
.flink#article-container .flink-list > .flink-list-item:hover a img {
transition: 0.6s;
@ -14456,6 +14457,29 @@ figure.gallery-group:hover .gallery-group-name::after {
min-height: 0px;
}
/* 友链右侧图标 */
#article-container .flink-list>.flink-list-item:hover .flink-item-info> img {
opacity: .8 !important;
}
#article-container .flink-list>.flink-list-item .flink-item-info> img {
position: absolute;
opacity: 0 !important;
right: -30px !important;
bottom: -40px !important;
width: 100px !important;
height: 100px !important;
border-radius: 50% !important;
z-index: -1;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
}
/* 标题和描述 */
.flink#article-container .flink-list > .flink-list-item a span {
transition: 0.3s;

View File

@ -24,7 +24,7 @@
</div>
</div>
<th:block th:if="${#strings.equals(theme.config.categories.use, '3D')}">
<link rel="stylesheet" th:href="@{/assets/libs/no3d/no3d.css}">
<link rel="stylesheet" th:href="${assets_link + '/libs/no3d/no3d.css'}">
<div id="libCategories" >
<div id="lib-cards" class="container" >
<a th:each="categoryItem : ${categoryFinder.listAll()}" th:href="@{${categoryItem.status.permalink}}" th:id="${categoryItem.spec.displayName}">
@ -36,8 +36,8 @@
</div>
</div>
<div class="js-pjax">
<script th:src="@{/assets/libs/no3d/vue.min.js}"></script>
<script th:src="@{/assets/libs/no3d/no3d.js}"></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script th:src="${assets_link + '/libs/no3d/no3d.js'}"></script>
</div>
</th:block>
</div>

View File

@ -34,7 +34,7 @@
<div class="title-h2-a-left">
<h2 style="padding-top:0;margin:.6rem 0 .6rem">🎣 钓鱼</h2><a class="random-post-start"
href="javascript:fetchRandomPost();"><i
class="anzhiyufont anzhiyu-icon-arrow-rotate-right"></i></a>
class="haofont hao-icon-arrow-rotate-right"></i></a>
</div>
<div class="title-h2-a-right"><a class="random-post-all" href="/links">全部友链</a></div>
</div>
@ -46,7 +46,7 @@
hungryFish: 500,
}
</script>
<script th:src="@{/assets/libs/moments/random-friends-post.js}"></script>
<script th:src="${assets_link + '/libs/moments/random-friends-post.js'}"></script>
</th:block>
<!--鱼塘-->
@ -69,9 +69,9 @@
sort_rule: 'created'
}
</script>
<link rel="stylesheet" th:href="@{/assets/libs/moments/heoMainColor.css}">
<script type="text/javascript" th:src="@{/assets/libs/moments/app.min.js}"></script>
<script type="text/javascript" th:src="@{/assets/libs/moments/bundle.js}"></script>
<link rel="stylesheet" th:href="${assets_link + '/libs/moments/heoMainColor.css'}">
<script type="text/javascript" th:src="${assets_link + '/libs/moments/app.min.js'}"></script>
<script type="text/javascript" th:src="${assets_link + '/libs/moments/bundle.js'}"></script>
</div>

View File

@ -6,7 +6,7 @@
<div class="page" id="body-wrap">
<header class="not-top-img" id="page-header">
<nav th:replace="~{modules/nav :: nav(title = null)}"></nav>
<link rel="stylesheet" type="text/css" th:href="@{/assets/zhheo/heo-fcircle3.css}">
<link rel="stylesheet" type="text/css" th:href="${assets_link + '/zhheo/heo-fcircle3.css'}">
</header>
<main class="layout hide-aside" id="content-inner">
@ -18,7 +18,7 @@
</div>
<div class="banner-button-group">
<a class="banner-button secondary" data-pjax-state="" onclick="travelling()">
<i class="anzhiyufont anzhiyu-icon-paper-plane1"></i>
<i class="haofont hao-icon-paper-plane1"></i>
<span class="banner-button-text">随机访问</span>
</a>
<a class="banner-button" href="#post-comment" rel="external nofollow">
@ -57,7 +57,7 @@
<div class="title-h2-a">
<div class="title-h2-a-left">
<h2 style="padding-top:0;margin:.6rem 0 .6rem">🎣 钓鱼</h2><a class="random-post-start"
href="javascript:fetchRandomPost();"><i class="anzhiyufont anzhiyu-icon-arrow-rotate-right"></i></a>
href="javascript:fetchRandomPost();"><i class="haofont hao-icon-arrow-rotate-right"></i></a>
</div>
<div class="title-h2-a-right"><a class="random-post-all" href="/fcircle" data-pjax-state="">查看鱼塘</a></div>
</div>
@ -69,7 +69,7 @@
hungryFish: 500,
}
</script>
<script th:src="@{/assets/libs/moments/random-friends-post.js}"></script>
<script th:src="${assets_link + '/libs/moments/random-friends-post.js'}"></script>
</th:block>
<div class="flink" id="article-container">
@ -126,6 +126,8 @@
th:text="${link.spec.displayName}"></span>
<span class="flink-item-desc" th:text="${link.spec.description}"
th:title="${link.spec.description}"></span>
<img th:src="${link.spec.logo}"
class="entered loaded">
</div>
</a>
</div>

View File

@ -110,7 +110,7 @@
</a>
<div class="barrageNick">${data.nick}</div>
<img class="barrageAvatar" src="https://cravatar.cn/avatar/${data.mailMd5}"/>
<a class="comment-barrage-close" href="javascript:heo.switchCommentBarrage()"><i class="anzhiyufont anzhiyu-icon-xmark"></i></a>
<a class="comment-barrage-close" href="javascript:heo.switchCommentBarrage()"><i class="haofont hao-icon-xmark"></i></a>
</div>
<a class="barrageContent" href="#${data.id}">${data.comment}</a>
`

View File

@ -40,7 +40,7 @@
href="javascript:link.addFriendLinksInFooter();"
rel="external nofollow" title="换一批友情链接"
data-pjax-state="external"><i
class="anzhiyufont anzhiyu-icon-arrow-rotate-right"></i></a>
class="haofont hao-icon-arrow-rotate-right"></i></a>
</div>
<div class="footer-links" id="friend-links-in-footer"></div>
</div>

View File

@ -10,29 +10,29 @@
<meta content="var(--heo-card-bg)" name="theme-color">
<link rel="shortcut icon"
th:href="@{${#strings.isEmpty(site.favicon) ? '/assets/images/hao-logo.jpg' : site.favicon}}"/>
th:href="@{${#strings.isEmpty(site.favicon) ? assets_link + '/images/hao-logo.jpg' : site.favicon}}"/>
<script th:src="@{/assets/js/heo.js}"></script>
<script th:src="${assets_link + '/js/heo.js'}"></script>
<script th:src="@{/assets/js/halo.js}"></script>
<script th:src="${assets_link + '/js/halo.js'}"></script>
<link rel="stylesheet" th:href="@{/assets/zhheo/zhheoblog.css}">
<link rel="stylesheet" th:href="${assets_link + '/zhheo/zhheoblog.css'}">
<link rel="stylesheet" th:href="@{/assets/zhheo/custom.css}">
<link rel="stylesheet" th:href="${assets_link + '/zhheo/custom.css'}">
<link rel="stylesheet" th:href="@{/assets/zhheo/commentBarrage.css}">
<link rel="stylesheet" th:href="${assets_link + '/zhheo/commentBarrage.css'}">
<link media="print"
onload='this.media="all"'
rel="stylesheet"
th:href="@{/assets/libs/iconfont/iconfont.css}">
th:href="${assets_link + '/libs/iconfont/iconfont.css'}">
<!-- swiper 在瞬间滚动时会使用 -->
<link rel="stylesheet" th:href="@{/assets/libs/swiper/swiper-bundle.min.css}"/>
<link rel="stylesheet" href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/Swiper/8.0.6/swiper-bundle.min.css"/>
<!-- 右下角通知 -->
<link th:href="@{/assets/libs/snackbar/snackbar.min.css}"
<link href="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/node-snackbar/0.1.16/snackbar.min.css"
media="print"
onload='this.media="all"'
rel="stylesheet"
@ -142,22 +142,22 @@
</script>
<!-- 复制 https://github.com/zenorocha/clipboard.js -->
<script th:src="@{/assets/libs/clipboard/clipboard.min.js}"></script>
<script th:src="${assets_link + '/libs/clipboard/clipboard.min.js'}"></script>
<!-- 全局图片预览-->
<script th:src="@{/assets/libs/fancybox/jquery.fancybox.min.js}"></script>
<link rel="stylesheet" th:href="@{/assets/libs/fancybox/jquery.fancybox.min.css}">
<script src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js"></script>
<link rel="stylesheet" href="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css">
<!-- 关于地图-->
<script src="https://map.qq.com/api/gljs?v=1.exp&key=YZOBZ-34HLF-K3OJV-JV6IN-OALJ5-7MBAC"></script>
<!-- 关于统计-->
<script th:src="@{/assets/libs/countup/countup.js}"></script>
<script th:src="${assets_link + '/libs/countup/countup.js'}"></script>
<!-- icon图标 -->
<link rel="stylesheet" href="https://npm.elemecdn.com/anzhiyu-theme-static@1.1.0/icon/ali_iconfont_css.css">
<link rel="stylesheet" th:href="'https://npm.elemecdn.com/hao-theme-static@'+${theme.spec.version}+'/icon/iconfont.css'">
<!-- 声明一些公共信息 -->
<script id="site-config" th:inline="javascript">
@ -182,6 +182,7 @@
navMusicEnable:[[${theme.config.tool.nav_music.nav_musicEnable}]],
isMusic: [[${ htmlType == 'music'}]],
helloText: [[${#strings.listSplit(theme.config.sidebar.profile.helloText, ',')}]],
assetsLink: [[${assets_link}]],
source: {
jQuery: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js',
justifiedGallery: {
@ -191,6 +192,9 @@
fancybox: {
js: 'https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js',
css: 'https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css'
},
twikoo:{
js: 'https://cdn.staticfile.org/twikoo/1.6.16/twikoo.all.min.js'
}
},
date_suffix: {

View File

@ -1,5 +1,7 @@
<!DOCTYPE html>
<html lang="en" th:fragment="layout(content, htmlType)" xmlns:th="http://www.thymeleaf.org">
<html lang="en" th:fragment="layout(content, htmlType)" xmlns:th="http://www.thymeleaf.org"
th:with="assets_link=${theme.config.other.staticResource.use == 'elemecdn' ? 'https://npm.elemecdn.com/hao-theme-static@' + theme.spec.version +'/templates/assets' :
theme.config.other.staticResource.use == 'custom' ? theme.config.other.staticResource.cdn_link : #theme.assets('/')}">
<!-- head 中自定义的 -->
@ -48,59 +50,59 @@
<div th:replace="~{modules/right-menu :: right-menu}"></div>
<div>
<script th:src="@{/assets/js/utils.js}"></script>
<script th:src="@{/assets/js/main.js}"></script>
<script charset="utf-8" data-pjax th:src="@{/assets/zhheo/blogex.js}"></script>
<script th:src="${assets_link + '/js/utils.js'}"></script>
<script th:src="${assets_link + '/js/main.js'}"></script>
<script charset="utf-8" data-pjax th:src="${assets_link + '/zhheo/blogex.js'}"></script>
<!-- https://instant.page/ 网站预加载, 放在 </body> 之前 -->
<script th:src="@{/assets/libs/instantpage/instantpage.min.js}" type="module"></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/instant.page/5.1.0/instantpage.min.js" type="module"></script>
<script th:src="@{/assets/libs/lazyload/lazyload.iife.min.js}"></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vanilla-lazyload/17.3.1/lazyload.iife.min.js"></script>
<!-- 右下角通知 https://www.polonel.com/snackbar/ -->
<!-- todo head 中有它的 css应该可以写一块并改成后台可配置的功能代码中应该还有他的 js -->
<script th:src="@{/assets/libs/snackbar/snackbar.min.js}"></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/node-snackbar/0.1.16/snackbar.min.js"></script>
<!-- 深色模式下添加粒子效果canvas -->
<canvas th:if="${theme.config.style.universe}" id="universe" width="1312" height="880"></canvas>
<script th:if="${theme.config.style.universe}" async="" th:src="@{/assets/libs/canvas/dark.js}"></script>
<script th:if="${theme.config.style.universe}" async="" th:src="${assets_link + '/libs/canvas/dark.js'}"></script>
<!-- https://davidshimjs.github.io/qrcodejs/ 生成二维码 -->
<!-- 应该是文章页分享使用 -->
<script data-pjax src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/qrcodejs/1.0.0/qrcode.min.js"></script>
<!-- https://raphamorim.io/waterfall.js/ 应该是这个 还有相关的 js 代码 是否可以调整-->
<script th:src="@{/assets/libs/waterfall/waterfall.min.js}"></script>
<script th:src="${assets_link + '/libs/waterfall/waterfall.min.js'}"></script>
<!-- 获取主色 https://lokeshdhakar.com/projects/color-thief/ -->
<!--<script th:src="@{/assets/libs/color-thief/color-thief.umd.js}"></script>-->
<script th:src="@{/assets/libs/fast-average-color/index.browser.min.js}"></script>
<script th:src="${assets_link + '/libs/fast-average-color/index.browser.min.js'}"></script>
<script th:src="@{/assets/libs/view-image/view-image.min.js}"></script>
<script th:src="${assets_link + '/libs/view-image/view-image.min.js'}"></script>
<!--左下角音乐-->
<script>var meting_api = '[[${theme.config.tool.nav_music.meting_api}]]'; </script>
<link rel="stylesheet" th:href="@{/assets/libs/aplayer/APlayer.min.css}" media="all" onload="this.media='all'">
<link rel="stylesheet" href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/aplayer/1.10.1/APlayer.min.css" media="all" onload="this.media='all'">
<script th:src="@{/assets/libs/aplayer/APlayer.min.js}"></script>
<script th:src="${assets_link + '/libs/aplayer/APlayer.min.js'}"></script>
<script th:src="@{/assets/libs/aplayer/Meting2.min.js}"></script>
<script th:src="${assets_link + '/libs/aplayer/Meting2.min.js'}"></script>
<script th:src="@{/assets/libs/pjax/pjax.min.js}"></script>
<script th:src="${assets_link + '/libs/pjax/pjax.min.js'}"></script>
<!-- swiper 在瞬间滚动时会使用 -->
<script data-pjax th:src="@{/assets/libs/swiper/swiper-bundle.min.js}"></script>
<script data-pjax src="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/Swiper/8.0.6/swiper-bundle.min.js"></script>
<!-- 评论弹幕 -->
<script th:replace="~{modules/commentBarrage :: commentBarrage}"></script>
<!-- Tocbot 目录生成 start -->
<script th:src="@{/assets/libs/tocbot/4.18.2/tocbot.min.js}"></script>
<link th:href="@{/assets/libs/tocbot/4.18.2/tocbot.css}" rel="stylesheet">
<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">
<script>
document.addEventListener("DOMContentLoaded", function() {

View File

@ -27,7 +27,7 @@
let refreshNum = 0
// 记录上一次传递给aiAbstract的参数
let prevParam;
const aiTitleRefreshIcon = document.querySelector(".ai-title .anzhiyufont.anzhiyu-icon-arrow-rotate-right")
const aiTitleRefreshIcon = document.querySelector(".ai-title .haofont.hao-icon-arrow-rotate-right")
const explanation = document.querySelector(".ai-explanation");
const post_ai = document.querySelector(".post-ai");
let ai_str = "";

View File

@ -2,7 +2,7 @@
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!-- 右键菜单 -->
<div th:fragment="right-menu" th:if="${theme.config.tool.rightMenu.rightMenuEnable}">
<script th:src="@{/assets/zhheo/rightmenu.js}"></script>
<script th:src="${assets_link + '/zhheo/rightmenu.js'}"></script>
<div id="rightMenu">
<div class="rightMenu-group rightMenu-small">
<div class="rightMenu-item" id="menu-backward"><i class="iconfont icon-arrow-left"></i></div>
@ -48,25 +48,25 @@
<span>百度搜索</span>
</div>
<div class="rightMenu-item" id="menu-music-toggle" style="">
<i class="anzhiyufont anzhiyu-icon-play"></i>
<i class="haofont hao-icon-play"></i>
<span>播放音乐</span>
</div>
<div class="rightMenu-item" id="menu-music-back" style="">
<i class="anzhiyufont anzhiyu-icon-backward"></i>
<i class="haofont hao-icon-backward"></i>
<span>切换到上一首</span>
</div>
<div class="rightMenu-item" id="menu-music-forward" style="">
<i class="anzhiyufont anzhiyu-icon-forward"></i>
<i class="haofont hao-icon-forward"></i>
<span>切换到下一首</span>
</div>
<div class="rightMenu-item" id="menu-music-playlist"
th:attr="onclick='javascript:window.open(\''+ ${theme.config.tool.nav_music.all_playlist} +'\')'"
style="">
<i class="anzhiyufont anzhiyu-icon-radio"></i>
<i class="haofont hao-icon-radio"></i>
<span>查看所有歌曲</span>
</div>
<div class="rightMenu-item" id="menu-music-copyMusicName" style="">
<i class="anzhiyufont anzhiyu-icon-copy"></i>
<i class="haofont hao-icon-copy"></i>
<span>复制歌名</span>
</div>
</div>

View File

@ -3,7 +3,7 @@
<!-- 导航栏菜单栏 -->
<div id="post-comment" th:fragment="twikoo">
<div class="comment-head">
<div class="comment-headline"><i class="anzhiyufont anzhiyu-icon-comments"></i> <span>评论</span></div>
<div class="comment-headline"><i class="haofont hao-icon-comments"></i> <span>评论</span></div>
<div class="comment-privacy"><a href="/privacy">隐私政策</a></div>
<div class="comment-tips" id="comment-tips">
<span>你无需删除空行,直接评论以获取最佳展示效果</span>
@ -56,7 +56,7 @@
setTimeout(runFn, 0)
return
}
getScript('/themes/theme-hao/assets/libs/twikoo/twikoo.all.min.js').then(runFn)
getScript(GLOBAL_CONFIG.source.twikoo.js).then(runFn)
}
if ('Twikoo' === 'Twikoo' || !false) {

View File

@ -16,133 +16,133 @@
th:if="${#strings.equals(theme.config.top.bannersBackground, 'default')}">
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8">
<img th:src="@{/assets/images/icons/AfterEffect.png}"
<img th:src="${assets_link + '/images/icons/AfterEffect.png'}"
title="AfterEffect">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Sketch.png}"
<img th:src="${assets_link + '/images/icons/Sketch.png'}"
title="Sketch">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6">
<img th:src="@{/assets/images/icons/Docker.png}"
<img th:src="${assets_link + '/images/icons/Docker.png'}"
title="Docker">
</div>
<div class="tags-group-icon" style="background:#4082c3">
<img th:src="@{/assets/images/icons/Photoshop.png}"
<img th:src="${assets_link + '/images/icons/Photoshop.png'}"
title="Photoshop">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/FinalCutPro.png}"
<img th:src="${assets_link + '/images/icons/FinalCutPro.png'}"
title="FinalCutPro">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Python.png}"
<img th:src="${assets_link + '/images/icons/Python.png'}"
title="Python">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840">
<img th:src="@{/assets/images/icons/Swift.png}"
<img th:src="${assets_link + '/images/icons/Swift.png'}"
title="Swift">
</div>
<div class="tags-group-icon" style="background:#8f55ba">
<img th:src="@{/assets/images/icons/Principle.png}"
<img th:src="${assets_link + '/images/icons/Principle.png'}"
title="Principle">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39">
<img th:src="@{/assets/images/icons/illustrator.png}"
<img th:src="${assets_link + '/images/icons/illustrator.png'}"
title="illustrator">
</div>
<div class="tags-group-icon" style="background:#2c51db">
<img th:src="@{/assets/images/icons/CSS3.png}" title="CSS3">
<img th:src="${assets_link + '/images/icons/CSS3.png'}" title="CSS3">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f">
<img th:src="@{/assets/images/icons/JS.png}" title="JS">
<img th:src="${assets_link + '/images/icons/JS.png'}" title="JS">
</div>
<div class="tags-group-icon" style="background:#e9572b">
<img th:src="@{/assets/images/icons/HTML.png}" title="HTML">
<img th:src="${assets_link + '/images/icons/HTML.png'}" title="HTML">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40">
<img th:src="@{/assets/images/icons/Git.webp}" title="Git">
<img th:src="${assets_link + '/images/icons/Git.webp'}" title="Git">
</div>
<div class="tags-group-icon" style="background:#e65164">
<img th:src="@{/assets/images/icons/Apifox.webp}"
<img th:src="${assets_link + '/images/icons/Apifox.webp'}"
title="Apifox">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8">
<img th:src="@{/assets/images/icons/AfterEffect.png}"
<img th:src="${assets_link + '/images/icons/AfterEffect.png'}"
title="AfterEffect">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Sketch.png}"
<img th:src="${assets_link + '/images/icons/Sketch.png'}"
title="Sketch">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6">
<img th:src="@{/assets/images/icons/Docker.png}"
<img th:src="${assets_link + '/images/icons/Docker.png'}"
title="Docker">
</div>
<div class="tags-group-icon" style="background:#4082c3">
<img th:src="@{/assets/images/icons/Photoshop.png}"
<img th:src="${assets_link + '/images/icons/Photoshop.png'}"
title="Photoshop">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/FinalCutPro.png}"
<img th:src="${assets_link + '/images/icons/FinalCutPro.png'}"
title="FinalCutPro">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Python.png}"
<img th:src="${assets_link + '/images/icons/Python.png'}"
title="Python">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840">
<img th:src="@{/assets/images/icons/Swift.png}"
<img th:src="${assets_link + '/images/icons/Swift.png'}"
title="Swift">
</div>
<div class="tags-group-icon" style="background:#8f55ba">
<img th:src="@{/assets/images/icons/Principle.png}"
<img th:src="${assets_link + '/images/icons/Principle.png'}"
title="Principle">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39">
<img th:src="@{/assets/images/icons/illustrator.png}"
<img th:src="${assets_link + '/images/icons/illustrator.png'}"
title="illustrator">
</div>
<div class="tags-group-icon" style="background:#2c51db">
<img th:src="@{/assets/images/icons/CSS3.png}" title="CSS3">
<img th:src="${assets_link + '/images/icons/CSS3.png'}" title="CSS3">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f">
<img th:src="@{/assets/images/icons/JS.png}" title="JS">
<img th:src="${assets_link + '/images/icons/JS.png'}" title="JS">
</div>
<div class="tags-group-icon" style="background:#e9572b">
<img th:src="@{/assets/images/icons/HTML.png}" title="HTML">
<img th:src="${assets_link + '/images/icons/HTML.png'}" title="HTML">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40">
<img th:src="@{/assets/images/icons/Git.webp}" title="Git">
<img th:src="${assets_link + '/images/icons/Git.webp'}" title="Git">
</div>
<div class="tags-group-icon" style="background:#e65164">
<img th:src="@{/assets/images/icons/Apifox.webp}"
<img th:src="${assets_link + '/images/icons/Apifox.webp'}"
title="Apifox">
</div>
</div>
@ -181,7 +181,7 @@
<div class="skill-info">
<div class="skill-icon" style="background:#989bf8">
<img th:src="@{/assets/images/icons/AfterEffect.png}"
<img th:src="${assets_link + '/images/icons/AfterEffect.png'}"
title="AfterEffect">
</div>
<div class="skill-name"><span>AfterEffect</span></div>
@ -189,28 +189,28 @@
<div class="skill-info">
<div class="skill-icon" style="background:#ffffff">
<img th:src="@{/assets/images/icons/Sketch.png}" title="Sketch">
<img th:src="${assets_link + '/images/icons/Sketch.png'}" title="Sketch">
</div>
<div class="skill-name"><span>Sketch</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#57b6e6">
<img th:src="@{/assets/images/icons/Docker.png}" title="Docker">
<img th:src="${assets_link + '/images/icons/Docker.png'}" title="Docker">
</div>
<div class="skill-name"><span>Docker</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#4082c3">
<img th:src="@{/assets/images/icons/Photoshop.png}" title="Photoshop">
<img th:src="${assets_link + '/images/icons/Photoshop.png'}" title="Photoshop">
</div>
<div class="skill-name"><span>Photoshop</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#ffffff">
<img th:src="@{/assets/images/icons/FinalCutPro.png}"
<img th:src="${assets_link + '/images/icons/FinalCutPro.png'}"
title="FinalCutPro">
</div>
<div class="skill-name"><span>FinalCutPro</span></div>
@ -218,28 +218,28 @@
<div class="skill-info">
<div class="skill-icon" style="background:#ffffff">
<img th:src="@{/assets/images/icons/Python.png}" title="Python">
<img th:src="${assets_link + '/images/icons/Python.png'}" title="Python">
</div>
<div class="skill-name"><span>Python</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#eb6840">
<img th:src="@{/assets/images/icons/Swift.png}" title="Swift">
<img th:src="${assets_link + '/images/icons/Swift.png'}" title="Swift">
</div>
<div class="skill-name"><span>Swift</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#8f55ba">
<img th:src="@{/assets/images/icons/Principle.png}" title="Principle">
<img th:src="${assets_link + '/images/icons/Principle.png'}" title="Principle">
</div>
<div class="skill-name"><span>Principle</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#f29e39">
<img th:src="@{/assets/images/icons/illustrator.png}"
<img th:src="${assets_link + '/images/icons/illustrator.png'}"
title="illustrator">
</div>
<div class="skill-name"><span>illustrator</span></div>
@ -247,35 +247,35 @@
<div class="skill-info">
<div class="skill-icon" style="background:#2c51db">
<img th:src="@{/assets/images/icons/CSS3.png}" title="CSS3">
<img th:src="${assets_link + '/images/icons/CSS3.png'}" title="CSS3">
</div>
<div class="skill-name"><span>CSS3</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#f7cb4f">
<img th:src="@{/assets/images/icons/JS.png}" title="JS">
<img th:src="${assets_link + '/images/icons/JS.png'}" title="JS">
</div>
<div class="skill-name"><span>JS</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#e9572b">
<img th:src="@{/assets/images/icons/HTML.png}" title="HTML">
<img th:src="${assets_link + '/images/icons/HTML.png'}" title="HTML">
</div>
<div class="skill-name"><span>HTML</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#df5b40">
<img th:src="@{/assets/images/icons/Git.webp}" title="Git">
<img th:src="${assets_link + '/images/icons/Git.webp'}" title="Git">
</div>
<div class="skill-name"><span>Git</span></div>
</div>
<div class="skill-info">
<div class="skill-icon" style="background:#1f1f1f">
<img th:src="@{/assets/images/icons/Apifox.webp}" title="Apifox">
<img th:src="${assets_link + '/images/icons/Apifox.webp'}" title="Apifox">
</div>
<div class="skill-name"><span>Apifox</span></div>
</div>
@ -312,7 +312,7 @@
</div>
</div>
<img alt="生涯" class="author-content-img"
th:src="@{${#strings.isEmpty(theme.config.about.authorCareers.authorCareersBackground) ? '/assets/images/hao-logo.jpg' : theme.config.about.authorCareers.authorCareersBackground}}">
th:src="@{${#strings.isEmpty(theme.config.about.authorCareers.authorCareersBackground) ? assets_link + '/images/hao-logo.jpg' : theme.config.about.authorCareers.authorCareersBackground}}">
</div>
</div>
</div>

View File

@ -32,7 +32,7 @@
onclick="pjax.loadUrl('/music')"
target="_blank"
rel="noopener nofollow">
<i class="anzhiyufont anzhiyu-icon-arrow-circle-right"></i>
<i class="haofont hao-icon-arrow-circle-right"></i>
<span class="banner-button-text">更多推荐</span></a>
</div> -->
</div>

View File

@ -10,7 +10,7 @@
<th:block th:if="${personality == 'infp'}">
<span class="author-content-item-title">调停者</span>
<div class="title2" style="color: #56a178;">INFP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/infp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/infp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -22,7 +22,7 @@
<th:block th:if="${personality == 'intj'}">
<span class="author-content-item-title">建筑师</span>
<div class="title2" style="color: #56a178;">INTJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/intj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/intj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -34,7 +34,7 @@
<th:block th:if="${personality == 'intp'}">
<span class="author-content-item-title">逻辑学家</span>
<div class="title2" style="color: #56a178;">INTP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/intp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/intp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -46,7 +46,7 @@
<th:block th:if="${personality == 'entj'}">
<span class="author-content-item-title">指挥官</span>
<div class="title2" style="color: #56a178;">ENTJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/entj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/entj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -58,7 +58,7 @@
<th:block th:if="${personality == 'entp'}">
<span class="author-content-item-title">辩论家</span>
<div class="title2" style="color: #56a178;">ENTP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/entp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/entp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -70,7 +70,7 @@
<th:block th:if="${personality == 'enfj'}">
<span class="author-content-item-title">主人公</span>
<div class="title2" style="color: #56a178;">ENFJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/enfj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/enfj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -82,7 +82,7 @@
<th:block th:if="${personality == 'enfp'}">
<span class="author-content-item-title">竞选者</span>
<div class="title2" style="color: #56a178;">ENFP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/enfp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/enfp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -94,7 +94,7 @@
<th:block th:if="${personality == 'estj'}">
<span class="author-content-item-title">总经理</span>
<div class="title2" style="color: #56a178;">ESTJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/estj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/estj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -106,7 +106,7 @@
<th:block th:if="${personality == 'estp'}">
<span class="author-content-item-title">企业家</span>
<div class="title2" style="color: #56a178;">ESTP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/estp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/estp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -118,7 +118,7 @@
<th:block th:if="${personality == 'esfj'}">
<span class="author-content-item-title">执政官</span>
<div class="title2" style="color: #56a178;">ESFJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/esfj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/esfj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -130,7 +130,7 @@
<th:block th:if="${personality == 'esfp'}">
<span class="author-content-item-title">表演者</span>
<div class="title2" style="color: #56a178;">ESFP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/esfp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/esfp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -142,7 +142,7 @@
<th:block th:if="${personality == 'infj'}">
<span class="author-content-item-title">提倡者</span>
<div class="title2" style="color: #56a178;">INFJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/infj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/infj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -154,7 +154,7 @@
<th:block th:if="${personality == 'istj'}">
<span class="author-content-item-title">物流师</span>
<div class="title2" style="color: #56a178;">ISTJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/istj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/istj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -166,7 +166,7 @@
<th:block th:if="${personality == 'istp'}">
<span class="author-content-item-title">鉴赏家</span>
<div class="title2" style="color: #56a178;">ISTP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/istp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/istp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -178,7 +178,7 @@
<th:block th:if="${personality == 'isfj'}">
<span class="author-content-item-title">守卫者</span>
<div class="title2" style="color: #56a178;">ISFJ</div>
<div class="image"><img src="/themes/theme-hao/assets/images/isfj.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/isfj.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>
@ -190,7 +190,7 @@
<th:block th:if="${personality == 'isfp'}">
<span class="author-content-item-title">探险家</span>
<div class="title2" style="color: #56a178;">ISFP</div>
<div class="image"><img src="/themes/theme-hao/assets/images/isfp.svg" style="transform: rotateY(180deg);">
<div class="image"><img th:src="${assets_link + '/images/isfp.svg'}" style="transform: rotateY(180deg);">
</div>
<div class="post-tips"><a href="https://www.16personalities.com/" rel="noopener nofollow"
target="_blank">16personalities</a>

View File

@ -11,7 +11,7 @@
<div class="post-tips">统计信息来自 <a href="https://invite.51.la/1NzKqTeb?target=V6" rel="noopener nofollow"
target="_blank">51la网站统计</a></div>
<div class="banner-button-group"><a class="banner-button" onclick="pjax.loadUrl('/archives')"
data-pjax-state=""><i class="anzhiyufont anzhiyu-icon-arrow-circle-right"></i><span
data-pjax-state=""><i class="haofont hao-icon-arrow-circle-right"></i><span
class="banner-button-text">文章隧道</span></a></div>
</div>
</div>

View File

@ -45,7 +45,7 @@
if (typeof twikoo === 'object') {
runTwikoo()
} else {
getScript('/themes/theme-hao/assets/libs/twikoo/twikoo.all.min.js').then(runTwikoo)
getScript(GLOBAL_CONFIG.source.twikoo.js).then(runTwikoo)
}
})();
</script>

View File

@ -9,7 +9,7 @@
<div class="author-info__top-group">
<div class="author-info__sayhi" id="author-info__sayhi" onclick="heo.changeSayHelloText()">你好啊!我是</div>
<img class="avatar-img entered loaded"
th:src="@{${#strings.isEmpty(site.logo) ? '/assets/images/hao-logo.jpg' : site.logo}}">
th:src="@{${#strings.isEmpty(site.logo) ? assets_link + '/images/hao-logo.jpg' : site.logo}}">
</div>
<div class="author-info__name"
th:if="${#strings.isEmpty(theme.config.sidebar.profile.profileName)}"

View File

@ -5,9 +5,9 @@ th:with="faceImg = ${theme.config.sidebar.wechat.wechatImgFace}, backImg=${theme
<div id="flip-wrapper">
<div id="flip-content">
<div class="face"
th:style="'background: url('+ @{${#strings.isEmpty(faceImg) ? '/assets/images/wechat/wechat1.png' : faceImg }} +') center center / 100% no-repeat;'"></div>
th:style="'background: url('+ @{${#strings.isEmpty(faceImg) ? assets_link + '/images/wechat/wechat1.png' : faceImg }} +') center center / 100% no-repeat;'"></div>
<div class="back face"
th:style="'background: url('+ @{${#strings.isEmpty(backImg) ? '/assets/images/wechat/wechat2.png' : backImg }} +') center center / 100% no-repeat;'"></div>
th:style="'background: url('+ @{${#strings.isEmpty(backImg) ? assets_link + '/images/wechat/wechat2.png' : backImg }} +') center center / 100% no-repeat;'"></div>
</div>
</div>
</div>

View File

@ -19,114 +19,114 @@
<div class="tags-group-wrapper" th:if="${#strings.equals(theme.config.top.BannerLeft.bannersBackground, 'default')}">
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8">
<img th:src="@{/assets/images/icons/AfterEffect.png}" title="AfterEffect">
<img th:src="${assets_link + '/images/icons/AfterEffect.png'}" title="AfterEffect">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Sketch.png}" title="Sketch">
<img th:src="${assets_link + '/images/icons/Sketch.png'}" title="Sketch">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6">
<img th:src="@{/assets/images/icons/Docker.png}" title="Docker">
<img th:src="${assets_link + '/images/icons/Docker.png'}" title="Docker">
</div>
<div class="tags-group-icon" style="background:#4082c3">
<img th:src="@{/assets/images/icons/Photoshop.png}" title="Photoshop">
<img th:src="${assets_link + '/images/icons/Photoshop.png'}" title="Photoshop">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/FinalCutPro.png}" title="FinalCutPro">
<img th:src="${assets_link + '/images/icons/FinalCutPro.png'}" title="FinalCutPro">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Python.png}" title="Python">
<img th:src="${assets_link + '/images/icons/Python.png'}" title="Python">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840">
<img th:src="@{/assets/images/icons/Swift.png}" title="Swift">
<img th:src="${assets_link + '/images/icons/Swift.png'}" title="Swift">
</div>
<div class="tags-group-icon" style="background:#8f55ba">
<img th:src="@{/assets/images/icons/Principle.png}" title="Principle">
<img th:src="${assets_link + '/images/icons/Principle.png'}" title="Principle">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39">
<img th:src="@{/assets/images/icons/illustrator.png}" title="illustrator">
<img th:src="${assets_link + '/images/icons/illustrator.png'}" title="illustrator">
</div>
<div class="tags-group-icon" style="background:#2c51db">
<img th:src="@{/assets/images/icons/CSS3.png}" title="CSS3">
<img th:src="${assets_link + '/images/icons/CSS3.png'}" title="CSS3">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f">
<img th:src="@{/assets/images/icons/JS.png}" title="JS">
<img th:src="${assets_link + '/images/icons/JS.png'}" title="JS">
</div>
<div class="tags-group-icon" style="background:#e9572b">
<img th:src="@{/assets/images/icons/HTML.png}" title="HTML">
<img th:src="${assets_link + '/images/icons/HTML.png'}" title="HTML">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40">
<img th:src="@{/assets/images/icons/Git.webp}" title="Git">
<img th:src="${assets_link + '/images/icons/Git.webp'}" title="Git">
</div>
<div class="tags-group-icon" style="background:#e65164">
<img th:src="@{/assets/images/icons/Apifox.webp}" title="Apifox">
<img th:src="${assets_link + '/images/icons/Apifox.webp'}" title="Apifox">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#989bf8">
<img th:src="@{/assets/images/icons/AfterEffect.png}" title="AfterEffect">
<img th:src="${assets_link + '/images/icons/AfterEffect.png'}" title="AfterEffect">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Sketch.png}" title="Sketch">
<img th:src="${assets_link + '/images/icons/Sketch.png'}" title="Sketch">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#57b6e6">
<img th:src="@{/assets/images/icons/Docker.png}" title="Docker">
<img th:src="${assets_link + '/images/icons/Docker.png'}" title="Docker">
</div>
<div class="tags-group-icon" style="background:#4082c3">
<img th:src="@{/assets/images/icons/Photoshop.png}" title="Photoshop">
<img th:src="${assets_link + '/images/icons/Photoshop.png'}" title="Photoshop">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/FinalCutPro.png}" title="FinalCutPro">
<img th:src="${assets_link + '/images/icons/FinalCutPro.png'}" title="FinalCutPro">
</div>
<div class="tags-group-icon" style="background:#fff">
<img th:src="@{/assets/images/icons/Python.png}" title="Python">
<img th:src="${assets_link + '/images/icons/Python.png'}" title="Python">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#eb6840">
<img th:src="@{/assets/images/icons/Swift.png}" title="Swift">
<img th:src="${assets_link + '/images/icons/Swift.png'}" title="Swift">
</div>
<div class="tags-group-icon" style="background:#8f55ba">
<img th:src="@{/assets/images/icons/Principle.png}" title="Principle">
<img th:src="${assets_link + '/images/icons/Principle.png'}" title="Principle">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f29e39">
<img th:src="@{/assets/images/icons/illustrator.png}" title="illustrator">
<img th:src="${assets_link + '/images/icons/illustrator.png'}" title="illustrator">
</div>
<div class="tags-group-icon" style="background:#2c51db">
<img th:src="@{/assets/images/icons/CSS3.png}" title="CSS3">
<img th:src="${assets_link + '/images/icons/CSS3.png'}" title="CSS3">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#f7cb4f">
<img th:src="@{/assets/images/icons/JS.png}" title="JS">
<img th:src="${assets_link + '/images/icons/JS.png'}" title="JS">
</div>
<div class="tags-group-icon" style="background:#e9572b">
<img th:src="@{/assets/images/icons/HTML.png}" title="HTML">
<img th:src="${assets_link + '/images/icons/HTML.png'}" title="HTML">
</div>
</div>
<div class="tags-group-icon-pair">
<div class="tags-group-icon" style="background:#df5b40">
<img th:src="@{/assets/images/icons/Git.webp}" title="Git">
<img th:src="${assets_link + '/images/icons/Git.webp'}" title="Git">
</div>
<div class="tags-group-icon" style="background:#e65164">
<img th:src="@{/assets/images/icons/Apifox.webp}" title="Apifox">
<img th:src="${assets_link + '/images/icons/Apifox.webp'}" title="Apifox">
</div>
</div>
</div>

View File

@ -50,7 +50,7 @@
if (typeof twikoo === 'object') {
runTwikoo()
} else {
getScript('/themes/theme-hao/assets/libs/twikoo/twikoo.all.min.js').then(runTwikoo)
getScript(GLOBAL_CONFIG.source.twikoo.js).then(runTwikoo)
}
}

View File

@ -4,7 +4,7 @@
<!-- TODO 控制台功能 -->
<div id="console" th:fragment="console">
<div class="close-btn" onclick="heo.hideConsole()" href="javascript:void(0);">
<i class="anzhiyufont anzhiyu-icon-circle-xmark"></i>
<i class="haofont hao-icon-circle-xmark"></i>
</div>
<div class="console-card-group">
<!-- 评论,需要使用评论插件,获取最近评论 -->
@ -88,9 +88,9 @@
</a>
</div>
<div class="console-btn-item" id="consoleHideAside" onclick="heo.hideAsideBtn()" title="边栏显示控制"><a
class="asideSwitch" data-pjax-state=""><i class="anzhiyufont anzhiyu-icon-arrows-left-right"></i></a></div>
class="asideSwitch" data-pjax-state=""><i class="haofont hao-icon-arrows-left-right"></i></a></div>
<div class="console-btn-item on" id="consoleCommentBarrage" onclick="heo.switchCommentBarrage()" title="热评开关"><a
class="commentBarrage" data-pjax-state=""><i class="anzhiyufont anzhiyu-icon-message"></i></a></div>
class="commentBarrage" data-pjax-state=""><i class="haofont hao-icon-message"></i></a></div>
<!--<div class="console-btn-item" id="consoleKeyboard" onclick="heo.keyboardToggle()" title="快捷键开关"><a-->
<!-- class="keyboard-switch"><i class="fa-duotone fa-keyboard"></i></a>-->
@ -100,7 +100,7 @@
<!--</div>-->
<div th:if="${theme.config.tool.nav_music.nav_musicEnable}" class="console-btn-item" id="consoleMusic" onclick="heo.musicToggle()" title="音乐开关">
<a class="music-switch" data-pjax-state="">
<i class="anzhiyufont anzhiyu-icon-music"></i>
<i class="haofont hao-icon-music"></i>
</a>
</div>
</div>

View File

@ -10,13 +10,13 @@
<div class="nav-button only-home" id="travellings_button" th:if="${theme.config.nav.right.travelling}">
<a class="site-page" th:href="@{${theme.config.nav.right.travellingUrl}}" target="_blank" rel="external nofollow"
title="随机前往一个开往项目网站">
<i class="anzhiyufont anzhiyu-icon-train" style="font-size: 1rem; font-weight: 700; "></i>
<i class="haofont hao-icon-train" style="font-size: 1rem; font-weight: 700; "></i>
</a>
</div>
<div class="nav-button only-home" th:if="${theme.config.nav.right.article}">
<a class="site-page" href="javascript:void(0);" onclick="toRandomPost()" title="随机文章">
<i class="anzhiyufont anzhiyu-icon-dice" style="font-size: 1rem; font-weight: 700;"></i>
<i class="haofont hao-icon-dice" style="font-size: 1rem; font-weight: 700;"></i>
</a>
</div>
@ -24,7 +24,7 @@
<div class="nav-button" id="search-button" th:if="${pluginFinder.available('PluginSearchWidget')}">
<a class="site-page social-icon search" href="javascript:SearchWidget.open();" rel="external nofollow"
title="站内搜索">
<i class="anzhiyufont anzhiyu-icon-magnifying-glass" style="font-size: 1rem; font-weight: 700;"></i>
<i class="haofont hao-icon-magnifying-glass" style="font-size: 1rem; font-weight: 700;"></i>
</a>
</div>
@ -32,7 +32,7 @@
<!-- <div class="nav-button" th:if="${theme.config.nav.enableChangeColorScheme}">
<a class="console_switchbutton" href="javascript:void(0);" onclick="rm.switchDarkMode()" rel="external nofollow"
title="切换模式 - 日夜交替,黑白互换。">
<i class="anzhiyufont anzhiyu-icon-circle-half-stroke" style="font-size: 1rem; font-weight: 700;"></i>
<i class="haofont hao-icon-circle-half-stroke" style="font-size: 1rem; font-weight: 700;"></i>
</a>
</div> -->

View File

@ -26,7 +26,7 @@
</div>
<link rel="stylesheet" th:href="@{/assets/libs/aplayer/music.css}" >
<link rel="stylesheet" th:href="${assets_link + '/libs/aplayer/music.css'}" >
</main>

View File

@ -100,10 +100,10 @@
<!-- 文章ai摘要 -->
<div class="post-ai" th:if="${theme.config.post.aiDescription.aiDescriptionEnable}">
<div class="ai-title"><i class="anzhiyufont anzhiyu-icon-bilibili"></i>
<div class="ai-title"><i class="haofont hao-icon-bilibili"></i>
<div class="ai-title-text">AI-摘要</div>
<div th:if="${theme.config.post.aiDescription.switchBtn}" id="ai-Toggle">切换</div>
<i class="anzhiyufont anzhiyu-icon-arrow-rotate-right"></i>
<i class="haofont hao-icon-arrow-rotate-right"></i>
<div th:if="${#strings.equals(theme.config.post.aiDescription.mode, 'local')}" class="ai-tag" id="ai-tag">[[${theme.config.post.aiDescription.gptName}]] GPT</div>
<div th:if="${#strings.equals(theme.config.post.aiDescription.mode, 'tianli')}" class="ai-tag" id="ai-tag">Tianli GPT</div>

View File

@ -31,5 +31,5 @@ spec:
repo: https://github.com/liuzhihang/halo-theme-hao
settingName: "theme-hao-setting"
configMapName: "theme-hao-configMap"
version: "1.1.6"
version: "1.1.5"
require: ">=2.0.0"