跳转至

Slugs - 蛞蝓

交替Slugify

Python Markdown的默认惰性用于删除所有Unicode字符。 虽然这不再是必然的,PyMdown Extensions提供了一个可配置的slugify来帮助那些有选择器首选项的人。 这些都是非常简单的惰性选项。 有很多选择,其中一些非常复杂。 有些人可能更喜欢使用其中一种,但如果您只想要简单的东西,这可能会满足要求。

使用Slugify

slugify 是一个简单的Unicode slugify选项。 它使用各种参数来控制在slugs中如何执行大小写,首选哪种Unicode规范化,以及是否首选Unicode的百分比编码。

可用的关键字选项如下:

Parameter Default Description
case 'none' 字符的控制大小写规范化。请参阅下面的大小写选项。
percent_encode False %在大小写规范化后对所有Unicode字符进行编码。
normalize 'NFC' Unicode规范化方法。例如,NFD会去掉变音符号,但 NFC不会。

案例选项描述如下:

Option Description
none Performs no case normalization preserving whatever case is provided.
lower Performs simple lower casing on the slug which will operate on Unicode and ASCII alike.
lower-ascii Performs simple lower casing on only ASCII upper case characters.
fold Applies Python's case folding function on the slug.

配置是直接的。只需导入段塞模块并配置您希望Toc扩展如何利用段塞。

extension = ['markdown.extensions.toc']
extension_configs = {
    'markdown.extensions.toc': {
        "slugify": slugs.slugify(case="lower", percent_encode=True)
    }
}

如果你正在使用像MkDocs这样的东西,请查看我们的FAQ,它提供了如何在YAML配置中指定可配置函数的指导。


最后更新: July 10, 2023