插件可自定义配置

v1.2.0
Bursteretion 2020-02-29 19:19:36 +08:00
parent 6380118ce1
commit 5d323f9d69
7 changed files with 197 additions and 82 deletions

View File

@ -20,4 +20,4 @@
1. 克隆或者[下载](https://codeload.github.com/imkundev/halo-theme-fantastic/zip/master)。 1. 克隆或者[下载](https://codeload.github.com/imkundev/halo-theme-fantastic/zip/master)。
2. 压缩为 zip 压缩包之后在后台的主题设置直接上传即可使用。 2. 压缩为 zip 压缩包之后在后台的主题设置直接上传即可使用。
3. 用Halo自还的程序拉取 `https://github.com/Bursteretion/halo-theme-fantastic_plus.git` 3. 用Halo自还的程序拉取 `https://github.com/imkundev/halo-theme-fantastic.git`

View File

@ -1,6 +1,7 @@
<#include "layout/layout.ftl"> <#include "layout/layout.ftl">
<#include "layout/common/article.ftl"> <#include "layout/common/article.ftl">
<@layout title="journals - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options.seo_description!}" canonical="${context!}/journals"> <@layout title="耳语 - ${options.blog_title!}" keywords="${options.seo_keywords!}" description="${options
.seo_description!}" canonical="${context!}/journals">
<div class="journals"> <div class="journals">
<#include "layout/journals/journals.ftl"/> <#include "layout/journals/journals.ftl"/>
</div> </div>

View File

@ -2,63 +2,70 @@
<div class="container"> <div class="container">
<div class="level"> <div class="level">
<div class="level-start has-text-centered-mobile"> <div class="level-start has-text-centered-mobile">
<#-- <a class="footer-logo is-block has-mb-6" href="${context!}">--> &nbsp;&nbsp;&nbsp;<@global.footer />
<#-- <#if options.blog_logo?? && options.blog_logo!=''>--> <#if settings.busuanzi!true>
<#-- <img src="${options.blog_logo!}" alt="${options.blog_title!}" height="28">--> <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
<#-- <#else>--> <br>
<#-- ${options.blog_title!}--> <span id="busuanzi_container_site_pv" style='display:none'>&nbsp;&nbsp;&nbsp; 总访问量 <span
<#-- </#if>--> id="busuanzi_value_site_pv"></span> 次 </span>
<#-- </a>--> <span id="busuanzi_container_site_uv" style='display:none'>| 总访客数 <span
id="busuanzi_value_site_uv"></span> 人 </span>
</#if>
<#if settings.bokejishi!true>
<p style="text-align: center; line-height: 20px;margin: 0">
我的博客已经运行&nbsp;&nbsp;<span id="clock"></span>&nbsp;&nbsp;啦!<br>
</p>
<script type="text/javascript">
/* 尾部定时 */
var int = self.setInterval("clock()", 1000);
&nbsp;&nbsp;&nbsp;<@global.footer /> function clock() {
var nowDay = new Date();
var localDay = new Date("${settings.time_start!}");
var time = parseInt((nowDay.getTime() - localDay.getTime()) / 1000);
var min = parseInt(time / 60);
var hour = parseInt(time / 60 / 60);
var day = parseInt(time / 60 / 60 / 24);
<!-- 不蒜子计数 --> var runTime = "0";
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> if (min == 0) {
<br> runTime = time + "秒";
<span id="busuanzi_container_site_pv" style='display:none'>&nbsp;&nbsp;&nbsp; 总访问量 <span id="busuanzi_value_site_pv"></span> 次 </span> } else if (hour == 0) {
<span id="busuanzi_container_site_uv" style='display:none'>| 总访客数 <span id="busuanzi_value_site_uv"></span> 人 </span> runTime = min + "分" + (time - min * 60) + "秒";
<p style="text-align: center; line-height: 20px;margin: 0"> } else if (day == 0) {
我的博客已经运行&nbsp;&nbsp;<span id="clock"></span>&nbsp;&nbsp;啦!<br> var mh = min - hour * 60;
</p><p style="text-align: center; line-height: 20px;margin: 0"> runTime = hour + "时" + mh + "分" + (time - hour * 3600 - mh * 60) + "秒"
<a href="http://beian.miit.gov.cn/" style="color: black;font-style: inherit;font-weight: inherit;">闽ICP备19016323号</a> } else {
</p><p style="text-align: center; line-height: 20px;margin: 0px 0px"> var hd = hour - day * 24;
Thanks for <a href="https://halo.run/" target="_blank" rel="nofollow">Halo</a>&nbsp;&nbsp;&nbsp;&&nbsp;&nbsp;&nbsp;<a href="//www.upyun.com" target="_blank" rel="nofollow"><img src="//www.upyun.com/static/90X45.png" width="56" height="28" style="margin: -5px 0px"></a> var mh = min - day * 24 * 60 - hd * 60;
</p> runTime = day + "天" + hd + "时" + mh + "分" + (time - day * 24 * 3600 - hd * 3600 - mh * 60) + "秒";
<!-- <script type="text/javascript" }
color="47,135,193" opacity='0.8' zIndex="-2" count="100" src="//cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js">
</script> -->
<!-- 定时 -->
<script type="text/javascript">
/* 尾部定时 */
var int = self.setInterval("clock()", 1000);
function clock()
{
var nowDay = new Date();
var localDay = new Date("2019-08-10 00:00:00");
var time = parseInt((nowDay.getTime()-localDay.getTime())/1000);
var min = parseInt(time/60);
var hour = parseInt(time/60/60);
var day = parseInt(time/60/60/24);
var runTime = "0"; document.getElementById('clock').innerHTML = runTime;
if(min == 0) { }
runTime = time + "秒"; </script>
} else if(hour == 0) { </#if>
runTime = min + "分" + (time-min*60) + "秒"; <#if settings.social_beian?? && settings.social_beian!=''>
} else if(day == 0) { <p style="text-align: center; line-height: 20px;margin: 0">
var mh = min-hour*60; <a href="http://beian.miit.gov.cn/"
runTime = hour + "时" + mh + "分" + (time-hour*3600-mh*60) + "秒" style="color: black;font-style: inherit;font-weight: inherit;">${settings.social_beian!}</a>
} else { </p>
var hd = hour - day*24; </#if>
var mh = min - day*24*60 - hd*60; <#if settings.social_free?? && settings.social_free!=''>
runTime = day + "天" + hd + "时" + mh + "分" + (time-day*24*3600-hd*3600-mh*60) + "秒"; ${settings.social_free!}
} </#if>
<#if settings.caidai!true>
document.getElementById('clock').innerHTML = runTime; <script src="https://www.lwjppz.cn/upload/2020/2/caidai-5e8e10ce0efc4886838a9ea8c5e1153a.js"></script>
} </#if>
</script> <#if settings.xiantiao!true>
<script src="https://www.lwjppz.cn/upload/2020/2/caidai-5e8e10ce0efc4886838a9ea8c5e1153a.js"></script> <script type="text/javascript"
<script src="https://www.lwjppz.cn/upload/2020/2/dianji-1a07321c18b640deafcb13f4cb635307.js"></script> color="47,135,193" opacity='0.8' zIndex="-2" count="100"
src="//cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js">
</script>
</#if>
<#if settings.dianji!true>
<script src="https://www.lwjppz.cn/upload/2020/2/dianji-1a07321c18b640deafcb13f4cb635307.js"></script>
</#if>
</p> </p>
</div> </div>
<div class="level-end"> <div class="level-end">

