本页是THBWiki的编辑帮助文档
- 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
- 有任何意见、建议、求助、反馈都可以在 讨论板 提出
- THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
帮助:编写模块
Jump to navigation
Jump to search
|
本页面用于记录部分编写模块时会用到的方法等。全部用法介绍均以中文环境为主,并侧重于全面介绍用法和易懂例子,不完全是其他介绍网页的翻译,不重要的废话可免则免。如有疑难可以加Q群285426714。
基础库
本质上也是模块,但这些模块仅用于被其他模块调用,不用于#invoke
形式直接在wiki页面中调用。
提供了一些公共方法,简化了模块的编写过程。
基础库通常以lib
开头。
基础库使用
以libstr
为例:
local libstr = require('Module:libstr')
local p = {}
function p.padleft(frame)
return libstr.padLeft(frame.args[1], frame.args[2], frame.args[3])
end
return p
基础库列表
- 模块:libstr 字符串相关方法
- 模块:libargs 处理wiki页面传来的
frame.args
的相关方法 - 模块:libnames 处理角色模板名、作品名缩写之类的转换方法,与原生模板(
#switch
)之间的性能差异尚不明确,但为了方便在模块中调用,也是需要设置一个这样的模块,否则每次需要展开模板比较繁琐,也会有性能损失。挂载的json文件记录如下:- CharaTemplateName.json 角色对应模板名
- WorkSymbol.json 作品对应首字母缩写
常用模块
可在wiki中使用#invoke
直接调用的模块。
另,为方便使用而创建的套皮模板请参见 帮助:使用Lua编写的模板
常用模块列表
相关链接
- (Mediawiki官方) Lua/Tutorial 学习Lua的基本语法
- (Mediawiki官方) Lua reference manual 在wiki上调用Lua库
- (Mediawiki官方) Wikibase: LUA Wikibase客户端使用方法
- (Lua官方) Lua 5.1 Reference Manual 学习Lua语法
- (Extension:Semantic Scribunto) SemanticScribunto Docs 使用Lua调用SMW相关功能
- (Extension:VariablesLua) Extension:VariablesLua 在Lua中使用var变量
- (Extension:External Data) Extension:External Data 调用外部数据资源
- (灰机wiki) 帮助:模块 关于模块的详细介绍,本维基缺失的教程可以先看这里代替