Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:FishRef/MSW
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
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
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:FishRef/MSW/doc
(
edit
)