折腾记录
折腾博客
hexo图片管理困难,帖子多了很难阅读
解决方法:
config_yml里修改
new_post_name: :year-:month-:day-:title.md
同时,听从大佬建议,将所有图片改成webp格式,效果立竿见影

还是图片问题,每次复制images子文件夹路径太麻烦
1 | post_asset_folder: true |
最后写了一个脚本
1 | const fs = require('fs'); |
在同级目录下生成图像文件夹来管理,麻烦的是每次都要删去相对路径里的’source/’
改用butterfly主题
这个主题确实好用了不少
增加评论系统
尝试新部署方式
增加了category条目,tag条目和背景图片
原来要用hexo new page tag才能在hexo里显示tag页和category页
发现md只要在posts下都能被直接解析(25/12/21)
于是我将不会再修改的文章都移动到了archives文件夹,图片路径也做了对应的修改,
之前我还想文章多了要怎么处理呢.
还是图片问题,hexo本地无法正确解析相对路径
例如source/images/archives/2025/2025-11-26/image.png
需要改为’images/archives/2025/2025-11-26/image.png’,每次改就很麻烦了
于是找ai弄了脚本
1 | hexo.extend.filter.register('before_post_render', function (data) { |
完美解决,以后只要复制相对路径就可以了,不用再删删减减了.
增加rss订阅图标
参考文章
发现了RSS订阅方式,于是增加了这一功能
更改了图像文件夹创建方式(25/12/26)
1 | const fs = require('fs'); |
由于我的post创建格式在config里面改成了这样子
new_post_name: :year-:month-:day-:title.md
故可以根据日期直接找到对应的图片,这样图片管理起来更加方便了,但原来的几十个文件夹我是真不想再改了.
突然发现没必要用file utils粘贴相对路径,直接复制图片就好了(12/27)
在settings.json里加上
1 | "markdown.copyFiles.destination": { |
就可以在md里直接复制图片而不是自己写了这些东西了,
甚至会根据图片复制的位置智能选择是插入相对路径还是插入整个图片链接格式,又能偷一点懒了.
每次hexo d的时候都要报warning(2026/1/1)
1 | warning: in the working copy of 'tags/离散数学/index.html', LF will be replaced by CRLF the next time Git touches it |
详细解释CR和CRLF
LF和CRLF区别
LF: Line Feed换行
feed v.喂养,供给;将(信息)输入 line feed直译是”将行输入”,再意译”换行”
CRLF: Carriage Return Line Feed 回车换行
Carriage n.马车,火车车厢;运输费用 在carriage return中,carriage译为“车”,return译为“回”
在过去的机械打字机上有个部件叫「字车」(Typewriter carriage),每打一个字符,字车前进一格,打完一行后,我们需要让字车回到起始位置,而“Carriage Return”键最早就是这个作用,因此被直接翻译为「回车」。尽管后来回车键的作用已经不止” 倒回字车”那么简单,但这个译名一直被保留下来。
解决方法
这个警告的意思很直接,就是Git会把LF替换为CRLF,不过这是无关紧要的,完全可以禁用此功能,这样还可以避免这个警告信息刷屏。设置方法也很简单,在MinGW窗口中输入以下命令即可:
git config --global core.autocrlf false
- 很奇怪的是很少有人去想为什么回车叫做回车,这种粗暴的翻译在用电脑打字的时代显得非常奇怪,习惯的力量真有点可怕.
- 扔掉CRLF
嵌入数学公式(unsolved)
按照官方文档的步骤进行操作并没有解决,尝试了这个教程也没有解决
图片路径又出问题了
待我期末周回来再搞,毕竟本地看图片还是正常的
(2026/1/18)
修好了,只要保证都是相对路径的格式就能正常渲染,尽管我也不知道为什么

这大概是图片路径的最终解决方案了
觉得’hexo g -d’还是太长了
写一个bat脚本,命名为d.bat,每次只要输一个d就可以了,完美解决懒癌,自然我还写了一个s脚本,作用是什么不言而喻
将twikoo改为giscus(2026/1/24)
发现twikoo还是太麻烦了,于是改成不要动脑子操作的giscus
将busuanzi换成Vercount(1/30)
busuanzi现在天天转圈,于是换成别人推荐的Vercount,由于busuanzi写在了源代码pug里,因此不太好直接改,问了问ai,提前存档,改了之后发现立刻就不转圈了.
只要在以下两个地方中改一下就行了

这里插入脚本
<script defer src="https://events.vercount.one/js"></script>

这里可以直接换成下面代码,因为busuanzi真没必要再放上去了
1 | if theme.aside.card_webinfo.enable |
增加google-analytics
-
参考教程
vercount也出问题了,显示一堆乱码,这次换个大杀器.
google_analytics 是免费的,给自己网站注册一下获得一串以G打头的神秘数字-tag,再填入butterfly的config.yml就可以了,当然网站上是看不到访客数据的,只能去后台看.

-
(2/13)发现之前的vercount乱码只是因为我把同名压缩包放到脚本里面所以出错了
加入live2d(2/22)
看大家都有那么帅的看板娘,我也试试整一个,在butterfly的_config.yml里对应的bottom注入js就可以了
1 | inject: |
确实可爱😄
尝试加密文章(4/7)
1 | --- |
折腾环境问题
vscode powershell终端打字缺字漏字
解决方法:
搜索设置
Terminal > Integrated > Default Profile: Windows
换为cmd
左斜线和右斜线问题
windows路径都是,转义符是,而网页链接,linux都是/
解决方法:
在搜索框输入:“Explorer: Copy Relative Path Separator”
将\改为正斜杠/
参考链接
gpt废话太多
解决方法
在设置里可以加入自定义提示词,这样就不用每次都提示让他精简输出了
cmd输入python弹出微软应用商店
解决方法
进入设置里的应用执行别名,去掉跟python有关的别名(很好奇为什么要把这玩意加进来)
path环境变量变成一行
解决方法
由于Windows的无敌bug,第一个如果是带有%开头的变量会把path变成一行,把带有盘符的变量放到第一行即可
右键菜单中用vscode打开消失
1 | Windows Registry Editor Version 5.00 |
这样加入了两个注册表项,分别是右键目录和目录背景,注意路径要用双斜线,然后将文件名字改为1.reg打开就行
-
更改注册表后不必重启电脑,重启文件浏览器就能生效
-
很久以后我发现其实重新安装一次vscode就行了,不用先卸载😅
右键菜单去除系统自带压缩选项
1 | Windows Registry Editor Version 5.00 |
从零开始配置java环境
从Oracle官网下载最新jdk,由于jdk种种的问题,我决定采用默认安装,不改动安装文件夹,但一看目录下会新生成两个文件夹

选择jdk-25.0.2文件夹路径为JAVA_HOME,添加到系统变量里,并在系统变量的PATH里增加一栏%JAVA_HOME%\bin.
然后在settings.json里更改
1 | "java.configuration.runtimes": [ |
然后就行了, …
http://0.0.0.0:8080 与http://localhost:8080(待解决)
VMware装载32位win10虚拟机
It turns out that VMWare Workstation Player 17 defaults to creating an NVMe disk and that is not compatible with the Windows 10 x86 installer. Changing the disk type to SATA or SCSI allows the build to run successfully.
Here are the steps to build Windows 10 x86 on VMWare Workstation Player 17:
- Create a New Virtual Machine
- Select your Windows 10 x86 ISO, Next
- Edit the name as desired, Next
- Accept default disk options, Next
- Uncheck “Power on this virtual machine after creation”, Finish
- Select Windows 10 x86 VM, Edit virtual machine settings
- Hard Disk (NVMe), Remove
- Add, Hard Disk, Next, SATA, Next
- Use an existing virtual disk, Next
- Select the existing VMDK, Finish, OK
- Play virtual machine and continue your build
设置vscode对所有语言自动格式化
1 | // 格式化部分 |
尽管全局设定了自动格式化,但是对于对应的语言,vscode是没办法自动识别,需要单独安装对应的格式化插件
What is the difference between Windows Terminal, Powershell and Cmd?
- CMD是Windows命令处理器——Windows的命令行界面。它存在了几乎永远的时间,并且可以说是DOS的残留物。
- Windows PowerShell是一种基于.NET的脚本语言。你可以几乎把它当作CMD的替代品来用,因为许多命令都有别名,可以转换为Windows PowerShell cmdlet(例如,在PowerShell中输入’DIR’实际上会执行’Get-ChildItem’,这是PowerShell的语法)。然而,它主要被设计成一种脚本语言,如果你需要自动化一些事情,这就是它的用武之地——它也有很多模块可以连接到其他系统,例如Active Directory、Exchange、365等等,所以它更倾向于管理员而不是家用。
- Windows Terminal本身什么也不是——它只是上面两者以及你系统上任何其他CLI或shell的前端应用程序。所以,你可以用一个标签页运行CMD,另一个标签页运行PowerShell。如果你有WSL(Windows Subsystem for Linux),那么你可以在另一个标签页运行BASH。如果你安装了GIT,那么你可以在另一个标签页运行GIT shell。对于可能需要快速切换不同shell的开发者/管理员来说,它非常有用。




