运行 WikiMedia Lua 脚本或扩展 API 模块输出

我有两个具体的问题,希望有人可以回答其中任何一个:

  1. 有没有办法将媒体维基的 mw 库提供给独立的 Lua 脚本?
  2. 是否有一个 API 命令或属性公开动态模块的输出?

背景:我正在尝试找出如何访问维基词典模块(在这种情况下,是 pron-th)的输出。这是一个模块,可以由编辑器动态插入,以显示泰语单词的音标。例如,每当编辑器添加了这一行:

 {{th-pron|ไคฺร่}}

...服务器将运行 Lua 脚本文档 此处 并输出一个表格显示各种音标(示例)。但是,当执行 API 请求时,该输出被明确地排除在外(示例),而我找不到包含此数据的终端。直接运行 Lua 脚本失败,因为缺少几个导入,如 mw.ustringmw.text 等,我相信它们在其软件堆栈的更高 PHP 包括中定义。我有丰富的 PHP 经验,但没有 Lua 经验,所以我在这里有点困惑。

除了直接调用每个页面并抓取数据之外,我想不出其他方法来实现这一点。

点赞
用户2719630
用户2719630

MediaWikimw库是Scribunto扩展的一部分(详见 https://github.com/wikimedia/mediawiki-extensions-Scribunto/tree/master/includes/engines/LuaCommon/lualib),它有很多依赖关系回到媒体维基的php核心,所以不容易直接导入。

您可以通过API(例如https://en.wiktionary.org/w/api.php?action=parse&text=%20{{th-pron|%E0%B9%84%E0%B8%84%E0%B8%BA%E0%B8%A3%E0%B9%88}}&contentmodel=wikitext)渲染wikitext并解析输出,或者尝试使用其他函数调用替换MediaWiki特定的函数调用到某些本地Lua库中。

2018-06-11 07:26:09