This commit is contained in:
浪子 2024-07-11 08:27:33 +08:00
parent d359df3519
commit ada941a0b0
5 changed files with 461 additions and 3 deletions

454
comments.php Normal file
View File

@ -0,0 +1,454 @@
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<div class="post--ingle__comments">
<?php $this->comments()->to($comments); ?>
<?php if($this->allow('comment')): ?>
<?php if ($this->is('attachment')) : ?>
<?php _e(''); ?>
<?php else: ?>
<h3 class="comments--title" id="comments">
<svg viewBox="0 0 24 24" class="icon" aria-hidden="true" width="16" height="16">
<g>
<path
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>
</g>
</svg><?php $this->commentsNum(_t('0'), _t('1'), _t('%d')); ?>
</h3>
<ol class="commentlist"></ol>
<?php if ($comments->have()): ?>
<?php $comments->listComments(); ?>
<?php
$comments->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'
)
);
?>
<?php else: ?>
<center><h3><?php _e('暂无评论'); ?></h3></center>
<?php endif; ?>
<div id="<?php $this->respondId(); ?>" class="comment-respond">
<div class="cancel-comment-reply cancel-comment-reply-link"><?php $comments->cancelReply(); ?></div>
<form method="post" action="<?php $this->commentUrl() ?>" id="comment-form" role="form" class="comment-form">
<?php if($this->user->hasLogin()): ?>
<p><?php _e('登录身份: '); ?>
<a href="<?php $this->options->profileUrl(); ?>">
<?php $this->user->screenName(); ?></a>.
<a href="<?php $this->options->logoutUrl(); ?>" title="Logout"><?php _e('退出'); ?> &raquo;</a></p>
<?php else: ?>
<p class="comment-form-author">
<input placeholder="称呼 *" type="text" name="author" id="author" class="text" value="" required />
</p>
<p class="comment-notes">
<input placeholder="邮箱<?php if ($this->options->commentsRequireMail): ?> *<?php endif; ?>" type="email" name="mail" id="mail" class="text" value=""<?php if ($this->options->commentsRequireMail): ?> required<?php endif; ?> />
</p>
<p class="comment-form-url">
<input type="url" name="url" id="url" class="text" placeholder="http(s)://<?php if ($this->options->commentsRequireURL): ?> *<?php endif; ?>" value=""<?php if ($this->options->commentsRequireURL): ?> required<?php endif; ?> />
</p>
<?php endif; ?>
<p class="comment-form-comment">
<textarea rows="8" cols="50" name="text" id="textarea" class="textarea" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('misubmit').click();return false};" placeholder="<?php _e('评论审核后显示,请勿重复提交...'); ?>" required ><?php $this->remember('text'); ?></textarea>
</p>
<p class="form-submit">
<button type="submit" class="submit" id="misubmit"><?php _e('提交评论Ctrl+Enter'); ?></button>
</p>
</form>
</div>
<?php endif; ?>
<?php else: ?>
<?php endif; ?>
<?php $this->options->twikoo(); ?>
</div>
<?php
function threadedComments($comments, $options) {
$commentClass = '';
if ($comments->authorId) {
if ($comments->authorId == $comments->ownerId) {
$commentClass .= ' comment-by-author';
} else {
$commentClass .= ' comment-by-user';
}
}
$depth = $comments->levels + 1;
?>
<li id="li-<?php $comments->theId(); ?>" class="<?php
if ($comments->levels == 0) {
echo 'comment parent';
} else {
echo 'comment child';
}
echo $commentClass;
?>">
<div class="comment-body" id="<?php $comments->theId(); ?>">
<div class="comment-meta">
<div class="comment--avatar">
<?php if ($comments->url): ?>
<a href="<?php echo $comments->url ?>" target="_blank" rel="external nofollow"><?php echo $comments->gravatar('40', ''); ?> </a>
<?php else: ?>
<?php echo $comments->gravatar('40', ''); ?>
<?php endif; ?>
</div>
<div class="comment--meta">
<div class="comment--author"><?php echo $comments->author; ?><span class="dot"></span>
<div class="comment--time"><?php $comments->date('Y-m-d H:i'); ?></div>
<span class="comment-reply-link u-cursorPointer">
<?php $comments->reply('<svg viewBox="0 0 24 24" width="14" height="14" aria-hidden="true" class="" ><g><path d="M12 3.786c-4.556 0-8.25 3.694-8.25 8.25s3.694 8.25 8.25 8.25c1.595 0 3.081-.451 4.341-1.233l1.054 1.7c-1.568.972-3.418 1.534-5.395 1.534-5.661 0-10.25-4.589-10.25-10.25S6.339 1.786 12 1.786s10.25 4.589 10.25 10.25c0 .901-.21 1.77-.452 2.477-.592 1.731-2.343 2.477-3.917 2.334-1.242-.113-2.307-.74-3.013-1.647-.961 1.253-2.45 2.011-4.092 1.78-2.581-.363-4.127-2.971-3.76-5.578.366-2.606 2.571-4.688 5.152-4.325 1.019.143 1.877.637 2.519 1.342l1.803.258-.507 3.549c-.187 1.31.761 2.509 2.079 2.629.915.083 1.627-.356 1.843-.99.2-.585.345-1.224.345-1.83 0-4.556-3.694-8.25-8.25-8.25zm-.111 5.274c-1.247-.175-2.645.854-2.893 2.623-.249 1.769.811 3.143 2.058 3.319 1.247.175 2.645-.854 2.893-2.623.249-1.769-.811-3.144-2.058-3.319z"></path></g></svg>'); ?>
</span>
</div>
</div>
</div>
<div class="comment-content">
<?php $comments->content(); ?>
</div>
</div>
<?php if ($comments->children) { ?>
<ol class="children">
<?php $comments->threadedComments($options); ?>
</ol>
<?php } ?>
</li>
<?php } ?>
<ol class="commentlist">
<?php $this->comments()->to($comments); ?>
<?php while($comments->next()): ?>
<?php endwhile; ?>
</ol>
<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 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;
}
</style>

