Repository navigation
变更
- 修复开界侧粗体死角:
水在流**(观察到的现象**)这类写法(**前紧贴文字、后紧跟标点)此前不做强调转换,字面**直进 HTML;现在渲染前把开界后的标点串整串移出粗体(流**(X**)→流(**X**))后正常转 strong。 - 归一化实现从正则替换改为 CommonMark 分隔符配对算法;闭界侧死角(
**X。**后文)行为与 0.4.0 一致。
为什么
CommonMark flanking 规则下,开界 ** 后紧跟标点且前非空白/标点时不是 left-flanking,markdown2(含 2.5.5)不做转换(2026-10-04 公众号草稿实测踩中;半角括号同样命中)。0.4.0 的正则规则在多粗体文本里还会把前一粗体的闭界误当开界锚点、跨粗体错位配对(**A**!**B**c 形态);配对算法先按 flanking 配对(原生可转换的绝不碰),只对落单的死角对搬标点。与 wechat-publish-service(Rust)的 render::bold_punct 算法保持同步。
验证:32 测试全绿(ruff / mypy strict 通过);干净 venv 安装构建产物后,线上草稿原句 4 处粗体全部转 strong、无字面 **。
升级命令
pip install -U wechat-md==0.5.0消费方指引
- 纯输出行为变更:仅受影响写法(死角形态)的渲染结果改变,合法写法逐字节不变;围栏代码块与行内代码内容不改。
- 引 GitHub 源请锁 tag:
.../archive/refs/tags/v0.5.0.tar.gz,不要引滚动的 main。