惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
GbyAI
GbyAI
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
Vercel News
Vercel News
Microsoft Azure Blog
Microsoft Azure Blog
Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
Apple Machine Learning Research
Apple Machine Learning Research
L
LINUX DO - 最新话题
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy International News Feed
C
CERT Recently Published Vulnerability Notes
C
Cybersecurity and Infrastructure Security Agency CISA
I
Intezer
Hugging Face - Blog
Hugging Face - Blog
H
Heimdal Security Blog
N
News and Events Feed by Topic
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Troy Hunt's Blog
大猫的无限游戏
大猫的无限游戏
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Fortinet All Blogs
Hacker News: Ask HN
Hacker News: Ask HN
Know Your Adversary
Know Your Adversary
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 聂微东
S
Secure Thoughts
云风的 BLOG
云风的 BLOG
O
OpenAI News
The Cloudflare Blog
Jina AI
Jina AI
U
Unit 42
L
Lohrmann on Cybersecurity
Attack and Defense Labs
Attack and Defense Labs
The Register - Security
The Register - Security
G
Google Developers Blog
量子位
Simon Willison's Weblog
Simon Willison's Weblog
V
Visual Studio Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
TaoSecurity Blog
TaoSecurity Blog

Bensz

GPT-5.6系列模型的社区反馈、基准表现和使用建议 - Bensz 科研造假风盛行背后的冷知识 AI入门系列 关于科研AI写作边界的讨论 Docker系列 Bensz Channel:构建AI时代Up主和粉丝互动的高效平台 AI入门系列 Vibe Coding实战 AI入门系列 一种实用的Prompt工程: Agent Skill AI入门系列 如何获得vibe coding相关的AI算力 AI入门系列 配置vibe coding工具: VSCode+Claude Code+Codex AI入门系列 Mac:AI时代不容忽视的设备 开源项目与平台应用之争:OpenAI Prism vs. ChineseResearchLaTeX Vibe Coding CLI评测:MoltBot的优劣 AI入门系列 如何使用大语言模型? AI入门系列 介绍大语言模型 Vibe Coding的优势与局限 Docker系列 MetaMCP为Vibe Coding工具添加远程MCP支持 在Windows里通过VSCode使用Claude Code和Codex 国家自然科学基金的LaTeX模板 第2期 OpenCode能否作为Claude Code和Codex的平替? Vibe Coding CLI评测: Claude Code vs. OpenAI Codex vs. Gemini CLI AI模型评测 性价比超绝的GLM-4.7 Claude code和Claude skills的工程设计 AI应用系列 一个简单的Vibe coding的通知系统
Docker系列 WordPress系列 m2w 2.6:博客管理的重要转折点
Bensz · 2025-12-21 · via Bensz

本文最后更新于 153 天前,如有失效请评论区留言。

概览

  • 本文围绕 前言 展开详细讨论
  • 包含 13 个主要章节内容
  • 分享实践经验和实用技巧

前言

前文回顾:Docker系列 WordPress系列 WordPress上传或更新Markdown的最佳实践-m2w 2

使用2.5版本的小伙伴,升级时记得改为2.6版本的 myblog.py。内容大体上是相似的,但有一丁点区别。还是直接换掉保险 (~ ̄▽ ̄)~ 有什么问题加tg群问哈

小伙伴们都还记得之前我们介绍过的 m2w 吗?就是那个可以将本地 Markdown 文件自动上传或更新到 WordPress 的神奇工具!时隔不久,m2w 迎来了 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方式安全一些。

文件过滤功能

这是我最喜爱的功能!随着 AI 辅助开发的普及,越来越多的开发者在项目中使用各种 AI 工具,这些工具往往会生成辅助文件:

  • AGENTS.md – Codex的项目指令文件
  • CLAUDE.md – Claude Code的项目指令文件
  • .cursorrules – Cursor的规则文件
  • 各种临时的 AI 生成的代码片段

这些文件对于开发很有用,但显然不应该上传到博客上。2.6 版本的文件过滤功能正是为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$"]

更现代的打包方式

2.6 版本采用了 PEP 621 标准的 pyproject.toml 进行项目配置,这是 Python 打包的现代标准。虽然普通用户可能感受不到这个变化,但它意味着 m2w 项目在向着更规范的方向发展,也方便后来的贡献者吧!

如何升级到 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,建议检查一下是否需要添加文件过滤功能
– 首次运行时,注意观察日志输出,确保所有功能正常工作

实用技巧

合理设置文件过滤

如果你和我一样使用 AI 辅助工具,建议在 myblog.py 中添加:

ignore_files = [
    "AGENTS.md",
    "CLAUDE.md",
    "**/*draft*.md",
    "**/template*.md",
    "re:.*/_.*\\.md$"  # 忽略以下划线开头的文件
]

调整超时设置

如果你的 WordPress 站点响应较慢,可以在 myblog.py 中适当增加超时时间:

rest_timeout = 60  # 从默认的30秒增加到60秒

需要注意的是,这个设置会影响所有的 REST API 请求,包括获取文章列表、标签、分类等操作。如果你的网站特别慢,可能需要设置更大的值。

利用新的错误提示

2.6 版本提供了更清晰的错误信息,遇到问题时记得仔细查看控制台输出,往往能快速找到解决方案。

总结

m2w 2.6 版本虽然不是一次大版本更新,但带来的改进都是实打实的用户体验提升—REST API 的稳定性提升、文件过滤功能的加入,还是超时设置的可配置化。

如果你是 m2w 的老用户,强烈建议升级到 2.6 版本;如果你还在犹豫是否要尝试 m2w,现在正是最好的时机!:sunglasses:

小伙伴们,你们在使用 m2w 时有什么心得体会吗?欢迎在评论区留言分享!如果觉得这篇文章对你有帮助,别忘了点赞支持一下哦~ :heart:

---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍

感谢OhMyGPT的友情赞助 (ฅ´ω`ฅ) 本博客基于m2w创作。版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。VIP内容严禁转载!由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租请留言 | 博客VPS | 致谢渺软公益CDN |