Compare commits

...

21 Commits
0.1 ... main

Author SHA1 Message Date
浪子 31838bf189 1.0.4
略微调整
2024-07-30 09:55:40 +08:00
浪子 eecbdb7a10 fix 强制换行 2024-07-18 08:49:36 +08:00
浪子 feaf42d751 1.0.3 2024-07-09 19:41:28 +08:00
浪子 5932a9ea2c 1.0.2 2024-07-09 18:54:56 +08:00
浪子 024750ffd9 fix code highlight 2024-07-09 11:14:46 +08:00
浪子 c097f8815d 1.0.2 2024-07-07 12:25:25 +08:00
浪子 d11da1106b fix 移动设备标题长
加入判断
2024-07-07 10:46:35 +08:00
浪子 d92847f23a change 版本号 2024-07-02 10:40:06 +08:00
浪子 57603382c3 Delete .gitattributes 2024-07-02 10:38:22 +08:00
浪子 01a12723ad fix 评论 2024-07-02 10:37:11 +08:00
浪子 8449fd35ca add代码高亮 2024-07-02 09:26:49 +08:00
浪子 b647b0cf80 修复 2024-07-02 09:07:08 +08:00
浪子 6fb0629c7a 全站字数 2024-07-02 09:03:24 +08:00
浪子 b16e40443b Update functions.php 2024-07-01 19:19:39 +08:00
浪子 c6aa7f6268 增加点设置 2024-07-01 19:17:06 +08:00
浪子 1525097b87 修改一下设置 2024-07-01 19:08:53 +08:00
浪子 8ed2e647a1 修复文章目录 2024-07-01 14:16:35 +08:00
浪子 5ab2179898 update 2024-07-01 10:34:53 +08:00
浪子 b97cf31d2e Update README.md 2024-07-01 10:17:21 +08:00
浪子 d8057c9fe5 thx 2024-07-01 10:12:00 +08:00
浪子 f2bb3ef9d7 版本0.2 2024-07-01 10:03:24 +08:00
26 changed files with 18280 additions and 640 deletions

2
.gitattributes vendored
View File

@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto

View File

