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

标签 mediawiki wiki markup wikipedia wikitext

我正在创建一个自定义的 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/

相关文章:

mediawiki - 我们如何区分维基百科类别作为集合和主题?

Java维基引擎

gitlab - 在 Gitlab 上,是否可以设置不同于 "home"的特定 Wiki 页面?

python - Python 的轻量级标记语言

javascript - 使用 jQuery 和 ajax 从公司 wiki 获取数据

seo - 如何限制搜索引擎索引我的 mediawiki 站点?

c# - 使用 .NET 5.0 中的 Blazor WebAssembly 应用程序渲染美人鱼图

tags - 如何在 Drupal 8 上的 TWIG 中以纯文本形式显示节点的标题?

mediawiki - 语义Mediawiki#询问结果较长的查询

github - 将 Confluence 迁移到 Github wiki (Gollum)