模块:Dictionary-Views.lua:修订间差异

来自「荏苒之境」
无编辑摘要
无编辑摘要
第1行: 第1行:
local csv = require("Module:Csv.lua")
local html = mw.html
local html = mw.html


第7行: 第6行:
views.TABLE = TABLE
views.TABLE = TABLE


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


     if headers.Spelling ~= "__META__" then
     local headers_elem = table_elem:tag("tr")
        mw.addWarning("错误:未找到词典头信息!")
    for i = 1, #headers do
        word_start = 1
        headers_elem:tag("th"):wikitext(headers[i])
    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
     end


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


         word_row:tag("td"):tag("b"):wikitext(row.Spelling)
         word_row:tag("td"):tag("b"):wikitext(row[1])
        word_row:tag("td"):wikitext(row.Definition)
         for j = 2, #row do
 
             word_row:tag("td"):wikitext(row[j])
         for j = 1, #row_extra do
             word_row:tag("td"):wikitext(row_extra[j])
         end
         end
     end
     end

2025年8月4日 (一) 17:56的版本

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

local html = mw.html

local views = {}

local TABLE = "Dictionary"
views.TABLE = TABLE

views.vocabulary = function(headers, rows)
    local table_elem = html.create("table")

    local headers_elem = table_elem:tag("tr")
    for i = 1, #headers do
        headers_elem:tag("th"):wikitext(headers[i])
    end

    for i = 1, #rows do
        local row = rows[i]
        local word_row = table_elem:tag("tr")

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

    return table_elem
end

return views