主题移植
This commit is contained in:
parent
02d7ea97fc
commit
3ee7cb0ee6
410
base/article.style.php
Normal file
410
base/article.style.php
Normal file
@ -0,0 +1,410 @@
|
||||
<?php
|
||||
?>
|
||||
<style type="text/css">
|
||||
/* 文章详情样式 */
|
||||
#articleContent h1::before, #articleContent h2::before, #articleContent h3::before, #articleContent h4::before, #articleContent h5::before, #articleContent h6::before {
|
||||
display: block;
|
||||
content: " ";
|
||||
height: 100px;
|
||||
margin-top: -100px;
|
||||
visibility: hidden
|
||||
}
|
||||
|
||||
#articleContent :focus {
|
||||
outline: 0
|
||||
}
|
||||
|
||||
.toc-fixed {
|
||||
position: fixed;
|
||||
top: 64px
|
||||
}
|
||||
|
||||
.toc-widget {
|
||||
width: 345px;
|
||||
padding-left: 20px
|
||||
}
|
||||
|
||||
.toc-widget .toc-title {
|
||||
margin: 35px 0 15px 0;
|
||||
padding-left: 17px;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.5rem
|
||||
}
|
||||
|
||||
.toc-widget ol {
|
||||
padding: 0;
|
||||
list-style: none
|
||||
}
|
||||
|
||||
#toc-content {
|
||||
height: calc(100vh - 250px);
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
#toc-content ol {
|
||||
padding-left: 10px
|
||||
}
|
||||
|
||||
#toc-content ol li {
|
||||
padding-left: 10px
|
||||
}
|
||||
|
||||
#toc-content .toc-link:hover {
|
||||
color: #42b983;
|
||||
font-weight: 700;
|
||||
text-decoration: underline
|
||||
}
|
||||
|
||||
#toc-content .toc-link::before {
|
||||
background-color: transparent;
|
||||
max-height: 25px
|
||||
}
|
||||
|
||||
#toc-content .is-active-link {
|
||||
color: #42b983
|
||||
}
|
||||
|
||||
#toc-content .is-active-link::before {
|
||||
background-color: #42b983
|
||||
}
|
||||
|
||||
#floating-toc-btn {
|
||||
position: fixed;
|
||||
right: 15px;
|
||||
bottom: 76px;
|
||||
padding-top: 15px;
|
||||
margin-bottom: 0;
|
||||
z-index: 998
|
||||
}
|
||||
|
||||
#floating-toc-btn .btn-floating {
|
||||
width: 48px;
|
||||
height: 48px
|
||||
}
|
||||
|
||||
#floating-toc-btn .btn-floating i {
|
||||
line-height: 48px;
|
||||
font-size: 1.4rem
|
||||
}
|
||||
|
||||
.valine-card {
|
||||
margin: 1.5rem auto
|
||||
}
|
||||
|
||||
.valine-card .card-content {
|
||||
padding: 20px 20px 5px 20px
|
||||
}
|
||||
|
||||
#vcomments textarea {
|
||||
box-sizing: border-box;
|
||||
background: url(<?php $this->options->themeUrl('static/medias/comment_bg.png'); ?>) 100% 100% no-repeat
|
||||
}
|
||||
|
||||
#vcomments p {
|
||||
margin: 2px 2px 10px;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.78rem
|
||||
}
|
||||
|
||||
#vcomments blockquote p {
|
||||
text-indent: .2rem
|
||||
}
|
||||
|
||||
#vcomments a {
|
||||
padding: 0 2px;
|
||||
color: #4cbf30;
|
||||
font-weight: 500;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
#vcomments img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
#vcomments ol li {
|
||||
list-style-type: decimal
|
||||
}
|
||||
|
||||
#vcomments ol, ul {
|
||||
display: block;
|
||||
padding-left: 2em;
|
||||
word-spacing: .05rem
|
||||
}
|
||||
|
||||
#vcomments ul li, ol li {
|
||||
display: list-item;
|
||||
line-height: 1.8rem;
|
||||
font-size: 1rem
|
||||
}
|
||||
|
||||
#vcomments ul li {
|
||||
list-style-type: disc
|
||||
}
|
||||
|
||||
#vcomments ul ul li {
|
||||
list-style-type: circle
|
||||
}
|
||||
|
||||
#vcomments table, td, th {
|
||||
padding: 12px 13px;
|
||||
border: 1px solid #dfe2e5
|
||||
}
|
||||
|
||||
#vcomments table, td, th {
|
||||
border: 0
|
||||
}
|
||||
|
||||
table tr:nth-child(2n), thead {
|
||||
background-color: #fafafa
|
||||
}
|
||||
|
||||
#vcomments table th {
|
||||
background-color: #f2f2f2;
|
||||
min-width: 80px
|
||||
}
|
||||
|
||||
#vcomments table td {
|
||||
min-width: 80px
|
||||
}
|
||||
|
||||
#vcomments h1 {
|
||||
font-size: 1.85rem;
|
||||
font-weight: 700;
|
||||
line-height: 2.2rem
|
||||
}
|
||||
|
||||
#vcomments h2 {
|
||||
font-size: 1.65rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.9rem
|
||||
}
|
||||
|
||||
#vcomments h3 {
|
||||
font-size: 1.45rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.7rem
|
||||
}
|
||||
|
||||
#vcomments h4 {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.5rem
|
||||
}
|
||||
|
||||
#vcomments h5 {
|
||||
font-size: 1.1rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.4rem
|
||||
}
|
||||
|
||||
#vcomments h6 {
|
||||
font-size: 1rem;
|
||||
line-height: 1.3rem
|
||||
}
|
||||
|
||||
#vcomments p {
|
||||
font-size: 1rem;
|
||||
line-height: 1.5rem
|
||||
}
|
||||
|
||||
#vcomments hr {
|
||||
margin: 12px 0;
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc
|
||||
}
|
||||
|
||||
#vcomments blockquote {
|
||||
margin: 15px 0;
|
||||
border-left: 5px solid #42b983;
|
||||
padding: 1rem .8rem .3rem .8rem;
|
||||
color: #666;
|
||||
background-color: rgba(66, 185, 131, .1)
|
||||
}
|
||||
|
||||
#vcomments pre {
|
||||
font-family: monospace, monospace;
|
||||
padding: 1.2em;
|
||||
margin: .5em 0;
|
||||
background: #272822;
|
||||
overflow: auto;
|
||||
border-radius: .3em;
|
||||
tab-size: 4
|
||||
}
|
||||
|
||||
#vcomments code {
|
||||
font-family: monospace, monospace;
|
||||
padding: 1px 3px;
|
||||
font-size: .92rem;
|
||||
color: #e96900;
|
||||
background-color: #f8f8f8;d
|
||||
border-radius: 2px
|
||||
}
|
||||
|
||||
#vcomments pre code {
|
||||
font-family: monospace, monospace;
|
||||
padding: 0;
|
||||
color: #e8eaf6;
|
||||
background-color: #272822
|
||||
}
|
||||
|
||||
#vcomments pre[class*=language-] {
|
||||
padding: 1.2em;
|
||||
margin: .5em 0
|
||||
}
|
||||
|
||||
#vcomments code[class*=language-], pre[class*=language-] {
|
||||
color: #e8eaf6
|
||||
}
|
||||
|
||||
#vcomments [type=checkbox]:not(:checked), [type=checkbox]:checked {
|
||||
position: inherit;
|
||||
margin-left: -1.3rem;
|
||||
margin-right: .4rem;
|
||||
margin-top: -1px;
|
||||
vertical-align: middle;
|
||||
left: unset;
|
||||
visibility: visible
|
||||
}
|
||||
|
||||
#vcomments b, strong {
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
#vcomments dfn {
|
||||
font-style: italic
|
||||
}
|
||||
|
||||
#vcomments small {
|
||||
font-size: 85%
|
||||
}
|
||||
|
||||
#vcomments cite {
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
#vcomments mark {
|
||||
background-color: #fcf8e3;
|
||||
padding: .2em
|
||||
}
|
||||
|
||||
#vcomments table, td, th {
|
||||
padding: 12px 13px;
|
||||
border: 1px solid #dfe2e5
|
||||
}
|
||||
|
||||
table tr:nth-child(2n), thead {
|
||||
background-color: #fafafa
|
||||
}
|
||||
|
||||
#vcomments table th {
|
||||
background-color: #f2f2f2;
|
||||
min-width: 80px
|
||||
}
|
||||
|
||||
#vcomments table td {
|
||||
min-width: 80px
|
||||
}
|
||||
|
||||
#vcomments [type=checkbox]:not(:checked), [type=checkbox]:checked {
|
||||
position: inherit;
|
||||
margin-left: -1.3rem;
|
||||
margin-right: .4rem;
|
||||
margin-top: -1px;
|
||||
vertical-align: middle;
|
||||
left: unset;
|
||||
visibility: visible
|
||||
}
|
||||
|
||||
#reward {
|
||||
margin: 40px 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
#reward .reward-link {
|
||||
font-size: 1.88rem
|
||||
}
|
||||
|
||||
#reward .btn-floating:hover {
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, .2), 0 5px 15px rgba(0, 0, 0, .2)
|
||||
}
|
||||
|
||||
#rewardModal {
|
||||
width: 320px;
|
||||
height: 350px
|
||||
}
|
||||
|
||||
#rewardModal .reward-title {
|
||||
margin: 15px auto;
|
||||
padding-bottom: 5px
|
||||
}
|
||||
|
||||
#rewardModal .modal-content {
|
||||
padding: 10px
|
||||
}
|
||||
|
||||
#rewardModal .close {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
top: 15px;
|
||||
color: rgba(0, 0, 0, .5);
|
||||
font-size: 1.3rem;
|
||||
line-height: 20px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
#rewardModal .close:hover {
|
||||
color: #ef5350;
|
||||
transform: scale(1.3);
|
||||
-moz-transform: scale(1.3);
|
||||
-webkit-transform: scale(1.3);
|
||||
-o-transform: scale(1.3)
|
||||
}
|
||||
|
||||
#rewardModal .reward-tabs {
|
||||
margin: 0 auto;
|
||||
width: 210px
|
||||
}
|
||||
|
||||
.reward-tabs .tabs {
|
||||
height: 38px;
|
||||
margin: 10px auto;
|
||||
padding-left: 0
|
||||
}
|
||||
|
||||
.reward-content ul {
|
||||
padding-left: 0 !important
|
||||
}
|
||||
|
||||
.reward-tabs .tabs .tab {
|
||||
height: 38px;
|
||||
line-height: 38px
|
||||
}
|
||||
|
||||
.reward-tabs .tab a {
|
||||
color: #fff;
|
||||
background-color: #ccc
|
||||
}
|
||||
|
||||
.reward-tabs .tab a:hover {
|
||||
background-color: #ccc;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.reward-tabs .wechat-tab .active {
|
||||
color: #fff !important;
|
||||
background-color: #22ab38 !important
|
||||
}
|
||||
|
||||
.reward-tabs .alipay-tab .active {
|
||||
color: #fff !important;
|
||||
background-color: #019fe8 !important
|
||||
}
|
||||
|
||||
.reward-tabs .reward-img {
|
||||
width: 210px;
|
||||
height: 210px
|
||||
}
|
||||
</style>
|
||||
106
base/footer.php
106
base/footer.php
@ -1,53 +1,55 @@
|
||||
<footer class="page-footer bg-color">
|
||||
<div class="container row center-align">
|
||||
<div class="col s12 m8 l8 copy-right">Copyright © <span id="year">年份</span> <a
|
||||
href="https://127.0.0.1" target="_blank">墨白</a> | Powered by <a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/" target="_blank">Picturebed</a>
|
||||
| Theme <a href="https://www.mobaijun.com/" target="_blank">MoBai</a><br> <i
|
||||
class="fas fa-chart-area"></i> 站点总字数: <span class="white-color">203</span> 字 <span
|
||||
id="busuanzi_container_site_pv">| <i class="far fa-eye"></i> 总访问量: <span
|
||||
id="busuanzi_value_site_pv" class="white-color"></span> 次 </span><span
|
||||
id="busuanzi_container_site_uv">| <i class="fas fa-users"></i> 总访问人数: <span
|
||||
id="busuanzi_value_site_uv" class="white-color"></span> 人</span><br><span
|
||||
id="sitetime">载入运行时间...</span>
|
||||
<script>function siteTime() {
|
||||
window.setTimeout("siteTime()", 1e3);
|
||||
var e = 36e5, t = 24 * e, n = new Date, o = "2019", i = n.getFullYear(), r = n.getMonth() + 1,
|
||||
a = n.getDate(), m = n.getHours(), l = n.getMinutes(), M = n.getSeconds(),
|
||||
d = Date.UTC(o, "12", "4", "23", "59", "59"), g = Date.UTC(i, r, a, m, l, M) - d,
|
||||
s = Math.floor(g / 31536e6), T = Math.floor(g / t - 365 * s),
|
||||
u = Math.floor((g - (365 * s + T) * t) / e),
|
||||
c = Math.floor((g - (365 * s + T) * t - u * e) / 6e4),
|
||||
f = Math.floor((g - (365 * s + T) * t - u * e - 6e4 * c) / 1e3);
|
||||
o == i ? (document.getElementById("year").innerHTML = i, document.getElementById("sitetime").innerHTML = "本站已安全运行 " + T + " 天 " + u + " 小时 " + c + " 分钟 " + f + " 秒") : (document.getElementById("year").innerHTML = o + " - " + i, document.getElementById("sitetime").innerHTML = "本站已安全运行 " + s + " 年 " + T + " 天 " + u + " 小时 " + c + " 分钟 " + f + " 秒")
|
||||
}
|
||||
<footer class="page-footer bg-color">
|
||||
<div class="container row center-align">
|
||||
<div class="col s12 m8 l8 copy-right">Copyright © <span id="year">年份</span> <a
|
||||
href="https://127.0.0.1" target="_blank">墨白</a> | Powered by <a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/" target="_blank">Picturebed</a>
|
||||
| Theme <a href="https://www.mobaijun.com/" target="_blank">MoBai</a><br> <i
|
||||
class="fas fa-chart-area"></i> 站点总字数: <span class="white-color">203</span> 字 <span
|
||||
id="busuanzi_container_site_pv">| <i class="far fa-eye"></i> 总访问量: <span
|
||||
id="busuanzi_value_site_pv" class="white-color"></span> 次 </span><span
|
||||
id="busuanzi_container_site_uv">| <i class="fas fa-users"></i> 总访问人数: <span
|
||||
id="busuanzi_value_site_uv" class="white-color"></span> 人</span><br><span
|
||||
id="sitetime">载入运行时间...</span>
|
||||
<script>function siteTime() {
|
||||
window.setTimeout("siteTime()", 1e3);
|
||||
var e = 36e5, t = 24 * e, n = new Date, o = "2019", i = n.getFullYear(), r = n.getMonth() + 1,
|
||||
a = n.getDate(), m = n.getHours(), l = n.getMinutes(), M = n.getSeconds(),
|
||||
d = Date.UTC(o, "12", "4", "23", "59", "59"), g = Date.UTC(i, r, a, m, l, M) - d,
|
||||
s = Math.floor(g / 31536e6), T = Math.floor(g / t - 365 * s),
|
||||
u = Math.floor((g - (365 * s + T) * t) / e),
|
||||
c = Math.floor((g - (365 * s + T) * t - u * e) / 6e4),
|
||||
f = Math.floor((g - (365 * s + T) * t - u * e - 6e4 * c) / 1e3);
|
||||
o == i ? (document.getElementById("year").innerHTML = i, document.getElementById("sitetime").innerHTML = "本站已安全运行 " + T + " 天 " + u + " 小时 " + c + " 分钟 " + f + " 秒") : (document.getElementById("year").innerHTML = o + " - " + i, document.getElementById("sitetime").innerHTML = "本站已安全运行 " + s + " 年 " + T + " 天 " + u + " 小时 " + c + " 分钟 " + f + " 秒")
|
||||
}
|
||||
|
||||
setInterval(siteTime, 1e3)</script>
|
||||
<br><span id="icp"><img src="/medias/icp.png" style="vertical-align:text-bottom"> <a
|
||||
href="https://beian.miit.gov.cn" target="_blank"></a></span>
|
||||
</div>
|
||||
<div class="col s12 m4 l4 social-link social-statis"><a href="https://github.com/mobaijun/hexo_blog_matery"
|
||||
class="tooltipped" target="_blank"
|
||||
data-tooltip="github: https://github.com/mobaijun/hexo_blog_matery"
|
||||
data-position="top"
|
||||
data-delay="50"><i class="fab fa-github-alt"></i> </a><a
|
||||
href="https://gitee.com/wang_lianjie/mobai_hexoBlog" class="tooltipped" target="_blank"
|
||||
data-tooltip="码云" data-position="top" data-delay="50"><i class="fab fa-gofore"></i> </a><a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/ziliaoxiazai.html" class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="java: https://wang_lianjie.gitee.io/mobai_images.gitee.io/ziliaoxiazai.html"
|
||||
data-position="top" data-delay="50"><i class="fab fa-studiovinari"></i> </a><a
|
||||
href="mailto:mobaijun8@163.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我"
|
||||
data-position="top" data-delay="50"><i class="fas fa-at"></i> </a><a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/about.jpg" class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="wechat: https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/about.jpg"
|
||||
data-position="top" data-delay="50"><i class="fab fa-weixin"></i> </a><a href="/atom.xml"
|
||||
class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="RSS 订阅"
|
||||
data-position="top"
|
||||
data-delay="50"><i
|
||||
class="fas fa-rss"></i></a></div>
|
||||
</div>
|
||||
</footer>
|
||||
setInterval(siteTime, 1e3)</script>
|
||||
<br><span id="icp"><img src="/medias/icp.png" style="vertical-align:text-bottom"> <a
|
||||
href="https://beian.miit.gov.cn" target="_blank"></a></span>
|
||||
</div>
|
||||
<div class="col s12 m4 l4 social-link social-statis"><a href="https://github.com/mobaijun/hexo_blog_matery"
|
||||
class="tooltipped" target="_blank"
|
||||
data-tooltip="github: https://github.com/mobaijun/hexo_blog_matery"
|
||||
data-position="top"
|
||||
data-delay="50"><i class="fab fa-github-alt"></i> </a><a
|
||||
href="https://gitee.com/wang_lianjie/mobai_hexoBlog" class="tooltipped" target="_blank"
|
||||
data-tooltip="码云" data-position="top" data-delay="50"><i class="fab fa-gofore"></i> </a><a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/ziliaoxiazai.html" class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="java: https://wang_lianjie.gitee.io/mobai_images.gitee.io/ziliaoxiazai.html"
|
||||
data-position="top" data-delay="50"><i class="fab fa-studiovinari"></i> </a><a
|
||||
href="mailto:mobaijun8@163.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我"
|
||||
data-position="top" data-delay="50"><i class="fas fa-at"></i> </a><a
|
||||
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/about.jpg" class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="wechat: https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/about.jpg"
|
||||
data-position="top" data-delay="50"><i class="fab fa-weixin"></i> </a><a href="/atom.xml"
|
||||
class="tooltipped"
|
||||
target="_blank"
|
||||
data-tooltip="RSS 订阅"
|
||||
data-position="top"
|
||||
data-delay="50"><i
|
||||
class="fas fa-rss"></i></a></div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
123
base/header.php
123
base/header.php
@ -41,67 +41,68 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit;
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/css/prism-line-numbers.css'); ?>"
|
||||
type="text/css">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/css/prism-tomorrow.css'); ?>" type="text/css">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/css/prism-line-numbers.css'); ?>"
|
||||
type="text/css">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/css/prism-line-numbers.css'); ?>" type="text/css">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/tocbot/tocbot.css'); ?>">
|
||||
<!-- 设置css -->
|
||||
<?php $this->need('base/style.php'); ?>
|
||||
<header class="navbar-fixed">
|
||||
<nav id="headNav" class="bg-color nav-transparent">
|
||||
<div id="navContainer" class="nav-wrapper container">
|
||||
<div class="brand-logo"><a href="/" class="waves-effect waves-light"><img src="/medias/logo.png"
|
||||
class="logo-img" alt="LOGO">
|
||||
<span class="logo-span"><?php $this->options->title(); ?></span></a></div>
|
||||
<a href="#"
|
||||
data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a>
|
||||
<ul class="right nav-menu">
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/" class="waves-effect waves-light"><i
|
||||
class="fas fa-home" style="zoom:.6"></i> <span>首页</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/tags" class="waves-effect waves-light"><i
|
||||
class="fas fa-tags" style="zoom:.6"></i> <span>标签</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/categories" class="waves-effect waves-light"><i
|
||||
class="fas fa-bookmark" style="zoom:.6"></i> <span>分类</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/archives" class="waves-effect waves-light"><i
|
||||
class="fas fa-archive" style="zoom:.6"></i> <span>归档</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/about" class="waves-effect waves-light"><i
|
||||
class="fas fa-user-circle" style="zoom:.6"></i> <span>关于</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/contact" class="waves-effect waves-light"><i
|
||||
class="fas fa-comments" style="zoom:.6"></i> <span>留言</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/friends" class="waves-effect waves-light"><i
|
||||
class="fas fa-address-book" style="zoom:.6"></i> <span>友链</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/navigate" class="waves-effect waves-light"><i
|
||||
class="fas fa-location-arrow" style="zoom:.6"></i> <span>导航</span></a></li>
|
||||
<li><a href="#searchModal" class="modal-trigger waves-effect waves-light"><i id="searchIcon"
|
||||
class="fas fa-search"
|
||||
title="搜索"
|
||||
style="zoom:.85"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="mobile-nav" class="side-nav sidenav">
|
||||
<div class="mobile-head bg-color"><img src="/medias/logo.png"
|
||||
class="logo-img circle responsive-img">
|
||||
<div class="logo-name">框架师</div>
|
||||
<div class="logo-desc">中南财经大学 | 金融管理 | 计算机应用</div>
|
||||
</div>
|
||||
<ul class="menu-list mobile-menu-list">
|
||||
<li class="m-nav-item"><a href="/" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-home"></i> 首页</a></li>
|
||||
<li class="m-nav-item"><a href="/tags" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-tags"></i> 标签</a></li>
|
||||
<li class="m-nav-item"><a href="/categories" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-bookmark"></i> 分类</a></li>
|
||||
<li class="m-nav-item"><a href="/archives" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-archive"></i> 归档</a></li>
|
||||
<li class="m-nav-item"><a href="/about" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-user-circle"></i> 关于</a></li>
|
||||
<li class="m-nav-item"><a href="/contact" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-comments"></i> 留言</a></li>
|
||||
<li class="m-nav-item"><a href="/friends" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-address-book"></i> 友链</a></li>
|
||||
<li class="m-nav-item"><a href="/navigate" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-location-arrow"></i> 导航</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
</head>
|
||||
<body>
|
||||
<header class="navbar-fixed">
|
||||
<nav id="headNav" class="bg-color nav-transparent">
|
||||
<div id="navContainer" class="nav-wrapper container">
|
||||
<div class="brand-logo"><a href="/" class="waves-effect waves-light"><img src="/medias/logo.png"
|
||||
class="logo-img" alt="LOGO">
|
||||
<span class="logo-span"><?php $this->options->title(); ?></span></a></div>
|
||||
<a href="#"
|
||||
data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a>
|
||||
<ul class="right nav-menu">
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/" class="waves-effect waves-light"><i
|
||||
class="fas fa-home" style="zoom:.6"></i> <span>首页</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/tags" class="waves-effect waves-light"><i
|
||||
class="fas fa-tags" style="zoom:.6"></i> <span>标签</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/categories" class="waves-effect waves-light"><i
|
||||
class="fas fa-bookmark" style="zoom:.6"></i> <span>分类</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/archives" class="waves-effect waves-light"><i
|
||||
class="fas fa-archive" style="zoom:.6"></i> <span>归档</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/about" class="waves-effect waves-light"><i
|
||||
class="fas fa-user-circle" style="zoom:.6"></i> <span>关于</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/contact" class="waves-effect waves-light"><i
|
||||
class="fas fa-comments" style="zoom:.6"></i> <span>留言</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/friends" class="waves-effect waves-light"><i
|
||||
class="fas fa-address-book" style="zoom:.6"></i> <span>友链</span></a></li>
|
||||
<li class="hide-on-med-and-down nav-item"><a href="/navigate" class="waves-effect waves-light"><i
|
||||
class="fas fa-location-arrow" style="zoom:.6"></i> <span>导航</span></a></li>
|
||||
<li><a href="#searchModal" class="modal-trigger waves-effect waves-light"><i id="searchIcon"
|
||||
class="fas fa-search"
|
||||
title="搜索"
|
||||
style="zoom:.85"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="mobile-nav" class="side-nav sidenav">
|
||||
<div class="mobile-head bg-color"><img src="/medias/logo.png"
|
||||
class="logo-img circle responsive-img">
|
||||
<div class="logo-name">框架师</div>
|
||||
<div class="logo-desc">中南财经大学 | 金融管理 | 计算机应用</div>
|
||||
</div>
|
||||
<ul class="menu-list mobile-menu-list">
|
||||
<li class="m-nav-item"><a href="/" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-home"></i> 首页</a></li>
|
||||
<li class="m-nav-item"><a href="/tags" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-tags"></i> 标签</a></li>
|
||||
<li class="m-nav-item"><a href="/categories" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-bookmark"></i> 分类</a></li>
|
||||
<li class="m-nav-item"><a href="/archives" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-archive"></i> 归档</a></li>
|
||||
<li class="m-nav-item"><a href="/about" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-user-circle"></i> 关于</a></li>
|
||||
<li class="m-nav-item"><a href="/contact" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-comments"></i> 留言</a></li>
|
||||
<li class="m-nav-item"><a href="/friends" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-address-book"></i> 友链</a></li>
|
||||
<li class="m-nav-item"><a href="/navigate" class="waves-effect waves-light"><i
|
||||
class="fa-fw fas fa-location-arrow"></i> 导航</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
@ -44,4 +44,21 @@
|
||||
pre[class*=language-] {
|
||||
white-space: pre !important
|
||||
}
|
||||
/*文章标签样式*/
|
||||
.article-tag a, .article-tags a {
|
||||
display: inline-block;
|
||||
height: 32px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: rgb(255, 255, 255) !important;
|
||||
line-height: 32px;
|
||||
padding: 0 12px;
|
||||
border-radius: 16px;
|
||||
background-color: #e4e4e4;
|
||||
margin-bottom: 5px;
|
||||
margin-right: 5px;
|
||||
|
||||
background-image: linear-gradient(to right,#4f5555 0,#4f5555 100%);
|
||||
opacity: .9;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,2 +1,68 @@
|
||||
<?php
|
||||
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
|
||||
|
||||
/**
|
||||
* 获取文章缩略图
|
||||
* 获取顺序: 自定义字段(thumb)> 文章第一张图片 > 系统图库
|
||||
* @param $obj
|
||||
* @return 获取文章头图
|
||||
*/
|
||||
function get_postthumb($obj) {
|
||||
|
||||
if(isset($obj->fields->thumb)){
|
||||
return $obj->fields->thumb;
|
||||
}
|
||||
|
||||
preg_match( "/<img[^>]+src\s*=\s*['\"]([^'\"]+)['\"][^>]*>/ ", $obj->content, $matches );
|
||||
if(isset($matches[1])){
|
||||
return $matches[1];
|
||||
}
|
||||
|
||||
preg_match( "/!\[(.*?)\]\((.*?)\)/ ", $obj->content, $matches );
|
||||
if(isset($matches[2])) {
|
||||
return$matches[2];
|
||||
}
|
||||
|
||||
$thumbPath = __DIR__ .'/static/medias/featureimages/';
|
||||
$files = scandir($thumbPath);
|
||||
$thumbs = [];
|
||||
for ($i = 0; $i < count($files); $i++) {
|
||||
if(is_file($thumbPath . $files[$i])){
|
||||
$thumbs[] = $files[$i];
|
||||
}
|
||||
}
|
||||
|
||||
return Helper::options()->themeUrl .'/static/medias/featureimages/'. $thumbs[rand(0, count($thumbs) - 1)];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $obj 对象
|
||||
* @return string 上一页url
|
||||
*/
|
||||
function getPrevPageLink($obj){
|
||||
ob_start();
|
||||
$obj->pagelink("prev", "prev");
|
||||
$pageLink = ob_get_contents();
|
||||
ob_end_clean();
|
||||
preg_match("/<a[^>]+href\s*=\s*['\"]([^'\"]+)['\"][^>]*>/", $pageLink, $matches);
|
||||
if(isset($matches[1])){
|
||||
return $matches[1];
|
||||
}
|
||||
return "#";
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $obj 对象
|
||||
* @return string 下一页url
|
||||
*/
|
||||
function getNextPageLink($obj){
|
||||
ob_start();
|
||||
$obj->pageLink("next", "next");
|
||||
$pageLink = ob_get_contents();
|
||||
ob_end_clean();
|
||||
preg_match("/<a[^>]+href\s*=\s*['\"]([^'\"]+)['\"][^>]*>/", $pageLink, $matches);
|
||||
if(isset($matches[1])){
|
||||
return $matches[1];
|
||||
}
|
||||
return "#";
|
||||
}
|
||||
314
post.php
Normal file
314
post.php
Normal file
@ -0,0 +1,314 @@
|
||||
<?php
|
||||
$this->need('base/header.php');
|
||||
$this->need('base/article.style.php');
|
||||
?>
|
||||
<div class="bg-cover pd-header post-cover" style="background-image:url(<?php echo get_postthumb($this); ?>)">
|
||||
<div class="container" style="right:0;left:0">
|
||||
<div class="row">
|
||||
<div class="col s12 m12 l12">
|
||||
<div class="brand">
|
||||
<div class="description center-align post-title"><?php $this->title() ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<main class="post-container content">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/tocbot/tocbot.css'); ?>">
|
||||
<div class="row">
|
||||
<div id="main-content" class="col s12 m12 l9">
|
||||
<div id="artDetail">
|
||||
<div class="card">
|
||||
<div class="card-content article-info">
|
||||
<div class="row tag-cate">
|
||||
<div class="col s7">
|
||||
<div class="article-tag">
|
||||
<?php $this->tags(' ', true, '暂无标签'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s5 right-align">
|
||||
<div class="post-cate"><i class="fas fa-bookmark fa-fw icon-category"></i>
|
||||
<?php $this->category(','); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="post-info">
|
||||
<div class="post-date info-break-policy"><i class="far fa-calendar-minus fa-fw"></i>发布日期:
|
||||
<?php $this->date(); ?>
|
||||
</div>
|
||||
<div class="post-date info-break-policy"><i class="far fa-calendar-check fa-fw"></i>更新日期:
|
||||
<?php _e(date('Y-m-d', $this->modified)) ;?>
|
||||
</div>
|
||||
<div class="info-break-policy"><i class="far fa-file-word fa-fw"></i>文章字数:
|
||||
75
|
||||
</div>
|
||||
<div class="info-break-policy"><i class="far fa-clock fa-fw"></i>阅读时长: 1 分
|
||||
</div>
|
||||
<div id="busuanzi_container_page_pv" class="info-break-policy"><i
|
||||
class="far fa-eye fa-fw"></i>阅读次数: <span
|
||||
id="busuanzi_value_page_pv"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="clearfix">
|
||||
<div class="card-content article-card-content">
|
||||
<div id="articleContent">
|
||||
<?php $this->content() ?>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="reprint" id="reprint-statement">
|
||||
<div class="reprint__author"><span class="reprint-meta" style="font-weight:700"><i
|
||||
class="fas fa-user">文章作者: </i></span><span class="reprint-info"><a
|
||||
href="<?php $this->author->permalink(); ?>"
|
||||
rel="external nofollow noreferrer"><?php $this->author(); ?></a></span></div>
|
||||
<div class="reprint__type"><span class="reprint-meta" style="font-weight:700"><i
|
||||
class="fas fa-link">文章链接: </i></span><span class="reprint-info"><a
|
||||
href="<?php $this->permalink() ?>"><?php $this->permalink() ?></a></span>
|
||||
</div>
|
||||
<div class="reprint__notice"><span class="reprint-meta" style="font-weight:700"><i
|
||||
class="fas fa-copyright">版权声明: </i></span><span class="reprint-info">本博客所有文章除特別声明外,均采用 <a
|
||||
href="https://creativecommons.org/licenses/by/4.0/deed.zh"
|
||||
rel="external nofollow noreferrer" target="_blank">CC BY 4.0</a> 许可协议。转载请注明来源 !</span></div>
|
||||
</div>
|
||||
<script async defer>document.addEventListener("copy", function (e) {
|
||||
let toastHTML = '<span>复制成功,请遵循本文的转载规则</span><button class="btn-flat toast-action" onclick="navToReprintStatement()" style="font-size: smaller">查看</a>';
|
||||
M.toast({html: toastHTML})
|
||||
});
|
||||
|
||||
function navToReprintStatement() {
|
||||
$("html, body").animate({scrollTop: $("#reprint-statement").offset().top - 80}, 800);
|
||||
}</script>
|
||||
<div class="tag_share" style="display:block">
|
||||
<div class="post-meta__tag-list" style="display:inline-block">
|
||||
<div class="article-tag"><a href="/tags/%E5%91%8A%E7%A4%BA/"><span
|
||||
class="chip bg-color">告示</span></a></div>
|
||||
</div>
|
||||
<div class="post_share"
|
||||
style="zoom:80%;width:fit-content;display:inline-block;float:right;margin:-.15rem 0">
|
||||
<link rel="stylesheet" type="text/css" href="<?php $this->options->themeUrl('static/share/css/share.min.css'); ?>">
|
||||
<div id="article-share">
|
||||
<div class="social-share"
|
||||
data-sites="twitter,facebook,google,qq,qzone,wechat,weibo,douban,linkedin"
|
||||
data-wechat-qrcode-helper="<p>微信扫一扫即可分享!</p>"></div>
|
||||
<script src="<?php $this->options->themeUrl('static/share/js/social-share.min.js'); ?>"></script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="reward"><a href="#rewardModal"
|
||||
class="reward-link modal-trigger btn-floating btn-large waves-effect waves-light red">赏</a>
|
||||
<div id="rewardModal" class="modal">
|
||||
<div class="modal-content"><a class="close modal-close"><i class="fa fa-close"></i></a>
|
||||
<h4 class="reward-title">请我喝罐冰阔乐!</h4>
|
||||
<div class="reward-content">
|
||||
<div class="reward-tabs">
|
||||
<ul class="tabs row">
|
||||
<li class="tab col s6 alipay-tab waves-effect waves-light"><a
|
||||
href="#alipay">支付宝</a></li>
|
||||
<li class="tab col s6 wechat-tab waves-effect waves-light"><a
|
||||
href="#wechat">微 信</a></li>
|
||||
</ul>
|
||||
<div id="alipay"><img
|
||||
src="https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/zf/alipay.jpg"
|
||||
class="reward-img" alt="支付宝打赏二维码"></div>
|
||||
<div id="wechat"><img
|
||||
src="https://wang_lianjie.gitee.io/mobai_images.gitee.io/img/zf/wechat.jpg"
|
||||
class="reward-img" alt="微信打赏二维码"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>$(function () {
|
||||
$(".tabs").tabs()
|
||||
})</script>
|
||||
</div>
|
||||
</div>
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/gitalk/gitalk.css'); ?>">
|
||||
<link rel="stylesheet" href="<?php $this->options->themeUrl('static/css/my-gitalk.css'); ?>">
|
||||
<div class="card gitalk-card" data-aos="fade-up">
|
||||
<div class="comment_headling"
|
||||
style="font-size:20px;font-weight:700;position:relative;left:20px;top:15px;padding-bottom:5px">
|
||||
<i class="fas fa-comments fa-fw" aria-hidden="true"></i> <span>评论</span></div>
|
||||
<div id="gitalk-container" class="card-content"></div>
|
||||
</div>
|
||||
<script src="<?php $this->options->themeUrl('static/gitalk/gitalk.min.js'); ?>"></script>
|
||||
<script>let gitalk = new Gitalk({
|
||||
clientID: '',
|
||||
clientSecret: '',
|
||||
repo: '',
|
||||
owner: 'mobaijun',
|
||||
admin: ["mobaijun"],
|
||||
id: '2020-04-23T09-46-47',
|
||||
distractionFreeMode: false // Facebook-like distraction free mode
|
||||
});
|
||||
|
||||
gitalk.render('gitalk-container');</script>
|
||||
<div class="card valine-card" data-aos="fade-up">
|
||||
<div id="vcomments" class="card-content" style="display:grid"></div>
|
||||
</div>
|
||||
<script src="<?php $this->options->themeUrl('static/valine/av-min.js'); ?>"></script>
|
||||
<script src="<?php $this->options->themeUrl('static/valine/Valine.min.js'); ?>"></script>
|
||||
<script>new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "",
|
||||
appKey: "",
|
||||
notify: !1,
|
||||
verify: !1,
|
||||
visitor: !0,
|
||||
avatar: "monsterid",
|
||||
pageSize: "10",
|
||||
lang: "zh-cn",
|
||||
placeholder: "ヾノ≧∀≦)o来啊,快活啊!"
|
||||
})</script>
|
||||
<article id="prenext-posts" class="prev-next articles">
|
||||
<div class="row article-row">
|
||||
<div class="article col s12 m6" data-aos="fade-up" data-aos="fade-up">
|
||||
<div class="article-badge left-badge text-color"><i class="far fa-dot-circle"></i> 本篇
|
||||
</div>
|
||||
<div class="card"><a href="/posts/3274106043.html">
|
||||
<div class="card-image"><img src="/medias/featureimages/5.jpg"
|
||||
class="responsive-img"
|
||||
alt="博客地址更换为https://www.mobaijun.com"> <span
|
||||
class="card-title">博客地址更换为https://www.mobaijun.com</span></div>
|
||||
</a>
|
||||
<div class="card-content article-content">
|
||||
<div class="summary block-with-text">
|
||||
博客地址已经更换,请大家奔走相告新地址为:https://www.mobaijun.com
|
||||
document.querySelectorAll('.github-emoji') .forEach(el
|
||||
</div>
|
||||
<div class="publish-info"><span class="publish-date"><i
|
||||
class="far fa-clock fa-fw icon-date"></i>2020-04-23 </span><span
|
||||
class="publish-author"><i
|
||||
class="fas fa-bookmark fa-fw icon-category"></i> <a
|
||||
href="/categories/%E5%8D%9A%E5%AE%A2/"
|
||||
class="post-category">博客</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-action article-tags"><a href="/tags/%E5%91%8A%E7%A4%BA/"><span
|
||||
class="chip bg-color">告示</span></a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="article col s12 m6" data-aos="fade-up">
|
||||
<div class="article-badge right-badge text-color">下一篇 <i
|
||||
class="fas fa-chevron-right"></i></div>
|
||||
<div class="card"><a href="/posts/hello-world.html">
|
||||
<div class="card-image"><img src="/medias/featureimages/7.jpg"
|
||||
class="responsive-img"
|
||||
alt="Hello World"> <span
|
||||
class="card-title">Hello World</span></div>
|
||||
</a>
|
||||
<div class="card-content article-content">
|
||||
<div class="summary block-with-text">
|
||||
生活就是,只有勇于攀登才能创造辉煌;生活就是创新,只有与时俱进才能跟上时代;生活就是付出,只有吃苦流汗才能实现理想;生活就是享受,只有品尝人生才能感知生活的快乐。
|
||||
</div>
|
||||
<div class="publish-info"><span class="publish-date"><i
|
||||
class="far fa-clock fa-fw icon-date"></i>2019-12-06 </span><span
|
||||
class="publish-author"><i
|
||||
class="fas fa-bookmark fa-fw icon-category"></i> <a
|
||||
href="/categories/%E9%9A%8F%E7%AC%94/"
|
||||
class="post-category">随笔</a></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-action article-tags"><a href="/tags/%E5%85%B6%E4%BB%96/"><span
|
||||
class="chip bg-color">其他</span></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
<script>$("#articleContent").on("copy", function (e) {
|
||||
var n, t, o, i;
|
||||
void 0 !== window.getSelection && (("" + (n = window.getSelection())).length < Number.parseInt("120") || (t = document.getElementsByTagName("body")[0], (o = document.createElement("div")).style.position = "absolute", o.style.left = "-99999px", t.appendChild(o), o.appendChild(n.getRangeAt(0).cloneContents()), "PRE" === n.getRangeAt(0).commonAncestorContainer.nodeName && (o.innerHTML = "<pre>" + o.innerHTML + "</pre>"), i = document.location.href, o.innerHTML += '<br />来源: 框架师<br />文章作者: 墨白<br />文章链接: <a href="' + i + '">' + i + "</a><br />本文章著作权归墨白所有,任何形式的转载都请注明出处。", n.selectAllChildren(o), window.setTimeout(function () {
|
||||
t.removeChild(o)
|
||||
}, 200)))
|
||||
})</script>
|
||||
<script type="text/javascript" src="<?php $this->options->themeUrl('static/codeBlock/codeBlockFuction.js'); ?>"></script>
|
||||
<script type="text/javascript" src="<?php $this->options->themeUrl('static/codeBlock/codeLang.js'); ?>"></script>
|
||||
<script type="text/javascript" src="<?php $this->options->themeUrl('static/codeBlock/codeCopy.js'); ?>"></script>
|
||||
<script type="text/javascript" src="<?php $this->options->themeUrl('static/codeBlock/codeShrink.js'); ?>"></script>
|
||||
</div>
|
||||
<div id="toc-aside" class="expanded col l3 hide-on-med-and-down">
|
||||
<div class="toc-widget">
|
||||
<div class="toc-title"><i class="far fa-list-alt"></i> 目录</div>
|
||||
<div id="toc-content"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="floating-toc-btn" class="hide-on-med-and-down"><a class="btn-floating btn-large bg-color"><i
|
||||
class="fas fa-list-ul"></i></a></div>
|
||||
<script src="<?php $this->options->themeUrl('static/tocbot/tocbot.min.js'); ?>"></script>
|
||||
<script>$(function () {
|
||||
tocbot.init({
|
||||
tocSelector: '#toc-content',
|
||||
contentSelector: '#articleContent',
|
||||
headingsOffset: -($(window).height() * 0.4 - 45),
|
||||
collapseDepth: Number('0'),
|
||||
headingSelector: 'h1, h2, h3, h4, h5'
|
||||
});
|
||||
|
||||
// modify the toc link href to support Chinese.
|
||||
let i = 0;
|
||||
let tocHeading = 'toc-heading-';
|
||||
$('#toc-content a').each(function () {
|
||||
$(this).attr('href', '#' + tocHeading + (++i));
|
||||
});
|
||||
|
||||
// modify the heading title id to support Chinese.
|
||||
i = 0;
|
||||
$('#articleContent').children('h1, h2, h3, h4, h5').each(function () {
|
||||
$(this).attr('id', tocHeading + (++i));
|
||||
});
|
||||
|
||||
// Set scroll toc fixed.
|
||||
let tocHeight = parseInt($(window).height() * 0.4 - 64);
|
||||
let $tocWidget = $('.toc-widget');
|
||||
$(window).scroll(function () {
|
||||
let scroll = $(window).scrollTop();
|
||||
/* add post toc fixed. */
|
||||
if (scroll > tocHeight) {
|
||||
$tocWidget.addClass('toc-fixed');
|
||||
} else {
|
||||
$tocWidget.removeClass('toc-fixed');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* 修复文章卡片 div 的宽度. */
|
||||
let fixPostCardWidth = function (srcId, targetId) {
|
||||
let srcDiv = $('#' + srcId);
|
||||
if (srcDiv.length === 0) {
|
||||
return;
|
||||
}
|
||||
let w = srcDiv.width();
|
||||
if (w >= 450) {
|
||||
w = w + 21;
|
||||
} else if (w >= 350 && w < 450) {
|
||||
w = w + 18;
|
||||
} else if (w >= 300 && w < 350) {
|
||||
w = w + 16;
|
||||
} else {
|
||||
w = w + 14;
|
||||
}
|
||||
$('#' + targetId).width(w);
|
||||
};
|
||||
|
||||
// 切换TOC目录展开收缩的相关操作.
|
||||
const expandedClass = 'expanded';
|
||||
let $tocAside = $('#toc-aside');
|
||||
let $mainContent = $('#main-content');
|
||||
$('#floating-toc-btn .btn-floating').click(function () {
|
||||
if ($tocAside.hasClass(expandedClass)) {
|
||||
$tocAside.removeClass(expandedClass).slideUp(500);
|
||||
$mainContent.removeClass('l9');
|
||||
} else {
|
||||
$tocAside.addClass(expandedClass).slideDown(500);
|
||||
$mainContent.addClass('l9');
|
||||
}
|
||||
fixPostCardWidth('artDetail', 'prenext-posts');
|
||||
});
|
||||
|
||||
});</script>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
$this->need('base/footer.php');
|
||||
?>
|
||||
33
static/js/anime.min.js
vendored
Normal file
33
static/js/anime.min.js
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
2017 Julian Garnier
|
||||
Released under the MIT license
|
||||
*/
|
||||
var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
|
||||
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++};
|
||||
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return r<e.length?{done:!1,value:e[r++]}:{done:!0}})};
|
||||
$jscomp.iteratorPrototype=function(e){$jscomp.initSymbolIterator();e={next:e};e[$jscomp.global.Symbol.iterator]=function(){return this};return e};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(e,r){$jscomp.initSymbolIterator();e instanceof String&&(e+="");var p=0,m={next:function(){if(p<e.length){var u=p++;return{value:r(u,e[u]),done:!1}}m.next=function(){return{done:!0,value:void 0}};return m.next()}};m[Symbol.iterator]=function(){return m};return m};
|
||||
$jscomp.polyfill=function(e,r,p,m){if(r){p=$jscomp.global;e=e.split(".");for(m=0;m<e.length-1;m++){var u=e[m];u in p||(p[u]={});p=p[u]}e=e[e.length-1];m=p[e];r=r(m);r!=m&&null!=r&&$jscomp.defineProperty(p,e,{configurable:!0,writable:!0,value:r})}};$jscomp.polyfill("Array.prototype.keys",function(e){return e?e:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6-impl","es3");var $jscomp$this=this;
|
||||
(function(e,r){"function"===typeof define&&define.amd?define([],r):"object"===typeof module&&module.exports?module.exports=r():e.anime=r()})(this,function(){function e(a){if(!h.col(a))try{return document.querySelectorAll(a)}catch(c){}}function r(a,c){for(var d=a.length,b=2<=arguments.length?arguments[1]:void 0,f=[],n=0;n<d;n++)if(n in a){var k=a[n];c.call(b,k,n,a)&&f.push(k)}return f}function p(a){return a.reduce(function(a,d){return a.concat(h.arr(d)?p(d):d)},[])}function m(a){if(h.arr(a))return a;
|
||||
h.str(a)&&(a=e(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function u(a,c){return a.some(function(a){return a===c})}function C(a){var c={},d;for(d in a)c[d]=a[d];return c}function D(a,c){var d=C(a),b;for(b in a)d[b]=c.hasOwnProperty(b)?c[b]:a[b];return d}function z(a,c){var d=C(a),b;for(b in c)d[b]=h.und(a[b])?c[b]:a[b];return d}function T(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,k){return c+c+d+d+k+k});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
|
||||
a=parseInt(c[1],16);var d=parseInt(c[2],16),c=parseInt(c[3],16);return"rgba("+a+","+d+","+c+",1)"}function U(a){function c(a,c,b){0>b&&(b+=1);1<b&&--b;return b<1/6?a+6*(c-a)*b:.5>b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return"rgba("+
|
||||
255*f+","+255*b+","+255*a+","+d+")"}function y(a){if(a=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1<a.indexOf("translate")||"perspective"===a)return"px";if(-1<a.indexOf("rotate")||-1<a.indexOf("skew"))return"deg"}function I(a,c){return h.fnc(a)?a(c.target,c.id,c.total):a}function E(a,c){if(c in a.style)return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function J(a,c){if(h.dom(a)&&
|
||||
u(W,c))return"transform";if(h.dom(a)&&(a.getAttribute(c)||h.svg(a)&&a[c]))return"attribute";if(h.dom(a)&&"transform"!==c&&E(a,c))return"css";if(null!=a[c])return"object"}function X(a,c){var d=V(c),d=-1<c.indexOf("scale")?1:0+d;a=a.style.transform;if(!a)return d;for(var b=[],f=[],n=[],k=/(\w+)\((.+?)\)/g;b=k.exec(a);)f.push(b[1]),n.push(b[2]);a=r(n,function(a,b){return f[b]===c});return a.length?a[0]:d}function K(a,c){switch(J(a,c)){case "transform":return X(a,c);case "css":return E(a,c);case "attribute":return a.getAttribute(c)}return a[c]||
|
||||
0}function L(a,c){var d=/^(\*=|\+=|-=)/.exec(a);if(!d)return a;var b=y(a)||0;c=parseFloat(c);a=parseFloat(a.replace(d[0],""));switch(d[0][0]){case "+":return c+a+b;case "-":return c-a+b;case "*":return c*a+b}}function F(a,c){return Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2))}function M(a){a=a.points;for(var c=0,d,b=0;b<a.numberOfItems;b++){var f=a.getItem(b);0<b&&(c+=F(d,f));d=f}return c}function N(a){if(a.getTotalLength)return a.getTotalLength();switch(a.tagName.toLowerCase()){case "circle":return 2*
|
||||
Math.PI*a.getAttribute("r");case "rect":return 2*a.getAttribute("width")+2*a.getAttribute("height");case "line":return F({x:a.getAttribute("x1"),y:a.getAttribute("y1")},{x:a.getAttribute("x2"),y:a.getAttribute("y2")});case "polyline":return M(a);case "polygon":var c=a.points;return M(a)+F(c.getItem(c.numberOfItems-1),c.getItem(0))}}function Y(a,c){function d(b){b=void 0===b?0:b;return a.el.getPointAtLength(1<=c+b?c+b:0)}var b=d(),f=d(-1),n=d(1);switch(a.property){case "x":return b.x;case "y":return b.y;
|
||||
case "angle":return 180*Math.atan2(n.y-f.y,n.x-f.x)/Math.PI}}function O(a,c){var d=/-?\d*\.?\d+/g,b;b=h.pth(a)?a.totalLength:a;if(h.col(b))if(h.rgb(b)){var f=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b=f?"rgba("+f[1]+",1)":b}else b=h.hex(b)?T(b):h.hsl(b)?U(b):void 0;else f=(f=y(b))?b.substr(0,b.length-f.length):b,b=c&&!/\s/g.test(b)?f+c:f;b+="";return{original:b,numbers:b.match(d)?b.match(d).map(Number):[0],strings:h.str(a)||c?b.split(d):[]}}function P(a){a=a?p(h.arr(a)?a.map(m):m(a)):[];return r(a,
|
||||
function(a,d,b){return b.indexOf(a)===d})}function Z(a){var c=P(a);return c.map(function(a,b){return{target:a,id:b,total:c.length}})}function aa(a,c){var d=C(c);if(h.arr(a)){var b=a.length;2!==b||h.obj(a[0])?h.fnc(c.duration)||(d.duration=c.duration/b):a={value:a}}return m(a).map(function(a,b){b=b?0:c.delay;a=h.obj(a)&&!h.pth(a)?a:{value:a};h.und(a.delay)&&(a.delay=b);return a}).map(function(a){return z(a,d)})}function ba(a,c){var d={},b;for(b in a){var f=I(a[b],c);h.arr(f)&&(f=f.map(function(a){return I(a,
|
||||
c)}),1===f.length&&(f=f[0]));d[b]=f}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay);return d}function ca(a){return h.arr(a)?A.apply(this,a):Q[a]}function da(a,c){var d;return a.tweens.map(function(b){b=ba(b,c);var f=b.value,e=K(c.target,a.name),k=d?d.to.original:e,k=h.arr(f)?f[0]:k,w=L(h.arr(f)?f[1]:f,k),e=y(w)||y(k)||y(e);b.from=O(k,e);b.to=O(w,e);b.start=d?d.end:a.offset;b.end=b.start+b.delay+b.duration;b.easing=ca(b.easing);b.elasticity=(1E3-Math.min(Math.max(b.elasticity,1),999))/
|
||||
1E3;b.isPath=h.pth(f);b.isColor=h.col(b.from.original);b.isColor&&(b.round=1);return d=b})}function ea(a,c){return r(p(a.map(function(a){return c.map(function(b){var c=J(a.target,b.name);if(c){var d=da(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})),function(a){return!h.und(a)})}function R(a,c,d,b){var f="delay"===a;return c.length?(f?Math.min:Math.max).apply(Math,c.map(function(b){return b[a]})):f?b.delay:d.offset+b.delay+
|
||||
b.duration}function fa(a){var c=D(ga,a),d=D(S,a),b=Z(a.targets),f=[],e=z(c,d),k;for(k in a)e.hasOwnProperty(k)||"targets"===k||f.push({name:k,offset:e.offset,tweens:aa(a[k],d)});a=ea(b,f);return z(c,{children:[],animatables:b,animations:a,duration:R("duration",a,c,d),delay:R("delay",a,c,d)})}function q(a){function c(){return window.Promise&&new Promise(function(a){return p=a})}function d(a){return g.reversed?g.duration-a:a}function b(a){for(var b=0,c={},d=g.animations,f=d.length;b<f;){var e=d[b],
|
||||
k=e.animatable,h=e.tweens,n=h.length-1,l=h[n];n&&(l=r(h,function(b){return a<b.end})[0]||l);for(var h=Math.min(Math.max(a-l.start-l.delay,0),l.duration)/l.duration,w=isNaN(h)?1:l.easing(h,l.elasticity),h=l.to.strings,p=l.round,n=[],m=void 0,m=l.to.numbers.length,t=0;t<m;t++){var x=void 0,x=l.to.numbers[t],q=l.from.numbers[t],x=l.isPath?Y(l.value,w*x):q+w*(x-q);p&&(l.isColor&&2<t||(x=Math.round(x*p)/p));n.push(x)}if(l=h.length)for(m=h[0],w=0;w<l;w++)p=h[w+1],t=n[w],isNaN(t)||(m=p?m+(t+p):m+(t+" "));
|
||||
else m=n[0];ha[e.type](k.target,e.property,m,c,k.id);e.currentValue=m;b++}if(b=Object.keys(c).length)for(d=0;d<b;d++)H||(H=E(document.body,"transform")?"transform":"-webkit-transform"),g.animatables[d].target.style[H]=c[d].join(" ");g.currentTime=a;g.progress=a/g.duration*100}function f(a){if(g[a])g[a](g)}function e(){g.remaining&&!0!==g.remaining&&g.remaining--}function k(a){var k=g.duration,n=g.offset,w=n+g.delay,r=g.currentTime,x=g.reversed,q=d(a);if(g.children.length){var u=g.children,v=u.length;
|
||||
if(q>=g.currentTime)for(var G=0;G<v;G++)u[G].seek(q);else for(;v--;)u[v].seek(q)}if(q>=w||!k)g.began||(g.began=!0,f("begin")),f("run");if(q>n&&q<k)b(q);else if(q<=n&&0!==r&&(b(0),x&&e()),q>=k&&r!==k||!k)b(k),x||e();f("update");a>=k&&(g.remaining?(t=h,"alternate"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f("complete"),"Promise"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime=
|
||||
0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed="reverse"===a;g.remaining="alternate"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1<a&&v.splice(a,1);g.paused=!0};g.play=function(){g.paused&&(g.paused=!1,t=0,l=d(g.currentTime),v.push(g),B||ia())};g.reverse=function(){g.reversed=!g.reversed;t=0;l=d(g.currentTime)};g.restart=function(){g.pause();
|
||||
g.reset();g.play()};g.finished=m;g.reset();g.autoplay&&g.play();return g}var ga={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},S={duration:1E3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},W="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),H,h={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf("Object")},
|
||||
pth:function(a){return h.obj(a)&&a.hasOwnProperty("totalLength")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||h.svg(a)},str:function(a){return"string"===typeof a},fnc:function(a){return"function"===typeof a},und:function(a){return"undefined"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return h.hex(a)||h.rgb(a)||h.hsl(a)}},A=function(){function a(a,
|
||||
d,b){return(((1-3*b+3*d)*a+(3*b-6*d))*a+3*d)*a}return function(c,d,b,f){if(0<=c&&1>=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0===
|
||||
n)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0<n?h=m:l=m;while(1e-7<Math.abs(n)&&10>++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,
|
||||
.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b["ease"+a.type+c[f]]=h.fnc(d)?
|
||||
d:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+"("+d+")")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;d<b;)v[d]&&v[d].tick(c),d++;a()}else cancelAnimationFrame(B),B=0}return a}();q.version="2.2.0";q.speed=1;q.running=v;q.remove=
|
||||
function(a){a=P(a);for(var c=v.length;c--;)for(var d=v[c],b=d.animations,f=b.length;f--;)u(a,b[f].animatable.target)&&(b.splice(f,1),b.length||d.pause())};q.getValue=K;q.path=function(a,c){var d=h.str(a)?e(a)[0]:a,b=c||100;return function(a){return{el:d,property:a,totalLength:N(d)*(b/100)}}};q.setDashoffset=function(a){var c=N(a);a.setAttribute("stroke-dasharray",c);return c};q.bezier=A;q.easings=Q;q.timeline=function(a){var c=q(a);c.pause();c.duration=0;c.add=function(d){c.children.forEach(function(a){a.began=
|
||||
!0;a.completed=!0});m(d).forEach(function(b){var d=z(b,D(S,a||{}));d.targets=d.targets||a.targets;b=c.duration;var e=d.offset;d.autoplay=!1;d.direction=c.direction;d.offset=h.und(e)?b:L(e,b);c.began=!0;c.completed=!0;c.seek(d.offset);d=q(d);d.began=!0;d.completed=!0;d.duration>b&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q});
|
||||
Loading…
Reference in New Issue
Block a user