如何将包含双大括号函数的维基文本标记转换为纯文本或 html?

How can I convert Wikitext Markup containing the double curly bracket functions, into plaintext or html?

我正在创建自定义 Wiki 标记 parser/interpreter。然而,在解释像这样的函数方面有一项艰巨的任务:

{{convert|500|ft|m|0}}

这样转换的:

500 feet (152 m)    

我想避免手动编写解释这些函数的代码,而宁愿使用查询字符串的方法

+akiva@akiva-ThinkPad-X230:~$ wiki-to-text "convert|3|to(-)|6|ft|abbr=on}}"

并获得 return 个:

"3 to 6 ft (0.91–1.83 m)"

有没有工具可以做到这一点?离线是迄今为止最理想的解决方案,但我可以忍受不得不查询服务器。

您可以查询 MediaWiki api to get a parsed text from wikitext. E.g. to parse the template Template:Done from the english wikipedia you could use: https://en.wikipedia.org/w/api.php?action=parse&text={{Template:done}}&title=Test (see the online docs for parse)。但是,您需要一个 MediaWiki 实例,它提供您要解析的模板,并且以完全相同的方式工作。如果您在本地安装网络服务器,您也可以安装自己的 MediaWiki 实例并在本地解析 wiki 文本。

顺便说一句:还有 Parsoid project,它实现了基于节点的 wikitext->html->wikitext 解析器。但是,iirc,还是需要查询wiki的api来解析模板。