View File

@ -10,6 +10,17 @@
<#if settings.sidebar_profile!true> <#if settings.sidebar_profile!true>
<#include "../widget/profile.ftl"> <#include "../widget/profile.ftl">
</#if> </#if>
<#if settings.music!true>
<div class="card"
style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); padding: 5px; backgroud-color: white">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.js"></script>
<div id="aplayer" class="aplayer" data-id="${settings.music_id!}" data-server="netease"
data-type="playlist"
data-fixed="false" data-listfolded="true" data-order="list" data-theme="#F58EA8" style="width: 100%"></div>
<script src="https://unpkg.com/meting@1.2/dist/Meting.min.js"></script>
</div>
</#if>
<#if settings.sidebar_categories!true> <#if settings.sidebar_categories!true>
<#include "../widget/category.ftl"> <#include "../widget/category.ftl">
</#if> </#if>
@ -33,10 +44,6 @@
<#if settings.sidebar_recentcomment!true> <#if settings.sidebar_recentcomment!true>
<#include "../widget/recent_comments.ftl"> <#include "../widget/recent_comments.ftl">
</#if> </#if>
<#-- <#include "../widget/archive.ftl">-->
<#-- <#if settings.sidebar_tags!true>-->
<#-- <#include "../widget/tag.ftl">-->
<#-- </#if>-->
</#if> </#if>
<#if position == 'left'> <#if position == 'left'>
<div class="column-right-shadow is-hidden-widescreen is-6-fullhd "> <div class="column-right-shadow is-hidden-widescreen is-6-fullhd ">

View File

