Zeroclanzhang(讨论 | 贡献) (创建页面,内容为“local p = {} function p._vertical_header(args) local text = args.text local maxWidth = args.maxWidth local rows = 1 local width = 0 if maxWidth ~= "" then width = maxWidth else for eachMatch in text:gmatch("<[bB][rR] */? *>") do rows = rows + 1 end width = rows * 0.875 width = width .. "em" end local wikiText = "class = \"nowrap" local sortPadding = args.sortPadding if sortPadding == "" then wikiText = wikiText .. " unsortable" en…”) |
Zeroclanzhang(讨论 | 贡献) 无编辑摘要 |
||
第2行: | 第2行: | ||
function p._vertical_header(args) | function p._vertical_header(args) | ||
local text = args.text | |||
local maxWidth = args.maxWidth | |||
local rows = 1 | |||
local width = 0 | |||
if maxWidth ~= "" then | |||
width = maxWidth | |||
else | |||
for eachMatch in text:gmatch("<[bB][rR] */? *>") do | |||
rows = rows + 1 | |||
end | |||
width = rows * 0.875 | |||
width = width .. "em" | |||
end | |||
local wikiText = "class = \"nowrap" | |||
local sortPadding = args.sortPadding | |||
if sortPadding == "" then | |||
wikiText = wikiText .. " unsortable" | |||
end | |||
local vertAlign = args.vertAlign | |||
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:" | |||
if sortPadding == "" then | |||
wikiText = wikiText .. ".4em" | |||
else | |||
wikiText = wikiText .. "21px" | |||
end | |||
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;" | |||
local cellStyle = args.cellstyle:gsub("\"", """) | |||
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\"" | |||
wikiText = wikiText .. " | <div style=\"vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(0deg);display:inline-block;padding-left:1px;text-align:" | |||
local normalAlign = "" | |||
if vertAlign == "top" then | |||
normalAlign = "right" | |||
elseif vertAlign == "middle" then | |||
normalAlign = "center" | |||
else | |||
normalAlign = "left" | |||
end | |||
wikiText = wikiText .. normalAlign .. ";" | |||
local style = args.style:gsub("\"", """) | |||
wikiText = wikiText .. style .. "\">" | |||
local noBold = args.noBold | |||
if noBold == "" then | |||
wikiText = wikiText .. text | |||
else | |||
wikiText = wikiText .. mw.getCurrentFrame():preprocess("{{nobold|1=" .. text .. "}}") | |||
end | |||
wikiText = wikiText .. "</div>" | |||
return wikiText | |||
end | end | ||
function p.cell(frame) | function p.cell(frame) | ||
local args = frame.args | |||
return p._vertical_header(args) | |||
end | end | ||
return p | return p |
2024年1月25日 (四) 16:51的最新版本
Implements {{Vertical header}}
local p = {}
function p._vertical_header(args)
local text = args.text
local maxWidth = args.maxWidth
local rows = 1
local width = 0
if maxWidth ~= "" then
width = maxWidth
else
for eachMatch in text:gmatch("<[bB][rR] */? *>") do
rows = rows + 1
end
width = rows * 0.875
width = width .. "em"
end
local wikiText = "class = \"nowrap"
local sortPadding = args.sortPadding
if sortPadding == "" then
wikiText = wikiText .. " unsortable"
end
local vertAlign = args.vertAlign
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:"
if sortPadding == "" then
wikiText = wikiText .. ".4em"
else
wikiText = wikiText .. "21px"
end
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;"
local cellStyle = args.cellstyle:gsub("\"", """)
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\""
wikiText = wikiText .. " | <div style=\"vertical-rl=-webkit-writing-mode: vertical-rl; -o-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;writing-mode: tb-rl; writing-mode: vertical-rl; layout-flow: vertical-ideographic;transform:rotate(0deg);display:inline-block;padding-left:1px;text-align:"
local normalAlign = ""
if vertAlign == "top" then
normalAlign = "right"
elseif vertAlign == "middle" then
normalAlign = "center"
else
normalAlign = "left"
end
wikiText = wikiText .. normalAlign .. ";"
local style = args.style:gsub("\"", """)
wikiText = wikiText .. style .. "\">"
local noBold = args.noBold
if noBold == "" then
wikiText = wikiText .. text
else
wikiText = wikiText .. mw.getCurrentFrame():preprocess("{{nobold|1=" .. text .. "}}")
end
wikiText = wikiText .. "</div>"
return wikiText
end
function p.cell(frame)
local args = frame.args
return p._vertical_header(args)
end
return p