@ -5,3 +5,19 @@
友情链接页面参考`hexo`主题`blank`配合插件`Links`使用 友情链接页面参考`hexo`主题`blank`配合插件`Links`使用
评论列表参考`wordpress`主题`farallon` 评论列表参考`wordpress`主题`farallon`
## 使用
更多SNS,按以下格式
```
<a class="link-item" href="SNS地址" target="_blank"><svg> svg </svg> </a>
<a class="link-item" href="SNS地址" target="_blank"><svg> svg </svg> </a>
<a class="link-item" href="SNS地址" target="_blank"><svg> svg </svg> </a>
<a class="link-item" href="SNS地址" target="_blank"><svg> svg </svg> </a>
<a class="link-item" href="SNS地址" target="_blank"><svg> svg </svg> </a>
```
## 感谢
[Siricee](https://github.com/Siricee)

View File

@ -1,8 +1,6 @@
<?php <?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php'); ?> <?php $this->need('header.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main"> <div class="main">
<div class="post-wrap archive"> <div class="post-wrap archive">
<h2 class="post-title">-&nbsp;<?php $this->archiveTitle(array( <h2 class="post-title">-&nbsp;<?php $this->archiveTitle(array(
@ -37,6 +35,22 @@ while($this->next()):
<?php endif; ?> <?php endif; ?>
</div> </div>
<?php $this->need('part/paginator.php'); ?> <?php
$this->pagenav(
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" fill="var(--main)"></path></svg>',
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="var(--main)"></path></svg>',
1,
'...',
array(
'wrapTag' => 'div',
'wrapClass' => 'pagination_page',
'itemTag' => '',
'textTag' => 'a',
'currentClass' => 'active',
'prevClass' => 'prev',
'nextClass' => 'next'
)
);
?>
</div> </div>
<?php $this->need('part/footer.php'); ?> <?php $this->need('footer.php'); ?>

View File

@ -1,360 +1,4 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<style>
/* 分页 */
.pagination_page{
display: flex;
align-items: center;
justify-content: center;
margin-top: var(--margin);
gap: 0.5rem;
}
.pagination_page li.active a {
background: var(--theme);
color: #fff;
font-weight: 500;
}
.pagination_page a{
display: flex;
padding: 0.5rem;
font-size: 0.9rem;
width: 1.75rem;
height: 1.75rem;
background: var(--background);
border-radius: 50%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
transition: 0.2s;
-webkit-transition: 0.2s;
justify-content: center;
align-items: center;
letter-spacing: 0;
}
.pagination_page span.next{
cursor: pointer;
}
.pagination_page li.active a:hover{
cursor: not-allowed;
}
.comment-form label {
display: block;
margin-bottom: .5rem;
font-size: 14px;
cursor: pointer;
line-height: 1.4
}
.comment-form label .required {
color: red
}
.comment-form input,
.comment-form textarea {
width: 100%;
resize: none;
border-radius: 5px;
box-sizing: border-box;
border: 1px solid #999;
padding: 8px 15px;
font-size: 14px
}
.comment-form .submit {
background-color: #000;
color: #fff;
border: 0;
font-size: 14px;
cursor: pointer;
padding: 8px 30px;
border-radius: 5px;
width: auto
}
.comment-form .submit:hover {
background-color: var(--farallon-text-light)
}
.comment-form p {
margin-bottom: 15px
}
.comment-form p:last-of-type {
margin-bottom: 0
}
.comment-form .comment-notes,
.comment-form .logged-in-as {
font-size: 12px;
color: var(--farallon-text-gray)
}
.comment-reply-title {
font-weight: 700;
font-size: 18px;
display: flex;
align-items: center
}
.comment-reply-title small {
margin-left: auto;
font-weight: 400;
font-size: 14px
}
.commentlist {
border-top: 1px solid var(--farallon-border-color-light);
list-style: none;
padding-top: 10px
}
.commentlist .comment {
padding: 0 0
}
.commentlist .comment-respond {
margin-top: 20px;
padding: 20px;
background-color: var(--farallon-background-gray);
border-radius: 5px
}
@keyframes comment--fresh {
0% {
background-color: #fff
}
100% {
background-color: #fffee0
}
}
.comment:last-child>.comment-body {
border-bottom: 0
}
.comment.parent {
border-bottom: 1px solid var(--farallon-border-color-light)
}
.comment.parent:last-child {
border-bottom: 0
}
.comment-body {
padding: 25px 0
}
.comment-body__fresh {
animation: comment--fresh 1.5s ease-in-out infinite alternate;
border-radius: 5px
}
.comment-body .avatar {
transition: .5s box-shadow
}
.comment-body:hover .avatar {
box-shadow: 0 0 3px 0 var(--farallon-hover-color)
}
.comment--avatar {
flex: none;
margin-right: 10px;
display: flex
}
.comment--author {
flex: auto;
display: flex;
align-items: center
}
.comment--author .comment-reply-link {
margin-left: auto
}
.comment--author .comment-reply-link svg {
fill: var(--farallon-text-gray);
width: 15px;
height: 15px
}
.comment--author .comment-reply-link:hover svg {
fill: var(--farallon-hover-color)
}
.comment--author a {
color: var(--farallon-main-color)
}
.comment--author a:hover {
color: var(--farallon-hover-color);
text-decoration: underline
}
.comment--meta {
display: flex;
align-items: center;
flex: auto
}
.comment--time {
color: var(--farallon-text-light)
}
.comment-meta {
display: flex;
align-items: center
}
.comment-meta .avatar {
border-radius: 100%
}
div.cancel-comment-reply.cancel-comment-reply-link {
text-align: right;
}
.comment-content {
word-wrap: break-word !important;
overflow-wrap: break-word !important;
white-space: normal !important;
color: var(--farallon-text-light)
}
.comment-content a {
text-decoration: underline
}
.comment-content a:hover {
color: var(--farallon-hover-color)
}
.children {
margin-left: 0;
padding-bottom: 10px
}
.children .avatar {
width: 32px;
height: 32px
}
.children .comment-body {
border-bottom: 0;
padding: 15px 0
}
.children .comment-content {
font-size: 14px
}
.parent>.children {
margin-left: 50px
}
.comment-meta {
margin-bottom: 10px;
font-size: 14px;
display: flex;
align-items: center
}
.comment-meta .comment-metadata {
margin-left: auto
}
.comment-reply-link {
font-size: 12px
}
.no--comment {
text-align: center;
padding: 30px 0
}
.comments--title {
margin-top: 30px;
font-size: 18px;
font-weight: 700;
margin-bottom: 10px;
display: flex;
align-items: center
}
.comments--title svg {
width: 24px;
height: 24px;
margin-right: 5px;
position: relative;
transform: translate3d(0, 1px, 0);
fill: var(--farallon-text-color)
}
.comment-respond {
padding-top: 30px
}
.comment-form-cookies-consent #wp-comment-cookies-consent {
display: none
}
.comment-form-cookies-consent label {
font-size: 14px;
color: var(--farallon-text-gray);
display: flex;
align-items: center;
position: relative
}
.comment-form-cookies-consent label::before {
background-color: #fff;
border: 1px solid rgba(0, 0, 0, .15);
border-radius: 100%;
height: 16px;
margin-right: 6px;
vertical-align: middle;
width: 16px;
content: "";
flex: none
}
.dot::before {
content: "·";
margin-left: 4px;
margin-right: 4px
}
.comment-form-cookies-consent input:checked+label::after {
background-color: var(--farallon-main-color);
border-radius: 100%;
content: "";
position: absolute;
left: 1px;
height: 12px;
margin: 2px;
width: 12px;
flex: none
}
/* 去除有序列表(<ol>)的列表号 */
ol.comment-list {
list-style-type: none;
padding-left: 0; /* 取消左侧的默认填充 */
}
/* 去除无序列表(<ul>)的列表号 */
ul.comment-list {
list-style-type: none;
padding-left: 0; /* 取消左侧的默认填充 */
}
/* 适用于所有嵌套的评论列表 */
ol.comment-list li, ul.comment-list li {
list-style-type: none;
}
/* 分页 */
</style>
<div class="post--ingle__comments"> <div class="post--ingle__comments">
<?php $this->comments()->to($comments); ?> <?php $this->comments()->to($comments); ?>
<?php if($this->allow('comment')): ?> <?php if($this->allow('comment')): ?>
@ -368,9 +12,9 @@ ol.comment-list li, ul.comment-list li {
d="M1.751 10c0-4.42 3.584-8 8.005-8h4.366c4.49 0 8.129 3.64 8.129 8.13 0 2.96-1.607 5.68-4.196 7.11l-8.054 4.46v-3.69h-.067c-4.49.1-8.183-3.51-8.183-8.01zm8.005-6c-3.317 0-6.005 2.69-6.005 6 0 3.37 2.77 6.08 6.138 6.01l.351-.01h1.761v2.3l5.087-2.81c1.951-1.08 3.163-3.13 3.163-5.36 0-3.39-2.744-6.13-6.129-6.13H9.756z"> d="M1.751 10c0-4.42 3.584-8 8.005-8h4.366c4.49 0 8.129 3.64 8.129 8.13 0 2.96-1.607 5.68-4.196 7.11l-8.054 4.46v-3.69h-.067c-4.49.1-8.183-3.51-8.183-8.01zm8.005-6c-3.317 0-6.005 2.69-6.005 6 0 3.37 2.77 6.08 6.138 6.01l.351-.01h1.761v2.3l5.087-2.81c1.951-1.08 3.163-3.13 3.163-5.36 0-3.39-2.744-6.13-6.129-6.13H9.756z">
</path> </path>
</g> </g>
</svg><?php $this->commentsNum(_t('0'), _t('1'), _t('%d')); ?> </svg>评论 (<?php $this->commentsNum(_t('0'), _t('1'), _t('%d')); ?>)
</h3> </h3>
<ol class="commentlist sulliComment--list"></ol> <ol class="commentlist"></ol>
<?php if ($comments->have()): ?> <?php if ($comments->have()): ?>
<?php $comments->listComments(); ?> <?php $comments->listComments(); ?>
<?php <?php
@ -391,9 +35,7 @@ ol.comment-list li, ul.comment-list li {
); );
?> ?>
<?php else: ?> <?php else: ?>
<center><h3><?php _e('暂无评论'); ?></h3></center> <center><h3><?php _e('暂无评论'); ?></h3></center>
<?php endif; ?> <?php endif; ?>
<div id="<?php $this->respondId(); ?>" class="comment-respond"> <div id="<?php $this->respondId(); ?>" class="comment-respond">
<div class="cancel-comment-reply cancel-comment-reply-link"><?php $comments->cancelReply(); ?></div> <div class="cancel-comment-reply cancel-comment-reply-link"><?php $comments->cancelReply(); ?></div>
@ -426,7 +68,7 @@ ol.comment-list li, ul.comment-list li {
</div> </div>
<?php endif; ?> <?php endif; ?>
<?php else: ?> <?php else: ?>
<?php _e(''); ?>
<?php endif; ?> <?php endif; ?>
<?php $this->options->twikoo(); ?> <?php $this->options->twikoo(); ?>
</div> </div>
@ -458,7 +100,6 @@ function threadedComments($comments, $options) {
<?php else: ?> <?php else: ?>
<?php echo $comments->gravatar('40', ''); ?> <?php echo $comments->gravatar('40', ''); ?>
<?php endif; ?> <?php endif; ?>
</div> </div>
<div class="comment--meta"> <div class="comment--meta">
<div class="comment--author"><?php echo $comments->author; ?><span class="dot"></span> <div class="comment--author"><?php echo $comments->author; ?><span class="dot"></span>

File diff suppressed because one or more lines are too long

26
footer.php Normal file
View File

@ -0,0 +1,26 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<footer id="footer" class="footer">
<?php echo allwords(); ?>
<div class="copyright">
<span>© <?php $this->options->title() ?> | Powered by <a href="https://typecho.org" target="_blank">Typecho</a> & <a href="https://github.com/Siricee/hexo-theme-Chic" target="_blank">Chic</a>| Theme by <a href="https://imsun.org" target="_blank">Sun</a> </span>
</div>
<?php $this->options->tongji(); ?>
</footer>
<?php if ($this->options->showprism): ?>
<script src="<?php $this->options->themeUrl('prism.js'); ?>"></script>
<link rel="stylesheet" href="<?php $this->options->themeUrl('prism.css'); ?>" />
<script>
document.addEventListener('DOMContentLoaded', function () {
var defaultLanguage = 'javascript'; // 设置默认语言
document.querySelectorAll('pre code').forEach(function (block) {
if (!block.classList.length) {
block.classList.add('language-' + defaultLanguage);
}
});
Prism.highlightAll();
});
</script>
<?php endif; ?>
</div>
</body>
</html>

View File

@ -1,10 +1,12 @@
<?php <?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit; if (!defined('__TYPECHO_ROOT_DIR__')) exit;
function themeConfig($form) { function themeConfig($form) {
$logoUrl = new Typecho_Widget_Helper_Form_Element_Text('logoUrl', NULL, NULL, _t('站点 LOGO 地址'));
$form->addInput($logoUrl);
$icoUrl = new Typecho_Widget_Helper_Form_Element_Text('icoUrl', NULL, NULL, _t('站点 Favicon 地址')); $icoUrl = new Typecho_Widget_Helper_Form_Element_Text('icoUrl', NULL, NULL, _t('站点 Favicon 地址'));
$form->addInput($icoUrl); $form->addInput($icoUrl);
$logoUrl = new Typecho_Widget_Helper_Form_Element_Text('logoUrl', NULL, NULL, _t('站点 LOGO 地址'));
$form->addInput($logoUrl);
$infoUrl = new Typecho_Widget_Helper_Form_Element_Text('infoUrl', NULL, NULL, _t('跳转地址'), _t('自定义点击头像跳转的地址'));
$form->addInput($infoUrl);
$instagramurl = new Typecho_Widget_Helper_Form_Element_Text('instagramurl', NULL, NULL, _t('Instagram'), _t('会在个人信息显示')); $instagramurl = new Typecho_Widget_Helper_Form_Element_Text('instagramurl', NULL, NULL, _t('Instagram'), _t('会在个人信息显示'));
$form->addInput($instagramurl); $form->addInput($instagramurl);
$telegramurl = new Typecho_Widget_Helper_Form_Element_Text('telegramurl', NULL, NULL, _t('电报'), _t('会在个人信息显示')); $telegramurl = new Typecho_Widget_Helper_Form_Element_Text('telegramurl', NULL, NULL, _t('电报'), _t('会在个人信息显示'));
@ -15,10 +17,14 @@ function themeConfig($form) {
$form->addInput($twitterurl); $form->addInput($twitterurl);
$mastodonurl = new Typecho_Widget_Helper_Form_Element_Text('mastodonurl', NULL, NULL, _t('mastodon'), _t('会在个人信息显示')); $mastodonurl = new Typecho_Widget_Helper_Form_Element_Text('mastodonurl', NULL, NULL, _t('mastodon'), _t('会在个人信息显示'));
$form->addInput($mastodonurl); $form->addInput($mastodonurl);
$sitemapurl = new Typecho_Widget_Helper_Form_Element_Text('sitemapurl', NULL, NULL, _t('sitemap'), _t('会在页脚显示')); $posturl = new Typecho_Widget_Helper_Form_Element_Text('posturl', NULL, NULL, _t('文章列表地址'), _t('自定义文章列表的地址'));
$form->addInput($sitemapurl); $form->addInput($posturl);
$postlisttittle = new Typecho_Widget_Helper_Form_Element_Text('postlisttittle', NULL, NULL, _t('文章列表名称'), _t('自定义文章列表的标题'));
$form->addInput($postlisttittle);
$cnavatar = new Typecho_Widget_Helper_Form_Element_Text('cnavatar', NULL, 'https://cravatar.cn/avatar/', _t('Gravatar镜像'), _t('默认https://cravatar.cn/avatar/,建议保持默认')); $cnavatar = new Typecho_Widget_Helper_Form_Element_Text('cnavatar', NULL, 'https://cravatar.cn/avatar/', _t('Gravatar镜像'), _t('默认https://cravatar.cn/avatar/,建议保持默认'));
$form->addInput($cnavatar); $form->addInput($cnavatar);
$moresns= new Typecho_Widget_Helper_Form_Element_Textarea('moresns', NULL, NULL, _t('更多的SNS'), _t('支持HTML,请参考文档'));
$form->addInput($moresns);
$twikoo = new Typecho_Widget_Helper_Form_Element_Textarea('twikoo', NULL, NULL, _t('引用第三方评论'), _t('不填写则不显示')); $twikoo = new Typecho_Widget_Helper_Form_Element_Textarea('twikoo', NULL, NULL, _t('引用第三方评论'), _t('不填写则不显示'));
$form->addInput($twikoo); $form->addInput($twikoo);
$addhead = new Typecho_Widget_Helper_Form_Element_Textarea('addhead', NULL, NULL, _t('添加head'), _t('支持HTML')); $addhead = new Typecho_Widget_Helper_Form_Element_Textarea('addhead', NULL, NULL, _t('添加head'), _t('支持HTML'));
@ -29,6 +35,10 @@ function themeConfig($form) {
array('0'=> _t('否'), '1'=> _t('是')), array('0'=> _t('否'), '1'=> _t('是')),
'0', _t('是否显示文章目录'), _t('选择“是”将在文章页面显示文章目录(仅在宽度大于1400px的设备中显示)。')); '0', _t('是否显示文章目录'), _t('选择“是”将在文章页面显示文章目录(仅在宽度大于1400px的设备中显示)。'));
$form->addInput($showtoc); $form->addInput($showtoc);
$showprism = new Typecho_Widget_Helper_Form_Element_Radio('showprism',
array('0'=> _t('否'), '1'=> _t('是')),
'0', _t('是否代码高亮'), _t('选择“是”将引用prism.js代码高亮显示'));
$form->addInput($showprism);
} }
function get_post_view($archive) { function get_post_view($archive) {
$cid = $archive->cid; $cid = $archive->cid;
@ -84,7 +94,6 @@ function timer_start() {
} }
return $r; return $r;
} }
/* /*
* 全站字数 * 全站字数
*/ */
@ -94,58 +103,48 @@ function allwords() {
$select = $db ->select('text')->from('table.contents');//如果只要统计文章总字数不要统计单页的话可在后面加入->where('type = ?','post') $select = $db ->select('text')->from('table.contents');//如果只要统计文章总字数不要统计单页的话可在后面加入->where('type = ?','post')
$rows = $db->fetchAll($select); $rows = $db->fetchAll($select);
foreach ($rows as $row) { $chars += mb_strlen(trim($row['text']), 'UTF-8'); } foreach ($rows as $row) { $chars += mb_strlen(trim($row['text']), 'UTF-8'); }
if($chars<50000){ if($chars<15000){
echo '全站共 '.$chars.' 字,还在努力更新中,加油!加油啦!';} echo '全站共 '.$chars.' 字,还在努力更新中';}
elseif ($chars<70000 && $chars>50000){ elseif ($chars<35000 && $chars>15000){
echo '全站共 '.$chars.' 字,写完一本埃克苏佩里的《小王子》了!';} echo '全站共 '.$chars.' 字,可以写完一部《越女剑》了!';}
elseif ($chars<90000 && $chars>70000){ elseif ($chars<80000 && $chars>35000){
echo '全站共 '.$chars.' 字,写完一本鲁迅的《呐喊》了!';} echo '全站共 '.$chars.' 字,已经写完一部《鸳鸯刀》了!';}
elseif ($chars<100000 && $chars>90000){ elseif ($chars<130000 && $chars>80000){
echo '全站共 '.$chars.' 字,写完一本林海音的《城南旧事》了!';} echo '全站共 '.$chars.' 字,写完一本《白马啸西风》了!';}
elseif ($chars<110000 && $chars>100000){ elseif ($chars<230000 && $chars>130000){
echo '全站共 '.$chars.' 字,写完一本马克·吐温的《王子与乞丐》了!';} echo '全站共 '.$chars.' 字,足以写完《雪山飞狐》了!';}
elseif ($chars<120000 && $chars>110000){ elseif ($chars<360000 && $chars>230000){
echo '全站共 '.$chars.' 字,写完一本鲁迅的《彷徨》了!';} echo '全站共 '.$chars.' 字,写完《连城诀》了!';}
elseif ($chars<130000 && $chars>120000){ elseif ($chars<420000 && $chars>360000){
echo '全站共 '.$chars.' 字,写完一本余华的《活着》了!';} echo '全站共 '.$chars.' 字,超越《侠客行》了!';}
elseif ($chars<140000 && $chars>130000){ elseif ($chars<440000 && $chars>420000){
echo '全站共 '.$chars.' 字,写完一本曹禺的《雷雨》了!';} echo '全站共 '.$chars.' 字,写完一部《碧血剑》了!';}
elseif ($chars<150000 && $chars>140000){ elseif ($chars<550000 && $chars>440000){
echo '全站共 '.$chars.' 字,写完一本史铁生的《宿命的写作》了!';} echo '全站共 '.$chars.' 字,可以写完《飞狐外传》了!';}
elseif ($chars<160000 && $chars>150000){ elseif ($chars<900000 && $chars>550000){
echo '全站共 '.$chars.' 字,写完一本伯内特的《秘密花园》了!';} echo '全站共 '.$chars.' 字,可以写完一部《书剑恩仇录》了!';}
elseif ($chars<170000 && $chars>160000){ elseif ($chars<1000000 && $chars>900000){
echo '全站共 '.$chars.' 字,写完一本曹禺的《日出》了!';} echo '全站共 '.$chars.' 字,接近《射雕英雄传》了!';}
elseif ($chars<180000 && $chars>170000){ elseif ($chars<1050000 && $chars>1000000){
echo '全站共 '.$chars.' 字,写完一本马克·吐温的《汤姆·索亚历险记》了!';} echo '全站共 '.$chars.' 字,超越《神雕侠侣》指日可待了!';}
elseif ($chars<190000 && $chars>180000){ elseif ($chars<1060000 && $chars>1050000){
echo '全站共 '.$chars.' 字,写完一本沈从文的《边城》了!';} echo '全站共 '.$chars.' 字,写完《倚天屠龙记》了!';}
elseif ($chars<200000 && $chars>190000){ elseif ($chars<1250000 && $chars>1060000){
echo '全站共 '.$chars.' 字,写完一本亚米契斯的《爱的教育》了!';} echo '全站共 '.$chars.' 字,写完《笑傲江湖》了!';}
elseif ($chars<210000 && $chars>200000){ elseif ($chars<1300000 && $chars>1250000){
echo '全站共 '.$chars.' 字,写完一本巴金的《寒夜》了!';} echo '全站共 '.$chars.' 字,写完《鹿鼎记》了!';}
elseif ($chars<220000 && $chars>210000){ elseif ($chars<1400000 && $chars>1300000){
echo '全站共 '.$chars.' 字,写完一本东野圭吾的《解忧杂货店》了!';} echo '全站共 '.$chars.' 字,写完《天龙八部》了!';}
elseif ($chars<230000 && $chars>220000){ elseif ($chars>1400000){
echo '全站共 '.$chars.' 字,写完一本莫泊桑的《一生》了!';} echo '全站共 '.$chars.' 字,足以名震江湖!';}
elseif ($chars<250000 && $chars>230000){ }
echo '全站共 '.$chars.' 字,写完一本简·奥斯汀的《傲慢与偏见》了!';} //文章目录功能-给文章内标题加上id
elseif ($chars<280000 && $chars>250000){ function addHeaderLinks($text)
echo '全站共 '.$chars.' 字,写完一本钱钟书的《围城》了!';} {
elseif ($chars<300000 && $chars>280000){ return preg_replace_callback('/<h([1-6])>(.*?)<\/h\1>/', function ($matches) {
echo '全站共 '.$chars.' 字,写完一本张炜的《古船》了!';} $level = $matches[1];
elseif ($chars<310000 && $chars>300000){ $title = $matches[2];
echo '全站共 '.$chars.' 字,写完一本茅盾的《子夜》了!';} $id = htmlspecialchars(strip_tags($title), ENT_QUOTES, 'UTF-8');
elseif ($chars<320000 && $chars>310000){ return sprintf('<h%s id="%s"><a href="#%s" class="headerlink" title="%s"></a>%s</h%s>', $level, $id, $id, $title, $title, $level);
echo '全站共 '.$chars.' 字,写完一本阿来的《尘埃落定》了!';} }, $text);
elseif ($chars<340000 && $chars>320000){
echo '全站共 '.$chars.' 字,写完一本艾米莉·勃朗特的《呼啸山庄》了!';}
elseif ($chars<350000 && $chars>340000){
echo '全站共 '.$chars.' 字,写完一本雨果的《巴黎圣母院》了!';}
elseif ($chars<400000 && $chars>350000){
echo '全站共 '.$chars.' 字,写完一本东野圭吾的《白夜行》了!';}
elseif ($chars<1000000 && $chars>400000){
echo '全站共 '.$chars.' 字,写完一本我国著名的四大名著了!';}
elseif ($chars>1000000){
echo '全站共 '.$chars.' 字,已写一本列夫·托尔斯泰的《战争与和平》了!';}
} }

View File

@ -1,4 +1,31 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="<?php $this->options->author() ?>">
<meta name="description" content="<?php $this->options->description() ?>">
<meta name="keywords" content="<?php $this->options->keywords() ?>">
<title>
<?php if($this->_currentPage>1) echo '第 '.$this->_currentPage.' 页 - '; ?><?php $this->archiveTitle(array(
'category' => _t('分类 %s 下的文章'),
'search' => _t('包含关键字 %s 的文章'),
'tag' => _t('标签 %s 下的文章'),
'date' => _t('在<span> %s </span>发布的文章'),
'author' => _t('%s 发布的文章')
), '', ' - '); ?><?php if ($this->is('post')) $this->category(',', false);?><?php if ($this->is('post')) echo ' - ';?><?php $this->options->title(); ?><?php if ($this->is('index')) echo ' - '; ?><?php if ($this->is('index')) $this->options->description() ?>
</title>
<link rel="icon" href="<?php $this->options->icoUrl() ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('style.css'); ?>">
<script src="<?php $this->options->themeUrl('script.js'); ?>"></script>
<?php $this->header("generator=&template=&pingback=&wlw=&xmlrpc=&rss1=&atom=&rss2=/feed"); ?>
<?php $this->options->addhead(); ?>
<?php $this->header(); ?>
</head>
<body>
<div class="wrapper">
<header> <header>
<nav class="navbar"> <nav class="navbar">
<div class="container"> <div class="container">
@ -7,6 +34,7 @@
</div> </div>
<div class="menu navbar-right"> <div class="menu navbar-right">
<?php $this->widget('Widget_Contents_Page_List')->to($pages); ?> <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>
<a class="menu-item" href="<?php $this->options->posturl() ?>"><?php $this->options->postlisttittle() ?></a>
<?php while($pages->next()): ?> <?php while($pages->next()): ?>
<a <?php if($this->is('page', $pages->slug)): ?> <?php endif; ?>class="menu-item" href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a> <a <?php if($this->is('page', $pages->slug)): ?> <?php endif; ?>class="menu-item" href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a>
<?php endwhile; ?> <?php endwhile; ?>
@ -26,6 +54,7 @@
</div> </div>
<div class="menu" id="mobile-menu"> <div class="menu" id="mobile-menu">
<?php $this->widget('Widget_Contents_Page_List')->to($pages); ?> <?php $this->widget('Widget_Contents_Page_List')->to($pages); ?>
<a class="menu-item" href="<?php $this->options->posturl() ?>"><?php $this->options->postlisttittle() ?></a>
<?php while($pages->next()): ?> <?php while($pages->next()): ?>
<a <?php if($this->is('page', $pages->slug)): ?> <?php endif; ?>class="menu-item" href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a> <a <?php if($this->is('page', $pages->slug)): ?> <?php endif; ?>class="menu-item" href="<?php $pages->permalink(); ?>" title="<?php $pages->title(); ?>"><?php $pages->title(); ?></a>
<?php endwhile; ?> <?php endwhile; ?>

View File

@ -1,15 +1,72 @@
<?php <?php
/** /**
* 移植自Hexo主题 Chic * 移植自 Hexo主题 Chic
* @package Chic * @package Chic
* @author 老孙 * @author 老孙
* @version 0.1 * @version 1.0.4
* @link https://imsun.org * @link https://www.imsun.org
*/ */
if (!defined('__TYPECHO_ROOT_DIR__')) exit; if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
$this->need('part/head.php'); <?php $this->need('header.php'); ?>
<div class="main">
<div class="post-wrap archive">
<h2 class="post-title">-&nbsp; 文章列表 &nbsp;-</h2>
<?php
$previousYear = null;
while($this->next()):
$currentYear = date('Y', $this->created);
if ($previousYear !== $currentYear):
if ($previousYear !== null): ?>
</div> <!-- 关闭上一年的 div -->
<?php endif; ?>
<h3><?php echo $currentYear; ?></h3>
<div class="archive-year">
<?php
$previousYear = $currentYear;
endif;
?> ?>
<div class="wrapper"> <article class="archive-item">
<?php $this->need('part/header.php'); ?> <a class="archive-item-link" href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
<?php $this->need('part/profile.php'); ?> <span class="archive-item-date"><?php $this->date('Y-m-d'); ?></span>
<?php $this->need('part/footer.php'); ?> </article>
<?php endwhile; ?>
<?php if ($previousYear !== null): ?>
</div> <!-- 关闭最后一年的 div -->
<?php endif; ?>
</div>
<?php
$this->pagenav(
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" fill="var(--main)"></path></svg>',
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="var(--main)"></path></svg>',
1,
'...',
array(
'wrapTag' => 'div',
'wrapClass' => 'pagination_page',
'itemTag' => '',
'textTag' => 'a',
'currentClass' => 'active',
'prevClass' => 'prev',
'nextClass' => 'next'
)
);
?>
</div>
<script>
function truncateTitle() {
var links = document.getElementsByClassName('archive-item-link');
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
if (width < 420) {
for (var i = 0; i < links.length; i++) {
var title = links[i].innerHTML;
if (title.length > 20) {
links[i].innerHTML = title.substring(0, 20) + '...';
}
}
}
}
window.addEventListener('resize', truncateTitle);
truncateTitle();
</script>
<?php $this->need('footer.php'); ?>

View File

@ -1,52 +0,0 @@
<?php
/**
* 文章归档
*
* @package custom
*/
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main">
<div class="post-wrap archive">
<h2 class="post-title">-&nbsp;&nbsp;<?php $this->title() ?>&nbsp;&nbsp;-</h2>
<?php
$stat = Typecho_Widget::widget('Widget_Stat');
Typecho_Widget::widget('Widget_Contents_Post_Recent', 'pageSize=' . $stat->publishedPostsNum)->to($archives);
$year = 0; $mon = 0;
$output = '<div class="post-wrap archive">'; // Start archives container
while ($archives->next()) {
$year_tmp = date('Y', $archives->created);
$mon_tmp = date('m', $archives->created);
// 检查是否需要新的年份标题
if ($year != $year_tmp) {
if ($year > 0) {
$output .= '</ul> '; // 结束上一个年份的月份列表和包裹的div
}
$year = $year_tmp;
$mon = 0; // 重置月份
$output .= '<h3>' . $year . '</h3>'; // 开始新的年份div
}
// 输出文章项
$output .= '<article class="archive-item">';
$output .= '<a class="archive-item-link" href="' . $archives->permalink . '">' . $archives->title . '</a>';
$output .= '<span class="archive-item-date">' . date('m月d,Y', $archives->created) . '</span></article>';
}
// 循环后,确保所有标签都已经关闭
if ($mon > 0) {
$output .= '</ul>'; // 结束最后一个月份的列表
}
if ($year > 0) {
$output .= '</div>'; // 结束最后一个年份的div
}
$output .= '</div>'; // End archives container
echo $output;
?>
</div>
</div>
<br>
<?php $this->need('part/footer.php'); ?>

View File

@ -5,9 +5,7 @@
* @package custom * @package custom
*/ */
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php'); ?> <?php $this->need('header.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main"> <div class="main">
<div class="container"> <div class="container">
<div class="post-wrap categories"> <div class="post-wrap categories">
@ -47,5 +45,5 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
</div> </div>
</div> </div>
<?php $this->need('part/footer.php'); ?> <?php $this->need('footer.php'); ?>

View File

@ -1,4 +1,19 @@
<?php
/**
* 引导页
*
* @package custom
*/
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('header.php'); ?>
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<div class="main">
<div class="container profile-container">
<div class="intro">
<div class="avatar"><a href="<?php $this->options->infoUrl() ?>"> <img src="<?php $this->options->logoUrl() ?>"></a></div>
<div class="nickname"> <?php $this->author(); ?></div>
<div class="description"><p><?php $this->options->description() ?></p></div>
<div class="links">
<a href="/feed" class="link-item" target="_blank"> <a href="/feed" class="link-item" target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M3 17C5.20914 17 7 18.7909 7 21H3V17ZM3 10C9.07513 10 14 14.9249 14 21H12C12 16.0294 7.97056 12 3 12V10ZM3 3C12.9411 3 21 11.0589 21 21H19C19 12.1634 11.8366 5 3 5V3Z"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M3 17C5.20914 17 7 18.7909 7 21H3V17ZM3 10C9.07513 10 14 14.9249 14 21H12C12 16.0294 7.97056 12 3 12V10ZM3 3C12.9411 3 21 11.0589 21 21H19C19 12.1634 11.8366 5 3 5V3Z"></path></svg>
</a> </a>
@ -27,3 +42,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M3.019 12.0075C2.98744 10.7478 3.00692 9.5598 3.00692 8.56644C3.00692 4.22767 5.84954 2.95597 5.84954 2.95597C7.28286 2.29767 9.74238 2.0209 12.2993 2H12.3621C14.919 2.0209 17.3801 2.29767 18.8134 2.95597C18.8134 2.95597 21.656 4.22767 21.656 8.56644C21.656 8.56644 21.6916 11.7674 21.2596 13.9898C20.9852 15.4007 18.8034 16.9446 16.2974 17.2438C14.9906 17.3999 13.7042 17.5431 12.3322 17.4802C10.0885 17.3775 8.31815 16.9446 8.31815 16.9446C8.31815 17.1631 8.33166 17.3711 8.35853 17.5655C8.44182 18.1978 8.65659 18.6604 8.96296 19C9.72944 19.8497 11.0692 19.9301 12.3577 19.9743C14.178 20.0366 15.7986 19.5254 15.7986 19.5254L15.8735 21.1712C15.8735 21.1712 14.6003 21.8548 12.3322 21.9805C11.0815 22.0493 9.52858 21.9491 7.71969 21.4704C6.18802 21.065 5.15153 20.1804 4.45091 19C3.35714 17.1573 3.08191 14.5938 3.019 12.0075ZM6.31815 16.9446V14.3967L8.79316 15.0018C8.8405 15.0134 8.95098 15.0383 9.11692 15.0723C9.40521 15.1313 9.73416 15.1908 10.0959 15.2467C10.8485 15.3628 11.6341 15.4462 12.4237 15.4823C13.4425 15.529 14.3249 15.4652 16.0603 15.2579C17.7233 15.0594 19.208 14.0622 19.2963 13.6082C19.3783 13.1861 19.4472 12.6858 19.5021 12.1261C19.5714 11.4205 19.6155 10.6558 19.6388 9.88068C19.654 9.37026 19.6582 8.93648 19.6564 8.62452L19.656 8.56644C19.656 7.1368 19.2873 6.12756 18.6928 5.40793C18.5008 5.17553 18.3004 4.99408 18.1087 4.85958C18.0183 4.79617 17.9737 4.77136 17.9787 4.77345C16.9662 4.30844 14.8859 4.02069 12.3621 3.99993H12.3156C9.77596 4.02069 7.6969 4.30836 6.66627 4.78161C6.68919 4.77136 6.64459 4.79617 6.55423 4.85958C6.36257 4.99408 6.16214 5.17553 5.97016 5.40793C5.37568 6.12756 5.00692 7.1368 5.00692 8.56644C5.00692 8.7976 5.00628 8.96339 5.00392 9.44137C4.9981 10.6238 5.00004 11.2256 5.01841 11.9589C5.07185 14.156 5.2822 15.7941 5.71797 17C5.93023 17.5874 6.19005 18.0709 6.49741 18.4507C6.37791 18.0162 6.31815 17.5142 6.31815 16.9446ZM8.08576 6.37135C8.71735 6.37135 9.22924 6.88324 9.22924 7.51482C9.22924 8.14626 8.71735 8.6583 8.08576 8.6583C7.45432 8.6583 6.94229 8.14626 6.94229 7.51482C6.94229 6.88324 7.45432 6.37135 8.08576 6.37135Z"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path d="M3.019 12.0075C2.98744 10.7478 3.00692 9.5598 3.00692 8.56644C3.00692 4.22767 5.84954 2.95597 5.84954 2.95597C7.28286 2.29767 9.74238 2.0209 12.2993 2H12.3621C14.919 2.0209 17.3801 2.29767 18.8134 2.95597C18.8134 2.95597 21.656 4.22767 21.656 8.56644C21.656 8.56644 21.6916 11.7674 21.2596 13.9898C20.9852 15.4007 18.8034 16.9446 16.2974 17.2438C14.9906 17.3999 13.7042 17.5431 12.3322 17.4802C10.0885 17.3775 8.31815 16.9446 8.31815 16.9446C8.31815 17.1631 8.33166 17.3711 8.35853 17.5655C8.44182 18.1978 8.65659 18.6604 8.96296 19C9.72944 19.8497 11.0692 19.9301 12.3577 19.9743C14.178 20.0366 15.7986 19.5254 15.7986 19.5254L15.8735 21.1712C15.8735 21.1712 14.6003 21.8548 12.3322 21.9805C11.0815 22.0493 9.52858 21.9491 7.71969 21.4704C6.18802 21.065 5.15153 20.1804 4.45091 19C3.35714 17.1573 3.08191 14.5938 3.019 12.0075ZM6.31815 16.9446V14.3967L8.79316 15.0018C8.8405 15.0134 8.95098 15.0383 9.11692 15.0723C9.40521 15.1313 9.73416 15.1908 10.0959 15.2467C10.8485 15.3628 11.6341 15.4462 12.4237 15.4823C13.4425 15.529 14.3249 15.4652 16.0603 15.2579C17.7233 15.0594 19.208 14.0622 19.2963 13.6082C19.3783 13.1861 19.4472 12.6858 19.5021 12.1261C19.5714 11.4205 19.6155 10.6558 19.6388 9.88068C19.654 9.37026 19.6582 8.93648 19.6564 8.62452L19.656 8.56644C19.656 7.1368 19.2873 6.12756 18.6928 5.40793C18.5008 5.17553 18.3004 4.99408 18.1087 4.85958C18.0183 4.79617 17.9737 4.77136 17.9787 4.77345C16.9662 4.30844 14.8859 4.02069 12.3621 3.99993H12.3156C9.77596 4.02069 7.6969 4.30836 6.66627 4.78161C6.68919 4.77136 6.64459 4.79617 6.55423 4.85958C6.36257 4.99408 6.16214 5.17553 5.97016 5.40793C5.37568 6.12756 5.00692 7.1368 5.00692 8.56644C5.00692 8.7976 5.00628 8.96339 5.00392 9.44137C4.9981 10.6238 5.00004 11.2256 5.01841 11.9589C5.07185 14.156 5.2822 15.7941 5.71797 17C5.93023 17.5874 6.19005 18.0709 6.49741 18.4507C6.37791 18.0162 6.31815 17.5142 6.31815 16.9446ZM8.08576 6.37135C8.71735 6.37135 9.22924 6.88324 9.22924 7.51482C9.22924 8.14626 8.71735 8.6583 8.08576 8.6583C7.45432 8.6583 6.94229 8.14626 6.94229 7.51482C6.94229 6.88324 7.45432 6.37135 8.08576 6.37135Z"></path></svg>
</a> </a>
<?php endif; ?> <?php endif; ?>
<?php $this->options->moresns() ?>
</div>
</div>
</div>
</div>
<?php $this->need('footer.php'); ?>

View File

@ -5,9 +5,7 @@
* @package custom * @package custom
*/ */
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php');?> <?php $this->need('header.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main"> <div class="main">
<div class="container"> <div class="container">
<article class="post-wrap page"> <article class="post-wrap page">
@ -42,7 +40,7 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
</div> </div>
</article> </article>
</div></div> </div></div>
<?php $this->need('part/footer.php'); ?> <?php $this->need('footer.php'); ?>
<style> <style>
#links { #links {
padding-left: 3.5em; padding-left: 3.5em;

View File

@ -5,9 +5,7 @@
* @package custom * @package custom
*/ */
if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php'); ?> <?php $this->need('header.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main"> <div class="main">
<div class="container"> <div class="container">
<div class="post-wrap tags"> <div class="post-wrap tags">
@ -23,4 +21,4 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<p class="text-center pb-2"><?php _e('没有任何标签'); ?></p> <p class="text-center pb-2"><?php _e('没有任何标签'); ?></p>
<?php endif; ?> <?php endif; ?>
</div></div></div> </div></div></div>
<?php $this->need('part/footer.php'); ?> <?php $this->need('footer.php'); ?>

View File

@ -1,7 +1,9 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php');?> <?php $this->need('header.php'); ?>
<div class="wrapper"> <?php if ($this->options->showprism): ?>
<?php $this->need('part/header.php'); ?> <script src="<?php $this->options->themeUrl('prism.js'); ?>"></script>
<link rel="stylesheet" href="<?php $this->options->themeUrl('prism.css'); ?>" />
<?php endif; ?>
<div class="main"> <div class="main">
<div class="container"> <div class="container">
<article class="post-wrap page"> <article class="post-wrap page">
@ -23,5 +25,5 @@
</div> </div>
</article> </article>
</div></div> </div></div>
<?php $this->need('part/footer.php'); ?> <?php $this->need('footer.php'); ?>

View File

@ -1,11 +0,0 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<footer id="footer" class="footer">
<?php echo allwords(); ?>
<div class="copyright">
<span>© <?php $this->options->title() ?> | Powered by <a href="https://typecho.org" target="_blank">Typecho</a> | 移植 by <a href="https://imsun.org" target="_blank">Sun</a> </span>
</div>
<?php $this->options->tongji(); ?>
</footer>
</div>
</body>
</html>

View File

@ -1,28 +0,0 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="<?php $this->options->author() ?>">
<meta name="description" content="<?php $this->options->description() ?>">
<meta name="keywords" content="<?php $this->options->keywords() ?>">
<title>
<?php if($this->_currentPage>1) echo '第 '.$this->_currentPage.' 页 - '; ?><?php $this->archiveTitle(array(
'category' => _t('分类 %s 下的文章'),
'search' => _t('包含关键字 %s 的文章'),
'tag' => _t('标签 %s 下的文章'),
'date' => _t('在<span> %s </span>发布的文章'),
'author' => _t('%s 发布的文章')
), '', ' - '); ?><?php if ($this->is('post')) $this->category(',', false);?><?php if ($this->is('post')) echo ' - ';?><?php $this->options->title(); ?><?php if ($this->is('index')) echo ' - '; ?><?php if ($this->is('index')) $this->options->description() ?>
</title>
<link rel="icon" href="<?php $this->options->icoUrl() ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('/dist/css/style.css'); ?>">
<script src="<?php $this->options->themeUrl('/dist/js/script.js'); ?>"></script>
<script src="<?php $this->options->themeUrl('/dist/js/tocbot.min.js'); ?>"></script>
<?php $this->header("generator=&template=&pingback=&wlw=&xmlrpc=&rss1=&atom=&rss2=/feed"); ?>
<?php $this->options->addhead(); ?>
<?php $this->header(); ?>
</head>
<body>

View File

@ -1,67 +0,0 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<nav class="pagination">
</nav>
<?php
$this->pagenav(
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" fill="var(--main)"></path></svg>',
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="var(--main)"></path></svg>',
1,
'...',
array(
'wrapTag' => 'div',
'wrapClass' => 'pagination_page',
'itemTag' => '',
'textTag' => 'a',
'currentClass' => 'active',
'prevClass' => 'prev',
'nextClass' => 'next'
)
);
?>
<!-- 搜索结果 -->
<style>
/* 分页 */
.pagination_page{
display: flex;
align-items: center;
justify-content: center;
margin-top: var(--margin);
gap: 0.5rem;
}
.pagination_page li.active a {
background: var(--theme);
color: #fff;
font-weight: 500;
}
.pagination_page a{
display: flex;
padding: 0.5rem;
font-size: 0.9rem;
width: 1.75rem;
height: 1.75rem;
background: var(--background);
border-radius: 50%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
transition: 0.2s;
-webkit-transition: 0.2s;
justify-content: center;
align-items: center;
letter-spacing: 0;
}
.pagination_page span.next{
cursor: pointer;
}
.pagination_page li.active a:hover{
cursor: not-allowed;
}
/* 分页 */
</style>

View File

@ -1,11 +0,0 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<div class="main">
<div class="container profile-container">
<div class="intro">
<div class="avatar"><a href="/"> <img src="<?php $this->options->logoUrl() ?>"></a></div>
<div class="nickname"> <?php $this->author(); ?></div>
<div class="description"><p><?php $this->options->description() ?></p></div>
<div class="links"><?php $this->need('part/sns.php'); ?></div>
</div>
</div>
</div>

View File

@ -1,9 +1,10 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('part/head.php'); ?> <?php $this->need('header.php'); ?>
<div class="wrapper">
<?php $this->need('part/header.php'); ?>
<div class="main"> <div class="main">
<div class="container"> <div class="container">
<?php if ($this->options->showtoc): ?>
<?php $this->need('toc.php'); ?>
<?php endif; ?>
<article class="post-wrap"> <article class="post-wrap">
<header class="post-header"> <header class="post-header">
<h1 class="post-title"><?php $this->title() ?></h1> <h1 class="post-title"><?php $this->title() ?></h1>
@ -14,9 +15,8 @@
<span class="post-category"> <span class="post-category">
所属分类: 所属分类:
</span><?php $this->category(','); ?> <span class="dot"></span> </span><?php $this->category(','); ?> <span class="dot"></span>
<span> 浏览:</span><?php get_post_view($this) ?><span class="dot"></span> <span> 浏览:</span><?php get_post_view($this) ?>
<?php if($this->user->hasLogin() && $this->user->pass('editor', true)): ?> <?php if($this->user->hasLogin() && $this->user->pass('editor', true)): ?>
<span><span class="dot"></span>
<a href="<?php $this->options->adminUrl('write-post.php?cid=' . $this->cid); ?>" target="_blank" title="编辑文章"> <a href="<?php $this->options->adminUrl('write-post.php?cid=' . $this->cid); ?>" target="_blank" title="编辑文章">
<svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="16" height="16"> <svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="16" height="16">
<path <path
@ -26,7 +26,7 @@
</div> </div>
</header> </header>
<div class="post-content"> <div class="post-content">
<?php $this->content(); ?> <?php $content = $this->content; echo addHeaderLinks($content); ?>
</div> </div>
<section class="post-copyright"> <section class="post-copyright">
<p class="copyright-item"> <p class="copyright-item">
@ -43,10 +43,12 @@
<span class="tag"> <span class="tag">
<?php if ($this->tags): ?> <?php if ($this->tags): ?>
<?php foreach ($this->tags as $tag): ?> <?php foreach ($this->tags as $tag): ?>
<a href="<?php echo $tag['permalink']; ?>">#<?php echo $tag['name']; ?></a> <a href="<?php echo $tag['permalink']; ?>">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14" fill="rgba(87,107,79,1)"><path d="M7.78428 14L8.2047 10H4V8H8.41491L8.94043 3H10.9514L10.4259 8H14.4149L14.9404 3H16.9514L16.4259 8H20V10H16.2157L15.7953 14H20V16H15.5851L15.0596 21H13.0486L13.5741 16H9.58509L9.05957 21H7.04855L7.57407 16H4V14H7.78428ZM9.7953 14H13.7843L14.2047 10H10.2157L9.7953 14Z"></path></svg>
<?php echo $tag['name']; ?></a>
<?php endforeach; ?> <?php endforeach; ?>
<?php else: ?> <?php else: ?>
无标签
<?php endif; ?> <?php endif; ?>
</span> </span>
</div> </div>
@ -73,8 +75,5 @@
</article> </article>
</div> </div>
</div> </div>
<?php if ($this->options->showtoc): ?> <?php $this->need('footer.php'); ?>
<?php $this->need('part/toc.php'); ?>
<?php endif; ?>
<?php $this->need('part/footer.php'); ?>

926
prism.css Normal file
View File

@ -0,0 +1,926 @@
/* PrismJS 1.27.0
https://prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bicep+birb+bison+bnf+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gherkin+git+glsl+gn+go+go-module+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+matlab+maxscript+mel+mermaid+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+iecst+stylus+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=line-highlight+line-numbers+autolinker+wpd+custom-class+file-highlight+jsonp-highlight+highlight-keywords+remove-initial-line-feed+inline-color+previewers+autoloader+keep-markup+command-line+unescaped-markup+normalize-whitespace+data-uri-highlight+toolbar+copy-to-clipboard+download-button+match-braces+diff-highlight+filter-highlight-all+treeview */
code[class*=language-],pre[class*=language-] {
color: #f8f8f2;
background: 0 0;
text-shadow: 0 1px rgba(0,0,0,.3);
font-family: Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none
}
pre[class*=language-] {
padding: 1em;
margin: .5em 0;
overflow: auto;
border-radius: .3em
}
:not(pre)>code[class*=language-],pre[class*=language-] {
background: #272822
}
:not(pre)>code[class*=language-] {
padding: .1em;
border-radius: .3em;
white-space: normal
}
.token.cdata,.token.comment,.token.doctype,.token.prolog {
color: #8292a2
}
.token.punctuation {
color: #f8f8f2
}
.token.namespace {
opacity: .7
}
.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag {
color: #f92672
}
.token.boolean,.token.number {
color: #ae81ff
}
.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string {
color: #a6e22e
}
.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable {
color: #f8f8f2
}
.token.atrule,.token.attr-value,.token.class-name,.token.function {
color: #e6db74
}
.token.keyword {
color: #66d9ef
}
.token.important,.token.regex {
color: #fd971f
}
.token.bold,.token.important {
font-weight: 700
}
.token.italic {
font-style: italic
}
.token.entity {
cursor: help
}
pre[data-line] {
position: relative;
padding: 1em 0 1em 3em
}
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: inherit 0;
margin-top: 1em;
background: hsla(24,20%,50%,.08);
background: linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));
pointer-events: none;
line-height: inherit;
white-space: pre
}
@media print {
.line-highlight {
-webkit-print-color-adjust: exact;
color-adjust: exact
}
}
.line-highlight:before,.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
top: .4em;
left: .6em;
min-width: 1em;
padding: 0 .5em;
background-color: hsla(24,20%,50%,.4);
color: #f4f1ef;
font: bold 65%/1.5 sans-serif;
text-align: center;
vertical-align: .3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px #fff
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: .4em
}
.line-numbers .line-highlight:after,.line-numbers .line-highlight:before {
content: none
}
pre[id].linkable-line-numbers span.line-numbers-rows {
pointer-events: all
}
pre[id].linkable-line-numbers span.line-numbers-rows>span:before {
cursor: pointer
}
pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before {
background-color: rgba(128,128,128,.2)
}
pre[class*=language-].line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
max-height: 650px;
}
pre[class*=language-].line-numbers>code {
position: relative;
white-space: inherit
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em;
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
.line-numbers-rows>span {
display: block;
counter-increment: linenumber
}
.line-numbers-rows>span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: .8em;
text-align: right
}
.token a {
color: inherit
}
code[class*=language-] a[href],pre[class*=language-] a[href] {
cursor: help;
text-decoration: none
}
code[class*=language-] a[href]:hover,pre[class*=language-] a[href]:hover {
cursor: help;
text-decoration: underline
}
span.inline-color-wrapper {
background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4=);
background-position: center;
background-size: 110%;
display: inline-block;
height: 1.333ch;
width: 1.333ch;
margin: 0 .333ch;
box-sizing: border-box;
border: 1px solid #fff;
outline: 1px solid rgba(0,0,0,.5);
overflow: hidden
}
span.inline-color {
display: block;
height: 120%;
width: 120%
}
.prism-previewer,.prism-previewer:after,.prism-previewer:before {
position: absolute;
pointer-events: none
}
.prism-previewer,.prism-previewer:after {
left: 50%
}
.prism-previewer {
margin-top: -48px;
width: 32px;
height: 32px;
margin-left: -16px;
z-index: 10;
opacity: 0;
-webkit-transition: opacity .25s;
-o-transition: opacity .25s;
transition: opacity .25s
}
.prism-previewer.flipped {
margin-top: 0;
margin-bottom: -48px
}
.prism-previewer:after,.prism-previewer:before {
content: '';
position: absolute;
pointer-events: none
}
.prism-previewer:before {
top: -5px;
right: -5px;
left: -5px;
bottom: -5px;
border-radius: 10px;
border: 5px solid #fff;
box-shadow: 0 0 3px rgba(0,0,0,.5) inset,0 0 10px rgba(0,0,0,.75)
}
.prism-previewer:after {
top: 100%;
width: 0;
height: 0;
margin: 5px 0 0 -7px;
border: 7px solid transparent;
border-color: rgba(255,0,0,0);
border-top-color: #fff
}
.prism-previewer.flipped:after {
top: auto;
bottom: 100%;
margin-top: 0;
margin-bottom: 5px;
border-top-color: rgba(255,0,0,0);
border-bottom-color: #fff
}
.prism-previewer.active {
opacity: 1
}
.prism-previewer-angle:before {
border-radius: 50%;
background: #fff
}
.prism-previewer-angle:after {
margin-top: 4px
}
.prism-previewer-angle svg {
width: 32px;
height: 32px;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg)
}
.prism-previewer-angle[data-negative] svg {
-webkit-transform: scaleX(-1) rotate(-90deg);
-moz-transform: scaleX(-1) rotate(-90deg);
-ms-transform: scaleX(-1) rotate(-90deg);
-o-transform: scaleX(-1) rotate(-90deg);
transform: scaleX(-1) rotate(-90deg)
}
.prism-previewer-angle circle {
fill: transparent;
stroke: #2d3438;
stroke-opacity: .9;
stroke-width: 32;
stroke-dasharray: 0,500
}
.prism-previewer-gradient {
background-image: linear-gradient(45deg,#bbb 25%,transparent 25%,transparent 75%,#bbb 75%,#bbb),linear-gradient(45deg,#bbb 25%,#eee 25%,#eee 75%,#bbb 75%,#bbb);
background-size: 10px 10px;
background-position: 0 0,5px 5px;
width: 64px;
margin-left: -32px
}
.prism-previewer-gradient:before {
content: none
}
.prism-previewer-gradient div {
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
border-radius: 10px;
border: 5px solid #fff;
box-shadow: 0 0 3px rgba(0,0,0,.5) inset,0 0 10px rgba(0,0,0,.75)
}
.prism-previewer-color {
background-image: linear-gradient(45deg,#bbb 25%,transparent 25%,transparent 75%,#bbb 75%,#bbb),linear-gradient(45deg,#bbb 25%,#eee 25%,#eee 75%,#bbb 75%,#bbb);
background-size: 10px 10px;
background-position: 0 0,5px 5px
}
.prism-previewer-color:before {
background-color: inherit;
background-clip: padding-box
}
.prism-previewer-easing {
margin-top: -76px;
margin-left: -30px;
width: 60px;
height: 60px;
background: #333
}
.prism-previewer-easing.flipped {
margin-bottom: -116px
}
.prism-previewer-easing svg {
width: 60px;
height: 60px
}
.prism-previewer-easing circle {
fill: #2d3438;
stroke: #fff
}
.prism-previewer-easing path {
fill: none;
stroke: #fff;
stroke-linecap: round;
stroke-width: 4
}
.prism-previewer-easing line {
stroke: #fff;
stroke-opacity: .5;
stroke-width: 2
}
@-webkit-keyframes prism-previewer-time {
0% {
stroke-dasharray: 0,500;
stroke-dashoffset: 0
}
50% {
stroke-dasharray: 100,500;
stroke-dashoffset: 0
}
100% {
stroke-dasharray: 0,500;
stroke-dashoffset: -100
}
}
@-o-keyframes prism-previewer-time {
0% {
stroke-dasharray: 0,500;
stroke-dashoffset: 0
}
50% {
stroke-dasharray: 100,500;
stroke-dashoffset: 0
}
100% {
stroke-dasharray: 0,500;
stroke-dashoffset: -100
}
}
@-moz-keyframes prism-previewer-time {
0% {
stroke-dasharray: 0,500;
stroke-dashoffset: 0
}
50% {
stroke-dasharray: 100,500;
stroke-dashoffset: 0
}
100% {
stroke-dasharray: 0,500;
stroke-dashoffset: -100
}
}
@keyframes prism-previewer-time {
0% {
stroke-dasharray: 0,500;
stroke-dashoffset: 0
}
50% {
stroke-dasharray: 100,500;
stroke-dashoffset: 0
}
100% {
stroke-dasharray: 0,500;
stroke-dashoffset: -100
}
}
.prism-previewer-time:before {
border-radius: 50%;
background: #fff
}
.prism-previewer-time:after {
margin-top: 4px
}
.prism-previewer-time svg {
width: 32px;
height: 32px;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg)
}
.prism-previewer-time circle {
fill: transparent;
stroke: #2d3438;
stroke-opacity: .9;
stroke-width: 32;
stroke-dasharray: 0,500;
stroke-dashoffset: 0;
-webkit-animation: prism-previewer-time linear infinite 3s;
-moz-animation: prism-previewer-time linear infinite 3s;
-o-animation: prism-previewer-time linear infinite 3s;
animation: prism-previewer-time linear infinite 3s
}
.command-line-prompt {
border-right: 1px solid #999;
display: block;
float: left;
font-size: 100%;
letter-spacing: -1px;
margin-right: 1em;
pointer-events: none;
text-align: right;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
.command-line-prompt>span:before {
opacity: .7;
content: ' ';
display: block;
padding-right: .8em
}
.command-line-prompt>span[data-user]:before {
content: "[" attr(data-user) "@" attr(data-host) "] $"
}
.command-line-prompt>span[data-user=root]:before {
content: "[" attr(data-user) "@" attr(data-host) "] #"
}
.command-line-prompt>span[data-prompt]:before {
content: attr(data-prompt)
}
.command-line-prompt>span[data-continuation-prompt]:before {
content: attr(data-continuation-prompt)
}
.command-line span.token.output {
opacity: .7
}
[class*=lang-] script[type='text/plain'],[class*=language-] script[type='text/plain'],script[type='text/plain'][class*=lang-],script[type='text/plain'][class*=language-] {
display: block;
font: 100% Consolas,Monaco,monospace;
white-space: pre;
overflow: auto
}
div.code-toolbar {
position: relative
}
div.code-toolbar>.toolbar {
position: absolute;
z-index: 10;
top: 0em;
right: .5em;
transition: opacity .3s ease-in-out;
opacity: 0
}
div.code-toolbar:hover>.toolbar {
opacity: 1
}
div.code-toolbar:focus-within>.toolbar {
opacity: 1
}
div.code-toolbar>.toolbar>.toolbar-item {
display: inline-block;
margin: 2px;
}
div.code-toolbar>.toolbar>.toolbar-item>a {
cursor: pointer
}
div.code-toolbar>.toolbar>.toolbar-item>button {
background: 0 0;
border: 0;
color: inherit;
font: inherit;
line-height: normal;
overflow: visible;
padding: 0;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none
}
div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span {
color: #bbb;
font-size: .8em;
padding: .2em .4em;
background: #f5f2f0;
background: rgba(224,224,224,.2);
box-shadow: 0 2px 0 0 rgba(0,0,0,.2);
border-radius: .5em
}
div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover {
color: inherit;
text-decoration: none
}
.token.punctuation.brace-hover,.token.punctuation.brace-selected {
outline: solid 1px
}
.rainbow-braces .token.punctuation.brace-level-1,.rainbow-braces .token.punctuation.brace-level-5,.rainbow-braces .token.punctuation.brace-level-9 {
color: #e50;
opacity: 1
}
.rainbow-braces .token.punctuation.brace-level-10,.rainbow-braces .token.punctuation.brace-level-2,.rainbow-braces .token.punctuation.brace-level-6 {
color: #0b3;
opacity: 1
}
.rainbow-braces .token.punctuation.brace-level-11,.rainbow-braces .token.punctuation.brace-level-3,.rainbow-braces .token.punctuation.brace-level-7 {
color: #26f;
opacity: 1
}
.rainbow-braces .token.punctuation.brace-level-12,.rainbow-braces .token.punctuation.brace-level-4,.rainbow-braces .token.punctuation.brace-level-8 {
color: #e0e;
opacity: 1
}
pre.diff-highlight>code .token.deleted:not(.prefix),pre>code.diff-highlight .token.deleted:not(.prefix) {
background-color: rgba(255,0,0,.1);
color: inherit;
display: block
}
pre.diff-highlight>code .token.inserted:not(.prefix),pre>code.diff-highlight .token.inserted:not(.prefix) {
background-color: rgba(0,255,128,.1);
color: inherit;
display: block
}
.token.treeview-part .entry-line {
position: relative;
text-indent: -99em;
display: inline-block;
vertical-align: top;
width: 1.2em
}
.token.treeview-part .entry-line:before,.token.treeview-part .line-h:after {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 50%;
height: 100%
}
.token.treeview-part .line-h:before,.token.treeview-part .line-v:before {
border-left: 1px solid #ccc
}
.token.treeview-part .line-v-last:before {
height: 50%;
border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc
}
.token.treeview-part .line-h:after {
height: 50%;
border-bottom: 1px solid #ccc
}
.token.treeview-part .entry-name {
position: relative;
display: inline-block;
vertical-align: top
}
.token.treeview-part .entry-name.dotfile {
opacity: .5
}
@font-face {
font-family: PrismTreeview;
src: url(data:application/font-woff;base64,d09GRgABAAAAAAgYAAsAAAAAEGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPwAAAFY1UkH9Y21hcAAAAYQAAAB/AAACCtvO7yxnbHlmAAACBAAAA+MAAAlACm1VqmhlYWQAAAXoAAAAKgAAADZfxj5jaGhlYQAABhQAAAAYAAAAJAFbAMFobXR4AAAGLAAAAA4AAAA0CGQAAGxvY2EAAAY8AAAAHAAAABwM9A9CbWF4cAAABlgAAAAfAAAAIAEgAHZuYW1lAAAGeAAAATcAAAJSfUrk+HBvc3QAAAewAAAAZgAAAIka0DSfeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGRYyjiBgZWBgaGQoRZISkLpUAYOBj0GBiYGVmYGrCAgzTWFweEV4ysehs1ArgDDFgZGIA3CDAB2tQjAAHic7ZHLEcMwCESfLCz/VEoKSEE5parURxMOC4c0Ec283WGFdABgBXrwCAzam4bOK9KWeefM3Hhmjyn3ed+hTRq1pS7Ra/HjYGPniHcXMy4G/zNTP7/KW5HTXArkvdBW3ArN19dCG/NRIN8K5HuB/CiQn4U26VeBfBbML9NEH78AeJyVVc1u20YQ3pn905JcSgr/YsuSDTEg3cR1bFEkYyS1HQcQ2jQF2hot6vYSoECKnnPLA/SWUy9NTr31Bfp+6azsNI0SGiolzu7ODnfn+2Z2lnHG3rxhr9nfLGKbLGesncAYYnUHpsVnMG/uwyzNdFIVd6HI6twp8+R3LpT4TSglLoTHwwJgG2/dFvKrl9yI507/p5CCq4LTxB/PlPjkFaMHnWB/0S9je7RTPS+utnGtom1T2q5pk/e3H0M1S18rsXAL7wgpxQuhAmteGGvNjmcfGXuwnFNOPCXxeOGmnjrBLWNyBeNtVq2Hs03yus1aPS3mzSyNVSfu588iW1Q93x/4fjcHn+5EkS2tMxr4xIRa8ese+4L9uKZnxEqs8+ldyN9atU02a5t5uQ8hZGms1QTKpaKYqnipiNNOAIeIADC0JNEOYY+jtSgFoOchiAjRGFACpUTRje8bwIYWGCDEgENY8MEu9bnCYCdAxftoNg0KiSpUtPaHcanYwzXRu6T4r40b5npal3V7UHWCPJW9niyl1vIHgoujEXZjudBkeWkOeMQBRmbEPhKzij1i52t6/TadL+3q7H0U1eq4E8cG4gIIwQLx8VX7ToPXgPrehVc5QXHR7gMSmwjKfaYAP4KvZV+yn9bE18y2IY37LvtyrSg3i7ZK++B603ndlg/gBJpZRsfpBI6hyiaQ6FjlnThz8lAC3LgBIMnXDOAXxBQ4SIgiEhx2AcGCAwAhwjXRpCQms42bwAUt75BvAwgONzdgOfWEwzk4Ylzj4mz+5YEzzXzWX9aNlk7ot65y5QnBHsNlm6zDTu7sspRqG4V+fgJ1lVBZ07Nm7s5nemo3Lf3PO7iwtnroQ5/YDGwPRUip6fV6L+27p+wCHwSvPs85UnHqId8NAn5IBsKdv95KrL9m31Gsf2a/rluDslk1y1J9GE+LUmmVT/OyOHaFKGnapt2H5XeJTmKd6qYNoVVZOy+pWzr7rMip3ndG/4mQSoUcMbAqG/YNIAdXhkAqTVruXhocSKN0iS4Rwj7vSS4fcF/La07BfeQSuRAcFeW+9igjwPhhYPpGCBCBHhxiKMyFMFT7ziRH7RtfIWdiha+TdW+Rqs7bLHdN2ZJIKl0um0x3op9saYr0REeRdj09pl43pMzz4tjztrY8L4o8bzT+oLY27PR/eFtXs/YY5vtwB5Iqad14eYN0ujveMaGWqkdU3TKbQSC5Uvxaf4fA7SAQ3r2tEfIhd4duld91bwMisjqBw22orthNcroXl7KqO1329HBgAexgoCfGAwiDPoBnriki3lmNojrzvD0tjo6E3vPYP6E2BMIAeJxjYGRgYADiY8t3FsTz23xl4GbYzIAB/v9nWM6wBcjgYGAC8QH+QQhZAAB4nGNgZGBg2MzAACeXMzAyoAJeADPyAh14nGNgAILNpGEA0fgIZQAAAAAAAAA2AHIAvgE+AZgCCAKMAv4DlgPsBEYEoHicY2BkYGDgZchi4GQAASYg5gJCBob/YD4DABTSAZcAeJx9kU1uwjAQhV/4qwpqhdSqi67cTTeVEmBXDgBbhBD7AHYISuLUMSD2PUdP0HNwjp6i676k3qQS9Ujjb968mYUNoI8zPJTHw02Vy9PAFatfbpLuHbfIT47b6MF33KH+6riLF0wc93CHN27wWtdUHvHuuIFbfDhuUv903CKfHbfxgC/HHerfjrtYen3HPTx7ambiIl0YKQ+xPM5ltE9CU9NqxVKaItaZGPqDmj6VmTShlRuxOoniEI2sVUIZnYqJzqxMEi1yo3dybf2ttfk4CJTT/bVOMYNBjAIpFiTJOLCWOGLOHGGPBCE7l32XO0tmw04MjQwCQ7774B//lDmrZkJY3hvOrHBiLuiJMKJqoVgrejQ3CP5Yubt0JwxNJa96Oypr6j621VSOMQKG+uP36eKmHylcb0MAeJxtwdEOgjAMBdBeWEFR/Mdl7bTJtMsygc/nwVfPoYF+QP+tGDAigDFhxgVXLLjhjhUPCtmKTtmLaGN7x6dy/Io5bybqoevRQ3LRObb0sk3HKpn1SFqW6ru26vbpYfcmRCccJhqsAAA=) format("woff")
}
.token.treeview-part .entry-name:before {
content: "\ea01";
font-family: PrismTreeview;
font-size: inherit;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 2.5ex;
display: inline-block
}
.token.treeview-part .entry-name.dir:before {
content: "\ea02"
}
.token.treeview-part .entry-name.ext-bmp:before,.token.treeview-part .entry-name.ext-eps:before,.token.treeview-part .entry-name.ext-gif:before,.token.treeview-part .entry-name.ext-jpe:before,.token.treeview-part .entry-name.ext-jpeg:before,.token.treeview-part .entry-name.ext-jpg:before,.token.treeview-part .entry-name.ext-png:before,.token.treeview-part .entry-name.ext-svg:before,.token.treeview-part .entry-name.ext-tiff:before {
content: "\ea03"
}
.token.treeview-part .entry-name.ext-cfg:before,.token.treeview-part .entry-name.ext-conf:before,.token.treeview-part .entry-name.ext-config:before,.token.treeview-part .entry-name.ext-csv:before,.token.treeview-part .entry-name.ext-ini:before,.token.treeview-part .entry-name.ext-log:before,.token.treeview-part .entry-name.ext-md:before,.token.treeview-part .entry-name.ext-nfo:before,.token.treeview-part .entry-name.ext-txt:before {
content: "\ea06"
}
.token.treeview-part .entry-name.ext-asp:before,.token.treeview-part .entry-name.ext-aspx:before,.token.treeview-part .entry-name.ext-c:before,.token.treeview-part .entry-name.ext-cc:before,.token.treeview-part .entry-name.ext-cpp:before,.token.treeview-part .entry-name.ext-cs:before,.token.treeview-part .entry-name.ext-css:before,.token.treeview-part .entry-name.ext-h:before,.token.treeview-part .entry-name.ext-hh:before,.token.treeview-part .entry-name.ext-htm:before,.token.treeview-part .entry-name.ext-html:before,.token.treeview-part .entry-name.ext-jav:before,.token.treeview-part .entry-name.ext-java:before,.token.treeview-part .entry-name.ext-js:before,.token.treeview-part .entry-name.ext-php:before,.token.treeview-part .entry-name.ext-rb:before,.token.treeview-part .entry-name.ext-xml:before {
content: "\ea07"
}
.token.treeview-part .entry-name.ext-7z:before,.token.treeview-part .entry-name.ext-bz2:before,.token.treeview-part .entry-name.ext-bz:before,.token.treeview-part .entry-name.ext-gz:before,.token.treeview-part .entry-name.ext-rar:before,.token.treeview-part .entry-name.ext-tar:before,.token.treeview-part .entry-name.ext-tgz:before,.token.treeview-part .entry-name.ext-zip:before {
content: "\ea08"
}
.token.treeview-part .entry-name.ext-aac:before,.token.treeview-part .entry-name.ext-au:before,.token.treeview-part .entry-name.ext-cda:before,.token.treeview-part .entry-name.ext-flac:before,.token.treeview-part .entry-name.ext-mp3:before,.token.treeview-part .entry-name.ext-oga:before,.token.treeview-part .entry-name.ext-ogg:before,.token.treeview-part .entry-name.ext-wav:before,.token.treeview-part .entry-name.ext-wma:before {
content: "\ea04"
}
.token.treeview-part .entry-name.ext-avi:before,.token.treeview-part .entry-name.ext-flv:before,.token.treeview-part .entry-name.ext-mkv:before,.token.treeview-part .entry-name.ext-mov:before,.token.treeview-part .entry-name.ext-mp4:before,.token.treeview-part .entry-name.ext-mpeg:before,.token.treeview-part .entry-name.ext-mpg:before,.token.treeview-part .entry-name.ext-ogv:before,.token.treeview-part .entry-name.ext-webm:before {
content: "\ea05"
}
.token.treeview-part .entry-name.ext-pdf:before {
content: "\ea09"
}
.token.treeview-part .entry-name.ext-xls:before,.token.treeview-part .entry-name.ext-xlsx:before {
content: "\ea0a"
}
.token.treeview-part .entry-name.ext-doc:before,.token.treeview-part .entry-name.ext-docm:before,.token.treeview-part .entry-name.ext-docx:before {
content: "\ea0c"
}
.token.treeview-part .entry-name.ext-pps:before,.token.treeview-part .entry-name.ext-ppt:before,.token.treeview-part .entry-name.ext-pptx:before {
content: "\ea0b"
}
/**/
pre[class*="language-"].line-numbers {
padding-top: 40px;
/*为了加语言导航条*/
line-height: 1.6;
background: #21252b;
box-shadow: 0 10px 30px 0px rgba(0,0,0,.4);
font: 15px/21px "Microsoft YaHei", Arial, Sans-Serif;
margin-bottom: 24px;
max-width: 100%;
overflow: auto;
text-shadow: none;
color: #000;
padding-top: 30px;
box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .4);
}
.highlight[class*="language-"]:before {
text-transform: uppercase;
color: #ffffff;
height: 38px;
line-height: 38px;
font-size: 14px;
position: absolute;
top: 0;
left: 0;
font-family: 'Source Sans Pro', sans-serif;
font-weight: 700;
padding: 0 80px;
text-indent: 15px;
float: left;
}
.highlight.language-none:before {
content: 'txt';
}
.highlight.language-php:before {
content: 'php';
}
.highlight.language-css:before {
content: 'css';
}
.highlight.language-markup:before {
content: 'markup';
}
.highlight.language-xml:before {
content: 'xml';
}
.highlight.language-html:before {
content: 'html';
}
.highlight.language-mathml:before {
content: 'mathml';
}
.highlight.language-svg:before {
content: 'svg';
}
.highlight.language-clike:before {
content: 'clike';
}
.highlight.language-javascript:before {
content: 'javascript';
}
.highlight.language-js:before {
content: 'javascript';
}
.highlight.language-c:before {
content: 'c';
}
.highlight.language-bash:before {
content: 'bash';
}
.highlight.language-shell:before {
content: 'shell';
}
.highlight.language-cpp:before {
content: 'cpp';
}
.highlight.language-diff:before {
content: 'diff';
}
.highlight.language-markup-templating:before {
content: 'markup-templating';
}
.highlight.language-git:before {
content: 'git';
}
.highlight.language-java:before {
content: 'java';
}
.highlight.language-json:before {
content: 'json';
}
.highlight.language-jsonp:before {
content: 'jsonp';
}
.highlight.language-markdown:before {
content: 'markdown';
}
.highlight.language-objectivec:before {
content: 'objectivec';
}
.highlight.language-sql:before {
content: 'sql';
}
.highlight.language-python:before {
content: 'python';
}
.highlight.language-nginx:before {
content: 'nginx';
}
.highlight.language-C\"#\":before{content: 'C#';}
.highlight.language-ASP.NET:before{content: 'C#';}
.highlight.language-c-like:before{content: 'c-like';}
.highlight.language-perl:before{content: 'perl';}
.highlight[class*="language-"]:after {
content: "";
position: absolute;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #fc625d;
width: 12px;
height: 12px;
top: 0;
left: 20px;
margin-top: 13px;
-webkit-box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
}
a.token.url-link {
color: red;
}
.pre-mac {
position: relative;
margin-top: -7px;
top: 21px;
left: 10px;
width: 100px;
z-index: 99;
}
.pre-mac > span {
float: left;
width: 10px;
height: 10px;
border-radius: 50%;
margin-right: 5px;
}
.pre-mac > span:nth-child(1) {
background: red;
}
.pre-mac > span:nth-child(2) {
background: sandybrown;
}
.pre-mac > span:nth-child(3) {
background: limegreen;
}

16757
prism.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1193,3 +1193,332 @@ html {
.highlight .code .selector-id { .highlight .code .selector-id {
font-weight: bold; font-weight: bold;
} }
.pagination_page{
display: flex;
align-items: center;
justify-content: center;
margin-top: var(--margin);
gap: 0.5rem;
}
.pagination_page li.active a {
background: var(--theme);
color: #fff;
font-weight: 500;
}
.pagination_page a{
display: flex;
padding: 0.5rem;
font-size: 0.9rem;
width: 1.75rem;
height: 1.75rem;
background: var(--background);
border-radius: 50%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
transition: 0.2s;
-webkit-transition: 0.2s;
justify-content: center;
align-items: center;
letter-spacing: 0;
}
.pagination_page span.next{
cursor: pointer;
}
.pagination_page li.active a:hover{
cursor: not-allowed;
}
.comment-form label {
display: block;
margin-bottom: .5rem;
font-size: 14px;
cursor: pointer;
line-height: 1.4
}
.comment-form label .required {
color: red
}
.comment-form input,
.comment-form textarea {
width: 100%;
resize: none;
border-radius: 5px;
box-sizing: border-box;
border: 1px solid #999;
padding: 8px 15px;
font-size: 14px
}
.comment-form .submit {
background-color: #000;
color: #fff;
border: 0;
font-size: 14px;
cursor: pointer;
padding: 8px 30px;
border-radius: 5px;
width: auto
}
.comment-form p {
margin-bottom: 15px
}
.comment-form p:last-of-type {
margin-bottom: 0
}
.comment-form .comment-notes,
.comment-form .logged-in-as {
font-size: 12px;
}
.comment-reply-title {
font-weight: 700;
font-size: 18px;
display: flex;
align-items: center
}
.comment-reply-title small {
margin-left: auto;
font-weight: 400;
font-size: 14px
}
.commentlist {
border-top: 1px solid var(--theme);
list-style: none;
padding-top: 10px
}
.commentlist .comment {
padding: 0 0
}
.commentlist .comment-respond {
margin-top: 20px;
padding: 20px;
border-radius: 5px
}
@keyframes comment--fresh {
0% {
background-color: #fff
}
100% {
background-color: #fffee0
}
}
.comment:last-child>.comment-body {
border-bottom: 0
}
.comment.parent {
border-bottom: 1px solid var(--theme)
}
.comment.parent:last-child {
border-bottom: 0
}
.comment-body {
padding: 25px 0
}
.comment-body__fresh {
animation: comment--fresh 1.5s ease-in-out infinite alternate;
border-radius: 5px
}
.comment-body .avatar {
transition: .5s box-shadow
}
.comment-body:hover .avatar {
box-shadow: 0 0 3px 0
}
.comment--avatar {
flex: none;
margin-right: 10px;
display: flex
}
.comment--author {
flex: auto;
display: flex;
align-items: center
}
.comment--author .comment-reply-link {
margin-left: auto
}
.comment--author .comment-reply-link svg {
width: 15px;
height: 15px
}
.comment--author a:hover {
text-decoration: underline
}
.comment--meta {
display: flex;
align-items: center;
flex: auto
}
.comment-meta {
display: flex;
align-items: center
}
.comment-meta .avatar {
border-radius: 100%
}
div.cancel-comment-reply.cancel-comment-reply-link {
text-align: right;
}
.comment-content {
word-wrap: break-word !important;
overflow-wrap: break-word !important;
white-space: normal !important;
}
.comment-content a {
text-decoration: underline
}
.children {
margin-left: 0;
padding-bottom: 10px
}
.children .avatar {
width: 32px;
height: 32px
}
.children .comment-body {
border-bottom: 0;
padding: 15px 0
}
.children .comment-content {
font-size: 14px
}
.parent>.children {
margin-left: 50px
}
.comment-meta {
margin-bottom: 10px;
font-size: 14px;
display: flex;
align-items: center
}
.comment-meta .comment-metadata {
margin-left: auto
}
.comment-reply-link {
font-size: 12px
}
.no--comment {
text-align: center;
padding: 30px 0
}
.comments--title {
margin-top: 30px;
font-size: 18px;
font-weight: 700;
margin-bottom: 10px;
display: flex;
align-items: center
}
.comments--title svg {
width: 24px;
height: 24px;
margin-right: 5px;
position: relative;
transform: translate3d(0, 1px, 0);
}
.comment-respond {
padding-top: 30px
}
.comment-form-cookies-consent #wp-comment-cookies-consent {
display: none
}
.comment-form-cookies-consent label {
font-size: 14px;
display: flex;
align-items: center;
position: relative
}
.comment-form-cookies-consent label::before {
background-color: #fff;
border: 1px solid rgba(0, 0, 0, .15);
border-radius: 100%;
height: 16px;
margin-right: 6px;
vertical-align: middle;
width: 16px;
content: "";
flex: none
}
.dot::before {
content: "·";
margin-left: 4px;
margin-right: 4px
}
.comment-form-cookies-consent input:checked+label::after {
border-radius: 100%;
content: "";
position: absolute;
left: 1px;
height: 12px;
margin: 2px;
width: 12px;
flex: none
}
/* 去除有序列表(<ol>)的列表号 */
ol.comment-list {
list-style-type: none;
padding-left: 0; /* 取消左侧的默认填充 */
}
/* 去除无序列表(<ul>)的列表号 */
ul.comment-list {
list-style-type: none;
padding-left: 0; /* 取消左侧的默认填充 */
}
/* 适用于所有嵌套的评论列表 */
ol.comment-list li, ul.comment-list li {
list-style-type: none;
}
/* 文章中强制换行 */
article p {
word-wrap:break-word;
}

View File

@ -1,4 +1,5 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?> <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<script src="<?php $this->options->themeUrl('tocbot.min.js'); ?>"></script>
<div class="post-toc"> <div class="post-toc">
<div class="tocbot-list"> <div class="tocbot-list">
</div> </div>

1
tocbot.min.js vendored Normal file

File diff suppressed because one or more lines are too long