@ -51,11 +51,13 @@
padding: 0; padding: 0;
vertical-align: unset; vertical-align: unset;
} }
.tag { .tag {
font-size: 1em !important; font-size: 1em !important;
padding-right: 0 !important; padding-right: 0 !important;
padding-left: 0 !important; padding-left: 0 !important;
} }
.attr-name { .attr-name {
padding-left: 0.75em !important; padding-left: 0.75em !important;
} }
@ -85,7 +87,9 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.5/css/swiper.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.5/css/swiper.min.css">
</#if> </#if>
<script src="https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script> <#if settings.kanbanniang!true>
<script src="https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>
</#if>
</head> </head>
<body class="is-3-column"> <body class="is-3-column">
<@navbar 'page' /> <@navbar 'page' />
@ -134,7 +138,10 @@
<@categoryTag method="list"> <@categoryTag method="list">
<#list categories as category> <#list categories as category>
<#if category_index <= 4> <#if category_index <= 4>
<li><a href="${context!}/categories/${category.slugName!}" style="text-transform:capitalize">${category.name}</a></li> <li>
<a href="${context!}/categories/${category.slugName!}"
style="text-transform:capitalize">${category.name}</a>
</li>
</#if> </#if>
</#list> </#list>
</@categoryTag> </@categoryTag>

View File

@ -14,8 +14,9 @@ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);">
<p class="title is-3" style="text-align: center"> <p class="title is-3" style="text-align: center">
${user.nickname!} ${user.nickname!}
</p> </p>
<br> <br>
<p class="is-size-6 is-block" style="padding-left: 1em;text-align: center;font-size: 7px">${user.description!}</p> <p class="is-size-6 is-block"
style="padding-left: 1em;text-align: center;font-size: 7px">${user.description!}</p>
</div> </div>
</div> </div>
</#if> </#if>
@ -112,11 +113,4 @@ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1);">
</a> </a>
</div> </div>
</div> </div>
</div>
<div class="card" style="box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); padding: 5px; backgroud-color: white">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.js"></script>
<div id="aplayer" class="aplayer" data-id="4884303316" data-server="netease" data-type="playlist" data-fixed="false" data-listfolded="true" data-order="list" data-theme="#F58EA8" style="width: 100%"></div>
<script src="https://unpkg.com/meting@1.2/dist/Meting.min.js"></script>
</div> </div>

View File

@ -160,18 +160,8 @@ post:
label: 开启 label: 开启
- value: false - value: false
label: 关闭 label: 关闭
# code_pretty:
# name: code_pretty
# label: 文章代码高亮主题
# type: select
# default: light
# options:
# - value: Dark
# label: dark
# - value: light
# label: light
social: social:
label: 社交设置 label: 博客信息
items: items:
social_github: social_github:
name: social_github name: social_github
@ -208,6 +198,113 @@ social:
label: Telegram label: Telegram
type: text type: text
placeholder: 'Telegram 用户名' placeholder: 'Telegram 用户名'
social_beian:
name: social_beian
label: 备案号
type: text
placeholder: '备案号'
social_free:
name: social_free
label: 底部自定义
type: textarea
default: '<p style="text-align: center; line-height: 20px;margin: 0px 0px">
Thanks for <a href="https://halo.run/" target="_blank" rel="nofollow">Halo</a>&nbsp;&nbsp;&nbsp;&&nbsp;&nbsp;&nbsp;<a
href="//www.upyun.com" target="_blank" rel="nofollow"><img
src="//www.upyun.com/static/90X45.png" width="56" height="28" style="margin: -5px 0px"></a>
</p>'
plugins:
label: 插件
items:
music:
name: music
label: 音乐播放器
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
music_id:
name: music_id
label: 外链音乐Id (如果已开启音乐播放器, 此项必填)
type: text
default: ''
placeholder: '外链音乐Id'
kanbanniang:
name: kanbanniang
label: 看板娘
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
busuanzi:
name: busuanzi
label: 不蒜子计数
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
bokejishi:
name: bokejishi
label: 博客计时
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
time_start:
name: time_start
label: 开始时间 (如果已开启博客计时, 此项必填)
type: text
default: ''
placeholder: '形如2019-08-10 00:00:00格式'
caidai:
name: caidai
label: 背景彩带
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
xiantiao:
name: xiantiao
label: 背景线条
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
dianji:
name: dianji
label: 鼠标点击特效
type: radio
data-type: bool
default: false
options:
- value: true
label: 开启
- value: false
label: 关闭
custom_links: custom_links:
label: 自定义链接 label: 自定义链接
@ -233,3 +330,5 @@ custom_links:
<i class="fab fa-creative-commons-by title is-4"></i> <i class="fab fa-creative-commons-by title is-4"></i>
</a> </a>
</p>' </p>'