首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MediaWiki中的Lua模块显示图形

如何使用MediaWiki中的Lua模块显示图形
EN

Stack Overflow用户
提问于 2018-12-03 19:10:42
回答 1查看 140关注 0票数 0

我目前有一个Lua模块,它可以对传递的数据进行一些操作,然后我希望它在文章上显示一个图形。

我很难正确地显示图形,但是,到目前为止,我尝试了几种方法:

使用在扩展页上推荐的图形模板以{{ graph :Chart\variablesHere}的形式输出,该模板通常工作得很好。这种方法的问题在于(我假设),因为它来自一个模块,所以文本没有被MediaWiki实际处理,因此显示明文。 使用require(‘模块:图’)并将输出打印到页面,但是它也没有正确地生成一个图形,因为它没有正确的格式化,而且我还无法理解如何像模板一样转换它:图:图表。

只是想找点建议从这里开始。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-03 23:10:20

使用frame:preprocess(string_containing_templates)展开包含模板(如模板:图表:图表 )的字符串。

如果您想避免预处理,可以调用chart函数的模块:图,但是要获得与扩展模板:图:图表相同的结果是很复杂的,因为您必须将模板:图表:图的内容转换为Lua。要生成与frame:preprocess("{{Graph:Chart|width=100|height=100|x=1|y=1}}")相同的内容,请执行以下操作:

代码语言:javascript
运行
复制
 frame:extensionTag("templatestyles", nil, { src = "Graph:Chart/styles.css" })
  .. frame:extensionTag (
    "graph",
    require("Module:Graph").chart { args = { width = '100', height = '100', x = '1', y = '1' } }
  )

这里,frame必须是一个框架对象。不是很漂亮,如果对模板做了任何更改,它们将不会反映在模块代码中。因此,最好只是对模板进行预处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53600317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档