View File

@ -2,11 +2,12 @@
<footer class="site-footer">
<section class="copyright">
&copy;
2020 - 2024 · <?php $this->options->title(); ?>
2020 - <?php echo date("Y"); ?> · <?php $this->options->title(); ?>
</section>
<section class="powerby">
Powered by <a href="https://typecho.org/" target="_blank" rel="noopener">Typecho</a> <br />
Theme <b><a href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener" data-version="3.26.0">Stack</a></b> designed by <a href="https://jimmycai.com" target="_blank" rel="noopener">Jimmy</a>
Made with <a href="https://imsun.org/" target="_blank">Sun</a>
</section>
<?php $this->options->tongji() ?>
</footer>

View File

@ -11,6 +11,8 @@ function themeConfig($form) {
$form->addInput($linksurl);
$abouturl = new Typecho_Widget_Helper_Form_Element_Text('abouturl', NULL, NULL, _t('关于页面地址'), _t('关于页面地址'));
$form->addInput($abouturl);
$addsns = new Typecho_Widget_Helper_Form_Element_Textarea('addsns', NULL, NULL, _t('自定义联系方式'), _t('头像下方的联系方式,具体使用查看使用文档'));
$form->addInput($addsns);
$addmenu = new Typecho_Widget_Helper_Form_Element_Textarea('addmenu', NULL, NULL, _t('自定义菜单'), _t('具体查看使用文档'));
$form->addInput($addmenu);
$showgd = new Typecho_Widget_Helper_Form_Element_Radio('showgd',
@ -19,7 +21,7 @@ function themeConfig($form) {
$form->addInput($showgd);
$showmod = new Typecho_Widget_Helper_Form_Element_Radio('showmod',
array('0'=> _t('否'), '1'=> _t('是')),
'0', _t('是否使用魔改风格'), _t('选择“是”将展示。'));
'0', _t('是否使用MOD风格'), _t('选择“是”将展示。'));
$form->addInput($showmod);
$instagramurl = new Typecho_Widget_Helper_Form_Element_Text('instagramurl', NULL, NULL, _t('Instagram'), _t('会在个人信息显示'));
$form->addInput($instagramurl);

View File

@ -45,6 +45,7 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-twitter" 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></li>
<?php endif; ?>
<?php $this->options->addsns() ?>
</ol>
<ol class="menu" id="main-menu">
<li >

View File

@ -4,7 +4,7 @@
*
* @package Typecho stack Theme
* @author Sun
* @version 1.0
* @version 1.0.2
* @link http://imsun.org
*/
if (!defined('__TYPECHO_ROOT_DIR__')) exit;