X

Track changes made to this page

If you find this page useful and would like to be notified of changes made to this page, start by inputting your email below.



Privacy policy
Close this window

powered by ChangeDetection

Difference between revisions of "Citation/CS1/Configuration"

m (1 revision)
(Making protocol-relative)
 
Line 1: Line 1:
 +
 
citation_config = {};
 
citation_config = {};
  
--[[
+
-- override <code>...</code> styling to remove color, border, and padding.  <code> css is specified here:
List of namespaces that should not be included in citation
+
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
error categories.  Same as setting notracking = true by default
+
local code_style="color:inherit; border:inherit; padding:inherit;";
 +
 
 +
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------
 +
 
 +
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.
 
Note: Namespace names should use underscores instead of spaces.
 +
 
]]
 
]]
 +
 
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',
 
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',  
 
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk',  
 
'Module_talk', 'MediaWiki_talk' };
 
'Module_talk', 'MediaWiki_talk' };
  
--[[
+
--[[--------------------------< M E S S A G E S >--------------------------------------------------------------
 +
 
 
Translation table
 
Translation table
  
Line 17: Line 25:
 
This is separated from the main body to aid in future translations of this
 
This is separated from the main body to aid in future translations of this
 
module.
 
module.
 +
 
]]
 
]]
 +
 
