Skip to main content

footnote_id

Function footnote_id 

Source
fn footnote_id(label: &str) -> String
Expand description

将脚注 label 转换为可用于 HTML id / href 锚点的安全标识符。

slugify_heading 不同:脚注 label 是用户自定义的稳定引用键([^key]), 不应转拼音或回退通用词——需保留 label 原文形态以保证 ref↔def 双向一致、可读。 策略:ASCII 字母数字与 -/_ 保留;其余 ASCII 字符(空格、标点、引号)转 -; 非 ASCII(中文、emoji 等)保留原样。合并连续 -、去首尾 -

GFM 模式下 label 单行不含换行,但仍可能含空格/标点,此函数确保产出的 id: (1) 不含 "/</>/&/空格等破坏 HTML 属性或 URL 的字符;(2) 同一 label 必产出同一 id。