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

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


第4行: 第5行:


local TABLE = "Dictionary"
local TABLE = "Dictionary"
local HEADERS = {"Spelling", "Definition", "Category", "Etymology"}
local HEADER_TEXTS = {"拼写", "释义", "分类", "词源"}
views.TABLE = TABLE
views.TABLE = TABLE
views.HEADERS = HEADERS
views.HEADER_TEXTS = HEADER_TEXTS


views.vocabulary = function(rows)
views.vocabulary = function(rows)
     local words = html.create("table")
     local words = html.create("table")
    local headers = rows[1]
    local extra = csv.parse_row(headers.Extra)
      
      
     local word_header = words:tag("tr")
     local word_header = words:tag("tr")
     for i = 1, #HEADER_TEXTS do
    word_header:tag("th"):wikitext(headers.Spelling)
         word_header:tag("th"):wikitext(HEADER_TEXTS[i])
    word_header:tag("th"):wikitext(headers.Definition)
 
     for i = 1, #extra do
         word_header:tag("th"):wikitext(extra[i])
     end
     end


     for i = 1, #rows do
     for i = 2, #rows do
         local row = rows[i]
         local row = rows[i]
        local row_extra = csv.parse_row(row.Extra)
         local word_row = words:tag("tr")
         local word_row = words:tag("tr")
         for j = 1, #HEADERS do
 
            local td = word_row:tag("td")
         word_row:tag("td"):tag("b"):wikitext(row.Spelling)
            local h = HEADERS[j]
        word_row:tag("td"):wikitext(row.Definition)
            if j == 1 then
 
                td:tag("b"):wikitext(row[h])
        for j = 1, #row_extra do
             else
             word_row:tag("td"):wikitext(row_extra[j])
                td:wikitext(row[h])
            end
         end
         end
     end
     end

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

此模块的文档可以在模块: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 words = html.create("table")
    local headers = rows[1]
    local extra = csv.parse_row(headers.Extra)
    
    local word_header = words:tag("tr")
    word_header:tag("th"):wikitext(headers.Spelling)
    word_header:tag("th"):wikitext(headers.Definition)

    for i = 1, #extra do
        word_header:tag("th"):wikitext(extra[i])
    end

    for i = 2, #rows do
        local row = rows[i]
        local row_extra = csv.parse_row(row.Extra)
        local word_row = words: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 words
end

return views