Module:Vertical header: Difference between revisions
Jump to navigation
Jump to search
BruceSchafer (talk | contribs) m (1 revision imported: Importing Moduel:Vertical header from Wikipedia) |
(IE is dead) |
||
Line 5: | Line 5: | ||
local text = args.text | local text = args.text | ||
local maxWidth = args.maxWidth | local maxWidth = args.maxWidth | ||
local rows = 1 | local rows = 1 | ||
local width = 0 | local width = 0 | ||
Line 40: | Line 39: | ||
if vertAlign == "top" then | if vertAlign == "top" then | ||
normalAlign = "right" | normalAlign = "right" | ||
elseif vertAlign == "middle" then | elseif vertAlign == "middle" then | ||
normalAlign = "center" | normalAlign = "center" | ||
else | else | ||
normalAlign = "left" | normalAlign = "left" | ||
end | end | ||
wikiText = wikiText .. normalAlign .. " | wikiText = wikiText .. normalAlign .. ";" | ||
local style = args.style:gsub("\"", """) | local style = args.style:gsub("\"", """) |
Revision as of 11:18, 4 September 2023
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(180deg);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