Module:Cite taxon/MSW
local data = {}
data.MSW3 = {
citeTemplate = "Cite book",
citationArgs = {
['editor1-last'] = "Wilson", ['editor1-first'] = "D.E.", ['editor1-link'] = "Don E. Wilson",
['editor2-last'] = "Reeder", ['editor2-first'] = "D.M.",
year = 2005,
title = "Mammal Species of the World: A Taxonomic and Geographic Reference",
edition = "3rd",
publisher = "Johns Hopkins University Press",
isbn= "978-0-8018-8221-0",
oclc= "62265494"
},
customArgs = { exclude="order,family, taxon,id,1",
baseURL = "http://www.departments.bucknell.edu/biology/resources/msw3/browse.asp",
defaultTitle = "Mammal Species of the World: A Taxonomic and Geographic Reference",
bookTitle = "redundant title",
googleBooksURL = "http://www.google.com/books?id=JgAMbNSt8ikC&pg=PA",
searchStr = "?id=",
},
chapters = {
Monotremata = {
id = 1030000,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "1–2", page = 1,
},
Didelphimorphia = {
id = 10400001,
last = "Gardner", first = "A.L.",
pages = "3-18", page = 3,
},
Paucituberculata = {
id = 10500001,
last = "Gardner", first = "A.L.",
pages = "19-20", page = 19,
},
Microbiotheria = {
id = 10600001,},
last = "Gardner", first = "A.L.",
pages = "21", page = 21,
Notoryctemorphia = {
id = 10700001,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "22", page = 22,
},
Dasyuromorphia = {
id = 10800001,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "23-37", page = 23,
},
Peramelemorphia = {
id = 10900001,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "38-42", page = 38,
},
Diprotodontia = {
id = 11000001,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "43-70", page = 43,
},
Afrosoricida = {
id = 11100001,
last = "Bronner", first = "G.N.",
last2 = "Jenkins", first2 = "P.D.",
pages = "71–81", page = 71,
},
Macroscelidea = {
id = 11200001,
last = "Schlitter", first = "D.A.",
pages = "82–85", page = 82,
},
Tubulidentata = {
id = 11300001,
last = "Schlitter", first = "D.A.",
pages = "86", page = 86,
},
Hyracoidea = {
id = 11400001,
last = "Shoshani", first = "J.", ['author-link'] = "Jeheskel Shoshani",
pages = "87-89", page = 87,
},
Proboscidea = {
id = 11500001,
last = "Shoshani", first = "J.", ['author-link'] = "Jeheskel Shoshani",
pages = "90-91", page = 90,
},
Sirenia = {
id = 11600001,
last = "Shoshani", first = "J.", ['author-link'] = "Jeheskel Shoshani",
pages = "92-93", page = 92,
},
Cingulata = {
id = 11700001,
last = "Gardner", first = "A.L.",
pages = "94-99", page = 94,
},
Pilosa = {
id = 11800001,
last = "Gardner", first = "A.L.",
pages = "100-103", page = 100,
},
Scandentia = {
id = 11900001,
last = "Helgen", first = "K.M.",
pages = "104-109", page = 104,
},
Dermoptera = {
id = 12000001,
last = "Stafford", first = "B.J.",
pages = "104", pages = 104,
},
Primates = {
id = 12100001,
last = "Groves", first = "C.P.", ['author-link'] = "Colin Groves",
pages = "111-184", page = 111,
},
Rodentia = {
id = 12200001, -- these increment by family TODO
--last = "Helgen", first = "K.M.", -- various authors
pages = "753-1600",
},
Lagomorpha = {
id = 13500001,
last = "Hoffman", first = "R.S.",
last2 = "Smith", first2 = "A.T.",
pages = "185–211", page = 185,
},
Erinaceomorpha = {
id = 13600001,
last = "Hutterer", first = "R.",
pages = "212–219", page = 212,
},
Soricomorpha = {
id = 13700001,
last = "Hutterer", first = "R.",
pages = "220–311", page = 220,
},
Chiroptera = {
id = 13800001,
last = "Simmons", first = "N.B.",
pages = "312–529",
},
Pholidota = {
id = 13900001,
last = "Schlitter", first = "D.A.",
pages = "530-531", page = 530,
},
Carnivora = {
id = 14000001,
last = "Wozencraft", first = "W.C.",
pages = "532–628", page = 532,
},
Perissodactyla = {
id = 14100001,
last = "Grubb", first = "P.", ['author-link'] = "Peter Grubb (zoologist)",
pages="629–636", page=629,
},
Artiodactyla = {
id = 14200001,
last = "Grubb", first = "P.", ['author-link'] = "Peter Grubb (zoologist)",
pages = "645–646", page =645,
},
Cetacea = {
id = 14300001,
last = "Mead", first = "J.G.",
last2 = "Brownell", first2 = "R. L. Jr.",
pages = "723–743", page=723,
},
}, -- end orders
rodents = {
Ctenodactylidae = {
id=13300001,
last = "Dieterlen", first = "F.",
pages = "1536–1537", page= 1536,
},
Hystricognathi = {
id=13400001,
last = "Woods", first = "C.A.",
last2 = "Kilpatrick", first2 = "C.W.",
pages = "1538–1600", page = 1538,
}
}
}
data.MSW3.id = function(id)
local chapterParams = {}
--local page = data.MSW3.chapters[order]['page'] -- page for google books
chapterParams['chapter'] = "Taxon ID: " .. id
chapterParams['chapter-url'] = data.MSW3.customArgs['baseURL'] .. data.MSW3.customArgs['searchStr'] .. id
local url = data.MSW3.customArgs['googleBooksURL'] --.. page
local title = data.MSW3.customArgs['defaultTitle'] -- the book title
chapterParams['title'] = title
return title, url, chapterParams
end
data.MSW3.order = function(order)
local chapterParams = data.MSW3.chapters[order]
local id = data.MSW3.chapters[order]['id'] -- chapter parameters
local page = data.MSW3.chapters[order]['page']
-- local pages = data.MSW3.chapters[order]['pages']
chapterParams['chapter'] = "Order " .. order
local title = data.MSW3.CustomArgs['defaultTitle']
chapterParams['title'] = title
local url = data.MSW3.customArgs['googleBooksURL'] .. tostring(page)
chapterParams['chapter-url'] = data.MSW3.customArgs['baseURL'] .. data.MSW3.customArgs['searchStr'] .. id
chapterParams['url'] = url
chapterParams.page=nil
return title, url, chapterParams
end
data.MSW3_standalone = function(frame)
local data = require('Module:FishRef/MSW')
initialise(frame, data.MSW3)
local url = target.customArgs['baseURL']
if templateArgs['title'] and templateArgs['id'] then
templateArgs['chapter-url']= url .. target.customArgs['searchStr'] .. templateArgs['id']
templateArgs['chapter'] = templateArgs['title']
templateArgs['title'] = target.customArgs['bookTitle']
if templateArgs['page'] then
templateArgs['url'] = target.customArgs['googleBooksURL'] .. templateArgs['page']
else
--return "Page number for google books required"
end
elseif templateArgs['order'] then
templateArgs['chapter'] = "Order " .. templateArgs['order']
local chapter = target.chapters[templateArgs['order']]
for k,v in pairs(chapter) do -- add chapter specific parameters
templateArgs[k] = v
end
templateArgs['chapter-url']= url .. target.customArgs['searchStr'] .. templateArgs['id']
templateArgs['url']= target.customArgs['googleBooksURL'] .. templateArgs['page']
if templateArgs['pages'] and templateArgs['page'] then templateArgs['page'] = nil end
else -- default output
templateArgs['url']= target.customArgs['googleBooksURL'] .. "1" -- default to book
templateArgs['url']= url
end
-- using cite book
clearCustomArgs()--blank template parameters not for cite web
return frame:expandTemplate{ title = 'cite book', args = templateArgs }
end
data.MSW3.main = function(frame, targs)
local customArgs = data.MSW3.customArgs
local chapter = targs['title'] or targs['chapter'] -- custom title from template parameters
targs['title'] = customArgs ['defaultTitle'] -- the cite book title/work is always the default title
if chapter and targs['id'] then
targs['chapter-url']= customArgs['baseURL'] .. customArgs['searchStr'] .. targs['id']
targs['chapter'] = chapter
if targs['page'] then
targs['url'] = customArgs['googleBooksURL'] .. targs['page']
else
--return "Page number for google books required"
end
local order = targs['order'] -- get chapter author parameters
if order then
local chapterArgs = data.MSW3.chapters[order]
for k,v in pairs(chapterArgs) do -- add chapter specific parameters
if (k == 'page' or k == 'pages') and targs['page'] then
targs['pages'] = nil
else
targs[k] = v
end
end
end
elseif targs['order'] then
local chapterArgs = data.MSW3.chapters[targs['order']]
for k,v in pairs(chapterArgs) do -- add chapter specific parameters
targs[k] = v
end
targs['chapter'] = "Order " .. targs['order']
targs['chapter-url']= customArgs['baseURL'] .. customArgs['searchStr'] .. targs['id']
targs['url'] = customArgs['googleBooksURL'] .. targs['page']
if targs['pages'] and targs['page'] then targs['page'] = nil end
else -- default output
targs['url'] = customArgs['baseURL'] .. data.MSW3.customArgs['searchStr'] -- default to web version
targs['url'] = customArgs['googleBooksURL'] .. "1" -- default to book
end
--clear stuff
targs[1]=nil
targs['order']=nil
targs['id']=nil
--return targs['title']
-- use template:cite book
return frame:expandTemplate{ title = data.MSW3.citeTemplate, args = targs }
end
return data
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.