mirror of
https://ghfast.top/https://github.com/zsjy/halo-theme-dream2.0-plus.git
synced 2025-03-16 00:49:40 +08:00
commit
4e0e2c502b
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "halo-theme-dream2.0-plus",
|
"name": "halo-theme-dream2.0-plus",
|
||||||
"version": "1.1.1",
|
"version": "1.2.0",
|
||||||
"description": "梦之城,童话梦境,动漫类型博客主题。",
|
"description": "梦之城,童话梦境,动漫类型博客主题。",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"author": "nineya",
|
"author": "nineya",
|
||||||
|
@ -646,6 +646,8 @@ spec:
|
|||||||
label: 人生倒计时
|
label: 人生倒计时
|
||||||
- value: 'wechat'
|
- value: 'wechat'
|
||||||
label: 微信公众号
|
label: 微信公众号
|
||||||
|
- value: 'custom'
|
||||||
|
label: 自定义模块
|
||||||
- $formkit: select
|
- $formkit: select
|
||||||
name: position
|
name: position
|
||||||
label: 模块位置
|
label: 模块位置
|
||||||
@ -670,6 +672,23 @@ spec:
|
|||||||
label: 桌面设备隐藏
|
label: 桌面设备隐藏
|
||||||
- value: 'is-not-hidden'
|
- value: 'is-not-hidden'
|
||||||
label: 不隐藏
|
label: 不隐藏
|
||||||
|
- $formkit: text
|
||||||
|
name: title
|
||||||
|
label: 侧边栏标题
|
||||||
|
placeholder: '请输入标题内容'
|
||||||
|
help: '非必填,可覆盖默认侧边栏标题。'
|
||||||
|
- $formkit: text
|
||||||
|
name: icon
|
||||||
|
label: 侧边栏图标
|
||||||
|
placeholder: '请输入图标 class 内容'
|
||||||
|
help: '非必填,可覆盖默认侧边栏图标。'
|
||||||
|
- $formkit: code
|
||||||
|
name: content
|
||||||
|
language: html
|
||||||
|
height: 100px
|
||||||
|
label: 侧边栏内容
|
||||||
|
placeholder: 请输入 HTML 内容
|
||||||
|
help: '非必填,仅在侧边栏类型为公告、广告(自定义广告代码)、自定义时生效。'
|
||||||
- $formkit: radio
|
- $formkit: radio
|
||||||
name: enable_color_character
|
name: enable_color_character
|
||||||
label: 侧边栏信息-开启彩字切换
|
label: 侧边栏信息-开启彩字切换
|
||||||
@ -746,11 +765,6 @@ spec:
|
|||||||
name: url
|
name: url
|
||||||
label: 地址
|
label: 地址
|
||||||
value: ""
|
value: ""
|
||||||
- $formkit: textarea
|
|
||||||
name: notice_content
|
|
||||||
label: 侧边栏公告-博客公告
|
|
||||||
placeholder: 请输入公告内容
|
|
||||||
help: 公告内容支持 HTML 标签。
|
|
||||||
- $formkit: radio
|
- $formkit: radio
|
||||||
name: notice_show_mode
|
name: notice_show_mode
|
||||||
label: 侧边栏公告-显示模式
|
label: 侧边栏公告-显示模式
|
||||||
@ -865,6 +879,7 @@ spec:
|
|||||||
- $formkit: radio
|
- $formkit: radio
|
||||||
name: ad_mode
|
name: ad_mode
|
||||||
label: 侧边栏广告-广告展示方法
|
label: 侧边栏广告-广告展示方法
|
||||||
|
help: '选择“自定义广告代码”时,必须在“侧边栏内容”中填写广告代码。'
|
||||||
value: true
|
value: true
|
||||||
options:
|
options:
|
||||||
- value: true
|
- value: true
|
||||||
@ -881,11 +896,6 @@ spec:
|
|||||||
label: 侧边栏广告-广告图片链接
|
label: 侧边栏广告-广告图片链接
|
||||||
placeholder: '请输入/选择图片路径'
|
placeholder: '请输入/选择图片路径'
|
||||||
help: '图片+链接模式时不能为空。'
|
help: '图片+链接模式时不能为空。'
|
||||||
- $formkit: textarea
|
|
||||||
name: ad_custom_code
|
|
||||||
label: 侧边栏广告-自定义广告代码
|
|
||||||
placeholder: '请输入广告代码'
|
|
||||||
help: '在这里黏贴广告联盟提供的广告代码,自定义广告代码模式时不能为空。'
|
|
||||||
- $formkit: number
|
- $formkit: number
|
||||||
name: recent_posts_num
|
name: recent_posts_num
|
||||||
label: 侧边栏最近文章-展示文章数量
|
label: 侧边栏最近文章-展示文章数量
|
||||||
@ -1019,6 +1029,8 @@ spec:
|
|||||||
name: links_info
|
name: links_info
|
||||||
label: "友链页面-补充信息"
|
label: "友链页面-补充信息"
|
||||||
placeholder: '请输入补充信息'
|
placeholder: '请输入补充信息'
|
||||||
|
language: html
|
||||||
|
height: 240px
|
||||||
help: '友链页面最低部的补充说明信息,支持 HTML 格式。'
|
help: '友链页面最低部的补充说明信息,支持 HTML 格式。'
|
||||||
- $formkit: radio
|
- $formkit: radio
|
||||||
name: link_enable_comment
|
name: link_enable_comment
|
||||||
@ -1417,8 +1429,8 @@ spec:
|
|||||||
if: $get(enable_security_link).value
|
if: $get(enable_security_link).value
|
||||||
validation: required
|
validation: required
|
||||||
label: 安全链接页面-跳转提示区域文本描述
|
label: 安全链接页面-跳转提示区域文本描述
|
||||||
height: 80px
|
|
||||||
language: html
|
language: html
|
||||||
|
height: 240px
|
||||||
value: '您即将离开<span>{title}</span>,去往:<span>{url}</span>'
|
value: '您即将离开<span>{title}</span>,去往:<span>{url}</span>'
|
||||||
placeholder: '请输入安全链接页面跳转提示区域的文本描述'
|
placeholder: '请输入安全链接页面跳转提示区域的文本描述'
|
||||||
help: '"<span></span>"包裹时字体颜色为主题色,“ {title} ”表示站点主标题,“ {url} ”表示跳转URL,区分大小写。默认值:“您即将离开<span>{title}</span>,去往:<span>{url}</span>”'
|
help: '"<span></span>"包裹时字体颜色为主题色,“ {title} ”表示站点主标题,“ {url} ”表示跳转URL,区分大小写。默认值:“您即将离开<span>{title}</span>,去往:<span>{url}</span>”'
|
||||||
@ -1428,29 +1440,40 @@ spec:
|
|||||||
- $formkit: text
|
- $formkit: text
|
||||||
name: external_css
|
name: external_css
|
||||||
label: "外部 CSS 链接"
|
label: "外部 CSS 链接"
|
||||||
|
language: css
|
||||||
placeholder: 请输入 CSS 文件链接
|
placeholder: 请输入 CSS 文件链接
|
||||||
help: "填入外部CSS链接,无需link标签,将插入head标签尾部。"
|
help: "填入外部CSS链接,无需link标签,将插入head标签尾部。"
|
||||||
- $formkit: code
|
- $formkit: code
|
||||||
name: inline_css
|
name: inline_css
|
||||||
|
language: css
|
||||||
|
height: 240px
|
||||||
label: "内嵌 CSS"
|
label: "内嵌 CSS"
|
||||||
placeholder: 请输入 CSS 样式内容
|
placeholder: 请输入 CSS 样式内容
|
||||||
help: '填入CSS代码,无需style标签,将插入head标签尾部。'
|
help: '填入CSS代码,无需style标签,将插入head标签尾部。'
|
||||||
- $formkit: code
|
- $formkit: code
|
||||||
name: external_js_head
|
name: external_js_head
|
||||||
|
language: javascript
|
||||||
|
height: 240px
|
||||||
label: "外部 JS 链接(head)"
|
label: "外部 JS 链接(head)"
|
||||||
placeholder: 请输入 script 标签
|
placeholder: 请输入 script 标签
|
||||||
help: '填入外部JS链接,需要script标签,可按情况指定async和defer属性,将插入head标签尾部。'
|
help: '填入外部JS链接,需要script标签,可按情况指定async和defer属性,将插入head标签尾部。'
|
||||||
- $formkit: code
|
- $formkit: code
|
||||||
name: inline_js_head
|
name: inline_js_head
|
||||||
|
language: javascript
|
||||||
|
height: 240px
|
||||||
label: "内嵌 JS(head)"
|
label: "内嵌 JS(head)"
|
||||||
placeholder: 请输入 JS 代码内容
|
placeholder: 请输入 JS 代码内容
|
||||||
help: '填入JS代码,无需script标签,将插入head标签尾部。'
|
help: '填入JS代码,无需script标签,将插入head标签尾部。'
|
||||||
- $formkit: code
|
- $formkit: code
|
||||||
name: external_js_body
|
name: external_js_body
|
||||||
|
language: javascript
|
||||||
|
height: 240px
|
||||||
label: "外部 JS 链接(body)"
|
label: "外部 JS 链接(body)"
|
||||||
placeholder: 请输入 script 标签
|
placeholder: 请输入 script 标签
|
||||||
help: '填入外部JS链接,需要script标签,可按情况指定async和defer属性,将插入body标签尾部。'
|
help: '填入外部JS链接,需要script标签,可按情况指定async和defer属性,将插入body标签尾部。'
|
||||||
- $formkit: code
|
- $formkit: code
|
||||||
|
language: javascript
|
||||||
|
height: 240px
|
||||||
name: inline_js_body
|
name: inline_js_body
|
||||||
label: "内嵌JS(body)"
|
label: "内嵌JS(body)"
|
||||||
placeholder: 请输入 JS 代码内容
|
placeholder: 请输入 JS 代码内容
|
||||||
|
@ -389,10 +389,9 @@ const commonContext = {
|
|||||||
if (DreamConfig.website_time === '') {
|
if (DreamConfig.website_time === '') {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const now = new Date()
|
const grt = new Date(DreamConfig.website_time).getTime()
|
||||||
const grt = new Date(DreamConfig.website_time)
|
|
||||||
setInterval(function () {
|
setInterval(function () {
|
||||||
now.setTime(now.getTime() + 1000)
|
let now = Date.now()
|
||||||
let difference = parseInt((now - grt) / 1000)
|
let difference = parseInt((now - grt) / 1000)
|
||||||
let seconds = difference % 60
|
let seconds = difference % 60
|
||||||
if (String(seconds).length === 1) {
|
if (String(seconds).length === 1) {
|
||||||
@ -412,7 +411,7 @@ const commonContext = {
|
|||||||
}
|
}
|
||||||
let days = parseInt(difference / 24)
|
let days = parseInt(difference / 24)
|
||||||
websiteDate.innerHTML = `建站<span class="stand">${days}</span>天<span class="stand">${hours}</span>时<span class="stand">${minutes}</span>分<span class="stand">${seconds}</span>秒`
|
websiteDate.innerHTML = `建站<span class="stand">${days}</span>天<span class="stand">${hours}</span>时<span class="stand">${minutes}</span>分<span class="stand">${seconds}</span>秒`
|
||||||
}, 1000)
|
}, 500)
|
||||||
},
|
},
|
||||||
/* 显示web版权 */
|
/* 显示web版权 */
|
||||||
webCopyright() {
|
webCopyright() {
|
||||||
@ -425,11 +424,11 @@ const commonContext = {
|
|||||||
const grt = new Date(DreamConfig.website_time)
|
const grt = new Date(DreamConfig.website_time)
|
||||||
let getYear = grt.getFullYear()
|
let getYear = grt.getFullYear()
|
||||||
if (nowYear === getYear) {
|
if (nowYear === getYear) {
|
||||||
webCopyright.innerText = '© ' + nowYear + ' ' + DreamConfig.site_title
|
webCopyright.innerText = '© ' + nowYear
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
webCopyright.innerText = '© ' + getYear + '-' + nowYear + ' ' + DreamConfig.site_title
|
webCopyright.innerText = '© ' + getYear + '-' + nowYear
|
||||||
},
|
},
|
||||||
/* 激活侧边栏人生倒计时 */
|
/* 激活侧边栏人生倒计时 */
|
||||||
initTimeCount() {
|
initTimeCount() {
|
||||||
|
2
templates/assets/js/common.min.js
vendored
2
templates/assets/js/common.min.js
vendored
File diff suppressed because one or more lines are too long
@ -12,7 +12,9 @@
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p class="icon-spot">
|
<p class="icon-spot">
|
||||||
<span id="webCopyright" th:text="'© '+${#dates.format(#dates.createNow(), 'yyyy')}+' '+ ${site.title}"></span><span th:unless="${theme.config.basic_info.footer_hide_theme_info}" class="footer-truncation">Powered by <a class="powered" href="https://halo.run/" target="_blank">Halo</a> & <a class="powered" href="https://github.com/zsjy/halo-theme-dream2.0-plus" target="_blank">Dream2.0 Plus</a></span></p>
|
<span id="webCopyright" th:text="'© '+${#dates.format(#dates.createNow(), 'yyyy')}+' '"></span><a class="record"
|
||||||
|
th:href="${site.url}" rel="noopener noreferrer nofollow"
|
||||||
|
th:text="${site.title}"></a><span th:unless="${theme.config.basic_info.footer_hide_theme_info}" class="footer-truncation">Powered by <span class="footer-copyright"><a class="powered footer-copyright-halo" href="https://halo.run/" target="_blank">Halo</a> & <a class="powered" href="https://github.com/zsjy/halo-theme-dream2.0-plus" target="_blank">Dream2.0 Plus</a></span></span></p>
|
||||||
<p class="icon-spot" th:if="${!#strings.isEmpty(theme.config.basic_info.record_number_ps) || !#strings.isEmpty(theme.config.basic_info.record_number)}"><a
|
<p class="icon-spot" th:if="${!#strings.isEmpty(theme.config.basic_info.record_number_ps) || !#strings.isEmpty(theme.config.basic_info.record_number)}"><a
|
||||||
th:if="${!#strings.isEmpty(theme.config.basic_info.record_number)}" class="record"
|
th:if="${!#strings.isEmpty(theme.config.basic_info.record_number)}" class="record"
|
||||||
href="http://beian.miit.gov.cn/publish/query/indexFirst.action" target="_blank" rel="noopener noreferrer nofollow"
|
href="http://beian.miit.gov.cn/publish/query/indexFirst.action" target="_blank" rel="noopener noreferrer nofollow"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
th:class="'column column-side column-' + ${position} + ' ' + ${position == 'left'?theme.config.basic_style.left_sidebar_sticky:theme.config.basic_style.right_sidebar_sticky} + '-sticky'">
|
th:class="'column column-side column-' + ${position} + ' ' + ${position == 'left'?theme.config.basic_style.left_sidebar_sticky:theme.config.basic_style.right_sidebar_sticky} + '-sticky'">
|
||||||
<th:block th:each="sidebar :${theme.config.sidebar.sidebar_show}">
|
<th:block th:each="sidebar :${theme.config.sidebar.sidebar_show}">
|
||||||
<th:block th:if="${sidebar.position == position}">
|
<th:block th:if="${sidebar.position == position}">
|
||||||
<th:block th:replace="~{${'/widget/' + sidebar.type} :: widget ( hide = ${sidebar.hide})}" />
|
<th:block th:replace="~{${'/widget/' + sidebar.type} :: widget ( sidebar = ${sidebar})}" />
|
||||||
</th:block>
|
</th:block>
|
||||||
</th:block>
|
</th:block>
|
||||||
<div th:if="${position == 'left'}" class="column-right-shadow is-hidden-desktop">
|
<div th:if="${position == 'left'}" class="column-right-shadow is-hidden-desktop">
|
||||||
|
@ -97,8 +97,7 @@
|
|||||||
<p th:text="${#dates.format(post.spec.publishTime, 'yyyy-MM-dd')}"></p>
|
<p th:text="${#dates.format(post.spec.publishTime, 'yyyy-MM-dd')}"></p>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div
|
<div th:if="${#strings.isEmpty(thumbnail_mode) || thumbnail_mode == 'default'}"
|
||||||
th:if="${(#strings.isEmpty(thumbnail) && !(post.spec.pinned && thumbnail_mode == 'fold')) || #strings.isEmpty(thumbnail_mode) || thumbnail_mode == 'default'}"
|
|
||||||
class="card widget">
|
class="card widget">
|
||||||
<a th:if="${!#strings.isEmpty(thumbnail)}" class="thumbnail" th:href="${post.status.permalink}">
|
<a th:if="${!#strings.isEmpty(thumbnail)}" class="thumbnail" th:href="${post.status.permalink}">
|
||||||
<div class="thumbnail-image" th:style="'background-image: url(' + ${thumbnail} + ')'">
|
<div class="thumbnail-image" th:style="'background-image: url(' + ${thumbnail} + ')'">
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget ' + ${hide}">
|
th:class="'card widget ' + ${sidebar.hide}">
|
||||||
<a th:if="${theme.config.sidebar.ad_mode}" target="_blank" th:href="${theme.config.sidebar.ad_target_url}">
|
<a th:if="${theme.config.sidebar.ad_mode}" target="_blank" th:href="${theme.config.sidebar.ad_target_url}">
|
||||||
<img width="100%" th:src="${theme.config.sidebar.ad_image}" alt="广告"/>
|
<img width="100%" th:src="${theme.config.sidebar.ad_image}" alt="广告"/>
|
||||||
</a>
|
</a>
|
||||||
<th:block th:unless="${theme.config.sidebar.ad_mode}" th:utext="${theme.config.sidebar.ad_custom_code}"/>
|
<th:block th:unless="${theme.config.sidebar.ad_mode}" th:utext="${sidebar.content}"/>
|
||||||
<span th:if="${theme.config.sidebar.show_ad_tag}" class="ad-tag">广告
|
<span th:if="${theme.config.sidebar.show_ad_tag}" class="ad-tag">广告
|
||||||
<svg th:if="${theme.config.sidebar.ad_tag_close}" class="click-close" data-close=".widget"
|
<svg th:if="${theme.config.sidebar.ad_tag_close}" class="click-close" data-close=".widget"
|
||||||
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path
|
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget ' + ${hide}"
|
th:class="'card widget ' + ${sidebar.hide}"
|
||||||
th:with="num = ${#strings.isEmpty(theme.config.sidebar.categories_num)? 10 : T(java.lang.Integer).parseInt(theme.config.sidebar.categories_num)},
|
th:with="num = ${#strings.isEmpty(theme.config.sidebar.categories_num)? 10 : T(java.lang.Integer).parseInt(theme.config.sidebar.categories_num)},
|
||||||
categories = ${categoryFinder.listAsTree()},
|
categories = ${categoryFinder.listAsTree()},
|
||||||
isEmpty = ${#lists.isEmpty(categories)}">
|
isEmpty = ${#lists.isEmpty(categories)}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-apps-line card-title-label"></i><span>分类</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-apps-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '分类')}"></span>
|
||||||
<a th:if="${theme.config.sidebar.categories_more}" class="card-more" th:href="@{/categories}">更多<i
|
<a th:if="${theme.config.sidebar.categories_more}" class="card-more" th:href="@{/categories}">更多<i
|
||||||
class="ri-arrow-right-double-line"></i></a>
|
class="ri-arrow-right-double-line"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
8
templates/widget/custom.html
Normal file
8
templates/widget/custom.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
|
th:fragment="widget (sidebar)"
|
||||||
|
th:class="'card widget ' + ${sidebar.hide}">
|
||||||
|
<div class="card-title" th:if="${!#strings.isEmpty(sidebar.title) && !#strings.isEmpty(sidebar.icon)}">
|
||||||
|
<i th:class="${sidebar.icon + ' card-title-label'}"></i><span th:text="${sidebar.title}"></span>
|
||||||
|
</div>
|
||||||
|
[(${sidebar.content})]
|
||||||
|
</div>
|
@ -1,8 +1,8 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget love brightness ' + ${hide}">
|
th:class="'card widget love brightness ' + ${sidebar.hide}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-heart-fill card-title-label"></i><span>恋爱墙</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-heart-fill') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '恋爱墙')}"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="love-content">
|
<div class="love-content">
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget music ' + ${hide}">
|
th:class="'card widget music ' + ${sidebar.hide}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-music-2-line card-title-label"></i><span>音乐</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-music-2-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '音乐')}"></span>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: 90px;margin-top: -0.5rem;">
|
<div style="min-height: 90px;margin-top: -0.5rem;">
|
||||||
<meting-js th:if="${theme.config.sidebar.music_mode == 'playlist'}" list-folded="true" server="netease"
|
<meting-js th:if="${theme.config.sidebar.music_mode == 'playlist'}" list-folded="true" server="netease"
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget notice ' + ${hide} + ' is-hidden-all'">
|
th:class="'card widget notice ' + ${sidebar.hide} + ' is-hidden-all'">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-volume-up-line card-title-label"></i><span>公告</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-volume-up-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '公告')}"></span>
|
||||||
</div>
|
</div>
|
||||||
|
<th:block th:if="${#strings.isEmpty(sidebar.content)}">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div th:utext="${#strings.isEmpty(theme.config.sidebar.notice_content)? '<p>  欢迎来访' + site.title + ',博主还没有发布任何公告!</p>' : theme.config.sidebar.notice_content}"></div>
|
<p>  欢迎来访[[${site.title}]],博主还没有发布任何公告!</p>
|
||||||
</div>
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${!#strings.isEmpty(sidebar.content)}">
|
||||||
|
[(${sidebar.content})]
|
||||||
|
</th:block>
|
||||||
</div>
|
</div>
|
@ -1,6 +1,6 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget profile ' + ${hide}">
|
th:class="'card widget profile ' + ${sidebar.hide}">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<nav class="level">
|
<nav class="level">
|
||||||
<div class="level-item" style="flex-direction: column;">
|
<div class="level-item" style="flex-direction: column;">
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget recent-comments ' + ${hide}"
|
th:class="'card widget recent-comments ' + ${sidebar.hide}"
|
||||||
th:with="num = ${#strings.isEmpty(theme.config.sidebar.recent_comments_num)? 5 : T(java.lang.Integer).parseInt(theme.config.sidebar.recent_comments_num)}, comments = ${commentFinder.list(null,1,num)}, isEmpty = ${#lists.isEmpty(comments)}">
|
th:with="num = ${#strings.isEmpty(theme.config.sidebar.recent_comments_num)? 5 : T(java.lang.Integer).parseInt(theme.config.sidebar.recent_comments_num)}, comments = ${commentFinder.list(null,1,num)}, isEmpty = ${#lists.isEmpty(comments)}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-history-line card-title-label"></i><span>最新评论</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-message-2-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '最新评论')}"></span>
|
||||||
</div>
|
</div>
|
||||||
<div th:if="${isEmpty}" class="card-empty">暂无评论</div>
|
<div th:if="${isEmpty}" class="card-empty">暂无评论</div>
|
||||||
<div th:unless="${isEmpty}" class="card-content">
|
<div th:unless="${isEmpty}" class="card-content">
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget recent-posts ' + ${hide}"
|
th:class="'card widget recent-posts ' + ${sidebar.hide}"
|
||||||
th:with="num = ${#strings.isEmpty(theme.config.sidebar.recent_posts_num)? 5 : T(java.lang.Integer).parseInt(theme.config.sidebar.recent_posts_num)}, posts = ${postFinder.list(1,num)}, isEmpty = ${#lists.isEmpty(posts)}">
|
th:with="num = ${#strings.isEmpty(theme.config.sidebar.recent_posts_num)? 5 : T(java.lang.Integer).parseInt(theme.config.sidebar.recent_posts_num)}, posts = ${postFinder.list(1,num)}, isEmpty = ${#lists.isEmpty(posts)}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-history-line card-title-label"></i><span>最新文章</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-history-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '最新文章')}"></span>
|
||||||
<a th:if="${theme.config.sidebar.recent_posts_more}" class="card-more" th:href="@{/archives}">更多<i class="ri-arrow-right-double-line"></i></a>
|
<a th:if="${theme.config.sidebar.recent_posts_more}" class="card-more" th:href="@{/archives}">更多<i class="ri-arrow-right-double-line"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div th:if="${isEmpty}" class="card-empty">暂无文章</div>
|
<div th:if="${isEmpty}" class="card-empty">暂无文章</div>
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget tagcloud ' + ${hide}"
|
th:class="'card widget tagcloud ' + ${sidebar.hide}"
|
||||||
th:with="num = ${#strings.isEmpty(theme.config.sidebar.tags_num)? 32 : T(java.lang.Integer).parseInt(theme.config.sidebar.tags_num)},
|
th:with="num = ${#strings.isEmpty(theme.config.sidebar.tags_num)? 32 : T(java.lang.Integer).parseInt(theme.config.sidebar.tags_num)},
|
||||||
tags = ${tagFinder.list(1,num)},
|
tags = ${tagFinder.list(1,num)},
|
||||||
isEmpty = ${#lists.isEmpty(tags)},
|
isEmpty = ${#lists.isEmpty(tags)},
|
||||||
enableTagsColor = ${theme.config.sidebar.enable_tagcloud_color},
|
enableTagsColor = ${theme.config.sidebar.enable_tagcloud_color}">
|
||||||
showTagCloudStyle = ${theme.config.sidebar.show_tagcloud_style}">
|
|
||||||
|
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-cloud-line card-title-label"></i><span>标签云</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-cloud-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '标签云')}"></span>
|
||||||
<a th:if="${theme.config.sidebar.tagcloud_more}" class="card-more" th:href="@{/tags}">更多<i class="ri-arrow-right-double-line"></i></a>
|
<a th:if="${theme.config.sidebar.tagcloud_more}" class="card-more" th:href="@{/tags}">更多<i class="ri-arrow-right-double-line"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div th:if="${isEmpty}" class="card-empty">暂无标签</div>
|
<div th:if="${isEmpty}" class="card-empty">暂无标签</div>
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget tags ' + ${hide}"
|
th:class="'card widget tags ' + ${sidebar.hide}"
|
||||||
th:with="num = ${#strings.isEmpty(theme.config.sidebar.tags_num)? 18 : T(java.lang.Integer).parseInt(theme.config.sidebar.tags_num)},
|
th:with="num = ${#strings.isEmpty(theme.config.sidebar.tags_num)? 18 : T(java.lang.Integer).parseInt(theme.config.sidebar.tags_num)},
|
||||||
tags = ${tagFinder.list(1,num)},
|
tags = ${tagFinder.list(1,num)},
|
||||||
isEmpty = ${#lists.isEmpty(tags)},
|
isEmpty = ${#lists.isEmpty(tags)},
|
||||||
enableTagsColor = ${theme.config.sidebar.enable_tag_color}">
|
enableTagsColor = ${theme.config.sidebar.enable_tag_color}">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-price-tag-3-line card-title-label"></i><span>标签</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-price-tag-3-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '标签')}"></span>
|
||||||
<a th:if="${theme.config.sidebar.tags_more}" class="card-more" th:href="@{/tags}">更多<i class="ri-arrow-right-double-line"></i></a>
|
<a th:if="${theme.config.sidebar.tags_more}" class="card-more" th:href="@{/tags}">更多<i class="ri-arrow-right-double-line"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div th:if="${isEmpty}" class="card-empty">暂无标签</div>
|
<div th:if="${isEmpty}" class="card-empty">暂无标签</div>
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget timelife ' + ${hide}">
|
th:class="'card widget timelife ' + ${sidebar.hide}">
|
||||||
|
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-hourglass-line card-title-label"></i>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-hourglass-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '人生倒计时')}"></span>
|
||||||
<span>人生倒计时</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card-content aside-timelife"></div>
|
<div class="card-content aside-timelife"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget toc ' + ${hide} + ' is-hidden-all'">
|
th:class="'card widget toc ' + ${sidebar.hide} + ' is-hidden-all'">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
<i class="ri-book-2-line card-title-label"></i><span>目录</span>
|
<i th:class="${#strings.defaultString(sidebar.icon, 'ri-book-2-line') + ' card-title-label'}"></i><span th:text="${#strings.defaultString(sidebar.title, '目录')}"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-content toc-content">
|
<div class="card-content toc-content">
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<div xmlns:th="https://www.thymeleaf.org"
|
<div xmlns:th="https://www.thymeleaf.org"
|
||||||
th:fragment="widget (hide)"
|
th:fragment="widget (sidebar)"
|
||||||
th:class="'card widget wechat ' + ${hide}"
|
th:class="'card widget wechat ' + ${sidebar.hide}"
|
||||||
th:with="faceImg = ${theme.config.sidebar.wechat.wechat_img_face},
|
th:with="faceImg = ${theme.config.sidebar.wechat.wechat_img_face},
|
||||||
backImg = ${theme.config.sidebar.wechat.wechat_img_back},
|
backImg = ${theme.config.sidebar.wechat.wechat_img_back},
|
||||||
wechatUrl = ${theme.config.sidebar.wechat.wechat_url}">
|
wechatUrl = ${theme.config.sidebar.wechat.wechat_url}">
|
||||||
|
@ -28,6 +28,6 @@ spec:
|
|||||||
settingName: theme-dream2-plus-setting
|
settingName: theme-dream2-plus-setting
|
||||||
configMapName: theme-dream2-plus-configMap
|
configMapName: theme-dream2-plus-configMap
|
||||||
# 版本号
|
# 版本号
|
||||||
version: 1.1.1
|
version: 1.2.0
|
||||||
# 最低支持的 Halo 版本
|
# 最低支持的 Halo 版本
|
||||||
require: ">=2.12.0"
|
require: ">=2.12.0"
|
Loading…
x
Reference in New Issue
Block a user