Difference between revisions of "Module:Citation/CS1/Configuration"

From Timelines
Jump to: navigation, search
(Synch from sandbox;)
(Synch from sandbox;)
Line 134: Line 134:
 
['LaySource'] = {'lay-source', 'laysource'},
 
['LaySource'] = {'lay-source', 'laysource'},
 
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
 
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
 +
['ScriptTitle'] = 'script-title',
 
['Minutes'] = 'minutes',
 
['Minutes'] = 'minutes',
 
['Month'] = 'month',
 
['Month'] = 'month',
Line 255: Line 256:
 
anchor = 'bad_date',
 
anchor = 'bad_date',
 
category = 'CS1 errors: dates',
 
category = 'CS1 errors: dates',
hidden = true },
+
hidden = false },
 
bad_doi = {
 
bad_doi = {
 
message = 'Check <code style="'..code_style..'">&#124;doi=</code> value',
 
message = 'Check <code style="'..code_style..'">&#124;doi=</code> value',
 
anchor = 'bad_doi',
 
anchor = 'bad_doi',
category = 'Pages with DOI errors',
+
category = 'CS1 errors: DOI',
 
hidden = false },
 
hidden = false },
 
bad_isbn = {
 
bad_isbn = {
Line 279: Line 280:
 
message = 'Check <code style="'..code_style..'">&#124;ol=</code> value',
 
message = 'Check <code style="'..code_style..'">&#124;ol=</code> value',
 
anchor = 'bad_ol',
 
anchor = 'bad_ol',
category = 'Pages with OL errors',
+
category = 'CS1 errors: OL',
 
hidden = false },
 
hidden = false },
 
bad_pmc = {
 
bad_pmc = {
Line 457: Line 458:
 
label = 'JFM',
 
label = 'JFM',
 
mode = 'external',
 
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
+
prefix = '//zbmath.org/?format=complete&q=an:',
 
COinS = 'rft.jfm',
 
COinS = 'rft.jfm',
 
encode = true,
 
encode = true,
Line 578: Line 579:
 
label = 'Zbl',
 
label = 'Zbl',
 
mode = 'external',
 
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
+
prefix = '//zbmath.org/?format=complete&q=an:',
 
COinS = 'info:zbl',
 
COinS = 'info:zbl',
 
encode = true,
 
encode = true,
Line 585: Line 586:
 
}
 
}
  
--iso639-1 language codes and names.
 
