8 个版本
0.2.4 | 2024年6月2日 |
---|---|
0.2.3 | 2023年12月15日 |
0.2.2 | 2023年2月20日 |
0.2.1 | 2022年10月1日 |
0.1.0 | 2021年12月20日 |
#207 in 网页编程
458 次每月下载
在 3 crates 中使用
110KB
2K SLoC
mwtitle
mwtitle
是一个用于解析、归一化和格式化 MediaWiki 页面标题的库。它主要是 MediaWiki 中的 MediaWikiTitleCodec 类的移植,并通过了 MediaWiki 测试套件。
开始使用最简单的方法是创建一个从 TitleCodec
的 siteinfo API 请求。
let url = "https://en.wikipedia.org/w/api.php\
?action=query&meta=siteinfo\
&siprop=general|namespaces|namespacealiases|interwikimap\
&formatversion=2&format=json";
let resp: SiteInfoResponse = reqwest::get(url).await?.json().await?;
let codec = TitleCodec::from_site_info(resp.query)?;
let title = codec.new_title("Talk:Main Page#Section 1")?;
assert_eq!(title.namespace(), 1);
assert_eq!(title.dbkey(), "Main_Page");
assert_eq!(title.fragment(), Some("Section 1"));
assert_eq!(codec.to_pretty(&title), "Talk:Main Page".to_string());
assert_eq!(
codec.to_pretty_with_fragment(&title),
"Talk:Main Page#Section 1".to_string()
);
还可以从来自 Wikimedia 数据的 JSON siteinfo-namespaces.json
或压缩的 siteinfo-namespaces.json.gz
中创建一个 TitleCodec
。这需要启用额外的 utils
功能。
贡献
mwtitle
是 mwbot-rs
项目 的一部分。我们一直在寻找新的贡献者,如果你感兴趣,请 联系 我们!
许可协议
本 crate 采用 GPL-3.0-or-later 许可协议发布。有关详细信息,请参阅 COPYING。
依赖项
~0.5–2MB
~40K SLoC