Module:SST/shards/OTHER
| 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 all book keys starting with the letter "OTHER".
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).