Module:Numlinks 2-num: Difference between revisions
m todo |
generalize code |
||
| Line 64: | Line 64: | ||
local links = {} | local links = {} | ||
for j = 1, | local num_links_1 = 1 | ||
local num_links_2 = 1 | |||
for j = 1, 1 + num_links_2 * 2 do | |||
local row = {} | local row = {} | ||
for i = 1, | for i = 1, 1 + num_links_1 * 2 do | ||
local num_2 = format_number(curr_num_2 + i - 2, is_ordinal_2) | local num_2 = format_number(curr_num_2 + i - 2, is_ordinal_2) | ||
local num_1 = format_number(curr_num_1 + j - 2, is_ordinal_1) | local num_1 = format_number(curr_num_1 + j - 2, is_ordinal_1) | ||
if i == | if i == num_links_1 + 1 and j == num_links_2 + 1 then | ||
table.insert(row, make_current(num_1, num_2)) | table.insert(row, make_current(num_1, num_2)) -- Text is for the current page | ||
else | else | ||
table.insert(row, make_link(num_1, num_2)) | table.insert(row, make_link(num_1, num_2)) -- Text is for an adjacent link | ||
end | end | ||
end | end | ||
| Line 81: | Line 83: | ||
local lines = {} | local lines = {} | ||
-- Produce table of links | |||
table.insert(lines, '{| style="width: 100%;"') | table.insert(lines, '{| style="width: 100%;"') | ||
local middle_cell_width = 100 / (num_links_1 + 2) | |||
for j = 1, 1 + num_links_2 * 2 do | |||
-- New row | |||
table.insert(lines, '|-') | |||
for i = 1, 1 + num_links_1 * 2 do | |||
if i == num_links_1 + 1 then | |||
-- Insert text for middle cell | |||
table.insert(lines, string.format('| style="font-size: 0.75em; width: %d%%;" | %s', middle_cell_width, links[i][j])) | |||
else | |||
-- Insert text for non-middle cell | |||
table.insert(lines, string.format('| style="font-size: 0.75em;" | %s', links[i][j])) | |||
end | |||
end | |||
end | |||
table.insert(lines, '|}') | table.insert(lines, '|}') | ||