我目前有一个Lua模块,它可以对传递的数据进行一些操作,然后我希望它在文章上显示一个图形。
我很难正确地显示图形,但是,到目前为止,我尝试了几种方法:
使用在扩展页上推荐的图形模板以{{ graph :Chart\variablesHere}的形式输出,该模板通常工作得很好。这种方法的问题在于(我假设),因为它来自一个模块,所以文本没有被MediaWiki实际处理,因此显示明文。 使用require(‘模块:图’)并将输出打印到页面,但是它也没有正确地生成一个图形,因为它没有正确的格式化,而且我还无法理解如何像模板一样转换它:图:图表。
只是想找点建议从这里开始。
发布于 2018-12-03 15:10:20
使用frame:preprocess(string_containing_templates)
展开包含模板(如模板:图表:图表 )的字符串。
如果您想避免预处理,可以调用chart
函数的模块:图,但是要获得与扩展模板:图:图表相同的结果是很复杂的,因为您必须将模板:图表:图的内容转换为Lua。要生成与frame:preprocess("{{Graph:Chart|width=100|height=100|x=1|y=1}}")
相同的内容,请执行以下操作:
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
必须是一个框架对象。不是很漂亮,如果对模板做了任何更改,它们将不会反映在模块代码中。因此,最好只是对模板进行预处理。
https://stackoverflow.com/questions/53600317
复制相似问题