Module:Sandbox/Andreyyshore/Vertical header: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 1:
local p = {}
 
function p.stack(framestr, vertAlign)
local t = {}
local strbreakPattern = frame.args"<[1bB][rR] */? *>"
local function splitLines(line)
local breakPattern = "<[bB][rR] */? *>"
table.insert(t, line)
local function splitLines(line)
return ""
table.insert(t, line)
end
return ""
splitLines((str:gsub("(.-)(" .. breakPattern .. ")", splitLines)))
end
for k, v in pairs(t) do
splitLines((str:gsub("(.-)(" .. breakPattern .. ")", splitLines)))
t[k] = (v
for k, v in pairs(t) do
:gsub("%[%[([^'%[%]]+)%]%]", function(n"%1<br>")
t[k] = (v
:gsub("'([^'%[%]])", "%1'<br>%1")
:gsub("'([^']'+)<br>", "'<br>%1")
:gsub("(''%[%[+)<br>", "%1")
:gsub("<br>(%[%[]+)<br>", "%1<br>")
:gsub("<br>%[%[([^%[%]]+)%]%]", "%1<br>"function(n)
local inBrackets = n
:gsub("%[%[([^%[%]]+)%]%]", function(n)
local inBracketsstripped = n""
if inBrackets:find("%|") == nil then
local stripped = ""
inBrackets if= inBrackets:findgsub("%|<br>", "") ==.. nil"|" then.. inBrackets
else
inBrackets = inBrackets:gsub("<br>", "") .. "|" .. inBrackets
inBrackets stripped = stripped .. inBrackets:gsubmatch("^[^%|]+%|"):gsub("<br>", "")
else
inBrackets = stripped =.. inBrackets:matchgsub("^[^%|]+%|"):gsub("<br>", "")
end
inBrackets = stripped .. inBrackets:gsub("^[^%|]+%|<br>", "")
return "[[" .. inBrackets .. "]]"
end
end)
return "[[" .. inBrackets .. "]]"
:gsub("<br>$", "")
end)
)
:gsub("<br>$", "")
end
)
if #t == 1 then
end
return t[1]
if #t == 1 then
end
return t[1]
local dom1 = mw.html.create("tr")
end
local dom2
local dom1 = mw.html.create("tr")
for _, v in pairs(t) do
local dom2
dom1:wikitext(
for _, v in pairs(t) do
tostring(
dom1:wikitext(
mw.html.create("td")
tostring(
:css({
mw.html.create("td")
["border"] = "none",
:css({
["borderpadding"] = "none"0,
["vertical-align"] = "inherit"vertAlign
["padding"] = 0,
})
:wikitext(v)
})
)
:wikitext(v)
)
)
end
)
dom2 = mw.html.create("table")
end
:wikitext(tostring(dom1))
dom2 = mw.html.create("table")
:css({
:wikitext(tostring(
["margin"] = 0,
mw.html.create("tbody")
["border-collapse"] = "collapse",
:css( ["vertical-align",] = "inherit")
:wikitext(tostring(dom1))
})
)
:attr({cellspacing = 0, cellpadding = 0})
)
return tostring(dom2)
:css({
["margin"] = 0,
["border-collapse"] = "collapse",
["vertical-align"] = "inherit"
})
:attr({cellspacing = 0, cellpadding = 0})
return tostring(dom2)
end
 
Line 75 ⟶ 69:
local normalAlign = ""
-- local stupidIEAlign = ""
local stack = frame.args.stack
local breakPattern = "<[bB][rR] */? *>"
local rows = 1
Line 90 ⟶ 85:
wikiText = wikiText .. " unsortable"
end
wikiText = wikiText .. "\" style=\"line-height:99%;vertical-align:" ..
vertAlign .. ";padding:"
if sortPadding == "" then
wikiText = wikiText .. ".4em"
Line 97 ⟶ 93:
end
wikiText = wikiText .. " .4em .2em;background-position:50% .4em !important;"
wikiText = wikiText .. "min-width:" .. width .. ";max-width:" .. width ..
";width:" .. width .. ";overflow:hidden\""
wikiText = wikiText .. " | <div style=\""
if stack == "" then
wikiText = wikiText .. frame:preprocess("{{writing-mode|v1}}{{Transform-rotate|180}}")
end
wikiText = wikiText .. "-ms-transform: none \ ;padding-left:1px;text-align:"
if vertAlign == "top" then
normalAlign = "right"
Line 111 ⟶ 112:
wikiText = wikiText .. normalAlign .. ";" -- text-align:" .. stupidIEAlign .. " \ ;"
wikiText = wikiText .. style .. "\">"
local textToAdd = text
if stack ~= "" then
textToAdd = p.stack(text, vertAlign)
end
if noBold == "" then
wikiText = wikiText .. texttextToAdd
else
wikiText = wikiText .. frame:preprocess("{{nobold|1=" .. texttextToAdd .. "}}")
end
wikiText = wikiText .. "</div>"