commit
8195075c8f
|
@ -1,3 +1,42 @@
|
|||
apiVersion: v1alpha1
|
||||
kind: AnnotationSetting
|
||||
metadata:
|
||||
generateName: annotation-setting-
|
||||
spec:
|
||||
targetRef:
|
||||
group: content.halo.run
|
||||
kind: Post
|
||||
formSchema:
|
||||
- $formkit: "radio"
|
||||
name: "copyrightEnable"
|
||||
id: "copyrightEnable"
|
||||
key: "copyrightEnable"
|
||||
label: "显示版权声明"
|
||||
value: "true"
|
||||
options:
|
||||
- label: "显示"
|
||||
value: "true"
|
||||
- label: "隐藏"
|
||||
value: "false"
|
||||
- $formkit: "radio"
|
||||
name: "copyrightType"
|
||||
if: "$get(copyrightEnable).value == 'true'"
|
||||
label: "版权声明类型"
|
||||
value: "original"
|
||||
options:
|
||||
- label: "原创"
|
||||
value: "original"
|
||||
- label: "转载"
|
||||
value: "reprint"
|
||||
- $formkit: "text"
|
||||
name: "copyrightUrl"
|
||||
if: "$get(copyrightEnable).value == 'true'"
|
||||
label: "版权声明链接"
|
||||
help: "默认后台设置链接"
|
||||
placeholder: "请输入链接"
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1alpha1
|
||||
kind: AnnotationSetting
|
||||
metadata:
|
||||
|
@ -15,9 +54,9 @@ spec:
|
|||
value: "0"
|
||||
label: "该菜单的子菜单是否为垂直菜单"
|
||||
options:
|
||||
- label: 是
|
||||
- label: "是"
|
||||
value: "1"
|
||||
- label: 否
|
||||
- label: "否"
|
||||
value: "0"
|
||||
---
|
||||
|
||||
|
@ -27,20 +66,20 @@ metadata:
|
|||
generateName: annotation-setting-
|
||||
spec:
|
||||
targetRef:
|
||||
group: "core.halo.run"
|
||||
group: core.halo.run
|
||||
kind: LinkGroup
|
||||
formSchema:
|
||||
- $formkit: "radio"
|
||||
name: "displayStyle"
|
||||
label: "分组方式"
|
||||
value: default
|
||||
value: "default"
|
||||
options:
|
||||
- label: 默认
|
||||
value: default
|
||||
- label: 美化
|
||||
value: beautify
|
||||
- label: 失联
|
||||
value: deprecated
|
||||
- label: "默认"
|
||||
value: "default"
|
||||
- label: "美化"
|
||||
value: "beautify"
|
||||
- label: "失联"
|
||||
value: "deprecated"
|
||||
- $formkit: "textarea"
|
||||
name: "description"
|
||||
label: "描述"
|
||||
|
@ -53,7 +92,7 @@ metadata:
|
|||
generateName: annotation-setting-
|
||||
spec:
|
||||
targetRef:
|
||||
group: "core.halo.run"
|
||||
group: core.halo.run
|
||||
kind: Link
|
||||
formSchema:
|
||||
- $formkit: "attachment"
|
||||
|
@ -75,7 +114,7 @@ metadata:
|
|||
generateName: annotation-setting-
|
||||
spec:
|
||||
targetRef:
|
||||
group: "core.halo.run"
|
||||
group: core.halo.run
|
||||
kind: PhotoGroup
|
||||
formSchema:
|
||||
- $formkit: "attachment"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "halo-theme-hao",
|
||||
"version": "1.3.8",
|
||||
"version": "1.3.9",
|
||||
"dependencies": {
|
||||
}
|
||||
}
|
||||
|
|
104
settings.yaml
104
settings.yaml
|
@ -602,7 +602,7 @@ spec:
|
|||
name: stickerImg
|
||||
if: $get(profileStyle).value == 'one'
|
||||
label: 贴纸
|
||||
value: https://0206.ink/upload/omxo3N22290781690363822143.png
|
||||
value: https://kunkunyu.com/upload/omxo3N22290781690363822143.png
|
||||
placeholder: 请输入图片地址
|
||||
- $formkit: text
|
||||
if: $get(profileStyle).value == 'one'
|
||||
|
@ -641,6 +641,8 @@ spec:
|
|||
value: hao-icon-weixin
|
||||
- label: 公众号
|
||||
value: hao-icon-weixingongzhonghao
|
||||
- label: rss
|
||||
value: hao-icon-rss
|
||||
- label: 腾讯 QQ
|
||||
value: hao-icon-qq
|
||||
- label: 新浪微博
|
||||
|
@ -764,23 +766,23 @@ spec:
|
|||
- $formkit: textarea
|
||||
name: lightMsimg
|
||||
label: 浅色卡片
|
||||
value: https://card-music.0206.ink/?id=xxxxx&theme=card&themeColor=e60026&mode=light&size=300&show_random=1
|
||||
help: https://card-music.0206.ink/?id=xxxxx&theme=card&themeColor=e60026&mode=light&size=300&show_random=1
|
||||
value: https://card-music.yyds.pink/?id=xxxxx&theme=card&themeColor=e60026&mode=light&size=300&show_random=1
|
||||
help: https://card-music.yyds.pink/?id=xxxxx&theme=card&themeColor=e60026&mode=light&size=300&show_random=1
|
||||
- $formkit: textarea
|
||||
name: lightBackMsimg
|
||||
label: 浅色翻页卡片
|
||||
value: https://card-music.0206.ink/?id=xxxxx&size=60&type=1&mode=light&title=%E6%9C%80%E8%BF%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
help: https://card-music.0206.ink/?id=xxxxx&size=60&type=1&mode=light&title=%E6%9C%80%E8%BF%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
value: https://card-music.yyds.pink/?id=xxxxx&size=60&type=1&mode=light&title=%E6%9C%80%E8%BF%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
help: https://card-music.yyds.pink/?id=xxxxx&size=60&type=1&mode=light&title=%E6%9C%80%E8%BF%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
- $formkit: textarea
|
||||
name: darkMsimg
|
||||
label: 深色卡片
|
||||
value: https://card-music.0206.ink/?id=xxxxx&theme=card&themeColor=e60026&mode=dark&size=300&show_random=1
|
||||
help: https://card-music.0206.ink/?id=xxxxx&theme=card&themeColor=e60026&mode=dark&size=300&show_random=1
|
||||
value: https://card-music.yyds.pink/?id=xxxxx&theme=card&themeColor=e60026&mode=dark&size=300&show_random=1
|
||||
help: https://card-music.yyds.pink/?id=xxxxx&theme=card&themeColor=e60026&mode=dark&size=300&show_random=1
|
||||
- $formkit: textarea
|
||||
name: darkBackMsimg
|
||||
label: 深色翻页卡片
|
||||
value: https://card-music.0206.ink/?id=xxxxx&size=60%E2%80%A6F%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
help: https://card-music.0206.ink/?id=xxxxx&size=60%E2%80%A6F%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
value: https://card-music.yyds.pink/?id=xxxxx&size=60%E2%80%A6F%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
help: https://card-music.yyds.pink/?id=xxxxx&size=60%E2%80%A6F%91%E5%B8%B8%E5%90%AC%E6%A6%9C%E5%8D%95&number=6
|
||||
- $formkit: group
|
||||
name: steam
|
||||
label: Steam卡片
|
||||
|
@ -961,6 +963,8 @@ spec:
|
|||
value: hao-icon-weixin
|
||||
- label: 公众号
|
||||
value: hao-icon-weixingongzhonghao
|
||||
- label: rss
|
||||
value: hao-icon-rss
|
||||
- label: 腾讯 QQ
|
||||
value: hao-icon-qq
|
||||
- label: 新浪微博
|
||||
|
@ -1042,6 +1046,8 @@ spec:
|
|||
value: hao-icon-weixin
|
||||
- label: 公众号
|
||||
value: hao-icon-weixingongzhonghao
|
||||
- label: rss
|
||||
value: hao-icon-rss
|
||||
- label: 腾讯 QQ
|
||||
value: hao-icon-qq
|
||||
- label: 新浪微博
|
||||
|
@ -1141,9 +1147,9 @@ spec:
|
|||
style_one:
|
||||
owner_enable: false
|
||||
runtime_enable: true
|
||||
work_img: "https://0206.ink/upload/%E5%9B%B0%E5%9B%B0%E9%B1%BC-%E4%B8%8B%E7%8F%AD%E5%95%A6-yellowgreen.svg"
|
||||
work_img: "https://kunkunyu.com/upload/%E5%9B%B0%E5%9B%B0%E9%B1%BC-%E4%B8%8B%E7%8F%AD%E5%95%A6-yellowgreen.svg"
|
||||
work_description: "距离月入25k也就还差一个大佬带我~"
|
||||
offduty_img: "https://0206.ink/upload/%E5%9B%B0%E5%9B%B0%E9%B1%BC-%E4%B8%8B%E7%8F%AD%E5%95%A6-yellowgreen.svg"
|
||||
offduty_img: "https://kunkunyu.com/upload/%E5%9B%B0%E5%9B%B0%E9%B1%BC-%E4%B8%8B%E7%8F%AD%E5%95%A6-yellowgreen.svg"
|
||||
offduty_description: "下班了就该开开心心的玩耍,嘿嘿~"
|
||||
bdageitem_enable: false
|
||||
bdageitem:
|
||||
|
@ -1252,16 +1258,6 @@ spec:
|
|||
- label: 关闭
|
||||
value: false
|
||||
help: 文章主色匹配图片颜色
|
||||
- $formkit: radio
|
||||
name: summarize
|
||||
label: 文章摘要(首页)
|
||||
value: false
|
||||
options:
|
||||
- label: 打开
|
||||
value: true
|
||||
- label: 关闭
|
||||
value: false
|
||||
help: 是否显示文章摘要
|
||||
- $formkit: group
|
||||
name: aiDescription
|
||||
label: 文章 AI 摘要
|
||||
|
@ -1421,27 +1417,29 @@ spec:
|
|||
- $formkit: group
|
||||
name: copyrights
|
||||
label: 版权声明
|
||||
help: 需要在发布文章时的元数据上选显示版权声明才可以生效
|
||||
value:
|
||||
enable: false
|
||||
content:
|
||||
content: '本文是原创文章,采用 <a target="_blank" href="/cc">CC BY-NC-ND 4.0</a> 协议,完整转载请注明来自 <a href="/" target="_blank" >程序员小航</a>'
|
||||
reprintContent: '本文是转载文章,版权归原作者所有。建议访问原文,转载本文请联系原作者。'
|
||||
children:
|
||||
- $formkit: radio
|
||||
name: enable
|
||||
id: enable
|
||||
key: enable
|
||||
value: false
|
||||
options:
|
||||
- label: 打开
|
||||
value: true
|
||||
- label: 关闭
|
||||
value: false
|
||||
help: 文章底部显示版权声明模块
|
||||
- $formkit: "text"
|
||||
name: "originalUrl"
|
||||
label: "原创链接"
|
||||
placeholder: "请输入链接"
|
||||
- $formkit: "text"
|
||||
name: "reprintUrl"
|
||||
label: "转载链接"
|
||||
placeholder: "请输入链接"
|
||||
- $formkit: textarea
|
||||
if: $get(enable).value
|
||||
name: content
|
||||
label: 声明内容
|
||||
label: 原创声明内容
|
||||
placeholder: '本文是原创文章,采用 <a target="_blank" href="/cc">CC BY-NC-ND 4.0</a> 协议,完整转载请注明来自 <a href="/" target="_blank" >程序员小航</a>'
|
||||
help: 支持 HTML 语法
|
||||
- $formkit: textarea
|
||||
name: reprintContent
|
||||
label: 转载声明内容
|
||||
placeholder: '本文是转载文章,版权归原作者所有。建议访问原文,转载本文请联系原作者。'
|
||||
help: 支持 HTML 语法
|
||||
- $formkit: select
|
||||
name: recommendQuantity
|
||||
label: 阅读建议
|
||||
|
@ -1562,7 +1560,7 @@ spec:
|
|||
placeholder: 请输入跳转 url
|
||||
- $formkit: url
|
||||
name: apiurl
|
||||
value: "https://moments.0206.ink/"
|
||||
value: "https://moments.kunkunyu.com/"
|
||||
label: token地址
|
||||
placeholder: 请输入token地址
|
||||
- $formkit: radio
|
||||
|
@ -1614,6 +1612,12 @@ spec:
|
|||
key: bigTitle
|
||||
label: 大标题
|
||||
value: 这里是我的相册集哦😯
|
||||
- $formkit: text
|
||||
name: topLink
|
||||
key: topLink
|
||||
if: $get(photosStyle).value == 'default'
|
||||
label: 返回地址 (填写图库分组地址)
|
||||
value: "/album"
|
||||
- $formkit: text
|
||||
if: $get(photosStyle).value == 'default'
|
||||
name: detail
|
||||
|
@ -2040,18 +2044,22 @@ spec:
|
|||
label: 地图相关配置
|
||||
value:
|
||||
StrengthenTitle:
|
||||
mapLocation: 22.582401,113.215456
|
||||
background:
|
||||
backgroundDark:
|
||||
authorInfo:
|
||||
children:
|
||||
- $formkit: text
|
||||
name: StrengthenTitle
|
||||
label: 居住地
|
||||
placeholder: 请输入内容
|
||||
- $formkit: text
|
||||
name: mapLocation
|
||||
label: 居住地经纬度坐标
|
||||
help: 可访问 https://lbs.qq.com/getPoint 拾取坐标,示例:22.582401,113.215456
|
||||
placeholder: 请输入经纬度坐标
|
||||
- $formkit: attachment
|
||||
name: background
|
||||
label: 地图亮色模式背景
|
||||
placeholder: 请输入内容
|
||||
- $formkit: attachment
|
||||
name: backgroundDark
|
||||
label: 地图暗色模式背景
|
||||
placeholder: 请输入内容
|
||||
- $formkit: repeater
|
||||
name: authorInfo
|
||||
label: 个人信息
|
||||
|
@ -2293,7 +2301,7 @@ spec:
|
|||
name: lazyload
|
||||
label: 评论懒加载
|
||||
value: false
|
||||
help: 当评论进入浏览器的视窗时,将加载评论系统。
|
||||
help: 当评论进入浏览器的视窗时,将加载评论系统。(不建议使用,定位不到评论位置)
|
||||
options:
|
||||
- label: 打开
|
||||
value: true
|
||||
|
@ -2374,6 +2382,7 @@ spec:
|
|||
serverURL: ""
|
||||
walinesJs: ""
|
||||
walinesCss: ""
|
||||
locale: "{'placeholder': '欢迎评论', 'sofa': '来发评论吧~1'}"
|
||||
children:
|
||||
- $formkit: url
|
||||
name: serverURL
|
||||
|
@ -2394,6 +2403,13 @@ spec:
|
|||
label: Waline评论 - css
|
||||
placeholder: 请输入css文件地址
|
||||
help: 主题的walines版本是最新版本(如果你使用的不是最新版本请自己引入css文件)
|
||||
- $formkit: code
|
||||
name: locale
|
||||
height: 200px
|
||||
label: 选项
|
||||
placeholder: 请输入json格式数据
|
||||
help: "格式:{'placeholder': '欢迎评论', 'sofa': '来发评论吧~1'} 更多请查看文档:https://waline.js.org/cookbook/customize/locale.html#%E4%BE%8B%E5%AD%90"
|
||||
language: json
|
||||
- $formkit: group
|
||||
if: ($get(use).value == 'Twikoo' || $get(use).value == 'Artalk' || $get(use).value == 'Waline' ) && $get(commentsEnable).value
|
||||
name: visitorMail
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
|
||||
<th:block th:replace="~{modules/about-widgets :: about-widgets(${theme.config.about.widgets})}"></th:block>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="author-content">
|
||||
<div class="create-site-post author-content-item single" th:utext="${theme.config.about.xjlc}">
|
||||
</div>
|
||||
|
@ -115,14 +113,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 评论模块 -->
|
||||
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<!-- 底部 -->
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
dark: 'html[data-theme="dark"]',
|
||||
path: window.location.pathname,
|
||||
comment: false,
|
||||
locale:GLOBAL_CONFIG.source.waline.locale
|
||||
}, null))
|
||||
}
|
||||
|
||||
|
|
|
@ -434,13 +434,18 @@ var heo = {
|
|||
document.getElementById("toPageButton").href = e)
|
||||
},
|
||||
changeSayHelloText: function() {
|
||||
const e = GLOBAL_CONFIG.helloText.length == 0 ? ["🤖️ 数码科技爱好者", "🔍 分享与热心帮助", "🏠 智能家居小能手", "🔨 设计开发一条龙", "🤝 专修交互与设计", "🏃 脚踏实地行动派", "🧱 团队小组发动机", "💢 壮汉人狠话不多"] : GLOBAL_CONFIG.helloText
|
||||
, t = document.getElementById("author-info__sayhi");
|
||||
let o = e[Math.floor(Math.random() * e.length)];
|
||||
for (; o === lastSayHello; )
|
||||
o = e[Math.floor(Math.random() * e.length)];
|
||||
t.textContent = o,
|
||||
lastSayHello = o
|
||||
const greetings = GLOBAL_CONFIG.helloText.length == 0 ? ["🤖️ 数码科技爱好者", "🔍 分享与热心帮助", "🏠 智能家居小能手", "🔨 设计开发一条龙", "🤝 专修交互与设计", "🏃 脚踏实地行动派", "🧱 团队小组发动机", "💢 壮汉人狠话不多"] : GLOBAL_CONFIG.helloText
|
||||
, authorInfoSayHiElement = document.getElementById("author-info__sayhi");
|
||||
// 如果只有一个问候语,设置为默认值
|
||||
if (greetings.length === 1) {
|
||||
authorInfoSayHiElement.textContent = greetings[0];
|
||||
return;
|
||||
}
|
||||
let randomGreeting = greetings[Math.floor(Math.random() * greetings.length)];
|
||||
for (; randomGreeting === lastSayHello; )
|
||||
randomGreeting = greetings[Math.floor(Math.random() * greetings.length)];
|
||||
authorInfoSayHiElement.textContent = randomGreeting,
|
||||
lastSayHello = randomGreeting
|
||||
},
|
||||
|
||||
//匿名评论
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1743,33 +1743,9 @@ blockquote footer cite::before {
|
|||
-webkit-line-clamp: 3;
|
||||
}
|
||||
|
||||
#recent-posts>.recent-post-item .recent-post-info .pinned-post {
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: box;
|
||||
display: flex;
|
||||
color: var(--heo-lighttext);
|
||||
font-size: .5rem;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
|
||||
#recent-posts>.recent-post-item .recent-post-info .pinned-post {
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: box;
|
||||
display: flex;
|
||||
color: var(--heo-lighttext);
|
||||
font-size: .5rem;
|
||||
position: absolute;
|
||||
top: -19px;
|
||||
}
|
||||
#recent-posts .recent-post-item {
|
||||
-webkit-box-orient: vertical;
|
||||
flex-direction: column;
|
||||
|
@ -8506,7 +8482,7 @@ li {
|
|||
.recent-post-item .recent-post-info .recent-post-info-top {
|
||||
position: relative;
|
||||
transition: 0.3s;
|
||||
padding: 32px;
|
||||
padding: 0 32px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
@ -8525,17 +8501,73 @@ li {
|
|||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
/*.recent-post-item .recent-post-info .recent-post-info-top .pinned-post {*/
|
||||
/* display: none;*/
|
||||
/*}*/
|
||||
.recent-post-item .recent-post-info .recent-post-info-top .original {
|
||||
display: flex;
|
||||
color: var(--heo-secondtext);
|
||||
font-size: .5rem;
|
||||
position: relative;
|
||||
margin-right: 8px
|
||||
}
|
||||
|
||||
.recent-post-info-top-tips {
|
||||
display: flex;
|
||||
margin-top: 20px;
|
||||
user-select: none
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.recent-post-info-top-tips {
|
||||
display:none
|
||||
}
|
||||
}
|
||||
|
||||
#recent-posts>.recent-post-item>.recent-post-info .sticky-warp {
|
||||
line-height: 23px;
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: box;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-moz-box-align: center;
|
||||
-o-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-moz-box-pack: center;
|
||||
-o-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
justify-content: center;
|
||||
margin-right: 8px
|
||||
}
|
||||
|
||||
#recent-posts>.recent-post-item>.recent-post-info .sticky {
|
||||
color: #ff7242;
|
||||
font-size: 12px
|
||||
}
|
||||
.recent-post-item .recent-post-info .recent-post-info-top .lastestpost {
|
||||
display:flex;
|
||||
color: var(--heo-secondtext);
|
||||
font-size: .5rem;
|
||||
position: relative;
|
||||
margin-right: 8px
|
||||
}
|
||||
|
||||
.recent-post-item .recent-post-info .recent-post-info-top a.unvisited-post {
|
||||
display: flex;
|
||||
color: var(--heo-secondtext);
|
||||
font-size: .5rem;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.recent-post-item .recent-post-info .recent-post-info-top a.unvisited-post:visited {
|
||||
color: var(--heo-card-bg);
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1300px) {
|
||||
#recent-posts > .recent-post-item .pinned-post {
|
||||
display: flex;
|
||||
color: var(--heo-lighttext);
|
||||
font-size: 0.5rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#recent-posts .recent-post-item.pinned-post-item .recent-post-info-top {
|
||||
padding-top: 16px;
|
||||
|
@ -8567,6 +8599,7 @@ li {
|
|||
}
|
||||
|
||||
.recent-post-item .recent-post-info .recent-post-info-top .content {
|
||||
opacity: 0;
|
||||
transition: 0.3s;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
|
@ -9371,14 +9404,6 @@ span.recent-post-top-text {
|
|||
padding: 0.5rem 20px;
|
||||
}
|
||||
|
||||
a.article-meta__categories {
|
||||
left: 12px !important;
|
||||
top: 12px !important;
|
||||
border-radius: 4px !important;
|
||||
padding: 2px 9px !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#bbTimeList {
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
@ -9470,35 +9495,6 @@ span.recent-post-top-text {
|
|||
margin-top: 20px!important;
|
||||
} */
|
||||
|
||||
.article-meta__categories {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 8px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
|
||||
/* 自定义的文章分类 */
|
||||
a.article-meta__category {
|
||||
display: block;
|
||||
padding: 2px 6px;
|
||||
background: var(--heo-black-op);
|
||||
border-radius: 6px;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 12px;
|
||||
margin-left: 4px;
|
||||
font-weight: bold;
|
||||
color: var(--heo-white);
|
||||
backdrop-filter: saturate(180%) blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
}
|
||||
|
||||
a.article-meta__category:hover {
|
||||
background: var(--heo-theme) !important;
|
||||
color: var(--heo-white) !important;
|
||||
box-shadow: var(--heo-shadow-theme);
|
||||
}
|
||||
|
||||
/* 文章卡片标题 */
|
||||
#recent-posts > .recent-post-item > .recent-post-info > .article-title {
|
||||
line-height: 1.4;
|
||||
|
@ -15509,65 +15505,7 @@ span.hexo-douban-pagenum {
|
|||
width: 59%;
|
||||
}
|
||||
|
||||
/* 关于页面地图 */
|
||||
|
||||
.author-content-item.map {
|
||||
background: url(https://img.zhheo.com/i/2022/08/31/630ef8e827401.webp) no-repeat center;
|
||||
min-height: 160px;
|
||||
max-height: 400px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0.5rem;
|
||||
height: 60%;
|
||||
background-size: 100%;
|
||||
transition: 1s ease-in-out;
|
||||
}
|
||||
|
||||
[data-theme=dark] .author-content-item.map {
|
||||
background: url(https://img.zhheo.com/i/2022/08/31/630ef8db0fefe.webp) no-repeat center;
|
||||
background-size: 100%;
|
||||
}
|
||||
|
||||
.author-content-item.map:hover {
|
||||
background-size: 120%;
|
||||
transition: 4s ease-in-out;
|
||||
background-position-x: 0;
|
||||
background-position-y: 36%;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
background: var(--heo-maskbg);
|
||||
padding: 0.5rem 2rem;
|
||||
backdrop-filter: saturate(180%) blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
transition: 1s ease-in-out;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.author-content-item.map:hover .map-title {
|
||||
bottom: -100%;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title b {
|
||||
color: var(--heo-fontcolor);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.author-content-item.map.myphoto {
|
||||
background-size: cover !important;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title {
|
||||
padding: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* 关于页面自我信息 */
|
||||
|
||||
.author-content-item.selfInfo {
|
||||
display: flex;
|
||||
min-height: 100px;
|
||||
|
|
|
@ -156,6 +156,80 @@
|
|||
document.addEventListener('pjax:complete', newestCommentInit)
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
.atk-sidebar-layer {
|
||||
top: 10%;
|
||||
left: 20%;
|
||||
width: 60%;
|
||||
height: 80%;
|
||||
transform: translateY(120%);
|
||||
border-radius: 12px;
|
||||
padding: 10px 0;
|
||||
background: #FFF;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.atk-sidebar-layer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
border-radius: 0
|
||||
}
|
||||
}
|
||||
|
||||
.atk-layer-wrap .atk-layer-mask {
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.atk-main-editor>.atk-bottom .atk-plug-btn:not(:last-child) {
|
||||
border-right: 1px solid var(--at-color-border);
|
||||
}
|
||||
|
||||
.atk-main-editor>.atk-bottom .atk-plug-btn {
|
||||
display: inline-flex;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.atk-comment>.atk-avatar {
|
||||
width: 48px;
|
||||
height: 48px
|
||||
}
|
||||
|
||||
.atk-comment>.atk-avatar img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
transition: all .3s ease;
|
||||
}
|
||||
.atk-comment>.atk-avatar img:hover {
|
||||
transform: scale(1.2);
|
||||
border-radius: 4px
|
||||
}
|
||||
|
||||
.atk-comment>.atk-avatar img.error:before {
|
||||
width: 48px !important;
|
||||
height: 48px !important;
|
||||
border-radius: 3px
|
||||
}
|
||||
|
||||
.atk-comment>.atk-avatar img.error:after {
|
||||
display: none
|
||||
}
|
||||
#owo-big p {
|
||||
color: var(--at-color-meta);
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
margin-top: -14px!important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
</th:block>
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
})
|
||||
saveToLocal.set('waline-newest-comments', JSON.stringify(walineArray), 10 / (60 * 24))
|
||||
generateHtml(walineArray)
|
||||
document.querySelector('#newcomm') && necommHtml(artalk)
|
||||
document.querySelector('#newcomm') && necommHtml(walineArray)
|
||||
}).catch(e => {
|
||||
const $dom = document.querySelector('#card-newest-comments .aside-list')
|
||||
$dom.innerHTML = "无法获取评论,请确认相关配置是否正确"
|
||||
|
|
|
@ -169,11 +169,8 @@
|
|||
<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_link + '/libs/countup/countup.js'}"></script>
|
||||
<script th:if="${#strings.contains(theme.config.about.widgets,'statistics-map')}" th:src="${assets_link + '/libs/countup/countup.js'}"></script>
|
||||
|
||||
<!-- 小板报 -->
|
||||
<th:block th:if="${not #strings.isEmpty(theme.config.sidebar.welcome.key)}">
|
||||
|
@ -187,135 +184,7 @@
|
|||
<!-- icon图标 -->
|
||||
<link rel="stylesheet" th:href="'https://cdn.cbd.int/hao-theme-static@'+${theme.spec.version}+'/icon/iconfont.css'">
|
||||
|
||||
<!-- 声明一些公共信息 -->
|
||||
<script id="site-config" th:inline="javascript">
|
||||
var GLOBAL_CONFIG = {
|
||||
// 页面类型 index,page,post,tag,category
|
||||
htmlType: [[${ htmlType }]],
|
||||
postTitle: [[${ htmlType == 'post' ? post.spec.title : htmlType == 'page' ? singlePage.spec.title : ''}]],
|
||||
isPost: [[${htmlType == 'post'}]],
|
||||
isHome: [[${ htmlType == 'index'}]],
|
||||
copyright: undefined,
|
||||
lightbox: 'fancybox',
|
||||
lazyload: {enable: [[${theme.config.other.vanillaLazyload.enable}]], error: [[@{${theme.config.other.vanillaLazyload.errorImg}}]] },
|
||||
isFriendLinksInFooter: [[${theme.config.footer.footer_group.enable_footer_group}]],
|
||||
loadingBox: [[${theme.config.other.loadingBoxs.loadingBoxEnable}]],
|
||||
loadProgressBar: [[${theme.config.other.loadingBoxs.loadProgressBar}]],
|
||||
navMusicEnable:[[${theme.config.tool.nav_music.nav_musicEnable}]],
|
||||
isMusic: [[${ htmlType == 'music'}]],
|
||||
helloText: [[${#strings.listSplit(theme.config.sidebar.profile.helloText, ',')}]],
|
||||
profileStyle: [[${theme.config.sidebar.profile.profileStyle}]],
|
||||
rightMenuEnable: [[${theme.config.tool.rightMenu.rightMenuEnable}]],
|
||||
source: {
|
||||
links: {
|
||||
linksUrl: [[${ theme.config.link.linksUrl }]],
|
||||
linksNum: [[${theme.config.footer.footer_group.num}]],
|
||||
},
|
||||
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: 'https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css'
|
||||
},
|
||||
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 == 'Waline' ? 'wl-editor' : 'appearance-none' }]]
|
||||
},
|
||||
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})]",
|
||||
},
|
||||
welcome:{
|
||||
key:"[(${theme.config.sidebar.welcome.key})]",
|
||||
locationLng: [[${theme.config.sidebar.welcome.locationLng}]],
|
||||
locationLat: [[${theme.config.sidebar.welcome.locationLat}]],
|
||||
},
|
||||
post:{
|
||||
dynamicBackground: [[${ theme.config.post.dynamicBackground }]]
|
||||
},
|
||||
tool:{
|
||||
switch: [[${ theme.config.tool.snackbar.switch }]]
|
||||
},
|
||||
postAi:{
|
||||
ai : [[${htmlType != 'post' || !theme.config.post.aiDescription.aiDescriptionEnable ? '' :
|
||||
theme.config.post.aiDescription.mode != 'local' && !theme.config.post.aiDescription.switchBtn ? '' :
|
||||
post.spec.excerpt.autoGenerate ? '本地模式需要自己填写文章摘要' :
|
||||
#strings.isEmpty(post.status.excerpt) ? '请填写文章摘要' : post.status.excerpt }]],
|
||||
randomNum : [[${theme.config.post.aiDescription.randomNum}]],
|
||||
basicWordCount : [[${theme.config.post.aiDescription.basicWordCount}]],
|
||||
btnLink : "[(${theme.config.post.aiDescription.btnLink})]",
|
||||
gptName : "[(${theme.config.post.aiDescription.gptName})]",
|
||||
modeName : [[${theme.config.post.aiDescription.mode}]],
|
||||
switchBtn : [[${theme.config.post.aiDescription.switchBtn}]],
|
||||
keys : "[(${theme.config.post.aiDescription.key})]",
|
||||
Referers : "[(${theme.config.post.aiDescription.Referer})]",
|
||||
},
|
||||
img:{
|
||||
src: [[${isLazyload ? 'data-lazy-src' : 'src' }]]
|
||||
}
|
||||
|
||||
},
|
||||
date_suffix: {
|
||||
just: '刚刚',
|
||||
min: '分钟前',
|
||||
hour: '小时前',
|
||||
day: '天前',
|
||||
month: '个月前'
|
||||
},
|
||||
Snackbar: {
|
||||
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}]]
|
||||
},
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
</script>
|
||||
<th:block th:replace="~{modules/variables/site-config :: site-config}" />
|
||||
|
||||
|
||||
</th:block>
|
||||
|
|
|
@ -22,26 +22,26 @@
|
|||
th:src="${isLazyload ? loadingImg : img}">
|
||||
</a>
|
||||
</div>
|
||||
<!-- 类别非空时 -->
|
||||
<th:block th:if="${not #lists.isEmpty(post.categories)}">
|
||||
<span class="article-meta__categories">
|
||||
<a class="article-meta__category"
|
||||
th:each="category : ${post.categories}"
|
||||
th:href="@{${category.status.permalink}}"
|
||||
th:text="${category.spec.displayName}"
|
||||
th:title="${category.spec.displayName}">
|
||||
</a>
|
||||
</span>
|
||||
</th:block>
|
||||
<div class="recent-post-info">
|
||||
<div class="recent-post-info-top">
|
||||
<span class="pinned-post" th:if="${post.spec.pinned}">置顶</span>
|
||||
<div class="recent-post-info-top-tips">
|
||||
<span class="sticky-warp sticky" th:if="${post.spec.pinned}">置顶</span></span>
|
||||
<!-- 类别非空时 -->
|
||||
<th:block th:if="${not #lists.isEmpty(post.categories)}">
|
||||
<span th:each="category : ${post.categories}" th:href="@{${category.status.permalink}}"
|
||||
th:text="${category.spec.displayName}" th:title="${category.spec.displayName}"
|
||||
class="original"></span>
|
||||
</th:block>
|
||||
<!-- <span class="lastestpost">最新</span>-->
|
||||
<a class="unvisited-post" th:href="@{${post.status.permalink}}" th:title="${post.spec.title}"
|
||||
data-pjax-state="">未读</a>
|
||||
</div>
|
||||
<a class="article-title"
|
||||
th:attr="title=${post.spec.title}"
|
||||
th:href="@{${post.status.permalink}}"
|
||||
th:text="${post.spec.title}">
|
||||
</a>
|
||||
<div class="content" th:if="${theme.config.post.summarize}" th:text="${post.status.excerpt}"></div>
|
||||
<div class="content" th:text="${post.status.excerpt}"></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -78,11 +78,18 @@
|
|||
</div>
|
||||
|
||||
<!-- 版权声明 -->
|
||||
<div class="post-copyright" th:if="${theme.config.post.copyrights.enable}">
|
||||
<div class="post-copyright__author">
|
||||
<div class="post-copyright" th:with="copyrightUrl =${#annotations.get(post, 'copyrightUrl')},
|
||||
copyrightEnable = ${#strings.equals(#annotations.getOrDefault(post, 'copyrightEnable','true'),'true')}">
|
||||
<div class="post-copyright__author" >
|
||||
<!-- 版权页 以及版权描述文字 -->
|
||||
<a class="post-copyright__original" th:href="@{${theme.config.basics.copyrightAgreement}}"
|
||||
<a th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'original') && copyrightEnable}"
|
||||
class="post-copyright__original" th:href="@{${not #strings.isEmpty(copyrightUrl) ? copyrightUrl :
|
||||
not #strings.isEmpty(theme.config.post.copyrights.originalUrl) ? theme.config.post.copyrights.originalUrl : '#'}}"
|
||||
title="该文章为原创文章,注意版权协议">原创</a>
|
||||
<a th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'reprint') && copyrightEnable}"
|
||||
class="post-copyright__original" th:href="@{${not #strings.isEmpty(copyrightUrl) ? copyrightUrl :
|
||||
not #strings.isEmpty(theme.config.post.copyrights.originalUrl) ? theme.config.post.copyrights.reprintUrl : '#'}}"
|
||||
title="该文章为转载文章,版权归原作者所有">转载</a>
|
||||
<a class="post-copyright-title" href="#"><span th:text="${post.spec.title}"></span></a>
|
||||
</div>
|
||||
<div class="post-copyright__type">
|
||||
|
@ -93,8 +100,11 @@
|
|||
<i class="haofont hao-icon-paste"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="post-copyright__notice">
|
||||
<span class="post-copyright-info" th:utext="${theme.config.post.copyrights.content}"></span>
|
||||
<div class="post-copyright__notice" th:if="${copyrightEnable}">
|
||||
<span class="post-copyright-info"
|
||||
th:utext="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'reprint') ?
|
||||
theme.config.post.copyrights.reprintContent : theme.config.post.copyrights.content}">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -72,8 +72,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div th:if="${theme.config.post.copyrights.enable}" class="post-copyright__notice">
|
||||
<span class="post-copyright-info" th:utext="${theme.config.post.copyrights.content}"></span>
|
||||
<div th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightEnable','true'),'true')}"
|
||||
class="post-copyright__notice">
|
||||
<span class="post-copyright-info"
|
||||
th:utext="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'reprint') ?
|
||||
theme.config.post.copyrights.reprintContent : theme.config.post.copyrights.content}">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,132 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<th:block th:fragment="site-config">
|
||||
<!-- 声明一些公共信息 -->
|
||||
<script id="site-config" th:inline="javascript">
|
||||
var GLOBAL_CONFIG = {
|
||||
// 页面类型 index,page,post,tag,category
|
||||
htmlType: [[${ htmlType }]],
|
||||
postTitle: [[${ htmlType == 'post' ? post.spec.title : htmlType == 'page' ? singlePage.spec.title : ''}]],
|
||||
isPost: [[${htmlType == 'post'}]],
|
||||
isHome: [[${ htmlType == 'index'}]],
|
||||
copyright: undefined,
|
||||
lightbox: 'fancybox',
|
||||
lazyload: {enable: [[${theme.config.other.vanillaLazyload.enable}]], error: [[@{${theme.config.other.vanillaLazyload.errorImg}}]] },
|
||||
isFriendLinksInFooter: [[${theme.config.footer.footer_group.enable_footer_group}]],
|
||||
loadingBox: [[${theme.config.other.loadingBoxs.loadingBoxEnable}]],
|
||||
loadProgressBar: [[${theme.config.other.loadingBoxs.loadProgressBar}]],
|
||||
navMusicEnable:[[${theme.config.tool.nav_music.nav_musicEnable}]],
|
||||
isMusic: [[${ htmlType == 'music'}]],
|
||||
helloText: [[${#strings.listSplit(theme.config.sidebar.profile.helloText, ',')}]],
|
||||
profileStyle: [[${theme.config.sidebar.profile.profileStyle}]],
|
||||
rightMenuEnable: [[${theme.config.tool.rightMenu.rightMenuEnable}]],
|
||||
date_suffix: {
|
||||
just: '刚刚',
|
||||
min: '分钟前',
|
||||
hour: '小时前',
|
||||
day: '天前',
|
||||
month: '个月前'
|
||||
},
|
||||
Snackbar: {
|
||||
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: {
|
||||
links: {
|
||||
linksUrl: [[${ theme.config.link.linksUrl }]],
|
||||
linksNum: [[${theme.config.footer.footer_group.num}]],
|
||||
},
|
||||
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: 'https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css'
|
||||
},
|
||||
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 == 'Waline' ? 'wl-editor' : 'appearance-none' }]]
|
||||
},
|
||||
welcome:{
|
||||
key:"[(${theme.config.sidebar.welcome.key})]",
|
||||
locationLng: [[${theme.config.sidebar.welcome.locationLng}]],
|
||||
locationLat: [[${theme.config.sidebar.welcome.locationLat}]]
|
||||
},
|
||||
post:{
|
||||
dynamicBackground: [[${ theme.config.post.dynamicBackground }]]
|
||||
},
|
||||
tool:{
|
||||
switch: [[${ theme.config.tool.snackbar.switch }]]
|
||||
},
|
||||
postAi:{
|
||||
ai : [[${htmlType != 'post' || !theme.config.post.aiDescription.aiDescriptionEnable ? '' :
|
||||
theme.config.post.aiDescription.mode != 'local' && !theme.config.post.aiDescription.switchBtn ? '' :
|
||||
post.spec.excerpt.autoGenerate ? '本地模式需要自己填写文章摘要' :
|
||||
#strings.isEmpty(post.status.excerpt) ? '请填写文章摘要' : post.status.excerpt }]],
|
||||
randomNum : [[${theme.config.post.aiDescription.randomNum}]],
|
||||
basicWordCount : [[${theme.config.post.aiDescription.basicWordCount}]],
|
||||
btnLink : "[(${theme.config.post.aiDescription.btnLink})]",
|
||||
gptName : "[(${theme.config.post.aiDescription.gptName})]",
|
||||
modeName : [[${theme.config.post.aiDescription.mode}]],
|
||||
switchBtn : [[${theme.config.post.aiDescription.switchBtn}]],
|
||||
keys : "[(${theme.config.post.aiDescription.key})]",
|
||||
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 : {} })]
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
</script>
|
||||
</th:block>
|
||||
</html>
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<!-- 我的介绍&我的想法 -->
|
||||
<!-- hello -->
|
||||
<div class="hello-about" th:fragment="hello-about">
|
||||
<div class="cursor" style="translate: none; rotate: none; scale: none; transform: translate(721px,180px);"></div>
|
||||
<div class="shapes">
|
||||
|
@ -17,7 +17,6 @@
|
|||
<div class="content">
|
||||
<h1>[[${theme.config.about.helloAbout}]]</h1>
|
||||
</div>
|
||||
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/gsap/3.9.1/gsap.min.js"></script>
|
||||
<style>
|
||||
.hello-about {
|
||||
margin: 20px auto 0;
|
||||
|
@ -133,8 +132,8 @@
|
|||
background: #2128bd;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
(() => {
|
||||
<script defer>
|
||||
function initHelloAbout() {
|
||||
const helloAboutEl = document.querySelector(".hello-about");
|
||||
helloAboutEl.addEventListener("mousemove", evt => {
|
||||
const mouseX = evt.offsetX;
|
||||
|
@ -150,7 +149,12 @@
|
|||
stagger: -0.1,
|
||||
});
|
||||
});
|
||||
})();
|
||||
}
|
||||
if (typeof gsap === "object") {
|
||||
initHelloAbout()
|
||||
} else {
|
||||
getScript("https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/gsap/3.9.1/gsap.min.js").then(initHelloAbout);
|
||||
}
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -18,8 +18,7 @@
|
|||
|
||||
|
||||
<div class="author-content-item-group column mapAndInfo">
|
||||
<div class="author-content-item map single" style="padding: 0;">
|
||||
<div id="mapContainer" style="height: 100%;"></div>
|
||||
<div class="author-content-item map single">
|
||||
<span class="map-title">我现在住在
|
||||
<b>[[${theme.config.about.map.StrengthenTitle}]]</b></span>
|
||||
</div>
|
||||
|
@ -45,7 +44,7 @@
|
|||
</div>
|
||||
<style>
|
||||
.author-content-item.map {
|
||||
background: none !important;
|
||||
background: url([[${theme.config.about.map.background}]]) no-repeat center;
|
||||
min-height: 160px;
|
||||
max-height: 400px;
|
||||
position: relative;
|
||||
|
@ -57,12 +56,51 @@
|
|||
}
|
||||
|
||||
[data-theme=dark] .author-content-item.map {
|
||||
background: none !important;
|
||||
background: url([[${theme.config.about.map.backgroundDark}]]) no-repeat center;
|
||||
background-size: 100%;
|
||||
}
|
||||
.author-content-item.map:hover {
|
||||
background-size: 120%;
|
||||
transition: 4s ease-in-out;
|
||||
background-position-x: 0;
|
||||
background-position-y: 36%;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
background: var(--heo-maskbg);
|
||||
padding: 0.5rem 2rem;
|
||||
backdrop-filter: saturate(180%) blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
transition: 1s ease-in-out;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.author-content-item.map:hover .map-title {
|
||||
bottom: -100%;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title b {
|
||||
color: var(--heo-fontcolor);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.author-content-item.map.myphoto {
|
||||
background-size: cover !important;
|
||||
}
|
||||
|
||||
.author-content-item.map .map-title {
|
||||
padding: 1rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
<!-- 关于统计-->
|
||||
<script defer>
|
||||
// 链接替换即可,不需要后面的参数
|
||||
function initAboutPage() {
|
||||
fetch("https://v6-widget.51.la/v6/[[${theme.config.about.LingQueMonitorID}]]/quote.js")
|
||||
.then(res => res.text())
|
||||
.then(data => {
|
||||
|
@ -127,37 +165,9 @@
|
|||
}
|
||||
statisticUP()
|
||||
});
|
||||
</script>
|
||||
<script defer>
|
||||
var t = new TMap.LatLng([[${ theme.config.about.map.mapLocation }]])
|
||||
, n = new TMap.Map(document.getElementById("mapContainer"), {
|
||||
center: t,
|
||||
zoom: 12,
|
||||
});
|
||||
n.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM),
|
||||
n.removeControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION),
|
||||
n.removeControl(TMap.constants.DEFAULT_CONTROL_ID.SCALE),
|
||||
new TMap.MultiMarker({
|
||||
map: n,
|
||||
styles: {
|
||||
marker: new TMap.MarkerStyle({
|
||||
width: 20,
|
||||
height: 30,
|
||||
anchor: {
|
||||
x: 10,
|
||||
y: 30
|
||||
}
|
||||
})
|
||||
},
|
||||
geometries: [{
|
||||
id: "marker",
|
||||
position: t
|
||||
}]
|
||||
})
|
||||
initAboutPage();
|
||||
|
||||
// 去除logo及水印
|
||||
var a = document.querySelector('canvas+div:last-child')
|
||||
a.style.display = 'none'
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -15,12 +15,22 @@
|
|||
<th:block th:each="group : ${photoFinder.groupBy()}">
|
||||
<th:block th:if="${#strings.equals(group.metadata.name, param.photo_group_name)}" th:with="description = ${#annotations.get(group, 'description')},
|
||||
background = ${#annotations.get(group, 'background')}">
|
||||
<th:div th:replace="~{macro/author-content :: author-content(background = ${background},
|
||||
smallTitle = '相册集',
|
||||
bigTitle = ${group.spec.displayName},
|
||||
detail = ${description},
|
||||
buttonUrl = '',
|
||||
buttonTitle = '')}" />
|
||||
<div class="author-content author-content-item essayPage single"
|
||||
th:style="'background:url('+${background}+') left 28% / cover no-repeat !important;'">
|
||||
<div class="card-content">
|
||||
<div class="author-content-item-tips" text="相册集"></div>
|
||||
<span class="author-content-item-title" th:text="${group.spec.displayName}"></span>
|
||||
<div class="content-bottom">
|
||||
<div class="tips" th:text="${description}"></div>
|
||||
</div>
|
||||
<div class="banner-button-group">
|
||||
<a class="banner-button" target="_blank" th:attr="onclick='pjax.loadUrl(\''+ ${theme.config.photos.topLink} +'\')'">
|
||||
<i class="haofont hao-icon-circle-arrow-right"></i>
|
||||
<span class="banner-button-text" th:text="返回"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<div id="article-container">
|
||||
|
|
|
@ -16,7 +16,21 @@
|
|||
<div id="post-firstinfo">
|
||||
<div class="meta-firstline">
|
||||
<!-- 这里要跳转到版权页 -->
|
||||
<!--<a class="post-meta-original" th:href="@{/cc}" title="该文章为原创文章,注意版权协议">原创</a>-->
|
||||
<th:block th:with="copyrightUrl =${#annotations.get(post, 'copyrightUrl')}"
|
||||
th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightEnable','true'),'true')}">
|
||||
<a class="post-meta-original"
|
||||
title="该文章为原创文章,注意版权协议"
|
||||
th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'original')}"
|
||||
th:href="@{${not #strings.isEmpty(copyrightUrl) ? copyrightUrl :
|
||||
not #strings.isEmpty(theme.config.post.copyrights.originalUrl) ? theme.config.post.copyrights.originalUrl : '#'}}"
|
||||
>原创</a>
|
||||
<a class="post-meta-original"
|
||||
title="该文章为转载文章,版权归原作者所有"
|
||||
th:if="${#strings.equals(#annotations.getOrDefault(post, 'copyrightType','original'),'reprint')}"
|
||||
th:href="@{${not #strings.isEmpty(copyrightUrl) ? copyrightUrl :
|
||||
not #strings.isEmpty(theme.config.post.copyrights.originalUrl) ? theme.config.post.copyrights.reprintUrl : '#'}}"
|
||||
>转载</a>
|
||||
</th:block>
|
||||
<span class="post-meta-categories" th:each="category : ${post.categories}"
|
||||
th:if="${not #lists.isEmpty(post.categories)}">
|
||||
<a class="post-meta-categories" th:href="@{${category.status.permalink}}"
|
||||
|
|
|
@ -47,5 +47,5 @@ spec:
|
|||
repo: https://github.com/liuzhihang/halo-theme-hao
|
||||
settingName: "theme-hao-setting"
|
||||
configMapName: "theme-hao-configMap"
|
||||
version: "1.3.8"
|
||||
version: "1.3.9"
|
||||
require: ">=2.8.0"
|
||||
|
|
Loading…
Reference in New Issue