citation_config.messages = {
 
citation_config.messages = {
 
   ['published'] = 'published $1',
 
   ['published'] = 'published $1',
Line 42: Line 52:
 
    
 
    
 
   ['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>' ..
 
   ['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]]',  
+
   '[[wikipedia:Category:Pages containing links to subscription-only content|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>' ..
 
   ['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]]',
+
   '[[wikipedia:Category:Pages with login required references or sources|Category:Pages with login required references or sources]]',
 
    
 
    
 
   ['language'] = '(in $1)',  
 
   ['language'] = '(in $1)',  
Line 52: Line 62:
 
   ['minutes'] = 'minutes in',  
 
   ['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>&#124;$1=</code>',
 
 
   ['parameter-separator'] = ', ',
 
   ['parameter-separator'] = ', ',
 
   ['parameter-final-separator'] = ', and ',
 
   ['parameter-final-separator'] = ', and ',
 
   ['parameter-pair-separator'] = ' and ',
 
   ['parameter-pair-separator'] = ' and ',
  
  -- Error output
 
  ['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
 
   -- Determines the location of the help page
 
   ['help page link'] = 'Help:CS1 errors',
 
   ['help page link'] = 'Help:CS1 errors',
Line 79: Line 78:
 
}
 
}
  
-- Aliases table for commonly passed parameters
+
--[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------
 +
 
 +
Fixed presentation markup.  Originally part of citation_config.messages it has been moved into its own, more semantically
 +
correct place.
 +
 
 +
]]
 +
citation_config.presentation =
 +
{
 +
-- 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>',
 +
 
 +
['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css
 +
 
 +
['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like
 +
 
 +
['italic-title'] = "''$1''",
 +
 
 +
['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2', -- spacing to use when title contains leading single or double quote mark
 +
['kern-right'] = '$1<span style="padding-right:0.2em;">$2</span>', -- spacing to use when title contains trailing single or double quote mark
 +
 
 +
['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span>
 +
['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space)
 +
 +
['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
 +
 
 +
['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content
 +
['quoted-title'] = '"$1"',
 +
 
 +
['smallcaps'] = '<span class="smallcaps" style="font-variant:small-caps">$1</span>',
 +
 
 +
['trans-italic-title'] = "&#91;''$1''&#93;",
 +
['trans-quoted-title'] = "&#91;$1&#93;",
 +
}
 +
 
 +
--[[--------------------------< A L I A S E S >----------------------------------------------------------------
 +
 
 +
Aliases table for commonly passed parameters
 +
 
 +
]]
 +
 
 
citation_config.aliases = {
 
citation_config.aliases = {
    ['AccessDate'] = 'accessdate',
+
['AccessDate'] = {'access-date', 'accessdate'},
    ['Agency'] = 'agency',
+
['Agency'] = 'agency',
    ['AirDate'] = 'airdate',
+
['AirDate'] = {'air-date', 'airdate'},
    ['ArchiveDate'] = {'archive-date', 'archivedate' },
+
['ArchiveDate'] = {'archive-date', 'archivedate'},
    ['ArchiveURL'] = {'archive-url', 'archiveurl' },
+
['ArchiveURL'] = {'archive-url', 'archiveurl'},
    ['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
+
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
    ['At'] = 'at',
+
['At'] = 'at',
    ['Authors'] = {'authors', 'people', 'host'},
+
['Authors'] = {'authors', 'people', 'host'},
    ['AuthorFormat'] = {"author-format", "authorformat" },
+
['AuthorFormat'] = {'author-format', 'authorformat'},
    ['AuthorSeparator'] = 'author-separator',
+
['AuthorSeparator'] = 'author-separator',
    ['AuthorNameSeparator'] = 'author-name-separator',
+
['AuthorNameSeparator'] = 'author-name-separator',
    ['BookTitle'] = 'booktitle',
+
['BookTitle'] = {'book-title', 'booktitle'},
['Callsign'] = 'callsign', -- cite interview
+
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview
    ['Cartography'] = 'cartography',
+
['Cartography'] = 'cartography',
    ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated used by old cite AV media notes; remove after 1 October 2014;
+
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'},
    ['ChapterLink'] = 'chapterlink',
+
['ChapterFormat'] = 'chapter-format';
    ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
+
['ChapterLink'] = {'chapter-link', 'chapterlink'}, -- deprecated; remove after 1 January 2015
['City'] = 'city', -- cite interview
+
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
    ['Coauthors'] = {'coauthors', 'coauthor' },
+
['City'] = 'city', -- cite interview
    ['Cointerviewers'] = 'cointerviewers', -- cite interview
+
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015
    ['Conference'] = {'conference', 'event' },
+
['Conference'] = {'conference', 'event'},
    ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'eventurl' },
+
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
    ['Date'] = 'date',
+
['Date'] = 'date',
    ['Day'] = 'day',
+
['DeadURL'] = {'dead-url', 'deadurl'},
    ['DeadURL'] = 'deadurl',
+
['Degree'] = 'degree',
    ['Degree'] = 'degree',
+
['DisplayAuthors'] = {'display-authors', 'displayauthors'},
    ['DisplayAuthors'] = {"display-authors", "displayauthors"},
+
['DisplayEditors'] = {'display-editors', 'displayeditors'},
    ['DisplayEditors'] = {"display-editors", "displayeditors"},
+
['Docket'] = 'docket',
    ['Docket'] = 'docket',
+
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'DoiBroken', 'doi_brokendate', 'doi_inactivedate'},
    ['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
+
['Edition'] = 'edition',
    ['Edition'] = 'edition',
+
['Editors'] = 'editors',
    ['Editors'] = 'editors',
+
['EditorFormat'] = {'editor-format', 'editorformat'},
    ['EditorFormat'] = {"editor-format", "editorformat" },
+
['EditorSeparator'] = 'editor-separator',
    ['EditorSeparator'] = 'editor-separator',
+
['EditorNameSeparator'] = 'editor-name-separator',
    ['EditorNameSeparator'] = 'editor-name-separator',
+
['Embargo'] = {'Embargo', 'embargo'},
    ['Embargo'] = {'Embargo', 'embargo'},
+
['Format'] = 'format',
    ['Format'] = 'format',
+
['ID'] = {'id', 'ID'},
    ['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; used by old cite AV media notes and old cite DVD notes; remove after 1 October 2014;
+
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
    ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
+
['Inset'] = 'inset',
    ['Inset'] = 'inset',
+
['Issue'] = {'issue', 'number'},
    ['Interviewer'] = 'interviewer', -- cite interview
+
['Language'] = {'language', 'in'},
    ['Issue'] = {'issue', 'number'},
+
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'},
    ['Language'] = {'language', 'in'},
+
['LayDate'] = {'lay-date', 'laydate'},
    ['LastAuthorAmp'] = 'lastauthoramp',
+
['LaySource'] = {'lay-source', 'laysource'},
    ['LayDate'] = 'laydate',
+
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
    ['LaySource'] = 'laysource',
+
['ScriptTitle'] = 'script-title',
    ['LayURL'] = {'layurl', 'laysummary'},
+
['MessageID'] = 'message-id',
    ['Minutes'] = 'minutes',
+
['Minutes'] = 'minutes',
    ['Month'] = 'month',
+
['Month'] = 'month', -- deprecated; remove after 1 January 2015
    ['NameSeparator'] = 'name-separator',
+
['NameSeparator'] = 'name-separator',
    ['Network'] = 'network',
+
['Network'] = 'network',
    ['NoPP'] = 'nopp',
+
['NoPP'] = {'no-pp', 'nopp'},
    ['NoTracking'] = {"template doc demo", 'nocat',  
+
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat',  
        'notracking', "no-tracking"},
+
'no-tracking', 'notracking'},
    ['OrigYear'] = {'origyear', 'titleyear'}, -- titleyear is deprecated; used in old cite DVD notes; remove after 1 October 2014
+
['OrigYear'] = {'orig-year', 'origyear'},
    ['Others'] = {'others', 'artist', 'director'}, -- artist and director are deprecated; used in old cite AV media notes and old cite DVD notes; remove after 1 October 2014
+
['Others'] = {'others', 'interviewer', 'interviewers'},
    ['Page'] = {'p', 'page'},
+
['Page'] = {'p', 'page'},
    ['Pages'] = {'pp', 'pages'},
+
['Pages'] = {'pp', 'pages'},
    ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
+
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
        'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
+
'website''periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
    ['Place'] = {'place', 'location'},
+
['Place'] = {'place', 'location'},
    ['PPrefix'] = 'PPrefix',
+
['PPrefix'] = {'p-prefix', 'PPrefix'},
    ['PPPrefix'] = 'PPPrefix',
+
['PPPrefix'] = {'pp-prefix', 'PPPrefix'},
['Program'] = 'program', -- cite interview
+
['Program'] = 'program', -- cite interview
    ['PostScript'] = 'postscript',
+
['PostScript'] = 'postscript',
    ['PublicationDate'] = {'publicationdate', 'publication-date' },
+
['PublicationDate'] = {'publicationdate', 'publication-date'},
    ['PublicationPlace'] = {'publication-place', 'publicationplace' },
+
['PublicationPlace'] = {'publication-place', 'publicationplace'},
    ['PublisherName'] = {'publisher', 'distributor', 'institution'},
+
['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'},
    ['Quote'] = {'quote', 'quotation'},
+
['Quote'] = {'quote', 'quotation'},
    ['Ref'] = {'ref', 'Ref'},
+
['Ref'] = {'ref', 'Ref'},
    ['RegistrationRequired'] = 'registration',
+
['RegistrationRequired'] = 'registration',
    ['Scale'] = 'scale',
+
['Scale'] = 'scale',
    ['Section'] = 'section',
+
['Section'] = 'section',
    ['Season'] = 'season',
+
['Season'] = 'season',
    ['Separator'] = 'separator',
+
['Separator'] = 'separator',
    ['Series'] = {'series', 'version'},
+
['Series'] = {'series', 'version'},
    ['SeriesSeparator'] = 'series-separator',
+
['SeriesSeparator'] = 'series-separator',
    ['SeriesLink'] = 'serieslink',
+
['SeriesLink'] = {'series-link', 'serieslink'},
    ['SeriesNumber'] = {'seriesnumber', 'seriesno'},
+
['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'},
    ['Station'] = 'station',
+
['Station'] = 'station',
    ['SubscriptionRequired'] = 'subscription',
+
['SubscriptionRequired'] = 'subscription',
    ['Time'] = 'time',
+
['Time'] = 'time',
    ['TimeCaption'] = 'timecaption',
+
['TimeCaption'] = {'time-caption', 'timecaption'},
    ['Title'] = 'title',
+
['Title'] = 'title',
    ['TitleLink'] = {'titlelink', 'episodelink', 'albumlink' }, -- albumlink is deprecated; used by old cite AV media notes; remove after 1 October 2014
+
['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink'},
    ['TitleNote'] = 'department',
+
['TitleNote'] = 'department',
    ['TitleType'] = {'type', 'medium'},
+
['TitleType'] = {'type', 'medium'},
    ['TransChapter'] = {'trans-chapter', 'trans_chapter' },
+
['TransChapter'] = {'trans-chapter', 'trans_chapter'},
    ['Transcript'] = 'transcript',
+
['Transcript'] = 'transcript',
    ['TranscriptURL'] = {'transcript-url', 'transcripturl'},
+
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
    ['TransTitle'] = {'trans-title', 'trans_title' },
+
['TransTitle'] = {'trans-title', 'trans_title'},
    ['URL'] = {'url', 'URL'},
+
['URL'] = {'url', 'URL'},
    ['Via'] = 'via',
+
['Via'] = 'via',
    ['Volume'] = 'volume',
+
['Volume'] = 'volume',
    ['Year'] = 'year',
+
['Year'] = 'year',
  
    ['AuthorList-First'] = {"author#-first", "author-first#",
+
['AuthorList-First'] = {"author#-first", "author-first#",
        "first#", "given#"},
+
"first#", "given#"},
    ['AuthorList-Last'] = {"author#-last", "author-last#",  
+
['AuthorList-Last'] = {"author#-last", "author-last#",  
        "last#", "surname#", "Author#", "author#", "authors#", "subject#"},
+
"last#", "surname#", "Author#", "author#", "authors#", "subject#"},
    ['AuthorList-Link'] = {"author#-link", "author-link#",  
+
['AuthorList-Link'] = {"author#-link", "author-link#",  
        "author#link", "authorlink#", "subjectlink#"},
+
"author#link", "authorlink#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"},
    ['AuthorList-Mask'] = {"author#-mask", "author-mask#",  
+
['AuthorList-Mask'] = {"author#-mask", "author-mask#",  
        "author#mask", "authormask#"},
+
"author#mask", "authormask#"},
   
+
    ['EditorList-First'] = {"editor#-first",  
+
['EditorList-First'] = {"editor#-first",  
        "editor-first#", "EditorGiven#"},
+
"editor-first#", "editor#-given", "editor-given#", "EditorGiven#"},
    ['EditorList-Last'] = {"editor#-last", "editor-last#",
+
['EditorList-Last'] = {"editor#-last", "editor-last#",
        "EditorSurname#", "Editor#", "editor#", "editors#"},
+
"editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
    ['EditorList-Link'] = {"editor#-link", "editor-link#",  
+
['EditorList-Link'] = {"editor#-link", "editor-link#",  
        "editor#link", "editorlink#"},
+
"editor#link", "editorlink#"},
    ['EditorList-Mask'] = {"editor#-mask", "editor-mask#",  
+
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",  
        "editor#mask", "editormask#"},
+
"editor#mask", "editormask#"},
   
+
 
}
 
}
  
 
-- Default parameter values
 
-- Default parameter values
 
citation_config.defaults = {
 
citation_config.defaults = {
    ['DeadURL'] = 'yes',
+
['DeadURL'] = 'yes',
    ['AuthorSeparator'] = ';',
+
['AuthorSeparator'] = ';',
    ['EditorSeparator'] = ';',
+
['EditorSeparator'] = ';',
    ['NameSeparator'] = ',',
+
['NameSeparator'] = ',',
    ['PPrefix'] = "p.&nbsp;",
+
['PPrefix'] = "p.&nbsp;",
    ['PPPrefix'] = "pp.&nbsp;",  
+
['PPPrefix'] = "pp.&nbsp;",
 
}
 
}
  
--[[
+
--[[--------------------------< E R R O R _ C O N D I T I O N S >----------------------------------------------
 
Error condition table
 
Error condition table
  
Line 215: Line 256:
  
 
Anchor changes require identical changes to matching anchor in Help:CS1 errors
 
Anchor changes require identical changes to matching anchor in Help:CS1 errors
 +
 
]]
 
]]
  
 
citation_config.error_conditions = {
 
citation_config.error_conditions = {
 
accessdate_missing_url = {
 
accessdate_missing_url = {
message = '<code>&#124;accessdate=</code> requires <code>&#124;url=</code>',
+
message = '<code style="'..code_style..'">&#124;accessdate=</code> requires <code style="'..code_style..'">&#124;url=</code>',
 
anchor = 'accessdate_missing_url',
 
anchor = 'accessdate_missing_url',
 
category = 'Pages using citations with accessdate and no URL',
 
category = 'Pages using citations with accessdate and no URL',
 
hidden = true },
 
hidden = true },
 
archive_missing_date = {
 
archive_missing_date = {
message = '<code>&#124;archiveurl=</code> requires <code>&#124;archivedate=</code>',
+
message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;archivedate=</code>',
 
anchor = 'archive_missing_date',
 
anchor = 'archive_missing_date',
 
category = 'Pages with archiveurl citation errors',
 
category = 'Pages with archiveurl citation errors',
 
hidden = false },
 
hidden = false },
 
archive_missing_url = {
 
archive_missing_url = {
message = '<code>&#124;archiveurl=</code> requires <code>&#124;url=</code>',
+
message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;url=</code>',
 
anchor = 'archive_missing_url',
 
anchor = 'archive_missing_url',
 
category = 'Pages with archiveurl citation errors',
 
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_asin = {
 +
message = 'Check <code style="'..code_style..'">&#124;asin=</code> value',
 +
anchor = 'bad_asin',
 +
category ='CS1 errors: ASIN',
 
hidden = false },
 
hidden = false },
 
bad_authorlink = {
 
bad_authorlink = {
message = 'Check <code>&#124;authorlink=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;authorlink=</code> value',
 
anchor = 'bad_authorlink',
 
anchor = 'bad_authorlink',
 
category = 'CS1 errors: authorlink',
 
category = 'CS1 errors: authorlink',
 
hidden = false },
 
hidden = false },
 
bad_date = {
 
bad_date = {
message = 'Check date values in: <code>$1</code>',
+
message = 'Check date values in: <code style="'..code_style..'">$1</code>',
 
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>&#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 = {
message = 'Check <code>&#124;isbn=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value',
 
anchor = 'bad_isbn',
 
anchor = 'bad_isbn',
 
category = 'Pages with ISBN errors',
 
category = 'Pages with ISBN errors',
 
hidden = false },
 
hidden = false },
 
bad_issn = {
 
bad_issn = {
message = 'Check <code>&#124;issn=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;issn=</code> value',
 
anchor = 'bad_issn',
 
anchor = 'bad_issn',
 
category = 'CS1 errors: ISSN',
 
category = 'CS1 errors: ISSN',
 
hidden = false },
 
hidden = false },
 
bad_lccn = {
 
bad_lccn = {
message = 'Check <code>&#124;lccn=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;lccn=</code> value',
 
anchor = 'bad_lccn',
 
anchor = 'bad_lccn',
 
category = 'CS1 errors: LCCN',
 
category = 'CS1 errors: LCCN',
 +
hidden = false },
 +
bad_message_id = {
 +
message = 'Check <code style="'..code_style..'">&#124;message-id=</code> value',
 +
anchor = 'bad_message_id',
 +
category = 'CS1 errors: message-id',
 
hidden = false },
 
hidden = false },
 
bad_ol = {
 
bad_ol = {
message = 'Check <code>&#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 = {
message = 'Check <code>&#124;pmc=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;pmc=</code> value',
 
anchor = 'bad_pmc',
 
anchor = 'bad_pmc',
 
category = 'CS1 errors: PMC',
 
category = 'CS1 errors: PMC',
 
hidden = false },
 
hidden = false },
 
bad_pmid = {
 
bad_pmid = {
message = 'Check <code>&#124;pmid=</code> value',
+
message = 'Check <code style="'..code_style..'">&#124;pmid=</code> value',
 
anchor = 'bad_pmid',
 
anchor = 'bad_pmid',
 
category = 'CS1 errors: PMID',
 
category = 'CS1 errors: PMID',
 
hidden = false },
 
hidden = false },
 
bad_url = {
 
bad_url = {
message = 'Check <code>&#124;url=</code> scheme',
+
message = 'Check <code style="'..code_style..'">&#124;url=</code> scheme',
 
anchor = 'bad_url',
 
anchor = 'bad_url',
 
category = 'Pages with URL errors',
 
category = 'Pages with URL errors',
Line 287: Line 344:
 
anchor = 'bare_url_missing_title',
 
anchor = 'bare_url_missing_title',
 
category = 'Pages with citations having bare URLs',
 
category = 'Pages with citations having bare URLs',
 +
hidden = false },
 +
chapter_ignored = {
 +
message = '<code style="'..code_style..'">&#124;chapter=</code> ignored',
 +
anchor = 'chapter_ignored',
 +
category = 'CS1 errors: Chapter ignored',
 
hidden = false },
 
hidden = false },
 
citation_missing_title = {
 
citation_missing_title = {
message = 'Missing or empty <code>&#124;title=</code>',
+
message = 'Missing or empty <code style="'..code_style..'">&#124;title=</code>',
 
anchor = 'citation_missing_title',
 
anchor = 'citation_missing_title',
 
category = 'Pages with citations lacking titles',
 
category = 'Pages with citations lacking titles',
 
hidden = false },
 
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
+
cite_web_url = { -- this error applies to cite web and to cite podcast
message = 'Missing or empty <code>&#124;url=</code>',
+
message = 'Missing or empty <code style="'..code_style..'">&#124;url=</code>',
 
anchor = 'cite_web_url',
 
anchor = 'cite_web_url',
 
category = 'Pages using web citations with no URL',
 
category = 'Pages using web citations with no URL',
 
hidden = true },
 
hidden = true },
 
coauthors_missing_author = {
 
coauthors_missing_author = {
message = '<code>&#124;coauthors=</code> requires <code>&#124;author=</code>',
+
message = '<code style="'..code_style..'">&#124;coauthors=</code> requires <code style="'..code_style..'">&#124;author=</code>',
 
anchor = 'coauthors_missing_author',
 
anchor = 'coauthors_missing_author',
 
category = 'CS1 errors: coauthors without author',
 
category = 'CS1 errors: coauthors without author',
Line 314: Line 376:
 
hidden = false },
 
hidden = false },
 
extra_pages = {
 
extra_pages = {
message = 'Extra <code>&#124;pages=</code> or <code>&#124;at=</code>',
+
message = 'Extra <code style="'..code_style..'">&#124;pages=</code> or <code style="'..code_style..'">&#124;at=</code>',
 
anchor = 'extra_pages',
 
anchor = 'extra_pages',
 
category = 'Pages with citations using conflicting page specifications',
 
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 },
 
hidden = false },
 
format_missing_url = {
 
format_missing_url = {
message = '<code>&#124;format=</code> requires <code>&#124;url=</code>',
+
message = '<code style="'..code_style..'">&#124;$1=</code> requires <code style="'..code_style..'">&#124;$2=</code>',
 
anchor = 'format_missing_url',
 
anchor = 'format_missing_url',
 
category = 'Pages using citations with format and no URL',
 
category = 'Pages using citations with format and no URL',
hidden = true },
 
implict_etal_author = {
 
message = '<code>&#124;displayauthors=</code> suggested',
 
anchor = 'displayauthors',
 
category = 'Pages using citations with old-style implicit et al.',
 
 
hidden = true },
 
hidden = true },
 
implict_etal_editor = {
 
implict_etal_editor = {
message = '<code>&#124;displayeditors=</code> suggested',
+
message = '<code style="'..code_style..'">&#124;displayeditors=</code> suggested',
 
anchor = 'displayeditors',
 
anchor = 'displayeditors',
 
category = 'Pages using citations with old-style implicit et al. in editors',
 
category = 'Pages using citations with old-style implicit et al. in editors',
 
hidden = true },
 
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 = {
 
parameter_ignored = {
message = 'Unknown parameter <code>&#124;$1=</code> ignored',
+
message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored',
 
anchor = 'parameter_ignored',
 
anchor = 'parameter_ignored',
 
category = 'Pages with citations using unsupported parameters',
 
category = 'Pages with citations using unsupported parameters',
 
hidden = false },
 
hidden = false },
 
parameter_ignored_suggest = {
 
parameter_ignored_suggest = {
message = 'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#124;$2=</code> suggested)',
+
message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)',
 
anchor = 'parameter_ignored_suggest',
 
anchor = 'parameter_ignored_suggest',
 
category = 'Pages with citations using unsupported parameters',
 
category = 'Pages with citations using unsupported parameters',
Line 354: Line 421:
 
hidden = false },
 
hidden = false },
 
trans_missing_chapter = {
 
trans_missing_chapter = {
message = '<code>&#124;trans_chapter=</code> requires <code>&#124;chapter=</code>',
+
message = '<code style="'..code_style..'">&#124;trans-chapter=</code> requires <code style="'..code_style..'">&#124;chapter=</code>',
 
anchor = 'trans_missing_chapter',
 
anchor = 'trans_missing_chapter',
 
category = 'Pages with citations using translated terms without the original',
 
category = 'Pages with citations using translated terms without the original',
 
hidden = false },
 
hidden = false },
 
trans_missing_title = {
 
trans_missing_title = {
message = '<code>&#124;trans_title=</code> requires <code>&#124;title=</code>',
+
message = '<code style="'..code_style..'">&#124;trans-title=</code> requires <code style="'..code_style..'">&#124;title=</code>',
 
anchor = 'trans_missing_title',
 
anchor = 'trans_missing_title',
 
category = 'Pages with citations using translated terms without the original',
 
category = 'Pages with citations using translated terms without the original',
Line 371: Line 438:
  
 
citation_config.id_handlers = {
 
citation_config.id_handlers = {
    ['ARXIV'] = {
+
['ARXIV'] = {
        parameters = {'arxiv', 'ARXIV'},  
+
parameters = {'arxiv', 'ARXIV'},  
        link = 'arXiv',
+
link = 'arXiv',
        label = 'arXiv',
+
label = 'arXiv',
        mode = 'external',
+
mode = 'manual',
        prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
+
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
        encode = false,
+
encode = false,
        COinS = 'info:arxiv',
+
COinS = 'info:arxiv',
        separator = ':',
+
separator = ':',
    },
+
},
    ['ASIN'] = {
+
['ASIN'] = {
        parameters = { 'asin', 'ASIN' },      
+
parameters = { 'asin', 'ASIN' },  
        link = 'Amazon Standard Identification Number',
+
link = 'Amazon Standard Identification Number',
        label = 'ASIN',
+
label = 'ASIN',
        mode = 'manual',
+
mode = 'manual',
        COinS = 'info:asin',
+
COinS = 'info:asin',
        separator = '&nbsp;',
+
separator = '&nbsp;',
        encode = false;
+
encode = false;
    },
+
},
    ['BIBCODE'] = {
+
['BIBCODE'] = {
        parameters = {'bibcode', 'BIBCODE'},  
+
parameters = {'bibcode', 'BIBCODE'},  
        link = 'Bibcode',
+
link = 'Bibcode',
        label = 'Bibcode',
+
label = 'Bibcode',
        mode = 'external',
+
mode = 'external',
        prefix = 'http://adsabs.harvard.edu/abs/',
+
prefix = 'http://adsabs.harvard.edu/abs/',
        encode = false,
+
encode = false,
        COinS = 'info:bibcode',
+
COinS = 'info:bibcode',
        separator = ':',
+
separator = ':',
    },
+
},
    ['DOI'] = {
+
['DOI'] = {
        parameters = { 'doi', 'DOI' },
+
parameters = { 'doi', 'DOI' },
        link = 'Digital object identifier',
+
link = 'Digital object identifier',
        label = 'doi',
+
label = 'doi',
        mode = 'manual',
+
mode = 'manual',
        prefix = 'http://dx.doi.org/',
+
prefix = '//dx.doi.org/',
        COinS = 'info:doi',
+
COinS = 'info:doi',
        separator = ':',
+
separator = ':',
        encode = true,
+
encode = true,
    },
+
},
    ['ISBN'] = {
+
['ISBN'] = {
        parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},  
+
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},  
        link = 'International Standard Book Number',
+
link = 'International Standard Book Number',
        label = 'ISBN',
+
label = 'ISBN',
        mode = 'manual',
+
mode = 'manual',
        prefix = 'Special:BookSources/',
+
prefix = 'Special:BookSources/',
        COinS = 'rft.isbn',
+
COinS = 'rft.isbn',
        separator = '&nbsp;',
+
separator = '&nbsp;',
    },
+
},
    ['ISSN'] = {
+
['ISSN'] = {
        parameters = {'issn', 'ISSN'},  
+
parameters = {'issn', 'ISSN'},  
        link = 'International Standard Serial Number',
+
link = 'International Standard Serial Number',
        label = 'ISSN',
+
label = 'ISSN',
        mode = 'manual',
+
mode = 'manual',
        prefix = '//www.worldcat.org/issn/',
+
prefix = '//www.worldcat.org/issn/',
        COinS = 'rft.issn',
+
COinS = 'rft.issn',
        encode = false,
+
encode = false,
        separator = '&nbsp;',
+
separator = '&nbsp;',
    },
+
},
    ['JFM'] = {
+
['JFM'] = {
        parameters = {'jfm', 'JFM'},  
+
parameters = {'jfm', 'JFM'},  
        link = 'Jahrbuch über die Fortschritte der Mathematik',
+
link = 'Jahrbuch über die Fortschritte der Mathematik',
        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,
        separator = '&nbsp;',
+
separator = '&nbsp;',
    },
+
},
    ['JSTOR'] = {
+
['JSTOR'] = {
        parameters = {'jstor', 'JSTOR'},  
+
parameters = {'jstor', 'JSTOR'},  
        link = 'JSTOR',
+
link = 'JSTOR',
        label = 'JSTOR',
+
label = 'JSTOR',
        mode = 'external',
+
mode = 'external',
        prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
+
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
        COinS = 'rft.jstor',
+
COinS = 'rft.jstor',
        encode = true,
+
-- encode = true,
        separator = '&nbsp;',
+
encode = false,
    },
+
separator = '&nbsp;',
    ['LCCN'] = {
+
},
        parameters = {'LCCN', 'lccn'},  
+
['LCCN'] = {
        link = 'Library of Congress Control Number',
+
parameters = {'LCCN', 'lccn'},  
        label = 'LCCN',
+
link = 'Library of Congress Control Number',
        mode = 'manual',
+
label = 'LCCN',
        prefix = 'http://lccn.loc.gov/',
+
mode = 'manual',
        COinS = 'rft.lccn',
+
prefix = 'http://lccn.loc.gov/',
        encode = false,
+
COinS = 'rft.lccn',
        separator = '&nbsp;',
+
encode = false,
    },
+
separator = '&nbsp;',
    ['MR'] = {
+
},
        parameters = {'MR', 'mr'},  
+
['MR'] = {
        link = 'Mathematical Reviews',
+
parameters = {'MR', 'mr'},  
        label = 'MR',
+
link = 'Mathematical Reviews',
        mode = 'external',
+
label = 'MR',
        prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
+
mode = 'external',
        COinS = 'rft.mr',
+
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
        encode = true,
+
COinS = 'rft.mr',
        separator = '&nbsp;',
+
encode = true,
    },
+
separator = '&nbsp;',
    ['OCLC'] = {
+
},
        parameters = {'OCLC', 'oclc'},  
+
['OCLC'] = {
        link = 'OCLC',
+
parameters = {'OCLC', 'oclc'},  
        label = 'OCLC',
+
link = 'OCLC',
        mode = 'external',
+
label = 'OCLC',
        prefix = '//www.worldcat.org/oclc/',
+
mode = 'external',
        COinS = 'info:oclcnum',
+
prefix = '//www.worldcat.org/oclc/',
        encode = true,
+
COinS = 'info:oclcnum',
        separator = '&nbsp;',
+
encode = true,
    },
+
separator = '&nbsp;',
    ['OL'] = {
+
},
        parameters = { 'ol', 'OL' },
+
['OL'] = {
        link = 'Open Library',
+
parameters = { 'ol', 'OL' },
        label = 'OL',
+
link = 'Open Library',
        mode = 'manual',
+
label = 'OL',
        COinS = 'info:olnum',
+
mode = 'manual',
        separator = '&nbsp;',
+
COinS = 'info:olnum',
        endode = true,
+
separator = '&nbsp;',
    },
+
endode = true,
    ['OSTI'] = {
+
},
        parameters = {'OSTI', 'osti'},  
+
['OSTI'] = {
        link = 'Office of Scientific and Technical Information',
+
parameters = {'OSTI', 'osti'},  
        label = 'OSTI',
+
link = 'Office of Scientific and Technical Information',
        mode = 'external',
+
label = 'OSTI',
        prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
+
mode = 'external',
        COinS = 'info:osti',
+
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
        encode = true,
+
COinS = 'info:osti',
        separator = '&nbsp;',
+
encode = true,
    },
+
separator = '&nbsp;',
    ['PMC'] = {
+
},
        parameters = {'PMC', 'pmc'},  
+
['PMC'] = {
        link = 'PubMed Central',
+
parameters = {'PMC', 'pmc'},  
        label = 'PMC',
+
link = 'PubMed Central',
        mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
+
label = 'PMC',
        prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',  
+
mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
        suffix = " ",
+
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',  
        COinS = 'info:pmc',
+
suffix = " ",
        encode = true,
+
COinS = 'info:pmc',
        separator = '&nbsp;',
+
encode = true,
    },
+
separator = '&nbsp;',
    ['PMID'] = {
+
},
        parameters = {'PMID', 'pmid'},  
+
['PMID'] = {
        link = 'PubMed Identifier',
+
parameters = {'PMID', 'pmid'},  
        label = 'PMID',
+
link = 'PubMed Identifier',
        mode = 'manual', -- changed from external manual to support PMID validation
+
label = 'PMID',
        prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
+
mode = 'manual', -- changed from external manual to support PMID validation
        COinS = 'info:pmid',
+
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
        encode = false,
+
COinS = 'info:pmid',
        separator = '&nbsp;',
+
encode = false,
    },
+
separator = '&nbsp;',
    ['RFC'] = {
+
},
        parameters = {'RFC', 'rfc'},  
+
['RFC'] = {
        link = 'Request for Comments',
+
parameters = {'RFC', 'rfc'},  
        label = 'RFC',
+
link = 'Request for Comments',
        mode = 'external',
+
label = 'RFC',
        prefix = '//tools.ietf.org/html/rfc',
+
mode = 'external',
        COinS = 'info:rfc',
+
prefix = '//tools.ietf.org/html/rfc',
        encode = false,
+
COinS = 'info:rfc',
        separator = '&nbsp;',
+
encode = false,
    },
+
separator = '&nbsp;',
    ['SSRN'] = {
+
},
        parameters = {'SSRN', 'ssrn'},  
+
['SSRN'] = {
        link = 'Social Science Research Network',
+
parameters = {'SSRN', 'ssrn'},  
        label = 'SSRN',
+
link = 'Social Science Research Network',
        mode = 'external',
+
label = 'SSRN',
        prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
+
mode = 'external',
        COinS = 'info:ssrn',
+
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
        encode = true,
+
COinS = 'info:ssrn',
        separator = '&nbsp;',
+
encode = true,
    },
+
separator = '&nbsp;',
    ['ZBL'] = {
+
},
        parameters = {'ZBL', 'zbl'},  
+
['USENETID'] = {
        link = 'Zentralblatt MATH',
+
parameters = {'message-id'},
        label = 'Zbl',
+
link = 'Usenet',
        mode = 'external',
+
label = 'Usenet:',
        prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
+
mode = 'manual',
        COinS = 'info:zbl',
+
prefix = 'news:',
        encode = true,
+
encode = false,
        separator = '&nbsp;',
+
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;',
 +
},
 
}
 
}
  
--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;

Latest revision as of 16:49, 23 January 2015

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;";

--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------

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' };

--[[--------------------------< M E S S A G E S >--------------------------------------------------------------

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>' ..
  	'[[wikipedia:Category:Pages containing links to subscription-only content|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>' ..
  	'[[wikipedia:Category:Pages with login required references or sources|Category:Pages with login required references or sources]]',
  
  ['language'] = '(in $1)', 
  ['via'] = " &ndash; via $1",
  ['event'] = 'Event occurs at',
  ['minutes'] = 'minutes in', 

  ['parameter-separator'] = ', ',
  ['parameter-final-separator'] = ', and ',
  ['parameter-pair-separator'] = ' and ',

  -- 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',
}

--[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------

Fixed presentation markup.  Originally part of citation_config.messages it has been moved into its own, more semantically
correct place.

]]
citation_config.presentation = 
	{
	-- 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>',

	['accessdate'] = '<span class="reference-accessdate">$1$2</span>',			-- to allow editors to hide accessdate using personal css

	['bdi'] = '<bdi$1>$2</bdi>',												-- bidirectional isolation used with |script-title= and the like

	['italic-title'] = "''$1''",

	['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2',			-- spacing to use when title contains leading single or double quote mark
	['kern-right'] = '$1<span style="padding-right:0.2em;">$2</span>',			-- spacing to use when title contains trailing single or double quote mark

	['nowrap1'] = '<span class="nowrap">$1</span>',								-- for nowrapping an item: <span ...>yyyy-mm-dd</span>
	['nowrap2'] = '<span class="nowrap">$1</span> $2',							-- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space)
	
	['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',

	['quoted-text'] = '<q>$1</q>',												-- for wrapping |quote= content
	['quoted-title'] = '"$1"',

	['smallcaps'] = '<span class="smallcaps" style="font-variant:small-caps">$1</span>',

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

--[[--------------------------< A L I A S E S >----------------------------------------------------------------

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'},
	['ChapterFormat'] = 'chapter-format';
	['ChapterLink'] = {'chapter-link', 'chapterlink'},							-- deprecated; remove after 1 January 2015
	['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 January 2015
	['Conference'] = {'conference', 'event'},
	['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
	['Date'] = 'date',
	['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'},
	['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
	['Inset'] = 'inset',
	['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',
	['MessageID'] = 'message-id',
	['Minutes'] = 'minutes',
	['Month'] = 'month',														-- deprecated; remove after 1 January 2015
	['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'},
	['Others'] = {'others', 'interviewer', 'interviewers'},
	['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'},
	['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'},
	['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'},
	['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;",	
}

--[[--------------------------< E R R O R _ C O N D I T I O N S >----------------------------------------------
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_asin = {
		message = 'Check <code style="'..code_style..'">&#124;asin=</code> value',
		anchor = 'bad_asin',
		category ='CS1 errors: ASIN',
		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_message_id = {
		message = 'Check <code style="'..code_style..'">&#124;message-id=</code> value',
		anchor = 'bad_message_id',
		category = 'CS1 errors: message-id',
		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 },
	chapter_ignored = {
		message = '<code style="'..code_style..'">&#124;chapter=</code> ignored',
		anchor = 'chapter_ignored',
		category = 'CS1 errors: Chapter ignored',
		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;$1=</code> requires <code style="'..code_style..'">&#124;$2=</code>',
		anchor = 'format_missing_url',
		category = 'Pages using citations with format and no URL',
		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 = '//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,
		encode = false,
		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;',
	},
	['USENETID'] = {
		parameters = {'message-id'},
		link = 'Usenet',
		label = 'Usenet:',
		mode = 'manual',
		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;