模块:沙盒/Vesekskiy/LinkCJK
跳转到导航
跳转到搜索
此模块的文档可以在Module:沙盒/Vesekskiy/LinkCJK/doc创建
local p = {}
local function isSingleChar(s)
return mw.ustring.len(s) == 1
end
function p.main(frame)
local args = frame.args
if not args[1] then
args = frame:getParent().args
end
local result = {}
local prevSingle = nil
local i = 1
while true do
local val = args[i]
if not val then break end
val = mw.text.trim(val)
if isSingleChar(val) then
if prevSingle then
table.insert(result, "[[wikt:" .. prevSingle .. "|-{" .. prevSingle .. "}-]]")
end
prevSingle = val
else
if prevSingle then
local expanded
if val == "" then
expanded = frame:preprocess("{{僻字|" .. prevSingle .. "}}")
else
expanded = frame:preprocess("{{僻字|" .. prevSingle .. "|-{" .. val .. "}-}}")
end
table.insert(result, "[[wikt:" .. prevSingle .. "|" .. expanded .. "]]")
prevSingle = nil
else
return frame:preprocess(string.format("{{Error|错误:第%d个参数有误}}", i))
end
end
i = i + 1
end
if prevSingle then
table.insert(result, "[[wikt:" .. prevSingle .. "|-{" .. prevSingle .. "}-]]")
end
return table.concat(result)
end
return p