Module:eFloras
Appearance
![]() | This Lua module is used on approximately 1,400 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
Usage
This module performs tasks for Template:eFloras. The first task is taking the flora_id
and the name of the family (or tribe of Asteraceae) and converting them to the corresponding volume numbers for the Floras of North America, China, and Chile. The second is taking the flora_id
from the URL and returning the corresponding flora or list name. The data used for these two tasks is in Module:eFloras/data. The third is detecting what type of scientific name is in the third parameter of the template, and applying the correct italicization. For this purpose, the module strips initial and final whitespace, and any italicization or bolding.
{{#invoke:EFloras|volume|1|family=Rosaceae}} or {{#invoke:EFloras|volume|1|Rosaceae}} {{#invoke:EFloras|resource|1}} {{#invoke:eFloras|volumeDate|1||Rosaceae}} {{#invoke:eFloras|volumeDate|1|9|}} {{#invoke:eFloras|volumeName|1||Rosaceae}} {{#invoke:eFloras|volumeName|1|9|}}
- Script error: The function "volume" does not exist.
- Script error: The function "resource" does not exist.
- Script error: The function "volumeDate" does not exist.
- Script error: The function "volumeDate" does not exist.
- Script error: The function "volumeName" does not exist.
- Script error: The function "volumeName" does not exist.
{{#invoke:eFloras|name|Asteraceae}}
- Script error: The function "name" does not exist.
{{#invoke:eFloras|name|Aster}}
- Script error: The function "name" does not exist.
{{#invoke:eFloras|name|Aster ericoides}}
- Script error: The function "name" does not exist.
{{#invoke:eFloras|name|Aster ericoides var. ericoides}}
- Script error: The function "name" does not exist.
{{#invoke:eFloras|name|Aster ericoides'' var. ''ericoides}}
- Script error: The function "name" does not exist.
{{#invoke:eFloras|name|Acer tataricum subsp. ginnala}}
- Script error: The function "name" does not exist.
Tracking
f = {}
volumeTable = {
["Flora of North America"] = {
["Anemiaceae"] = "2",
["Aspleniaceae"] = "2",
["Azollaceae"] = "2",
["Blechnaceae"] = "2",
["Cupressaceae"] = "2",
["Dennstaedtiaceae"] = "2",
["Dryopteridaceae"] = "2",
["Ephedraceae"] = "2",
["Equisetaceae"] = "2",
["Ginkgoaceae"] = "2",
["Gleicheniaceae"] = "2",
["Grammitidaceae"] = "2",
["Hymenophyllaceae"] = "2",
["Isoëtaceae"] = "2",
["Lycopodiaceae"] = "2",
["Lygodiaceae"] = "2",
["Marsileaceae"] = "2",
["Ophioglossaceae"] = "2",
["Osmundaceae"] = "2",
["Parkeriaceae"] = "2",
["Pinaceae"] = "2",
["Polypodiaceae"] = "2",
["Psilotaceae"] = "2",
["Pteridaceae"] = "2",
["Salviniaceae"] = "2",
["Schizaeaceae"] = "2",
["Selaginellaceae"] = "2",
["Taxaceae"] = "2",
["Thelypteridaceae"] = "2",
["Vittariaceae"] = "2",
["Zamiaceae"] = "2",
["Annonaceae"] = "3",
["Aristolochiaceae"] = "3",
["Berberidaceae"] = "3",
["Betulaceae"] = "3",
["Cabombaceae"] = "3",
["Calycanthaceae"] = "3",
["Canellaceae"] = "3",
["Cannabaceae"] = "3",
["Casuarinaceae"] = "3",
["Ceratophyllaceae"] = "3",
["Fagaceae"] = "3",
["Fumariaceae"] = "3",
["Hamamelidaceae"] = "3",
["Illiciaceae"] = "3",
["Juglandaceae"] = "3",
["Lardizabalaceae"] = "3",
["Lauraceae"] = "3",
["Leitneriaceae"] = "3",
["Magnoliaceae"] = "3",
["Menispermaceae"] = "3",
["Moraceae"] = "3",
["Myricaceae"] = "3",
["Nelumbonaceae"] = "3",
["Nymphaeaceae"] = "3",
["Papaveraceae"] = "3",
["Piperaceae"] = "3",
["Platanaceae"] = "3",
["Ranunculaceae"] = "3",
["Saururaceae"] = "3",
["Schisandraceae"] = "3",
["Ulmaceae"] = "3",
["Urticaceae"] = "3",
["Achatocarpaceae"] = "4",
["Aizoaceae"] = "4",
["Amaranthaceae"] = "4",
["Basellaceae"] = "4",
["Cactaceae"] = "4",
["Chenopodiaceae"] = "4",
["Molluginaceae"] = "4",
["Nyctaginaceae"] = "4",
["Phytolaccaceae"] = "4",
["Portulacaceae"] = "4",
["Caryophyllaceae"] = "5",
["Plumbaginaceae"] = "5",
["Polygonaceae"] = "5",
["Apodanthaceae"] = "6",
["Begoniaceae"] = "6",
["Calophyllaceae"] = "6",
["Cistaceae"] = "6",
["Clusiaceae"] = "6",
["Cochlospermaceae"] = "6",
["Cucurbitaceae"] = "6",
["Datiscaceae"] = "6",
["Droseraceae"] = "6",
["Frankeniaceae"] = "6",
["Hypericaceae"] = "6",
["Malvaceae"] = "6",
["Muntingiaceae"] = "6",
["Passifloraceae"] = "6",
["Podostemaceae"] = "6",
["Tamaricaceae"] = "6",
["Thymelaeaceae"] = "6",
["Turneraceae"] = "6",
["Violaceae"] = "6",
["Bataceae"] = "7",
["Brassicaceae"] = "7",
["Capparaceae"] = "7",
["Caricaceae"] = "7",
["Cleomaceae"] = "7",
["Koeberliniaceae"] = "7",
["Limnanthaceae"] = "7",
["Moringaceae"] = "7",
["Resedaceae"] = "7",
["Salicaceae"] = "7",
["Tropaeolaceae"] = "7",
["Clethraceae"] = "8",
["Crassulaceae"] = "8",
["Cyrillaceae"] = "8",
["Diapensiaceae"] = "8",
["Ebenaceae"] = "8",
["Ericaceae"] = "8",
["Grossulariaceae"] = "8",
["Iteaceae"] = "8",
["Myrsinaceae"] = "8",
["Paeoniaceae"] = "8",
["Penthoraceae"] = "8",
["Primulaceae"] = "8",
["Sapotaceae"] = "8",
["Sarraceniaceae"] = "8",
["Saxifragaceae"] = "8",
["Styracaceae"] = "8",
["Symplocaceae"] = "8",
["Theaceae"] = "8",
["Theophrastaceae"] = "8",
["Crossosomataceae"] = "9",
["Picramniaceae"] = "9",
["Rosaceae"] = "9",
["Staphyleaceae"] = "9",
["Cichorieae"] = "19", -- The following names in volumeTable 19-21 are actually tribes of the family Asteraceae, not families.
["Arctotideae"] = "19",
["Anthemideae"] = "19",
["Vernonieae"] = "19",
["Mutisieae"] = "19",
["Cardueae"] = "19",
["Calenduleae"] = "19",
["Inuleae"] = "19",
["Gnaphalieae"] = "19",
["Plucheeae"] = "19",
["Asteraceae"] = "error",
["Astereae"] = "20",
["Senecioneae"] = "20",
["Eupatorieae"] = "21",
["Heliantheae"] = "21",
["Acoraceae"] = "22",
["Alismataceae"] = "22",
["Aponogetonaceae"] = "22",
["Araceae"] = "22",
["Arecaceae"] = "22",
["Bromeliaceae"] = "22",
["Butomaceae"] = "22",
["Cannaceae"] = "22",
["Commelinaceae"] = "22",
["Cymodoceaceae"] = "22",
["Eriocaulaceae"] = "22",
["Heliconiaceae"] = "22",
["Hydrocharitaceae"] = "22",
["Juncaceae"] = "22",
["Juncaginaceae"] = "22",
["Lemnaceae"] = "22",
["Limnocharitaceae"] = "22",
["Marantaceae"] = "22",
["Mayacaceae"] = "22",
["Musaceae"] = "22",
["Najadaceae"] = "22",
["Potamogetonaceae"] = "22",
["Ruppiaceae"] = "22",
["Scheuchzeriaceae"] = "22",
["Sparganiaceae"] = "22",
["Typhaceae"] = "22",
["Xyridaceae"] = "22",
["Zannichelliaceae"] = "22",
["Zingiberaceae"] = "22",
["Zosteraceae"] = "22",
["Cyperaceae"] = "23",
["Agavaceae"] = "26",
["Aloaceae"] = "26",
["Burmanniaceae"] = "26",
["Dioscoreaceae"] = "26",
["Haemodoraceae"] = "26",
["Iridaceae"] = "26",
["Liliaceae"] = "26",
["Orchidaceae"] = "26",
["Pontederiaceae"] = "26",
["Smilacaceae"] = "26",
["Stemonaceae"] = "26",
["Andreaeaceae"] = "27",
["Andreaeobryaceae"] = "27",
["Archidiaceae"] = "27",
["Bruchiaceae"] = "27",
["Bryoxiphiaceae"] = "27",
["Buxbaumiaceae"] = "27",
["Calymperaceae"] = "27",
["Dicranaceae"] = "27",
["Diphysciaceae"] = "27",
["Disceliaceae"] = "27",
["Ditrichaceae"] = "27",
["Encalyptaceae"] = "27",
["Ephemeraceae"] = "27",
["Erpodiaceae"] = "27",
["Fissidentaceae"] = "27",
["Funariaceae"] = "27",
["Gigaspermaceae"] = "27",
["Grimmiaceae"] = "27",
["Leucobryaceae"] = "27",
["Leucophanaceae"] = "27",
["Oedipodiaceae"] = "27",
["Polytrichaceae"] = "27",
["Pottiaceae"] = "27",
["Ptychomitriaceae"] = "27",
["Rhachitheciaceae"] = "27",
["Schistostegaceae"] = "27",
["Scouleriaceae"] = "27",
["Seligeriaceae"] = "27",
["Sphagnaceae"] = "27",
["Splachnobryaceae"] = "27",
["Takakiaceae"] = "27",
["Tetraphidaceae"] = "27",
["Timmiaceae"] = "27",
["Amblystegiaceae"] = "28",
["Anomodontaceae"] = "28",
["Aulacomniaceae"] = "28",
["Bartramiaceae"] = "28",
["Brachytheciaceae"] = "28",
["Bryaceae"] = "28",
["Calliergonaceae"] = "28",
["Catoscopiaceae"] = "28",
["Climaciaceae"] = "28",
["Cryphaeaceae"] = "28",
["Daltoniaceae"] = "28",
["Entodontaceae"] = "28",
["Fabroniaceae"] = "28",
["Fontinalaceae"] = "28",
["Hedwigiaceae"] = "28",
["Helodiaceae"] = "28",
["Hookeriaceae"] = "28",
["Hylocomiaceae"] = "28",
["Hypnaceae"] = "28",
["Hypopterygiaceae"] = "28",
["Lembophyllaceae"] = "28",
["Leptodontaceae"] = "28",
["Leskeaceae"] = "28",
["Leucodontaceae"] = "28",
["Meesiaceae"] = "28",
["Meteoriaceae"] = "28",
["Mielichhoferiaceae"] = "28",
["Mniaceae"] = "28",
["Myriniaceae"] = "28",
["Neckeraceae"] = "28",
["Orthodontiaceae"] = "28",
["Orthotrichaceae"] = "28",
["Pilotrichaceae"] = "28",
["Plagiotheciaceae"] = "28",
["Pleuroziopsaceae"] = "28",
["Pseudoditrichaceae"] = "28",
["Pterigynandraceae"] = "28",
["Pterobryaceae"] = "28",
["Racopilaceae"] = "28",
["Rhizogoniaceae"] = "28",
["Rhytidiaceae"] = "28",
["Roellobryaceae"] = "28",
["Rutenbergiaceae"] = "28",
["Sematophyllaceae"] = "28",
["Splachnaceae"] = "28",
["Stereophyllaceae"] = "28",
["Theliaceae"] = "28",
["Thuidiaceae"] = "28",
},
};
volumeTable["1"] = volumeTable["Flora of North America"]
function f.get_volume(frame)
local floraID = frame.args[1]
local family = frame.args[2] or frame.args.family
if floraID == "1" or "Flora of North America" then
flora = volumeTable[floraID]
volume = flora[family]
else
volume = ""
end
if volume == "error" then
return "19–21 [[Category:Pages using eFloras template with unsupported parameter values]]"
else
return volume
end
end
return f