模块:Dictionary-Views.lua

来自「荏苒之境」
Sicusa留言 | 贡献2025年8月4日 (一) 17:23的版本

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

local csv = require("Module:Csv.lua")
local html = mw.html

local views = {}

local TABLE = "Dictionary"
views.TABLE = TABLE

views.vocabulary = function(rows)
    local table_elem = html.create("table")
    local headers = rows[1]
    local word_start = 2

    if headers.Spelling ~= "__META__" then
        mw.addWarning("错误:未找到词典头信息!")
        word_start = 1
    else
        local headers_elem = table_elem:tag("tr")
        headers_elem:tag("th"):wikitext(headers.Spelling)
        headers_elem:tag("th"):wikitext(headers.Definition)

        local headers_extra = csv.parse_row(headers.Extra)
        for i = 1, #headers_extra do
            headers_elem:tag("th"):wikitext(headers_extra[i])
        end
    end

    for i = word_start, #rows do
        local row = rows[i]
        local row_extra = csv.parse_row(row.Extra)
        local word_row = table_elem:tag("tr")

        word_row:tag("td"):tag("b"):wikitext(row.Spelling)
        word_row:tag("td"):wikitext(row.Definition)

        for j = 1, #row_extra do
            word_row:tag("td"):wikitext(row_extra[j])
        end
    end

    return table_elem
end

return views