Skip to content

Commit b5f36ac

Browse files
committed
加入了 Gravatar 源设置
1. functions.php 加入了 Gravatar 源设置 2. functions.php 加入了一个函数用来设置 Gravatar 头像 3. assets/js/options-panel.js 调整了主题设置页插入分组标题的位置 4. components/comments.php 调整了 Gravatar 头像的加载方式 5. components/sidebar.php 调整了侧边栏评论 Gravatar 头像的加载方式 6. assets/css/style.scss 给文章内插入的 video 标签加入了默认样式
1 parent 40d141b commit b5f36ac

File tree

8 files changed

+48
-19
lines changed

8 files changed

+48
-19
lines changed

assets/css/style.css

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/css/style.css.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/css/style.scss

+3
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,9 @@
116116
pre {
117117
margin-bottom: 20px;
118118
}
119+
video {
120+
width: 100%;
121+
}
119122
}
120123

121124
// 代码高亮样式

assets/js/app.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -757,7 +757,7 @@ $(function () {
757757
}
758758
}
759759

760-
// 图片灯箱初始化
760+
// 图片灯箱初始化
761761
function imageLightboxInit() {
762762
let imgWH = ''; // 记录图片的宽高
763763
let imgDirection = 0; // 图片方向
@@ -1009,7 +1009,7 @@ $(function () {
10091009
}
10101010
}
10111011

1012-
// 代码高亮初始化
1012+
// 代码高亮初始化
10131013
function codeHighlightInit() {
10141014
const codeLineNum = $('.post-content').attr('data-code-line-num');
10151015

assets/js/options-panel.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ window.addEventListener('load', function() {
2424
form.insertBefore(titleEl[3], ul[5]); // 侧边栏
2525
form.insertBefore(titleEl[4], ul[16]); // 文章相关
2626
form.insertBefore(titleEl[5], ul[29]); // 评论
27-
form.insertBefore(titleEl[6], ul[33]); // 友链
28-
form.insertBefore(titleEl[7], ul[36]); // PJAX
29-
form.insertBefore(titleEl[8], ul[39]); // 开发者
27+
form.insertBefore(titleEl[6], ul[34]); // 友链
28+
form.insertBefore(titleEl[7], ul[37]); // PJAX
29+
form.insertBefore(titleEl[8], ul[40]); // 开发者
3030

3131
// 导出配置按钮点击
3232
document.querySelector('#export-btn').addEventListener('click', function() {

components/comments.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
$GLOBALS['commentDateFormat'] = $this->options->commentDateFormat; // 获取日期格式设置
44
$GLOBALS['QQAvatar'] = $this->options->QQAvatar; // 获取QQ头像设置
5+
$GLOBALS['gravatarUrl'] = $this->options->gravatarUrl; // 获取自定义 gravatar
56

67
function threadedComments($comments, $options) {
78
$commentClass = '';
@@ -29,11 +30,13 @@ function threadedComments($comments, $options) {
2930
<div id="<?php $comments->theId(); ?>" class="comment-box">
3031
<div class="comment-author clearfix">
3132
<?php
33+
// 普通评论头像
3234
if ($GLOBALS['QQAvatar'] == 'show' && isQQEmail($comments->mail)) {
3335
QQAvatar($comments->mail, $comments->author, 40);
3436
}else {
35-
$comments->gravatar('50', '');
37+
gravatar($comments->mail, 50, $GLOBALS['gravatarUrl'], $comments->author);
3638
}
39+
// 引用头像
3740
if ($comments->type == 'pingback') {
3841
echo '<div class="pingback avatar" role="img" aria-label="引用">引用</div>';
3942
}

components/sidebar.php

+17-10
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,15 @@
2020
<div>
2121
<?php if (!$this->options->nickname or !$this->options->birthday or !$this->options->avatarUrl) $userInfo = getAdminInfo(); ?>
2222
<div class="blog-user-info">
23-
<img src="<?php $this->options->avatarUrl?$this->options->avatarUrl():gravatarUrl($userInfo['mail'], 56); ?>" alt="<?php echo $this->options->nickname?$this->options->nickname . '的头像':$this->options->title . '的头像'; ?>" class="avatar mr-3">
24-
<div class="blog-text-info">
23+
<?php
24+
$avatarName = $this->options->nickname?$this->options->nickname . '的头像':$this->options->title . '的头像';
25+
if ($this->options->avatarUrl) {
26+
echo '<img src="' . $this->options->avatarUrl . '" alt="' . $avatarName . '" class="avatar" />';
27+
}else {
28+
gravatar($userInfo['mail'], 56, $this->options->gravatarUrl, $avatarName);
29+
}
30+
?>
31+
<div class="blog-text-info ml-3">
2532
<h5 class="mb-1"><a href="<?php echo $this->options->nicknameUrl?$this->options->nicknameUrl:$this->options->siteUrl; ?>" target="_blank"><?php echo $this->options->nickname?$this->options->nickname:$userInfo['screenName']; ?></a></h5>
2633
<p class="m-0"><?php echo $this->options->Introduction?$this->options->Introduction:$this->options->description; ?></p>
2734
</div>
@@ -101,14 +108,14 @@
101108
<?php while($comments->next()): ?>
102109
<li class="media mb-2">
103110
<?php
104-
if ($this->options->QQAvatar == 'show' && isQQEmail($comments->mail)) {
105-
QQAvatar($comments->mail, $comments->author, 40);
106-
}else {
107-
$comments->gravatar('50', '');
108-
}
109-
if ($comments->type == 'pingback') {
110-
echo '<div class="pingback avatar" role="img" aria-label="引用">引用</div>';
111-
}
111+
if ($this->options->QQAvatar == 'show' && isQQEmail($comments->mail)) {
112+
QQAvatar($comments->mail, $comments->author, 40);
113+
}else {
114+
gravatar($comments->mail, 50, $this->options->gravatarUrl, $comments->author);
115+
}
116+
if ($comments->type == 'pingback') {
117+
echo '<div class="pingback avatar" role="img" aria-label="引用">引用</div>';
118+
}
112119
?>
113120
<div class="media-body">
114121
<h5 class="mb-0 text-truncate">

functions.php

+9-2
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ function themeConfig($form) {
214214
'hide' => '不显示'
215215
), 'hide', _t('显示评论者的QQ头像'), _t('开启后如果检测到评论者使用QQ邮箱就会显示QQ头像,只支持 QQ号@qq.com 的QQ邮箱。')));
216216

217+
// 自定义 Gravatar 地址
218+
$form->addInput(new Typecho_Widget_Helper_Form_Element_Text('gravatarUrl', null, '', _t('自定义 Gravatar 源'), _t('Gravatar 头像服务在有些地区可能无法正常使用,如果你需要更换 Gravatar 源的话,可以在这里输入 URL,留空会使用官方源。')));
219+
217220
// 启用 Emoji 面板
218221
$form->addInput(new Typecho_Widget_Helper_Form_Element_Radio('emojiPanel', array(
219222
'show' => '启用',
@@ -734,8 +737,12 @@ function replaceImgSrc($content) {
734737
}
735738

736739
// 获取 Gravatar 头像
737-
function gravatarUrl($email, $size) {
738-
echo 'https://www.gravatar.com/avatar/' . md5(strtolower(trim($email))) . '?s=' . $size;
740+
function gravatar($email, $size, $gravatarUrl = '', $alt = '') {
741+
$url = $gravatarUrl . md5(strtolower(trim($email))) . '?s=' . $size;
742+
if ($gravatarUrl == '' or $gravatarUrl == null) {
743+
$url = 'https://www.gravatar.com/avatar/' . md5(strtolower(trim($email))) . '?s=' . $size;
744+
}
745+
echo '<img src="' . $url . '" alt="' . $alt . '" class="avatar" />';
739746
}
740747

741748
// 获取管理员信息

0 commit comments

Comments
 (0)