Agent Skills
返回列表
💻

多语言URL别名生成器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/generate-stable-url-slugs-from-multilingual-titles-before-publishing-pages-docs-or-filenames

技能介绍

当标题需要变成 URL 时,你会遇到的问题

无论是发布技术文档、生成静态页面,还是输出可下载的文件,标题里一旦混入中文、日文、阿拉伯文或各种 emoji,直接拼接 URL 往往会带来:

  • Unicode 字符导致路径不可读:/blog/你好,世界 在部分服务器或代理上可能被截断,甚至触发 404。
  • 大小写、空格、标点不统一:同一篇文章可能因为 Hello World、hello-world、hello_world 三种写法得到三个不同的路径,搜索引擎会认为是重复内容。
  • 重复标题产生不同别名:如何设计 API 和 如何设计-API 看起来一样,但生成的 slug 可能完全不同,导致链接无法复用。
  • 特殊符号破坏 URL 结构:#、?、& 等字符如果不处理,会直接改变请求的含义。

这个技能做了什么

它把“标题 → slug”这件事拆成两个核心动作:

  1. 转写与规范化:基于 python-slugify,将任意语言的标题先进行 Unicode 分解和音译,再统一转成 ASCII 安全字符。例如 你好 会被转写为 ni-hao,café 变成 cafe。
  2. 可选 Unidecode 增强:如果安装了 python-slugify[unidecode],非拉丁语系的音译效果会更自然,尤其是中文、日文、韩文等没有直接 ASCII 对应字符的语言。

调用时只需把标题字符串传入,技能会自动完成:

  • 移除 HTML 标签和多余空白;
  • 将大写转为小写;
  • 用连字符 - 替代空格和标点;
  • 生成一个可重复、可预测的 slug。

它不依赖任何网络请求,所有操作都在本地完成,适合在 CI/CD 脚本、文档生成器或文件名批量处理工具里直接调用。

适用边界与注意点

  • 只做转写,不做发布:它不会帮你创建路由规则、生成重定向或部署页面,输出的 slug 需要你自己接到现有流程里。
  • 音译结果受依赖影响:默认的 ASCII 音译在部分生僻字或少数民族语言上可能效果一般,安装 Unidecode 可以覆盖更多场景,但需要额外安装 GPL 许可的依赖。
  • 不处理语义去重:如果标题本身是“苹果”和“apple”,它不会知道这两个词含义相同,只会分别转写。语义层面的合并需要额外逻辑。

使用场景

  • 在 CMS 发布后台中,把中文或日文标题转成 ASCII slug 作为页面 URL 别名
  • 在静态博客生成器里,为多语言 Markdown 文章标题生成一致的文件名
  • 在 API 文档站点中,将含中文的接口名转为稳定的英文 slug 用于路由路径
  • 在批量文件上传服务中,用原始多语言标题生成安全的下载文件名

适合人员

  • 内容管理系统开发者,需要在后台为多语言文章自动生成 URL 别名
  • 静态站点生成器维护者,需要让含中文标题的 Markdown 文章生成一致的文件名
  • 后端工程师,需要从用户提交的多语言标题中生成稳定的记录 ID 或文件名
  • 文档平台开发者,需要为多语言 API 文档生成统一的路由 slug