我目前有一个Lua模块,可以对传递的数据进行一些处理,然后希望在文章上显示图形。
我无法正确显示图形,但是到目前为止,我已经尝试了几种方法:
使用扩展模板上建议的图形模板,以{{Graph:Chart | variablesHere}}的形式输出,通常效果很好。这种方法的问题是(我认为),因为它来自模块,所以MediaWiki实际上并未处理文本,因此显示纯文本。
使用require('Module:Graph')并将输出打印到页面上,但是由于格式不正确而且我也无法理解如何转换它,所以它不能正确地制作图形就像Template:Graph:Chart一样
只需寻找有关从此处出发的建议。
答案 0 :(得分:0)
使用frame:preprocess(string_containing_templates)
扩展包含模板的字符串,例如Template:Graph:Chart。
如果要避免进行预处理,可以调用Module:Graph的chart
函数,但是要获得与扩展Template:Graph: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
必须是框架对象。不是很漂亮,如果对模板进行了任何更改,它们也不会反映在您的模块代码中。因此,最好只对模板进行预处理。