更换博客主题

发布于 2023-11-04  591 次阅读


起因

我是一个极其喜欢折腾的人,这么长时间看着Argon已经有点审美疲劳了,而且本身因为一些玄学问题,我这里的Argon有点问题后来发现是缓存插件的锅,于是产生了换个主题的想法

明确需求

因为其实已经折腾了好多年博客,大部分功能已经见怪不怪了,最终总结了一下,我只需要:

  • 追番页面
  • 优雅的文章阅读界面
  • 足够多的、能塞得下我的个人喜好的自定义元素
  • 持续更新

在网上找了一圈,并没有什么让我眼前一亮的主题,反倒是曾经短暂使用过的Sakurairo重新进入了我的视线,最后还是换回了Sakurairo

更换主题

一些常规操作,只是一开始刚把主题传上去的时候报了插件不兼容,全部把插件关了就没啥事了

封面图API

实现

因为封面图是随机的,所以就导致了想要使用自己的图就必须要有封面图的API或者把封面图存在主题目录里,本来我是懒得写API的,但是这样一来一些优化就做不了了,最终还是花了点时间写了个php的简陋API

<?php

$dir = 'thumbnail';

$arr = scandir($dir);

array_splice($arr,0,2);

shuffle($arr);

$image=$arr[0];

header("Location:"."https://api.zzzhxxx.top/" . "$dir/$image");
?>

首先,需要在域名的目录下面建立一个名叫thumbnail的文件夹,把图全部扔进去就可以了,不过记得压缩一下图片,不然加载速度会很感人

然后更改一下Location后的定位域名地址就可以了

最后,访问域名/名字.php就会自动跳转到thumbnail下面一个随机的图片

防盗链/CORS

在宝塔里开一下防盗链,把网站加到白名单就行了

为了图片能够在浏览器里缓存,减少流量反复流出,还要配置一下CORS

在网站的配置文件选项里,server_name下面一行加入

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET,POST';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

接下来再尝试直接从浏览器里打开api,应该跳出来的是404

自定义表情包

说实话一开始没怎么搞明白,直到翻到了pr了这个功能的大佬的博客才明白

可以参考这篇文章

表情路径

这里其实要填写的是在wp-content/uploads这个目录下的相对路径,比如

我的表情存在了nananiji_sticker这个文件夹下面,在路径这个选项就应该填写/nananiji_sticker

在填写前,应该确认你的表情可以被访问,比如通过访问https://your_domain/wp-content/uploads/your_folder/xxxx.png

例如我的表情https://zzzhxxx.top/wp-content/uploads/nananiji_sticker/30000103.png

开了防盗链,可能打不开

CDN

如果比较在意加载速度的话可以上个cdn,只需要填写cdn的地址就行,但是需要确保你的表情是在这样的路径https://your_cdndomain/your_folder/xxxx.png

其中your_folder就代表了在自定义表情包路径中所填写的路径

全部设置完后记得点击保存,然后再点击自定义表情包路径下方的更新表情包列表,如果跳出来符合你添加的表情数量的话就没问题了

邮箱

邮箱的问题其实很早就有了,只是我一直没有发现,发现这个问题还是我让老师帮我交推荐信我发现他的qq企业邮箱发不到Gmail,接着我仔细一看我自己托管的企业邮箱,有几封地址是gmail的发送也失败了,排查一下错误,发现是少了SPF和DMARC和DKIM签名

所有的解决方法都可以在官方的帮助文档里找到答案

SPF

先检查一下在设置企业邮箱时有没有在dns的txt记录里解析过类似v=spf1 include:mx ~all之类的,如果有的话可以删掉,不然会造成冲突

然后增加一条txt记录v=spf1 include:spf.mail.qq.com ~all

结束了

DMARC

在设置这个之前需要先完成SPF的设置,然后添加以下DMARC记录:

主机记录: _dmarc
记录类型:TXT
记录值: v=DMARC1; p=none; rua=mailto:[email protected]

注:如不需要记录中rua,那么记录值为v=DMARC1; p=none;

更加详细的区别可以看官方文档

DKIM

配置DKIM是最容易的,打开企业微信管理后台->协作->邮件->设置->DKIM验证->配置,跟着指引走设置就好了

验证

打开https://mxtoolbox.com/SuperTool.aspx

输入你的邮箱域名,点击Look Up

如果出来这样就大致没问题了