扩展库 / slugify

slugify

把标题变成可读的 URL 路径段。

ASCII 小写、有限拉丁转写(已收录字符的成对大写与小写一致)、汉字(含 Unicode 17 CJK 扩展 G/H/J)/假名/韩文保留;严格验证 UTF-8 和输入长度。

API

函数用途
slugify(text)生成可读 slug
isAscii(text)判断原文是否仅含 ASCII 字节

xlang

import slugify
println(slugify.slugify("Café & 你好"))  // cafe-and-你好

& 和 @ 作为独立词转换,例如 a&b 得到 a-and-b。垂直制表、换页、NEL 与 Ogham 空格等空白作为词边界,不会拼接两侧文本。这不是完整 Unicode 转写,也不是 URL 编码或路径安全验证;不同标题可能产生同一 slug。范围、C 所有权和测试证据见包内 README。

验证

2026-10-28 当前 Windows/Linux 默认包门禁通过严格 C、Linux ASan/UBSan、线程、UTF-8/长度/幂等性/OOM、XLang JIT/AOT 和双语范例同输出。复查修掉调用点接管之后的返回复制,四组短输入在 C/XLang 各 8 个预算中只需一次结果分配,cgen 不再有后续正文副本;长输入仍可能多次增长缓冲,必要扫描和错误作用域也仍存在。此前只检查接管点,不能证明整条返回链没有复制。范围和所有权见包内 README。