重拾2016, 博客改造计划(一)
2014年底心血来潮, 在lofter开始分享自己的想法.
那只是个开始, 2016年正式购入域名, 探索自建博客
随着时间的推移, 慢慢淡忘了当年的激情.
赶上2020年发了个大假, 心也沉下来了.
是时候重拾当年的激情了.



开干.
改头换面
从16年搭建开始, 就一直在使用收费主题, 因为感觉收费主题质量更好
但是经过几年发现, 过段时间要么不更新 要么直接跑路
跑就跑吧, 好歹把源码发一下. 验证的代码加密了验证服务器还失效了.
无奈去花钱解密, 然后再改的. 这就是我用的上一个主题.
这几天又去逛了一下, 最近都变成平台类了.
多少钱加入平台会员, 然后平台内的主题会员可以使用.
想了想放弃了, 一个优化都够你受的还好几个维护.
倒不是多少钱, 而是怕这钱花了得不到应有的东西(更新服务).
后续GitHub上看了一下, 开源主题很多.
例如: kratos

我个人是比较喜欢这种结构的, 包括之前用的所有收费主题都是这种类型的
下载之后再本地搭建一个环境, 测试主题.
问题还是有的, 其一是不支持无刷新加载(pjax).
在当年带宽没那么高的时候无刷新加载似乎还挺好,
防止一些花里胡哨的页面, 一刷新先白屏闪一会才出现.
其次就是没有对子主题做优化.
虽然作者留了custom 文件夹里面可以修改css、js、php加个函数啥的
但我个人还是喜欢是用WP提供的子主题.
接着就发现我现在使用的这款: kratos-pjax

看名字就知道支持pjax, 而且还是二次元.

除了pjax问题也是一样, 对于子主体未作优化.
但是整体比较适合, 因为也懒得从头弄pjax了.
发现问题
使用后发现以下问题, 准备着手修改
- 二次创作者不喜欢新版编辑器, 这就带来很多新问题. 新版编辑器因为标签class 均有变化.
- 使用新版编辑器编写的文章, 部分内容无样式
- 图片灯箱不支持
- 支持嵌入播放器, 但是都放在一个js文件里.
解决问题
没办法用自主体那只能修改本体了.
看了一下原作者和 二次创作者库的开源协议. GNU3.0
可以修改需要保留版权声明.
明确可以修改后就要动手了.
灯箱好解决, 看了下代码. 调用的是 layer
在kratos.js中找到, 灯箱的函数 showPhotos
var showPhotos = function(){
layer.photos({
photos:'.kratos-post-content p,.kratos-status-post p',
anim: 0
});
}
选择器加上 ".kratos-status-post wp-block-image" 就可以了
嵌入播放器, 代码在theme.min.js文件内.
虽然压缩了, 但还好保留了注释.
根据注释找到了 APlayer 部分代码直接删除即可.
未完待续
因为博客用过超多的插件, 以至于数据库中又超多的与博客本身无关的表
这一这次改造, 是先备份数据, 重新安装Wordpress
再导入数据, 中间导入媒体的时候除了一些差错
导致主图(特色图片), 获取不到了.
也是花了很时间, 去找这方面问题.
后来根据已经做好的备份, 在本地重新搭建, 然后只导出媒体.
在回来导入才解决的问题.

后台插件也只剩下三个, 一个垃圾评论拦截, 一个WPJAM必备.
剩下那个是处理没有头像的用户给个头像, 但是对中文名字不支持. 后续可能考虑去掉.
还剩下一些小的琐碎的问题, 将在后续文章中继续分享处理过程.
文章评论