记录下blog修改过的东西吧
2025-02-15 更新:这里针对 Typecho 的修改,而我目前的 blog 已经迁移至 Hexo,故不再更新。
前言
这篇文章算是个记录吧,同时也方便我以后更新了重新抄作业。应该是会长久更新下去的,应该是是不会咕咕咕的。大概不会吧
通篇都是抄的,别问,问就是抄。
登录页面美化
[collapse status=”false” title=”登录,注册页面美化插件”]
[button color=”info” icon=”” url=”https://qqdie.com/archives/typecho-LoginDesigner-plugin.html“ type=””]原贴链接[/button]
Login Designer
因为wp博客有个注册登录美化插件叫 Login Designer
,所以我的这个插件也直接叫这个名字了。
实现原理
插件通过向登录/注册页面注入 css
来实现美化效果,目前1.3.0版本内置了九款写好的样式,背景图片用户可以自行设计,同时用户还可以选择空白模板然后自己写 css
来实现自定义美化。
插件接口
使用的是后台全局 header
接口,然后判断用户没有登录才插入 css
文件,这样就实现了只在登录/注册页面插入内容,而不影响后台其他东西。
下载插件
开源地址:https://github.com/jrotty/LoginDesigner
[/collapse]
通过伪静态隐藏掉index.php
[collapse status=”false” title=”index.php 是真的丑”]
- 在网站根目录新建一个文件,命名为
.htaccess
- 根据自己的web服务器类型抄作下面作业并
放入.htaccess文件中
- 在网站后台==>>设置==>>永久链接==>>启用地址重写
[tabs]
[tab name=”Apache” active=”true”]
1 | <IfModule mod_rewrite.c> |
[scode type=”yellow”]此文件既可以放在apache的conf文件中,亦可以放在.htaccess中,都可以生效[/scode]
[/tab]
[tab name=”Nginx”]
1 | if (!-e $request_filename) { |
[/tab]
[tab name=”kangle”]
1 | <IfModule mod_rewrite.c> |
[/tab]
[/tabs]
[/collapse]
打字特效插件
[collapse status=”false” title=”打字特效插件”]
插件名为 ActivatePowerMode
,评论及后台的文章编辑界面都可以用
对了,你可以在评论区试试效果,我只开了不知道怎么说的效果,震动效果我没开
PS. 现在这东西被我给卸了…….,有个事件一直在疯狂循环,用我 mac 一打开我网页风扇就起飞,先给删了,有空去改改代码…
[button color=”info” icon=”” url=”https://github.com/AlanDecode/Typecho-Plugin-ActivatePowerMode“ type=””]gayhub链接[/button]
[/collapse]
一款可以显示评论者UA以及操作系统的插件
[collapse status=”false” title=”UserAgent”]
[button color=”info” icon=”” url=”https://doge.uk/coding/useragent-modify.html“ type=””]原文链接[/button]
使用方法
- 先将插件置于
plugins
目录下,插件目录名应为UserAgent
- 修改
Handsome
主题,component
目录下的comments.php
代码文件,如果你什么都没有修改的话,那代码的位置大概第101-104
行左右
修改前的代码下:
1 | endif; |
添加代码 <?php UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); ?>
修改后代码如下:
1 | endif; UserAgent_Plugin::get_useragent($comments->agent,$comments->ip); |
获取真实IP
Typecho开启CDN后,可能无法获取访客真实IP,只能取得CDN节点IP,为此可以在Typecho博客网站的根目录的config.inc.php插入下面的代码:
1 | //** 防止CDN造成无法获取客户真实IP地址 */ |
[/collapse]
修改数据库编码。支持 emoji 表情。
//TODO
切换到其他窗口时标题栏显示一些骚东西
[collapse status=”false” title=”自定义一个JS”]这是排版过的 js,方便看一点。
1 | jQuery(document).ready(function() { |
未排版的 js
1 | jQuery(document).ready(function(){function d(){document.title=document[b]?"网页崩溃了!":a}var b,c,a=document.title;"undefined"!=typeof document.hidden?(b="hidden",c="visibilitychange"):"undefined"!=typeof document.mozHidden?(b="mozHidden",c="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(b="webkitHidden",c="webkitvisibilitychange"),("undefined"!=typeof document.addEventListener||"undefined"!=typeof document[b])&&document.addEventListener(c,d,!1)}); |
[/collapse]
首页文章图片获取焦点放大
[collapse status=”false” title=”自定义一个 css”]
1 | .item-thumb{ |
[/collapse]
修改 header.php 优化 SEO
[collapse status=”false” title=”描述 seo 优化”]
打开 /usr/themes/handsome/component/header.php
这个文件,在代码的第三十一行你应该能看到如下内容
1 | <title>Content::echoTitle($this, $this->options->title, $this->_currentPage); </title> |
在其下方添加几条字段作为 SEO 优化。
1 | <!--优化谷歌搜索结果--> |
在完成后,不仅可以优化谷歌搜索结果,且在文章指定了 名为 d_seo 的自定义描述字段
,则会将 description
指定为 d_seo。
其实 headsome 主题会自动将文章首段作为description,没必要手动指定(
但是我就是想手动指定(
[/collapse]
添加评论验证码
[button color=”info” icon=”” url=”https://www.feiyubk.com/archives/13.html“ type=””]原贴链接[/button]
[collapse status=”false” title=”添加评论验证码“]
在根目录下的 function.php
添加如下代码
1 | function themeInit($comment){$comment = spam_protection_pre($comment, $post, $result);}function spam_protection_math(){ $num1=rand(1,49); $num2=rand(1,49); echo "<label for=\"math\">请输入<code>$num1</code>+<code>$num2</code>的计算结果:</label>\n"; echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\" style=\"width:218px\" placeholder=\"计算结果:\">\n"; echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n"; echo "<input type=\"hidden\" name=\"num2\" value=\"$num2\">";}function spam_protection_pre($comment, $post, $result){ $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']: break; case null: throw new Typecho_Widget_Exception(_t('对不起: 请输入验证码。<a href="javascript:history.back(-1)">返回上一页</a>','评论失败')); break; default: throw new Typecho_Widget_Exception(_t('对不起: 验证码错误,请<a href="javascript:history.back(-1)">返回</a>重试。','评论失败')); } return $comment;} |
打开主题 ./component/comments.php
文件,在第 185 行位置插入如下代码:
1 | spam_protection_math(); |
最后效果如下:
1 | <div class="comment-form-url form-group col-sm-12 col-md-4"> |
[/collapse]
修改评论区填写邮箱时候的提示
这段要🔨教程,照着./component/comments.php
XJB 改就好了
修改一些提示信息
比如此内容仅限登录可见什么什么的
./libs/content/Postcontent.php
./libs/Content.php
,./component/comments.php
这几处的提示信息