首页
壁纸
友情链接
留言板
读者墙
关于博客
网站统计
更多
免责声明
推荐
工具箱
在线音乐
小霸王
小黑屋
栅格之地
WIKI
Search
1
Typecho博客主题Joe7.7.1美化优化记录【持续更新】
1,471 阅读
2
给你网站博客的评论添加一键打卡功能
1,306 阅读
3
php报错open_basedir restriction in effect问题和TP5的think-log-viewer
1,226 阅读
4
博客美化和优化过程记录及实用技巧【停止更新】
1,223 阅读
5
聊聊rel=external nofollow和rel=noopener noreferrer
1,024 阅读
编程相关
WEB前端
网站建设
生活随笔
经验分享
登录
Search
标签搜索
博客美化
经验分享
网站优化
Joe主题
php
css
typecho
javascript
html
external
nofollow
noopener
ajax
session
跨域
thinkphp
animation
cdn
七牛云
宝塔
小天
累计撰写
21
篇文章
累计收到
219
条评论
首页
栏目
编程相关
WEB前端
网站建设
生活随笔
经验分享
页面
壁纸
友情链接
留言板
读者墙
关于博客
网站统计
免责声明
推荐
工具箱
在线音乐
小霸王
小黑屋
栅格之地
WIKI
搜索到
9
篇与
博客美化
的结果
2024-04-01
给你网站博客的评论添加一键打卡功能
{callout color="#2d34f0"}受一位网友评论内容的启发,突然想到给评论加一个一键打卡功能。下面主要是相对于Joe主题7.3.6,其他主题原理相同,可自行DIY。{/callout}{message type="success" content="总结起来三个步骤:"/}隐藏内容,请前往内页查看详情
2024年04月01日
1,306 阅读
55 评论
8 点赞
2024-01-10
给你网站博客添加一个读者墙
{callout color="#1d2fbf"}给网站博客增加一个读者墙页面,效果可看本站读者墙。{/callout}{message type="warning" content="最后更新:2024-03-28 12:10:12 星期四"/}下面的 function dengji 函数方法,放在主题目录 Joe/functions.php 文件里面,函数的规则都可以自行定义更改。// 评论者等级 function dengji($email){ $db = Typecho_Db::get(); $mail = $db->fetchAll($db->select(array('COUNT(cid)'=>'nums'))->from('table.comments')->where('mail = ?', $email)->where('authorId != ?','1')); foreach ($mail as $v){ $nums = $v['nums']; } if($nums<1) echo ''; else if($nums>=1 && $nums<20) echo '<object><a class="vip1" title="剑士"></a></object> <span class="level le1">♙LV.'.$nums.' </span> '; else if($nums>=20 && $nums<50) echo '<object><a class="vip2" title="骑士"></a></object> <span class="level le2">♘LV.'.$nums.' </span> '; else if($nums>=50 && $nums<100) echo '<object><a class="vip3" title="领主"></a></object> <span class="level le3">♗LV.'.$nums.' </span> '; else if($nums>=100 && $nums<200) echo '<object><a class="vip4" title="公爵"></a></object> <span class="level le4">♖LV.'.$nums.' </span> '; else if($nums>=200 && $nums<350) echo '<object><a class="vip5" title="君王"></a></object> <span class="level le5">♕LV.'.$nums.' </span> '; else if($nums>=350 && $nums<600) echo '<object><a class="vip6" title="帝皇"></a></object> <span class="level le6">♔LV.'.$nums.' </span> '; else if($nums>=600) echo '<object><a class="vip7" title="超神"></a></object> <span class="level le7">㊣LV.'.$nums.' </span> '; }{callout color="#a48e70"}新建guestbook.php文件,将以下代码复制进去。Joe主题的话,放到Joe/目录下;其他主题根据自身情况存放。{/callout}{callout color="#8bbd1f"}页面弄好后,进入后台-->选择管理-->独立页面-->新增-->选项:自定义模板,选择读者墙,即可。{/callout}<?php /** * 读者墙 * * @package custom */ ?> <!-- * 读者墙 * 放入主题目录下即可。 * * @Author:小天博客[Feng Tianxiang] * @Email:tianxiang.feng@qq.com * @Date:2021/12/29 * @site:https://www.xtboke.com --> <!DOCTYPE html> <html lang="zh-CN"> <head> <style> /*小天自定义*/ @media (max-width: 1400px){ html .xt-reader-top{grid-template-columns: repeat(3, 1fr);} html .xt-reader-list{grid-template-columns: repeat(10, 1fr);} } @media (max-width: 1200px){ html .xt-reader-top{grid-template-columns: repeat(3, 1fr);} html .xt-reader-list{grid-template-columns: repeat(10, 1fr);} } @media (max-width: 992px){ html .xt-reader-top{grid-template-columns: repeat(1, 1fr);} html .xt-reader-list{grid-template-columns: repeat(4, 1fr);} } @media (max-width: 768px){ html .xt-reader-top{grid-template-columns: repeat(1, 1fr);} html .xt-reader-list{grid-template-columns: repeat(4, 1fr);} } .xt-read-box{background: var(--background);padding:15px 5px;border-radius:5px;} .xt-read-box h2{margin:15px 0;} .xt-reader-top{display: grid;gap: 15px;grid-template-columns: repeat(3, 1fr);} .xt-reader-top a.contain { display: block; border-radius: 5px; overflow: hidden; padding: 15px; color: #fff; word-break: break-word; transition: box-shadow 0.35s, -webkit-transform 0.35s; transition: transform 0.35s, box-shadow 0.35s; transition: transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s; } .xt-reader-top a.contain .title { position: relative; } .xt-reader-top a.contain .content { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; } .xt-reader-top a.contain .content .desc { margin-right: 10px; } .xt-reader-top a.contain .title::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 100%; height: 1px; background: #fff; } .xt-reader-top a.contain .avatar{border-radius:50%;} .xt-reader-top a.contain:hover{-webkit-transform:translateY(-5px) scale(1.025);transform:translateY(-5px) scale(1.025);box-shadow:0 34px 20px -24px rgba(136,161,206,0.3)} hr{margin:15px 0;} /*列表*/ .xt-reader-list{display: grid;gap: 15px;grid-template-columns: repeat(10, 1fr);} .xt-reader-list li{text-align:center;cursor:pointer;color:var(--main);} .xt-reader-list .avatar{border:1px solid #eee;border-radius:5px;margin-bottom:5px;} </style> <?php $this->need('public/include.php'); ?> </head> <body> <div id="Joe"> <?php $this->need('public/header.php'); ?> <div class="joe_container"> <div class="joe_main"> <div class="xt-read-box"> <center><p><h2>读者墙</h2></p></center> <ul class="xt-reader-top"> <?php $change = array(0=>array('color'=>'#FF5E52','tit'=>'金牌读者'),1=>array('color'=>'#7CCD38','tit'=>'银牌读者'),2=>array('color'=>'#52BAF5','tit'=>'铜牌读者')); $db = Typecho_Db::get(); $sql = $db->select('COUNT(cid) AS cnt', 'author', 'url', 'mail') ->from('table.comments') ->where('status = ?', 'approved') ->where('type = ?', 'comment') ->where('authorId != ?', '1') ->where('mail != ?', 'tianxiang.feng@qq.com') //排除自己上墙 ->group('mail') ->order('cnt', Typecho_Db::SORT_DESC) ->limit('100'); //读取几位用户的信息 $result = $db->fetchAll($sql); if (count($result) > 0) { $maxNum = $result[0]['cnt']; for($i=0; $i<3; $i++){ $url = $result[$i]['url']?$result[$i]['url']:'————'; if($result[$i]){ ?> <li> <a class="contain" href="javascript:;" rel="noopener noreferrer" style="background: <?php echo $change[$i]['color'];?>"> <span class="title">【<?php echo $change[$i]['tit'];?>】 评论:<?php echo $result[$i]['cnt'];?></span> <div class="content"> <div class="desc"><?php dengji($result[$i]['mail']);?><?php echo $result[$i]['author']; ?><br/><?php echo $url;?></div> <img width="40" height="40" class="avatar lazyloaded" src="<?php _getAvatarByMail($result[$i]['mail']); ?>" title="<?php echo $result[$i]['author']; ?>"> </div> </a> </li> <?php }else{break;} } ?> </ul> <hr/> <ul class="xt-reader-list"> <?php for($j=3; $j<98; $j++){ if($result[$j]){?> <li title="【第<?php echo $j+1;?>名】评论:<?php echo $result[$j]['cnt'];?>"><img width="40" height="40" class="avatar lazyloaded" src="<?php _getAvatarByMail($result[$j]['mail']); ?>"><br/><?php echo $result[$j]['author']; ?></li> <?php }else{break;} }?> </ul> <?php } ?> </div> </div> <?php $this->need('public/aside.php'); ?> </div> <?php $this->need('public/footer.php'); ?> </div> </body> </html>
2024年01月10日
346 阅读
5 评论
4 点赞
2023-12-29
给网站博客底部增加首页友情链接
{callout color="#1d2fbf"}给网站博客底部增加首页友情链接,效果可看本站首页底部。{/callout}{callout color="#a48e70"}Joe主题在想要显示的地方直接引入即可,其他主题需根据主题自身情况修改。<?php $this->need('public/homefriend.php'); ?>{/callout}{callout color="#a48e70"}新建homefriend.php文件,将以下代码复制进去;或者直接下载我建好的文件。Joe主题的话,放到Joe/public/目录下;其他主题根据自身情况存放。{/callout}隐藏内容,请前往内页查看详情
2023年12月29日
622 阅读
14 评论
6 点赞
2023-12-27
非插件typecho给博客加个评论等级-仿虎牙直播贵族
{callout color="#332ff9"}今天给大家分享一个我最近做的评论者等级功能,仿虎牙直播贵族,直接上代码。{/callout}{message type="info" content="将以下代码 dengji($email) 插入到主题目录的functions.php;"/}隐藏内容,请前往内页查看详情
2023年12月27日
1,000 阅读
42 评论
12 点赞
2023-04-03
Typecho博客主题Joe7.7.1美化优化记录【持续更新】
{message type="error" content="此页面主要记录博客美化和优化过程及一些实用技巧【持续更新】优化&美化内容有些可能会仅适用于本Joe主题[7.7.1],也会包含通用内容,请注意分辨。最后更新:2023-04-03 19:04:19 星期一"/}7.7.1版本更新内容:去除QQ分享图片设置选项新增静态资源本地化、CDN化静态资源全同步至本地去除live2d右下角人物功能{message type="info" content="速度的优化"/}头像优化,Joe主题采用的头像源是gravatar,小天更换为了 dn-qiniu-avatar.qbox.me 七牛云的加速头像源。CDN加速优化,因为主题新版本加入了静态资源本地化、CDN化,所以主题所有的静态文件css ,js等,将整个assets目录上传至你的CDN,在模板后台设置好自己的加速域名即可加速。插件优化,主题静态资源已实现CDN加速,接下来实现文章内图片的加速,小天改写了QiniuCDN插件,将附件资源和小天自用的静态资源文件,替换成七牛云CDN加速(请提前将你的附件文件目录/usr/uploads/上传到CDN)至此,就实现了主题静态资源和文章内图片等静态资源的CDN加速。{message type="info" content="SEO的优化"/}老生常谈:SiteMap、Robots、站长平台给网站博客侧边栏加一个请协助SEO优化添加文章搜一下功能:Joe主题找到usr/themes/Joe/public下的batten.php 30行左右,插入如下代码,其他主题同理。<span class="text"> <a href="https://www.baidu.com/s?wd=<?php $this->title() ?>+site:www.xtboke.com" target="_blank">搜一下</a></span> <span class="line">/</span>{message type="error" content="其他美化折腾"/}页面加载耗时的功能和样式的实现 可以看到小天博客底部页面的一些样式和功能样式的实现:可以去【 shields.io 】网站去自定义,种类很多,像ICP、版权信息等等。功能的实现:找到usr/themes/Joe/public目录下的footer.php第47行,加入以下代码document.getElementById('pagetimes').innerHTML = '<img src="https://img.shields.io/badge/页面加载耗时:-<?php _endCountTime(); ?>-green">';_endCountTime()是获取页面耗时的函数;pagetimes是前台标签的ID值,放到前台你想显示的位置即可。<a href="javascript:(0)" id="pagetimes"></a>非插件typecho给博客加个评论等级-仿虎牙直播贵族给你的网站博客侧边栏添加一个联系我/关注我/个人信息给你网站博客的评论添加一键打卡功能一行CSS代码给网站博客添加灰色默哀色一行CSS代码给网站文本文字添加颜色动态变化给网站博客底部增加首页友情链接给你网站博客添加一个读者墙未完 待续
2023年04月03日
1,471 阅读
5 评论
17 点赞
2021-12-17
博客美化和优化过程记录及实用技巧【停止更新】
{alert type="warning"}请前往新文章 !!!Typecho博客主题Joe7.7.1美化和优化过程记录及实用技巧【持续更新】 {/alert}{message type="error" content="此页面主要记录博客美化和优化过程及一些实用技巧【停止更新】优化&美化内容有些可能会仅适用于本Joe主题[7.3.6],也会包含通用内容,请注意分辨。最后更新:2021-12-22 19:04:19 星期三"/} {message type="info" content="关于速度的优化"/}安装好系统后,小天能想到的第一个优化的就是速度,“君欲善其事,必先利其器”嘛。速度在CDN方面的优化,小天就不多赘述了,可以参考我的另一篇文章 《真正的Typecho非插件实现全站css,js,图片静态资源CDN加速 !阿里、腾讯、七牛、又拍云等通用!》除了做好CDN,其次就是缓存了,这里小天是直接安装的Tpcache缓存插件,采用Redis缓存驱动 。 PS:小天已经关闭了该插件,启用插件后,会出现评论提交报错等系列问题。关于头像的优化,Joe主题采用的头像源是gravatar,小天更换为了 dn-qiniu-avatar.qbox.me 七牛云的加速头像源。小方面就是主题设置,关闭一些不必要的功能:鼠标特效、2D人物模型、炫酷的动画等等吧{message type="info" content="关于SEO的优化"/}seo方面小天也是小白,知之甚少。开启SiteMap功能做好Robots.txt维护好站长平台给网站博客侧边栏加一个请协助SEO优化添加文章搜一下功能:Joe主题找到usr/themes/Joe/public下的batten.php 30行左右,插入如下代码,其他主题同理。<span class="text"> <a href="https://www.baidu.com/s?wd=<?php $this->title() ?>+site:www.xtboke.com" target="_blank">搜一下</a></span> <span class="line">/</span>{message type="warning" content="博客列表缩略图美化"/}Joe主题自带的列表缩略图是随机40张图片,感觉不是小天要的风格;所以小天自己找了一些美图,放到了static静态文件夹里,同时也镜像到了七牛云,剩下的就是修改了。找到 theme/Joe/core/function.php 的232行$result[] = 'https://cdn.jsdelivr.net/npm/typecho-joe-next@6.0.0/assets/thumb/' . rand(1, 42) . '.jpg';替换为:$result[] = __TYPECHO_CDN_DIR__ . 'static/images/thumb/' . rand(1, 201) . '.jpg';TYPECHO_CDN_DIR 是在Typecho主目录下的config.inc.php里定义的CDN目录,这里可以看我上面提到的那篇文章;这里为什么我没有直接写CDN域名呢?是因为方便切换回本地域名,切换时,只需要记得更改__TYPECHO_CDN_DIR__的值就可以了。{message type="warning" content="页面加载耗时的功能和样式的实现"/}可以看到小天博客底部页面的一些样式和功能样式的实现:可以去【 shields.io 】网站去自定义,种类很多,像ICP、版权信息等等。功能的实现:找到usr/themes/Joe/public目录下的footer.php第47行,加入以下代码document.getElementById('pagetimes').innerHTML = '<img src="https://img.shields.io/badge/页面加载耗时:-<?php _endCountTime(); ?>-green">';_endCountTime()是获取页面耗时的函数;pagetimes是前台标签的ID值,放到前台你想显示的位置即可。<a href="javascript:(0)" id="pagetimes"></a>{message type="error" content="其他优化"/} 关于Joe主题7.3.6直播列表未找到数据的优化 关于Joe主题7.3.6侧边栏最新回复显示数量失效的优化 非插件typecho给博客加个评论等级-仿虎牙直播贵族 给你网站博客的评论添加一键打卡功能 一行CSS代码给网站博客添加灰色默哀色 一行CSS代码给网站文本文字添加颜色动态变化未完 待续
2021年12月17日
1,223 阅读
1 评论
19 点赞
2021-11-19
关于Joe主题7.3.6侧边栏最新回复显示数量失效的优化
{message type="info" content="关于Joe主题7.3.6侧边栏最新回复显示数量失效的优化"/}Joe主题[7.3.6]侧边栏最新回复评论的显示数量,我在后台 评论列表数目 里设置之后,前台页面没有反应,于是小天翻找源码,找到了问题所在。找到usr/themes/Joe/public目录下的aside.php,第132行.<?php $this->widget('Widget_Comments_Recent', 'ignoreAuthor=true&pageSize=5')->to($item); ?>修改为:<?php $this->widget('Widget_Comments_Recent', 'ignoreAuthor=true')->to($item); ?>{callout color="#f31212"}删除pageSize=5即可,在这里作者把显示的数量给固定了,因此后台设置评论列表数目后无反应。这里删除pageSize=5,代码会自动读取后台的配置。var/Widget/Comments/Recent.php{/callout}$this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false));
2021年11月19日
487 阅读
1 评论
4 点赞
2021-11-11
关于Joe主题7.3.6直播列表未找到数据的优化
{message type="info" content="关于直播列表未找到数据的优化"/}Joe主题[7.3.6]直播列表页,当点击某个分类没有数据时候,加载动画会一直显示,给用户体验不好;这里小天做了修改,当没有数据的时候提示一下暂无数据。找到usr/themes/Joe/assets/js目录下的joe.live.js,第54行.if (res.code !== 1) return;修改为:if(res.code !== 1){ $('.joe_live__list').html('<p>暂无数据!</p>'); return; }{callout color="#f31212"}修改完后,把joe.live.js压缩,然后复制到joe.live.min.js即可。{/callout}
2021年11月11日
398 阅读
0 评论
4 点赞
2021-10-15
给你的网站博客侧边栏添加一个联系我/关注我/个人信息
{callout color="#1865e2"}因为本主题侧边栏没有联系我的功能,所以小天寻思自己弄一个。下面的代码放到主题侧边栏位置即可。{/callout}隐藏内容,请前往内页查看详情
2021年10月15日
909 阅读
36 评论
9 点赞