模块:Dictionary-Views.lua:修订间差异
来自「荏苒之境」
无编辑摘要 |
无编辑摘要 |
||
第8行: | 第8行: | ||
views.vocabulary = function(rows) | views.vocabulary = function(rows) | ||
local | local table_elem = html.create("table") | ||
local headers = rows[1] | local headers = rows[1] | ||
local | local word_start = 2 | ||
for i = 1, # | 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 | end | ||
for i = | for i = word_start, #rows do | ||
local row = rows[i] | local row = rows[i] | ||
local row_extra = csv.parse_row(row.Extra) | local row_extra = csv.parse_row(row.Extra) | ||
local word_row = | local word_row = table_elem:tag("tr") | ||
word_row:tag("td"):tag("b"):wikitext(row.Spelling) | word_row:tag("td"):tag("b"):wikitext(row.Spelling) | ||
第33行: | 第39行: | ||
end | end | ||
return | return table_elem | ||
end | end | ||
return views | return views |
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