Module:SST/shards/sets/AF CITE BOOK
| This module is rated as alpha. It is ready for limited use and third-party feedback. It may be used on a small number of pages, but should be monitored closely. Suggestions for new features or adjustments to input and output are welcome. |
- Note: This is part of the WP:SSTS system see that page for complete documentation
This page contains the data configurations for Module:SST ("Single-source templates") for works that comprise a "set" books (e.g. an encyclopedia set).
Create a new shard entry
[edit]All book metadata is stored in "shards" which are Lua Modules that contain simple tables.
There are two types of shards:
- Single - A single book. They share shard files. For example, all single books that start with "A" are in Module:SST/shards/A
- Sets - Works that have multiple volumes or editions e.g. an Encyclopedia or a 3-edition book. Each one has their own private shard file stored in
Module:SST/shards/setsfor example Module:SST/shards/sets/THE_CAMBRIDGE_HISTORY_OF_IRAN.
To add a new book, navigate to the correct shard and add a new table. The template documentation page will show where the shard is located.
Naming the book key
[edit]When creating a new table, use a unique, recognizable book key in ALL CAPS, with spaces converted to underscores. For single shards it must start with the letter of the shard it is placed in. Generally a good idea to start with the author's last name then a short version of the title.
- Example:
library['IMBER_THE_OTTOMAN_EMPIRE'] = { ... }
When creating a multi-edition or volume set of books, name each book followed by a number for volumes e.g. _1 and _2 .. or by a year of publication e.g. _1990 and _2002 for editions.
- BOWEN_THE_LIFE_AND_TIMES_OF_AL_IBN_ISA
- IMBER_THE_OTTOMAN_EMPIRE_2002
- IMBER_THE_OTTOMAN_EMPIRE_2009
- BYZANTINE_SEALS_1
- BYZANTINE_SEALS_2
Host
[edit]The |host= sets which digital library the citation will link to.
Example: Host
|
|---|
library['IMBER_THE_OTTOMAN_EMPIRE'] = {
['host'] = "ia",
['cite_params'] = {
.....
}
|
Valid values for |host= are "ia", "guten", "hathi", "wikisrc", "gbook", "web" and "physical" (not online). These map to a corresponding |id= in the |hosts= entry (see below). Improper values or lack of a host will default to "physical" (no external links).
If a |host= is changed (e.g. from "hathi" to "ia") this will impact the Leaf page designations for every template on Wikipedia. For example Hathi uses 42@s54 while IA uses 42@n34. A change of |host= is disruptive, causing URLs to land on the wrong page. Tools will be in development to make |host= changes easier by automating the update of templates. Until then, it is better to consider the host "locked".
Citation Parameters
[edit]- A table of CS1 parameters displayed by default. (Users can override these within the invoking templates.)
|_template=: Optional. Defaults tocite book, can also be set tocite encyclopedia(more template support in future).|last=,|first=,|quote=,|ref=, etc. = Standard CS1 parameters.
Example: Citation Parameters
|
|---|
['host'] = "ia",
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Birtchnell",
['first'] = "Percy Charles",
['author-link'] = "Percy Birtchnell",
['title'] = "A Short History of Berkhamsted",
['year'] = "1972",
['edition'] = "Revised",
['publisher'] = "Privately printed",
['place'] = "Berkhamsted",
['oclc'] = "737328"
},
|
Hosts
[edit]- A nested table defining where the book can be found online and how the routing engines should handle it. Supported host keys are
|ia=(Internet Archive),|hathi=(HathiTrust),|guten=(Project Gutenberg),|wikisrc=(Wikisource),|gbook=(Google Books),|web=(Other website), and|physical=(No digital host). You can add multiple hosts for each book, which one is used is defined by|host=(see above).
- A nested table defining where the book can be found online and how the routing engines should handle it. Supported host keys are
|id== The host-specific identifier.- IA: The ID from the URL. Multiple IDs for the same edition can be defined see Example setup.
- Hathi: The handle ID
- GBook: The 12-character ID
- Wikisource: The full Page namespace name, including extension
- Web: For a web host, omit id. See Example setup.
- Physical: A physical copy only - for books without a digital host. See Example setup.
Example: Host Configurations
|
|---|
['hosts'] = {
['ia'] = {
['id'] = "encyclopaediabrit01chisrich",
}
}
['hosts'] = {
['ia'] = {
['id'] = {
"nebraskaplacenam00fitz",
"nebraskaplacenam0000fitz"
}
}
}
['hosts'] = {
['hathi'] = {
['id'] = "iau.31858015245842",
}
}
['hosts'] = {
['gbook'] = {
['id'] = "-CNkywAACAAJ",
}
}
['hosts'] = {
['wikisrc'] = {
['id'] = "Page:The Fun of It.pdf",
}
}
['hosts'] = {
['web'] = {
['url'] = "http://www.uscoldwar.com/overview.htm",
}
}
['hosts'] = {
['physical'] = {}
}
|
- Internet Archive Options:
- query = (Internet Archive only). Optional. Use instead of `id` for multi-volume works. Links the main title to an IA search page. Page linking will output as unlinked plain text. (ex. `query = 'title:"Encyclopaedia Britannica" AND date:1911'`)
- iadisplay = "full screen" (Internet Archive only). Optional. Opens the book in full-screen mode instead of the default 2-up view.
- iasearch = "none" or "pagenum" (Internet Archive only). Optional. Set to "none" to disable the dummy search for PD books.
Example: Internet Archive Options
|
|---|
['hosts'] = {
['ia'] = {
['query'] = "title:Britannica AND year:1911",
}
}
['hosts'] = {
['ia'] = {
['id'] = "encyclopaediabrit01chisrich",
['iasearch'] = "none",
['iadisplay'] = "full screen"
}
}
|
Multiple IDs
[edit]Some hosts have multiple copies of the same book+edition. This can be useful to mitigate viewing limits. Many hosts only allow X number of views per day per book. By including multiple IDs, you can spread the load across multiple IDs. Because the template randomly chooses real-time, it is important each book be identical ie. published in the same year, same publisher, each open to the same page 42 etc.. How to add multiple identical books:
['hosts'] = {
['ia'] = {
['id'] = {
"nebraskaplacenam00fitz",
"nebraskaplacenam0000fitz"
}
}
}
Load sharing is not available across hosts (inter-host), only within hosts (intra-host).
local library = {}
library['AF_CITE_BOOK_1'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl",
['title-link'] = "Artemis Fowl (novel)",
['date'] = "26 April 2001",
['publisher'] = "[[Viking Press]]",
['isbn'] = "0-670899623",
['oclc'] = "46493219",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_2'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Arctic Incident",
['title-link'] = "Artemis Fowl: The Arctic Incident",
['date'] = "6 May 2002",
['publisher'] = "[[Hachette Books#Hyperion Books|Hyperion Books]]",
['isbn'] = "0-786808551",
['oclc'] = "49778083",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_3'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Eternity Code",
['title-link'] = "Artemis Fowl: The Eternity Code",
['date'] = "27 April 2003",
['publisher'] = "[[Puffin Books]]",
['isbn'] = "0-670913529",
['oclc'] = "249117789",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_4'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Opal Deception",
['title-link'] = "Artemis Fowl: The Opal Deception",
['date'] = "30 April 2005",
['publisher'] = "[[Puffin Books]]",
['isbn'] = "0-141381647",
['oclc'] = "60343030",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_5'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Lost Colony",
['title-link'] = "Artemis Fowl: The Lost Colony",
['date'] = "2 August 2006",
['publisher'] = "[[Puffin Books]]",
['isbn'] = "0-141382686",
['oclc'] = "76849597",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_6'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Time Paradox",
['title-link'] = "Artemis Fowl: The Time Paradox",
['date'] = "16 July 2008",
['publisher'] = "[[Hachette Books#Hyperion Books|Hyperion Books]]",
['isbn'] = "978-1423108368",
['oclc'] = "192137506",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_7'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Atlantis Complex",
['title-link'] = "Artemis Fowl: The Atlantis Complex",
['date'] = "20 July 2010",
['publisher'] = "[[Hachette Books#Hyperion Books|Hyperion Books]]",
['isbn'] = "978-1423128199",
['oclc'] = "635637067",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_DWARF'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Seventh Dwarf",
['title-link'] = "Artemis Fowl: The Seventh Dwarf",
['date'] = "23 April 2004",
['publisher'] = "[[Puffin Books]]",
['isbn'] = "0-141318007",
['oclc'] = "55481002",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_FILES'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['series'] = "[[Artemis Fowl]]",
['title'] = "The Artemis Fowl Files",
['title-link'] = "The Artemis Fowl Files",
['date'] = "4 October 2004",
['publisher'] = "[[Hachette Books#Hyperion Books|Hyperion Books]]",
['isbn'] = "0-786856394",
['oclc'] = "55981971",
},
['hosts'] = {
['physical'] = {}
}
}
library['AF_CITE_BOOK_GRAPHIC'] = {
['host'] = 'physical',
['cite_params'] = {
['_template'] = 'cite book',
['last'] = "Colfer",
['first'] = "Eoin",
['author-link'] = "Eoin Colfer",
['others'] = "Adapted by Andrew Donkin; illustrated by Giovanni Rigano; color by Paolo Lamanna",
['series'] = "[[Artemis Fowl]]",
['title'] = "Artemis Fowl: The Graphic Novel",
['title-link'] = "Artemis Fowl: The Graphic Novel",
['date'] = "2 October 2007",
['publisher'] = "[[Hachette Books#Hyperion Books|Hyperion Books]]",
['isbn'] = "978-0786848812",
['oclc'] = "144221280",
},
['hosts'] = {
['physical'] = {}
}
}
return library