模块: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" en…”)
 
无编辑摘要
 
第2行: 第2行:


function p._vertical_header(args)
function p._vertical_header(args)
 
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
if maxWidth ~= "" then
    if maxWidth ~= "" then
width = maxWidth
        width = maxWidth
else
    else
for eachMatch in text:gmatch("<[bB][rR] */? *>") do
        for eachMatch in text:gmatch("<[bB][rR] */? *>") do
rows = rows + 1
            rows = rows + 1
end
        end
width = rows * 0.875
        width = rows * 0.875
width = width .. "em"
        width = width .. "em"
end
    end
 
local wikiText = "class = \"nowrap"
    local wikiText = "class = \"nowrap"
local sortPadding = args.sortPadding
    local sortPadding = args.sortPadding
if sortPadding == "" then
    if sortPadding == "" then
wikiText = wikiText .. " unsortable"
        wikiText = wikiText .. " unsortable"
end
    end
 
local vertAlign = args.vertAlign
    local vertAlign = args.vertAlign
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:"
    wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" .. vertAlign .. ";padding:"
if sortPadding == "" then
    if sortPadding == "" then
wikiText = wikiText .. ".4em"
        wikiText = wikiText .. ".4em"
else
    else
wikiText = wikiText .. "21px"
        wikiText = wikiText .. "21px"
end
    end
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;"
    wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;"
 
local cellStyle = args.cellstyle:gsub("\"", "&quot;")
    local cellStyle = args.cellstyle:gsub("\"", "&quot;")
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width .. ";width:" .. width .. ";overflow:hidden;" .. cellStyle .. "\""
    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:"
    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 = ""
    local normalAlign = ""
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("\"", "&quot;")
    local style = args.style:gsub("\"", "&quot;")
wikiText = wikiText .. style .. "\">"
    wikiText = wikiText .. style .. "\">"
 
local noBold = args.noBold
    local noBold = args.noBold
if noBold == "" then
    if noBold == "" then
wikiText = wikiText .. text
        wikiText = wikiText .. text
else
    else
wikiText = wikiText .. mw.getCurrentFrame():preprocess("{{nobold|1=" .. text .. "}}")
        wikiText = wikiText .. mw.getCurrentFrame():preprocess("{{nobold|1=" .. text .. "}}")
end
    end
wikiText = wikiText .. "</div>"
    wikiText = wikiText .. "</div>"
return wikiText
    return wikiText
end
end


function p.cell(frame)
function p.cell(frame)
local args = frame.args
    local args = frame.args
return p._vertical_header(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("\"", "&quot;")
    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("\"", "&quot;")
    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