模块:Dictionary-Entry.lua

来自「荏苒之境」
Sicusa留言 | 贡献2025年8月2日 (六) 20:45的版本

此模块的文档可以在模块:Dictionary-Entry.lua/doc创建

local html = mw.html
local cargo = mw.ext.cargo

local dict_views = require("Module:Dictionary-Views.lua")
local DICT_TABLE = dict_views.TABLE

local entry = {}

entry.show = function(frame)
    local args = frame.args
    local language = args.language
    local spelling = args.spelling

    local r = cargo.query(DICT_TABLE, "Definition,Category,Etymology,_pageName", {
        where = string.format(
            [[Language="%s" AND Spelling="%s"]],
            language, spelling, tonumber(args.priority))
    })[1]

    if r == nil then
        return "词典条目不存在:"..spelling
    end

    local view = html.create('div')
        :tag('p'):wikitext(r.Definition):done()
        :tag('p'):wikitext("来源词汇表:"..r._pageName):done()

    if r.Category ~= nil and r.Category ~= "" then
        view:tag('h2'):wikitext('类别'):done()
            :tag('p'):wikitext(r.Category):done()
    end
    if r.Etymology ~= nil and r.Etymology ~= "" then
        view:tag('h2'):wikitext('词源'):done()
            :tag('p'):wikitext(r.Etymology):done()
    end

    return view
end

return entry