citation_config.iso639_1 = {
 
["aa"] = "Afar",
 
["ab"] = "Abkhazian",
 
["ae"] = "Avestan",
 
["af"] = "Afrikaans",
 
["ak"] = "Akan",
 
["am"] = "Amharic",
 
["an"] = "Aragonese",
 
["ar"] = "Arabic",
 
["as"] = "Assamese",
 
["av"] = "Avaric",
 
["ay"] = "Aymara",
 
["az"] = "Azerbaijani",
 
["ba"] = "Bashkir",
 
["be"] = "Belarusian",
 
["bg"] = "Bulgarian",
 
["bh"] = "Bihari languages",
 
["bi"] = "Bislama",
 
["bm"] = "Bambara",
 
["bn"] = "Bengali",
 
["bo"] = "Tibetan",
 
["br"] = "Breton",
 
["bs"] = "Bosnian",
 
["ca"] = "Catalan",
 
-- ["ca"] = "Valencian",
 
["ce"] = "Chechen",
 
["ch"] = "Chamorro",
 
["co"] = "Corsican",
 
["cr"] = "Cree",
 
["cs"] = "Czech",
 
["cu"] = "Church Slavic",
 
-- ["cu"] = "Old Slavonic",
 
-- ["cu"] = "Church Slavonic",
 
-- ["cu"] = "Old Bulgarian",
 
-- ["cu"] = "Old Church Slavonic",
 
["cv"] = "Chuvash",
 
["cy"] = "Welsh",
 
["da"] = "Danish",
 
["de"] = "German",
 
["dv"] = "Divehi",
 
["dv"] = "Dhivehi",
 
["dv"] = "Maldivian",
 
["dz"] = "Dzongkha",
 
["ee"] = "Ewe",
 
["el"] = "Modern Greek",
 
["en"] = "English",
 
["eo"] = "Esperanto",
 
["es"] = "Spanish",
 
-- ["es"] = "Castilian",
 
["et"] = "Estonian",
 
["eu"] = "Basque",
 
["fa"] = "Persian",
 
["ff"] = "Fulah",
 
["fi"] = "Finnish",
 
["fj"] = "Fijian",
 
["fo"] = "Faroese",
 
["fr"] = "French",
 
["fy"] = "Western Frisian",
 
["ga"] = "Irish",
 
-- ["gd"] = "Gaelic",
 
["gd"] = "Scottish Gaelic",
 
["gl"] = "Galician",
 
["gn"] = "Guarani",
 
["gu"] = "Gujarati",
 
["gv"] = "Manx",
 
["ha"] = "Hausa",
 
["he"] = "Hebrew",
 
["hi"] = "Hindi",
 
["ho"] = "Hiri Motu",
 
["hr"] = "Croatian",
 
-- ["ht"] = "Haitian",
 
["ht"] = "Haitian Creole",
 
["hu"] = "Hungarian",
 
["hy"] = "Armenian",
 
["hz"] = "Herero",
 
["ia"] = "Interlingua",
 
["id"] = "Indonesian",
 
["ie"] = "Interlingue",
 
["ie"] = "Occidental",
 
["ig"] = "Igbo",
 
-- ["ii"] = "Sichuan Yi",
 
["ii"] = "Nuosu",
 
["ik"] = "Inupiaq",
 
["io"] = "Ido",
 
["is"] = "Icelandic",
 
["it"] = "Italian",
 
["iu"] = "Inuktitut",
 
["ja"] = "Japanese",
 
["jv"] = "Javanese",
 
["ka"] = "Georgian",
 
["kg"] = "Kongo",
 
-- ["ki"] = "Kikuyu",
 
["ki"] = "Gikuyu",
 
-- ["kj"] = "Kuanyama",
 
["kj"] = "Kwanyama",
 
["kk"] = "Kazakh",
 
-- ["kl"] = "Kalaallisut",
 
["kl"] = "Greenlandic",
 
["km"] = "Central Khmer",
 
["kn"] = "Kannada",
 
["ko"] = "Korean",
 
["kr"] = "Kanuri",
 
["ks"] = "Kashmiri",
 
["ku"] = "Kurdish",
 
["kv"] = "Komi",
 
["kw"] = "Cornish",
 
-- ["ky"] = "Kirghiz",
 
["ky"] = "Kyrgyz",
 
["la"] = "Latin",
 
["lb"] = "Luxembourgish",
 
-- ["lb"] = "Letzeburgesch",
 
["lg"] = "Ganda",
 
-- ["li"] = "Limburgan",
 
-- ["li"] = "Limburger",
 
["li"] = "Limburgish",
 
["ln"] = "Lingala",
 
["lo"] = "Lao",
 
["lt"] = "Lithuanian",
 
["lu"] = "Luba-Katanga",
 
["lv"] = "Latvian",
 
["mg"] = "Malagasy",
 
["mh"] = "Marshallese",
 
["mi"] = "Maori",
 
["mk"] = "Macedonian",
 
["ml"] = "Malayalam",
 
["mn"] = "Mongolian",
 
["mr"] = "Marathi",
 
["ms"] = "Malay",
 
["mt"] = "Maltese",
 
["my"] = "Burmese",
 
["na"] = "Nauru",
 
["nb"] = "Norwegian Bokmål",
 
["nd"] = "North Ndebele",
 
["ne"] = "Nepali",
 
["ng"] = "Ndonga",
 
["nl"] = "Dutch",
 
-- ["nl"] = "Flemish",
 
["nn"] = "Norwegian Nynorsk",
 
["no"] = "Norwegian",
 
["nr"] = "South Ndebele",
 
["nv"] = "Navajo",
 
-- ["nv"] = "Navaho",
 
-- ["ny"] = "Chichewa",
 
-- ["ny"] = "Chewa",
 
["ny"] = "Nyanja",
 
["oc"] = "Occitan",
 
["oj"] = "Ojibwa",
 
["om"] = "Oromo",
 
["or"] = "Oriya",
 
["os"] = "Ossetian",
 
["os"] = "Ossetic",
 
-- ["pa"] = "Panjabi",
 
["pa"] = "Punjabi",
 
["pi"] = "Pali",
 
["pl"] = "Polish",
 
-- ["ps"] = "Pushto",
 
["ps"] = "Pashto",
 
["pt"] = "Portuguese",
 
["qu"] = "Quechua",
 
["rm"] = "Romansh",
 
["rn"] = "Rundi",
 
["ro"] = "Romanian",
 
-- ["ro"] = "Moldavian",
 
-- ["ro"] = "Moldovan",
 
["ru"] = "Russian",
 
["rw"] = "Kinyarwanda",
 
["sa"] = "Sanskrit",
 
["sc"] = "Sardinian",
 
["sd"] = "Sindhi",
 
["se"] = "Northern Sami",
 
["sg"] = "Sango",
 
["si"] = "Sinhala",
 
-- ["si"] = "Sinhalese",
 
["sk"] = "Slovak",
 
["sl"] = "Slovenian",
 
["sm"] = "Samoan",
 
["sn"] = "Shona",
 
["so"] = "Somali",
 
["sq"] = "Albanian",
 
["sr"] = "Serbian",
 
["ss"] = "Swati",
 
["st"] = "Southern Sotho",
 
["su"] = "Sundanese",
 
["sv"] = "Swedish",
 
["sw"] = "Swahili",
 
["ta"] = "Tamil",
 
["te"] = "Telugu",
 
["tg"] = "Tajik",
 
["th"] = "Thai",
 
["ti"] = "Tigrinya",
 
["tk"] = "Turkmen",
 
["tl"] = "Tagalog",
 
["tn"] = "Tswana",
 
["to"] = "Tonga (Tonga Islands)",
 
["tr"] = "Turkish",
 
["ts"] = "Tsonga",
 
["tt"] = "Tatar",
 
["tw"] = "Twi",
 
["ty"] = "Tahitian",
 
-- ["ug"] = "Uighur",
 
["ug"] = "Uyghur",
 
["uk"] = "Ukrainian",
 
["ur"] = "Urdu",
 
["uz"] = "Uzbek",
 
["ve"] = "Venda",
 
["vi"] = "Vietnamese",
 
["vo"] = "Volapük",
 
["wa"] = "Walloon",
 
["wo"] = "Wolof",
 
["xh"] = "Xhosa",
 
["yi"] = "Yiddish",
 
["yo"] = "Yoruba",
 
["za"] = "Zhuang",
 
-- ["za"] = "Chuang",
 
["zh"] = "Chinese",
 
["zu"] = "Zulu",
 
}
 
 
return citation_config;
 
