我正在创建一个自定义的 Wiki 标记解析器/解释器。然而,解释这样的函数是一项艰巨的任务:
{{convert|500|ft|m|0}}
转换如下:
500 feet (152 m)
我想避免手动编码这些函数的解释,而宁愿采用查询字符串的方法
+akiva@akiva-ThinkPad-X230:~$ wiki-to-text "convert|3|to(-)|6|ft|abbr=on}}"
并获得返回:
"3 to 6 ft (0.91–1.83 m)"
有没有工具可以做到这一点?离线是迄今为止最理想的解决方案,但我可以忍受必须查询服务器。
最佳答案
您可以查询MediaWiki api从维基文本中获取解析后的文本。例如。解析模板 Template:Done 来自英文维基百科,您可以使用: https://en.wikipedia.org/w/api.php?action=parse&text={{Template:done}}&title=Test
(参见online docs for parse)。但是,您需要一个 MediaWiki 实例来提供您想要解析的模板,并且其工作方式完全相同。如果您在本地安装网络服务器,您也可以安装自己的 MediaWiki 实例并在本地解析 wiki 文本。
顺便说一句:这是Parsoid project ,它也实现了一个基于节点的 wikitext->html->wikitext 解析器。不过它iirc还是需要查询wiki的api来解析模板。
关于mediawiki - 如何将包含双大括号函数的 Wikitext 标记转换为纯文本或 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114969/