主题移植

This commit is contained in:
luming 2022-02-03 22:53:54 +08:00
parent 02d7ea97fc
commit 3ee7cb0ee6
8 changed files with 1378 additions and 254 deletions

410
base/article.style.php Normal file
View 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>

View File

@ -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&nbsp;&copy; <span id="year">年份</span> <a
href="https://127.0.0.1" target="_blank">墨白</a> |&nbsp;Powered by&nbsp;<a
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/" target="_blank">Picturebed</a>
|&nbsp;Theme&nbsp;<a href="https://www.mobaijun.com/" target="_blank">MoBai</a><br>&nbsp;<i
class="fas fa-chart-area"></i>&nbsp;站点总字数:&nbsp;<span class="white-color">203</span>&nbsp; <span
id="busuanzi_container_site_pv">|&nbsp;<i class="far fa-eye"></i>&nbsp;总访问量:&nbsp;<span
id="busuanzi_value_site_pv" class="white-color"></span>&nbsp; </span><span
id="busuanzi_container_site_uv">|&nbsp;<i class="fas fa-users"></i>&nbsp;总访问人数:&nbsp;<span
id="busuanzi_value_site_uv" class="white-color"></span>&nbsp;</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&nbsp;&copy; <span id="year">年份</span> <a
href="https://127.0.0.1" target="_blank">墨白</a> |&nbsp;Powered by&nbsp;<a
href="https://wang_lianjie.gitee.io/mobai_images.gitee.io/" target="_blank">Picturebed</a>
|&nbsp;Theme&nbsp;<a href="https://www.mobaijun.com/" target="_blank">MoBai</a><br>&nbsp;<i
class="fas fa-chart-area"></i>&nbsp;站点总字数:&nbsp;<span class="white-color">203</span>&nbsp; <span
id="busuanzi_container_site_pv">|&nbsp;<i class="far fa-eye"></i>&nbsp;总访问量:&nbsp;<span
id="busuanzi_value_site_pv" class="white-color"></span>&nbsp; </span><span
id="busuanzi_container_site_uv">|&nbsp;<i class="fas fa-users"></i>&nbsp;总访问人数:&nbsp;<span
id="busuanzi_value_site_uv" class="white-color"></span>&nbsp;</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>

View File

@ -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>

View File

@ -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>

View File

@ -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 "#";
}

563
index.php

File diff suppressed because one or more lines are too long

314
post.php Normal file
View 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('&nbsp;', 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>发布日期:&nbsp;&nbsp;
<?php $this->date(); ?>
</div>
<div class="post-date info-break-policy"><i class="far fa-calendar-check fa-fw"></i>更新日期:&nbsp;&nbsp;
<?php _e(date('Y-m-d', $this->modified)) ;?>
</div>
<div class="info-break-policy"><i class="far fa-file-word fa-fw"></i>文章字数:&nbsp;&nbsp;
75
</div>
<div class="info-break-policy"><i class="far fa-clock fa-fw"></i>阅读时长:&nbsp;&nbsp; 1
</div>
<div id="busuanzi_container_page_pv" class="info-break-policy"><i
class="far fa-eye fa-fw"></i>阅读次数:&nbsp;&nbsp; <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>&nbsp;本篇
</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">下一篇&nbsp;<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>&nbsp;&nbsp;目录</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
View 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});