return citation_config;

Revision as of 05:16, 11 October 2014

Documentation for this module may be created at Module:Citation/CS1/Configuration/doc

citation_config = {};

-- override <code>...</code> styling to remove color, border, and padding.  <code> css is specified here:
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";

--[[
List of namespaces that should not be included in citation
error categories.  Same as setting notracking = true by default

Note: Namespace names should use underscores instead of spaces.
]]
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',
	'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk', 
	'Module_talk', 'MediaWiki_talk' };

--[[
Translation table

The following contains fixed text that may be output as part of a citation.
This is separated from the main body to aid in future translations of this
module.
]]
citation_config.messages = {
  ['published'] = 'published $1',
  ['lay summary'] = 'Lay summary',
  ['retrieved'] = 'Retrieved $1',
  ['inactive'] = 'inactive',
  ['archived-dead'] = 'Archived from $1 on $2',
  ['archived-not-dead'] = '$1 from the original on $2',
  ['archived-missing'] = 'Archived from the original$1 on $2',
  ['archived'] = 'Archived',
  ['original'] = 'the original',
  ['editor'] = 'ed.',
  ['editors'] = 'eds.', 
  ['edition'] = '($1 ed.)', 
  ['episode'] = 'episode',
  ['season'] = 'season', 
  ['series'] = 'series',
  ['cartography'] = 'Cartography by $1',
  ['section'] = 'Section $1',
  ['inset'] = '$1 inset',
  ['written'] = 'Written at $1',
  ['in'] = 'In',
  ['et al'] = 'et al.', 
  
  ['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require a paid subscription." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
  	'[[Category:Pages containing links to subscription-only content]]', 

  ['registration']='<span style="font-size:0.95em; font-size:90%; color:#555">(registration required (<span title="Sources are not required to be available online. Online sources do not have to be freely available. The site may require registration." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' ..
  	'[[Category:Pages with login required references or sources]]',
  
  ['language'] = '(in $1)', 
  ['via'] = " &ndash; via $1",
  ['event'] = 'Event occurs at',
  ['minutes'] = 'minutes in', 

  ['quoted-title'] = '"$1"',
  ['italic-title'] = "''$1''",
  ['trans-quoted-title'] = "&#91;$1&#93;",
  ['trans-italic-title'] = "&#91;''$1''&#93;",
  ['quoted-text'] = '"$1"',

  ['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
  ['parameter-separator'] = ', ',
  ['parameter-final-separator'] = ', and ',
  ['parameter-pair-separator'] = ' and ',

  -- Error output
  -- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538
  -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display
  ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
  ['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
  
  -- Determines the location of the help page
  ['help page link'] = 'Help:CS1 errors',
  ['help page label'] = 'help',
  
  -- Internal errors (should only occur if configuration is bad)
  ['undefined_error'] = 'Called with an undefined error condition',
  ['unknown_manual_ID'] = 'Unrecognized manual ID mode',
  ['unknown_ID_mode'] = 'Unrecognized ID mode',
  ['unknown_argument_map'] = 'Argument map not defined for this variable',
  ['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
}

-- Aliases table for commonly passed parameters
citation_config.aliases = {
	['AccessDate'] = {'access-date', 'accessdate'},
	['Agency'] = 'agency',
	['AirDate'] = {'air-date', 'airdate'},
	['ArchiveDate'] = {'archive-date', 'archivedate'},
	['ArchiveURL'] = {'archive-url', 'archiveurl'},
	['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
	['At'] = 'at',
	['Authors'] = {'authors', 'people', 'host'},
	['AuthorFormat'] = {'author-format', 'authorformat'},
	['AuthorSeparator'] = 'author-separator',
	['AuthorNameSeparator'] = 'author-name-separator',
	['BookTitle'] = {'book-title', 'booktitle'},
	['Callsign'] = {'call-sign', 'callsign'},				-- cite interview
	['Cartography'] = 'cartography',
	['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'},	-- notestitle is deprecated; remove after 1 October 2014; used by old cite AV media notes
	['ChapterLink'] = {'chapter-link', 'chapterlink'},
	['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
	['City'] = 'city',										-- cite interview
	['Coauthors'] = {'coauthors', 'coauthor'},				-- coauthor and coauthors are deprecated; remove after 1 October 2014
	['Cointerviewers'] = 'cointerviewers',					-- cointerviewers is deprecated; remove after 1 October 2014; used by cite interview
	['Conference'] = {'conference', 'event'},
	['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
	['Date'] = 'date',
	['Day'] = 'day',
	['DeadURL'] = {'dead-url', 'deadurl'},
	['Degree'] = 'degree',
	['DisplayAuthors'] = {'display-authors', 'displayauthors'},
	['DisplayEditors'] = {'display-editors', 'displayeditors'},
	['Docket'] = 'docket',
	['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'DoiBroken', 'doi_brokendate', 'doi_inactivedate'},
	['Edition'] = 'edition',
	['Editors'] = 'editors',
	['EditorFormat'] = {'editor-format', 'editorformat'},
	['EditorSeparator'] = 'editor-separator',
	['EditorNameSeparator'] = 'editor-name-separator',
	['Embargo'] = {'Embargo', 'embargo'},
	['Format'] = 'format',
	['ID'] = {'id', 'ID', 'publisherid'},					-- publisherid is deprecated; remove after 1 October 2014; used by old cite AV media notes and old cite DVD notes
	['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
	['Inset'] = 'inset',
	['Interviewer'] = 'interviewer',						-- cite interview
	['Issue'] = {'issue', 'number'},
	['Language'] = {'language', 'in'},
	['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'},
	['LayDate'] = {'lay-date', 'laydate'},
	['LaySource'] = {'lay-source', 'laysource'},
	['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
	['ScriptTitle'] = 'script-title',
	['Minutes'] = 'minutes',
	['Month'] = 'month',
	['NameSeparator'] = 'name-separator',
	['Network'] = 'network',
	['NoPP'] = {'no-pp', 'nopp'},
	['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat', 
		'no-tracking', 'notracking'},
	['OrigYear'] = {'orig-year', 'origyear', 'titleyear'},	-- titleyear is deprecated; remove after 1 October 2014; used in old cite DVD notes
	['Others'] = {'others', 'artist', 'director'},			-- artist and director are deprecated; remove after 1 October 2014; used in old cite AV media notes and old cite DVD notes
	['Page'] = {'p', 'page'},
	['Pages'] = {'pp', 'pages'},
	['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
		'website',  'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
	['Place'] = {'place', 'location'},
	['PPrefix'] = {'p-prefix', 'PPrefix'},
	['PPPrefix'] = {'pp-prefix', 'PPPrefix'},
	['Program'] = 'program',								-- cite interview
	['PostScript'] = 'postscript',
	['PublicationDate'] = {'publicationdate', 'publication-date'},
	['PublicationPlace'] = {'publication-place', 'publicationplace'},
--[[ Hide unfinished cite newsgroup code so that long delayed update can take place
	['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'},
]]	['PublisherName'] = {'publisher', 'distributor', 'institution'},
	['Quote'] = {'quote', 'quotation'},
	['Ref'] = {'ref', 'Ref'},
	['RegistrationRequired'] = 'registration',
	['Scale'] = 'scale',
	['Section'] = 'section',
	['Season'] = 'season',
	['Separator'] = 'separator',
	['Series'] = {'series', 'version'},
	['SeriesSeparator'] = 'series-separator',
	['SeriesLink'] = {'series-link', 'serieslink'},
	['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'},
	['Station'] = 'station',
	['SubscriptionRequired'] = 'subscription',
	['Time'] = 'time',
	['TimeCaption'] = {'time-caption', 'timecaption'},
	['Title'] = 'title',
	['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink', 'albumlink'},	-- albumlink is deprecated; remove after 1 October 2014; used by old cite AV media notes
	['TitleNote'] = 'department',
	['TitleType'] = {'type', 'medium'},
	['TransChapter'] = {'trans-chapter', 'trans_chapter'},
	['Transcript'] = 'transcript',
	['TranscriptURL'] = {'transcript-url', 'transcripturl'},
	['TransTitle'] = {'trans-title', 'trans_title'},
	['URL'] = {'url', 'URL'},
	['Via'] = 'via',
	['Volume'] = 'volume',
	['Year'] = 'year',

	['AuthorList-First'] = {"author#-first", "author-first#",
		"first#", "given#"},
	['AuthorList-Last'] = {"author#-last", "author-last#", 
		"last#", "surname#", "Author#", "author#", "authors#", "subject#"},
	['AuthorList-Link'] = {"author#-link", "author-link#", 
		"author#link", "authorlink#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"},
	['AuthorList-Mask'] = {"author#-mask", "author-mask#", 
		"author#mask", "authormask#"},
	
	['EditorList-First'] = {"editor#-first", 
		"editor-first#", "editor#-given", "editor-given#", "EditorGiven#"},
	['EditorList-Last'] = {"editor#-last", "editor-last#",
		"editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
	['EditorList-Link'] = {"editor#-link", "editor-link#", 
		"editor#link", "editorlink#"},
	['EditorList-Mask'] = {"editor#-mask", "editor-mask#", 
		"editor#mask", "editormask#"},
	
}

-- Default parameter values
citation_config.defaults = {
	['DeadURL'] = 'yes',
	['AuthorSeparator'] = ';',
	['EditorSeparator'] = ';',
	['NameSeparator'] = ',',
	['PPrefix'] = "p.&nbsp;",
	['PPPrefix'] = "pp.&nbsp;",	
}

--[[
Error condition table

The following contains a list of IDs for various error conditions defined in the 
code.  For each ID, we specify a text message to display, an error category to
include, and whether the error message should be wrapped as a hidden comment.

Anchor changes require identical changes to matching anchor in Help:CS1 errors
]]

citation_config.error_conditions = {
	accessdate_missing_url = {
		message = '<code style="'..code_style..'">&#124;accessdate=</code> requires <code style="'..code_style..'">&#124;url=</code>',
		anchor = 'accessdate_missing_url',
		category = 'Pages using citations with accessdate and no URL',
		hidden = true },
	archive_missing_date = {
		message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;archivedate=</code>',
		anchor = 'archive_missing_date',
		category = 'Pages with archiveurl citation errors',
		hidden = false },
	archive_missing_url = {
		message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;url=</code>',
		anchor = 'archive_missing_url',
		category = 'Pages with archiveurl citation errors',
		hidden = false },
	bad_arxiv = {
		message = 'Check <code style="'..code_style..'">&#124;arxiv=</code> value',
		anchor = 'bad_arxiv',
		category = 'CS1 errors: arXiv',
		hidden = false },
	bad_authorlink = {
		message = 'Check <code style="'..code_style..'">&#124;authorlink=</code> value',
		anchor = 'bad_authorlink',
		category = 'CS1 errors: authorlink',
		hidden = false },
	bad_date = {
		message = 'Check date values in: <code style="'..code_style..'">$1</code>',
		anchor = 'bad_date',
		category = 'CS1 errors: dates',
		hidden = false },
	bad_doi = {
		message = 'Check <code style="'..code_style..'">&#124;doi=</code> value',
		anchor = 'bad_doi',
		category = 'CS1 errors: DOI',
		hidden = false },
	bad_isbn = {
		message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value',
		anchor = 'bad_isbn',
		category = 'Pages with ISBN errors',
		hidden = false },
	bad_issn = {
		message = 'Check <code style="'..code_style..'">&#124;issn=</code> value',
		anchor = 'bad_issn',
		category = 'CS1 errors: ISSN',
		hidden = false },
	bad_lccn = {
		message = 'Check <code style="'..code_style..'">&#124;lccn=</code> value',
		anchor = 'bad_lccn',
		category = 'CS1 errors: LCCN',
		hidden = false },
	bad_ol = {
		message = 'Check <code style="'..code_style..'">&#124;ol=</code> value',
		anchor = 'bad_ol',
		category = 'CS1 errors: OL',
		hidden = false },
	bad_pmc = {
		message = 'Check <code style="'..code_style..'">&#124;pmc=</code> value',
		anchor = 'bad_pmc',
		category = 'CS1 errors: PMC',
		hidden = false },
	bad_pmid = {
		message = 'Check <code style="'..code_style..'">&#124;pmid=</code> value',
		anchor = 'bad_pmid',
		category = 'CS1 errors: PMID',
		hidden = false },
	bad_url = {
		message = 'Check <code style="'..code_style..'">&#124;url=</code> scheme',
		anchor = 'bad_url',
		category = 'Pages with URL errors',
		hidden = false },
	bare_url_missing_title = {
		message = '$1 missing title',
		anchor = 'bare_url_missing_title',
		category = 'Pages with citations having bare URLs',
		hidden = false },
	citation_missing_title = {
		message = 'Missing or empty <code style="'..code_style..'">&#124;title=</code>',
		anchor = 'citation_missing_title',
		category = 'Pages with citations lacking titles',
		hidden = false },
	cite_web_url = {										-- this error applies to cite web and to cite podcast
		message = 'Missing or empty <code style="'..code_style..'">&#124;url=</code>',
		anchor = 'cite_web_url',
		category = 'Pages using web citations with no URL',
		hidden = true },
	coauthors_missing_author = {
		message = '<code style="'..code_style..'">&#124;coauthors=</code> requires <code style="'..code_style..'">&#124;author=</code>',
		anchor = 'coauthors_missing_author',
		category = 'CS1 errors: coauthors without author',
		hidden = false },
	deprecated_params = {
		message = 'Cite uses deprecated parameters',
		anchor = 'deprecated_params',
		category = 'Pages containing cite templates with deprecated parameters',
		hidden = true },
	empty_citation = {
		message = 'Empty citation',
		anchor = 'empty_citation',
		category = 'Pages with empty citations',
		hidden = false },
	extra_pages = {
		message = 'Extra <code style="'..code_style..'">&#124;pages=</code> or <code style="'..code_style..'">&#124;at=</code>',
		anchor = 'extra_pages',
		category = 'Pages with citations using conflicting page specifications',
		hidden = false },
	first_missing_last = {
		message = '<code style="'..code_style..'">&#124;first$2=</code> missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
		anchor = 'first_missing_last',
		category = 'CS1 errors: missing author or editor',
		hidden = false },
	format_missing_url = {
		message = '<code style="'..code_style..'">&#124;format=</code> requires <code style="'..code_style..'">&#124;url=</code>',
		anchor = 'format_missing_url',
		category = 'Pages using citations with format and no URL',
		hidden = true },
	implict_etal_author = {
		message = '<code style="'..code_style..'">&#124;displayauthors=</code> suggested',
		anchor = 'displayauthors',
		category = 'Pages using citations with old-style implicit et al.',
		hidden = true },
	implict_etal_editor = {
		message = '<code style="'..code_style..'">&#124;displayeditors=</code> suggested',
		anchor = 'displayeditors',
		category = 'Pages using citations with old-style implicit et al. in editors',
		hidden = true },
	missing_name = {
		message = 'Missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
		anchor = 'missing_name',
		category = 'CS1 errors: missing author or editor',
		hidden = false },
	parameter_ignored = {
		message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored',
		anchor = 'parameter_ignored',
		category = 'Pages with citations using unsupported parameters',
		hidden = false },
	parameter_ignored_suggest = {
		message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)',
		anchor = 'parameter_ignored_suggest',
		category = 'Pages with citations using unsupported parameters',
		hidden = false },
	redundant_parameters = {
		message = 'More than one of $1 specified',
		anchor = 'redundant_parameters',
		category = 'Pages with citations having redundant parameters',
		hidden = false },
	text_ignored = {
		message = 'Text "$1" ignored',
		anchor = 'text_ignored',
		category = 'Pages with citations using unnamed parameters',
		hidden = false },
	trans_missing_chapter = {
		message = '<code style="'..code_style..'">&#124;trans_chapter=</code> requires <code style="'..code_style..'">&#124;chapter=</code>',
		anchor = 'trans_missing_chapter',
		category = 'Pages with citations using translated terms without the original',
		hidden = false },
	trans_missing_title = {
		message = '<code style="'..code_style..'">&#124;trans_title=</code> requires <code style="'..code_style..'">&#124;title=</code>',
		anchor = 'trans_missing_title',
		category = 'Pages with citations using translated terms without the original',
		hidden = false },
	wikilink_in_url = {
		message = 'Wikilink embedded in URL title',
		anchor = 'wikilink_in_url',
		category = 'Pages with citations having wikilinks embedded in URL titles',
		hidden = false },
}

citation_config.id_handlers = {
	['ARXIV'] = {
		parameters = {'arxiv', 'ARXIV'}, 
		link = 'arXiv',
		label = 'arXiv',
		mode = 'manual',
		prefix = '//arxiv.org/abs/', 						-- protocol relative tested 2013-09-04
		encode = false,
		COinS = 'info:arxiv',
		separator = ':',
	},
	['ASIN'] = {
		parameters = { 'asin', 'ASIN' },	   
		link = 'Amazon Standard Identification Number',
		label = 'ASIN',
		mode = 'manual',
		COinS = 'info:asin',
		separator = '&nbsp;',
		encode = false;
	},
	['BIBCODE'] = {
		parameters = {'bibcode', 'BIBCODE'}, 
		link = 'Bibcode',
		label = 'Bibcode',
		mode = 'external',
		prefix = 'http://adsabs.harvard.edu/abs/',
		encode = false,
		COinS = 'info:bibcode',
		separator = ':',
	},
	['DOI'] = {
		parameters = { 'doi', 'DOI' },
		link = 'Digital object identifier',
		label = 'doi',
		mode = 'manual',
		prefix = 'http://dx.doi.org/',
		COinS = 'info:doi',
		separator = ':',
		encode = true,
	},
	['ISBN'] = {
		parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, 
		link = 'International Standard Book Number',
		label = 'ISBN',
		mode = 'manual',
		prefix = 'Special:BookSources/',
		COinS = 'rft.isbn',
		separator = '&nbsp;',
	},
	['ISSN'] = {
		parameters = {'issn', 'ISSN'}, 
		link = 'International Standard Serial Number',
		label = 'ISSN',
		mode = 'manual',
		prefix = '//www.worldcat.org/issn/',
		COinS = 'rft.issn',
		encode = false,
		separator = '&nbsp;',
	},
	['JFM'] = {
		parameters = {'jfm', 'JFM'}, 
		link = 'Jahrbuch über die Fortschritte der Mathematik',
		label = 'JFM',
		mode = 'external',
		prefix = '//zbmath.org/?format=complete&q=an:',
		COinS = 'rft.jfm',
		encode = true,
		separator = '&nbsp;',
	},
	['JSTOR'] = {
		parameters = {'jstor', 'JSTOR'}, 
		link = 'JSTOR',
		label = 'JSTOR',
		mode = 'external',
		prefix = '//www.jstor.org/stable/', 				-- protocol relative tested 2013-09-04
		COinS = 'rft.jstor',
		encode = true,
		separator = '&nbsp;',
	},
	['LCCN'] = {
		parameters = {'LCCN', 'lccn'}, 
		link = 'Library of Congress Control Number',
		label = 'LCCN',
		mode = 'manual',
		prefix = 'http://lccn.loc.gov/',
		COinS = 'rft.lccn',
		encode = false,
		separator = '&nbsp;',
	},
	['MR'] = {
		parameters = {'MR', 'mr'}, 
		link = 'Mathematical Reviews',
		label = 'MR',
		mode = 'external',
		prefix = '//www.ams.org/mathscinet-getitem?mr=', 	-- protocol relative tested 2013-09-04
		COinS = 'rft.mr',
		encode = true,
		separator = '&nbsp;',
	},
	['OCLC'] = {
		parameters = {'OCLC', 'oclc'}, 
		link = 'OCLC',
		label = 'OCLC',
		mode = 'external',
		prefix = '//www.worldcat.org/oclc/',
		COinS = 'info:oclcnum',
		encode = true,
		separator = '&nbsp;',
	},
	['OL'] = {
		parameters = { 'ol', 'OL' },
		link = 'Open Library',
		label = 'OL',
		mode = 'manual',
		COinS = 'info:olnum',
		separator = '&nbsp;',
		endode = true,
	},
	['OSTI'] = {
		parameters = {'OSTI', 'osti'}, 
		link = 'Office of Scientific and Technical Information',
		label = 'OSTI',
		mode = 'external',
		prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=',	-- protocol relative tested 2013-09-04
		COinS = 'info:osti',
		encode = true,
		separator = '&nbsp;',
	},
	['PMC'] = {
		parameters = {'PMC', 'pmc'}, 
		link = 'PubMed Central',
		label = 'PMC',
		mode = 'manual',									-- changed to support unlinking of PMC identifier when article is embargoed
		prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', 
		suffix = " ",
		COinS = 'info:pmc',
		encode = true,
		separator = '&nbsp;',
	},
	['PMID'] = {
		parameters = {'PMID', 'pmid'}, 
		link = 'PubMed Identifier',
		label = 'PMID',
		mode = 'manual',									-- changed from external manual to support PMID validation
		prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
		COinS = 'info:pmid',
		encode = false,
		separator = '&nbsp;',
	},
	['RFC'] = {
		parameters = {'RFC', 'rfc'}, 
		link = 'Request for Comments',
		label = 'RFC',
		mode = 'external',
		prefix = '//tools.ietf.org/html/rfc',
		COinS = 'info:rfc',
		encode = false,
		separator = '&nbsp;',
	},
	['SSRN'] = {
		parameters = {'SSRN', 'ssrn'}, 
		link = 'Social Science Research Network',
		label = 'SSRN',
		mode = 'external',
		prefix = '//ssrn.com/abstract=', 					-- protocol relative tested 2013-09-04
		COinS = 'info:ssrn',
		encode = true,
		separator = '&nbsp;',
	},
--[[ Hide unfinished cite newsgroup code so that long delayed update can take place
	['USENETID'] = {
		parameters = {'id', 'ID'}, 
		link = 'Usenet',
		label = 'Usenet:',
		mode = 'external',
		prefix = 'news:',
		encode = false,
		COinS = 'info:usenet',
		separator = '&nbsp;',
	},
]]	['ZBL'] = {
		parameters = {'ZBL', 'zbl'}, 
		link = 'Zentralblatt MATH',
		label = 'Zbl',
		mode = 'external',
		prefix = '//zbmath.org/?format=complete&q=an:',
		COinS = 'info:zbl',
		encode = true,
		separator = '&nbsp;',
	},
}

return citation_config;