Modulis:BioTakso infokaste
Moduļa dokumentācija[izveidot]
Iespējams, vēlies izveidot dokumentāciju šim modulim Vari eksperimentēt šī moduļa smilšu kastes (labot | labojumi) un testu (izveidot) lapā Lūdzu, kategorijas pievieno dokumentācijas apakšlapā. Moduļa apakšlapas. |
local clasification = {
{par = "valsts", nos = "[[Valsts (bioloģija)|Valsts]]"},
{par = "apakšvalsts", nos = "[[Apakšvalsts]]"},
{par = "nodalījums", nos = "[[Nodalījums (botānika)|Nodalījums]]"},
{par = "apakšnod", nos = "[[Apakšnodalījums]]"},
{par = "virstips", nos = "[[Virstips]]"},
{par = "tips", nos = "[[Tips (zooloģija)|Tips]]"},
{par = "apakštips", nos = "[[Apakštips]]"},
{par = "infratips", nos = "[[Infratips]]"},
{par = "megaklase", nos = "[[Megaklase]]"},
{par = "virsklase", nos = "[[Virsklase]]"},
{par = "klase", nos = "[[Klase (bioloģija)|Klase]]"},
{par = "apakšklase", nos = "[[Apakšklase]]"},
{par = "infraklase", nos = "[[Infraklase]]"},
{par = "megakohorta", nos = "[[Megakohorta]]"},
{par = "virskohorta", nos = "[[Virskohorta]]"},
{par = "kohorta", nos = "[[Kohorta]]"},
{par = "apakškohorta", nos = "[[Apakškohorta]]"},
{par = "infrakohorta", nos = "[[Infrakohorta]]"},
{par = "sekcija", nos = "[[Sekcija]]"},
{par = "apakšsekcija", nos = "[[Apakšsekcija]]"},
{par = "divīzija", nos = "[[Divīzija]]"},
{par = "apakšdivīzija", nos = "[[Apakšdivīzija]]"},
{par = "sērija", nos = "[[Sērija]]"},
{par = "apakšsērija", nos = "[[Apakšsērija]]"},
{par = "virsrinda", nos = "[[Virsrinda]]"},
{par = "rinda", nos = "[[Rinda (botānika)|Rinda]]"},
{par = "apakšrinda", nos = "[[Apakšrinda]]"},
{par = "augstākā kārta", nos = "[[Augstākā kārta]]"},
{par = "virskārta", nos = "[[Virskārta]]"},
{par = "lielkārta", nos = "[[Lielkārta]]"},
{par = "kārta", nos = "[[Kārta]]"},
{par = "apakškārta", nos = "[[Apakškārta]]"},
{par = "infrakārta", nos = "[[Infrakārta]]"},
{par = "sīkkārta", nos = "[[Sīkkārta]]"},
{par = "virsdzimta", nos = "[[Virsdzimta]]"},
{par = "dzimta", nos = "[[Dzimta (bioloģija)|Dzimta]]"},
{par = "apakšdzimta", nos = "[[Apakšdzimta]]"},
{par = "cilts", nos = "[[Cilts (bioloģija)|Cilts]]"},
{par = "virsģints", nos = "[[Virsģints]]"},
{par = "ģints", nos = "[[Ģints (bioloģija)|Ģints]]"},
{par = "apakšģints", nos = "[[Apakšģints]]"},
{par = "suga", nos = "[[Suga]]"},
{par = "pasuga", nos = "[[Pasuga]]"}
}
local p = {}
local getArgs = require('Module:Arguments').getArgs
function p._main(args)
local out = {}
local header
for k,v in ipairs(clasification) do
local label = v.nos
local nos = args[v.par]
local nos_lv = args[v.par..'_lv']
local nos_r = args[v.par..'_r']
local nos2 = args[v.par..'2']
local nos_lv2 = args[v.par..'_lv2']
local nos_r2 = args[v.par..'_r2']
if nos or nos_lv then
out[#out+1] = createRow(label,nos,nos_lv,nos_r)
end
if nos2 or nos_lv2 then
out[#out+1] = createRow(label,nos2,nos_lv2,nos_r2)
end
end
for k,v in ipairs(clasification) do
local nos = args[v.par] or args[v.par..'2']
local nos_lv = args[v.par..'_lv'] or args[v.par..'_lv2']
if nos or nos_lv then
header = createHeader(args.header_background)
break
end
end
return (header or '') .. table.concat(out)
end
function createRow(label,nos,nos_lv,nos_r)
local out = [=[<tr><th scope="row" style="text-align:left;">]=] .. label .. [=[</th><td>]=] .. taksosaite(nos,nos_lv,nos_r) .. [=[</td></tr>]=]
return out
end
function createHeader(background)
local background = background
local out = [=[<tr><th colspan=2 style="text-align:center; font-weight:bold; background-color:#]=] .. background .. [=[;">[[Organismu klasifikācija|Klasifikācija]]</th></tr>]=]
return out
end
function makeLink(link, text, parenthesis)
if parenthesis then
result = "''[[" .. link .. "|" .. text .. "]]''"
elseif link and text then
result = "[[" .. link .. "|" .. text .. "]]"
end
return result
end
function taksosaite(latin,latvian,article)
local article = article
local latin = latin
local latvian = latvian
if article then
link = article
elseif latvian then
link = latvian
elseif latin then
link = latin
end
if latvian then
text2 = latvian
parenthesis = false
elseif latin then
text2 = latin
parenthesis = true
end
result = '<span style="font-weight:bold;">' .. makeLink(link,text2,parenthesis) .. '</span>'
if latin and latvian then
result = result .. " (''" .. latin .. "'')"
end
return result
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
return p