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

来自「荏苒之境」
无编辑摘要
无编辑摘要
 
(未显示同一用户的3个中间版本)
第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(header, 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 header_elem = table_elem:tag("tr")
        mw.addWarning("错误:未找到词典头信息!")
    for i = 1, #header do
        word_start = 1
        header_elem:tag("th"):wikitext(header[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, #header 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日 (一) 20:43的最新版本

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

local html = mw.html

local views = {}

local TABLE = "Dictionary"
views.TABLE = TABLE

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

    local header_elem = table_elem:tag("tr")
    for i = 1, #header do
        header_elem:tag("th"):wikitext(header[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, #header do
            word_row:tag("td"):wikitext(row[j])
        end
    end

    return table_elem
end

return views