モジュール:sux-registers
ナビゲーションに移動
検索に移動
このモジュールについての説明文ページを モジュール:sux-registers/doc に作成できます
local export = {}
local m_register_data = mw.loadData("モジュール:sux-registers/data")
local lang = require("モジュール:languages").getByCode("sux")
local m_links = require("モジュール:links")
local m_strutils = require("モジュール:string utilities")
local function format_list_items(items)
local result = {}
for _, item in ipairs(items) do
item = m_links.full_link { lang = lang, term = item.term, tr = item.tr }
table.insert(result, '\n' .. item)
end
return table.concat(result)
end
function export.create_list(args)
if type(args) ~= "table" then
error("expected table, got " .. type(args))
end
local output = {}
table.insert(output, [[<div class="term-list ul-column-count" data-column-count="1" >]])
table.insert(output, format_list_items(args))
table.insert(output, '</div>')
return table.concat(output)
end
function export.show(frame)
local args = frame:getParent().args
if args[1] or args[1] ~= "" then
meaning = args[1]
else
error("意味を指定して下さい")
end
local data = m_register_data[meaning] or nil
if data then
local emegir = data.emegir
local emesal = data.emesal
local template = [===[
{| class="floatright wikitable" style="max-width: 25em;"
|+ style="text-align:center; white-space: nowrap;"| “{meaning}”
|- style="text-align:center;"
! エメギル
| {emegir}
|- style="text-align:center;"
! エメサル
| {emesal}
|-
|{\cl}]===]
local forms = {}
forms["meaning"] = meaning
forms["emegir"] = export.create_list(emegir)
forms["emesal"] = export.create_list(emesal)
return m_strutils.format(template, forms)
else
error("“" .. meaning .. "” は[[モジュール:sux-registers/data]]にありません。")
end
end
return export