前言
前文回顾:Docker系列 WordPress系列 WordPress上传或更新Markdown的最佳实践-m2w 2
使用2.5版本的小伙伴,升级时记得改为2.6版本的 myblog.py。内容大体上是相似的,但有一丁点区别。还是直接换掉保险 (~ ̄▽ ̄)~ 有什么问题加tg群问哈
小伙伴们都还记得之前我们介绍过的 m2w 吗?就是那个可以将本地 Markdown 文件自动上传或更新到 WordPress 的神奇工具!时隔不久,m2w 迎来了 2.6 版本,这个版本可不是小修小补,而是带来了许多重要的改进和新特性。今天,就让我带大家一起看看这个 2.6 版本到底有什么值得我们关注的地方!
2.6 版本的核心改进
REST API 更加可靠
还记得之前使用 REST API 时偶尔遇到的一些小问题(比如经常连接不上)吗?2.6 版本在这方面可是下了大功夫:
- 统一的分类法缓存处理:不再出现重复创建分类或标签的问题
- 修复了 term_exists 检查:避免了重复上传同一篇文章的尴尬
- 更清晰的错误提示:当出现问题时,你能更快速地定位和解决
- 告别无限重试:更新文章时不会再陷入无限循环的噩梦
特别感谢:这些 REST API 的改进主要来自 @xiehs211 的贡献!他通过 PR #27 修复了 REST API 模式下文章更新时的无限重试问题,让 m2w 的稳定性有了质的飞跃。感谢 xiehs211 的出色工作!:raised_hands:
你可能会问:这些改进对我有什么实际意义呢?简单来说,就是使用 m2w 2.6 时,你的博客管理体验会更加流畅,出错概率大大降低!:yum:
另外,在 2.5 版本中,如果你的 WordPress 网站响应较慢,经常会遇到请求超时的问题。其实这个超时的bug是ai发现的,而且是一针见血。ai真的太强了!总之,现在 2.6 版本引入了可配置的超时设置:
# 在 myblog.py 中设置
rest_timeout = 30 # 默认30秒,可以根据需要调整
这个 timeout 参数会传递给 REST API 的所有 HTTP 请求,包括获取文章列表、创建/更新文章、获取标签和分类等操作。对于那些使用海外服务器或者网络环境不太稳定的小伙伴来说,这个功能简直就是福音啊!:yum:
为什么不在 user.json 中设置呢?其实也是为了照顾老用户—因为 timeout 完全可以、也应该是一个全局的请求参数,而不是某个网站特定的配置,放在 myblog.py 中,用户不需要改user.json文件,我感觉会更加方便一些。
密码模式模块重构
Password模式是比较早期开发的,当时还是比较混乱的。借助ai的能力,我很快就对这部分进行了重构,以后维护起来也方便一些。改进有这些:
- 密码模式被重构到了
m2w.password.*模块中 - 保持了向后兼容性,原有的
up_password依然可以使用 - 代码结构更加清晰,便于后续维护和扩展
不过,如果你还在使用传统的密码认证方式,建议停止使用吧!还是用REST API方式安全一些。
文件过滤功能
2.6 版本是为 vibe coding 时代做准备的! :star2:
这是我最喜爱的功能!随着 AI 辅助开发的普及,越来越多的开发者在项目中使用各种 AI 工具,这些工具往往会生成辅助文件:
- AGENTS.md – Codex的项目指令文件
- CLAUDE.md – Claude Code的项目指令文件
- .cursorrules – Cursor的规则文件
- 各种临时的 AI 生成的代码片段
这些文件对于开发很有用,但显然不应该上传到博客上。2.6 版本的文件过滤功能正是为这个 AI 时代(vibe coding)量身定做的,让你可以安心使用各种 AI 辅助工具,而不用担心污染你的博客内容!:v:
在 2.6 版本中,你只需要在 myblog.py 中添加一行配置:
ignore_files = ["AGENTS.md", "CLAUDE.md", "draft-*", "notes/**/*.md"]
支持的过滤格式:
– 简单文件名:["AGENTS.md", "README.md"]
– 通配符模式:["**/draft-*.md", "temp/**"]
– 正则表达式:["re:.*/temp-.*\\.md$"]
5. 更现代的打包方式
2.6 版本采用了 PEP 621 标准的 pyproject.toml 进行项目配置,这是 Python 打包的现代标准。虽然普通用户可能感受不到这个变化,但它意味着 m2w 项目在向着更规范的方向发展,也方便后来的贡献者吧!
实际使用体验升级
更智能的默认配置
2.6 版本带来了一些贴心的默认配置:
- 默认忽略
AGENTS.md和CLAUDE.md文件(这些通常是 AI 辅助工具的配置文件)。当然,你完全可以自定义!这个就直接看 - 更详细的日志输出,当你跳过某些文件时会有明确的提示
- 完全向后兼容,如果你的
myblog.py中没有ignore_files配置,会扫描所有 Markdown 文件
更稳定的上传过程
在实际使用中,我发现 2.6 版本的上传过程明显更加稳定:
- 网络波动导致的失败减少了
- 分类和标签的创建更加可靠
- 更新已有文章时不会再出现重复创建的问题
如何升级到 2.6?
升级过程非常简单,只需要一条命令:
pip install -U m2w
或者如果你想安装特定的版本(例如 2.6.2):
pip install -U m2w==2.6.2
小贴士:2.6.1 版本已经包含了 REST API 的所有重要改进,2.6.2 主要添加了默认忽略 AGENTS.md/CLAUDE.md 文件的功能。建议直接安装最新版本即可。
注意事项:
– 2.6 版本完全兼容 2.5 的配置文件
– 如果你使用的是自定义的 myblog.py,建议检查一下是否需要添加文件过滤功能
– 首次运行时,注意观察日志输出,确保所有功能正常工作
一些实用技巧
1. 合理设置文件过滤
如果你和我一样使用 AI 辅助工具,建议在 myblog.py 中添加:
ignore_files = [
"AGENTS.md",
"CLAUDE.md",
"**/*draft*.md",
"**/template*.md",
"re:.*/_.*\\.md$" # 忽略以下划线开头的文件
]
2. 调整超时设置
如果你的 WordPress 站点响应较慢,可以在 myblog.py 中适当增加超时时间:
rest_timeout = 60 # 从默认的30秒增加到60秒
需要注意的是,这个设置会影响所有的 REST API 请求,包括获取文章列表、标签、分类等操作。如果你的网站特别慢,可能需要设置更大的值。
3. 利用新的错误提示
2.6 版本提供了更清晰的错误信息,遇到问题时记得仔细查看控制台输出,往往能快速找到解决方案。
总结
m2w 2.6 版本虽然不是一次大版本更新,但带来的改进都是实打实的用户体验提升—REST API 的稳定性提升、文件过滤功能的加入,还是超时设置的可配置化。
如果你是 m2w 的老用户,强烈建议升级到 2.6 版本;如果你还在犹豫是否要尝试 m2w,现在正是最好的时机!:sunglasses:
小伙伴们,你们在使用 m2w 时有什么心得体会吗?欢迎在评论区留言分享!如果觉得这篇文章对你有帮助,别忘了点赞支持一下哦~ :heart:
---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