Module:Citation/CS1/Configuration: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Trappist the monk Synch from sandbox; |
meta>Trappist the monk Synch from sandbox; |
||
Line 1: | Line 1: | ||
citation_config = {}; | local citation_config = {}; | ||
-- override <code>...</code> styling to remove color, border, and padding. <code> css is specified here: | -- override <code>...</code> styling to remove color, border, and padding. <code> css is specified here: | ||
Line 13: | Line 13: | ||
]] | ]] | ||
local 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' }; | ||
local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize | |||
--[[--------------------------< M E S S A G E S >-------------------------------------------------------------- | --[[--------------------------< M E S S A G E S >-------------------------------------------------------------- | ||
Line 28: | Line 29: | ||
]] | ]] | ||
local messages = { | |||
['published'] = 'published $1', | ['published'] = 'published $1', | ||
['lay summary'] = 'Lay summary', | ['lay summary'] = 'Lay summary', | ||
Line 41: | Line 42: | ||
['editors'] = 'eds.', | ['editors'] = 'eds.', | ||
['edition'] = '($1 ed.)', | ['edition'] = '($1 ed.)', | ||
['episode'] = ' | ['episode'] = 'Episode $1', | ||
['season'] = ' | ['season'] = 'Season $1', | ||
['series'] = ' | ['series'] = 'Series $1', | ||
['cartography'] = 'Cartography by $1', | ['cartography'] = 'Cartography by $1', | ||
['section'] = '§ $1', | ['section'] = '§ $1', | ||
['sections'] = '§§ $1', | ['sections'] = '§§ $1', | ||
Line 86: | Line 86: | ||
]] | ]] | ||
local presentation = | |||
{ | { | ||
-- Error output | -- Error output | ||
Line 97: | Line 97: | ||
['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like | ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like | ||
['format'] = ' <span style="font-size:85%;">($1)</span>', -- for |format=, |chapter-format=, etc | |||
['italic-title'] = "''$1''", | ['italic-title'] = "''$1''", | ||
Line 121: | Line 123: | ||
]] | ]] | ||
local aliases = { | |||
['AccessDate'] = {'access-date', 'accessdate'}, | ['AccessDate'] = {'access-date', 'accessdate'}, | ||
['Agency'] = 'agency', | ['Agency'] = 'agency', | ||
['AirDate'] = {'air-date', 'airdate'}, | ['AirDate'] = {'air-date', 'airdate'}, | ||
['ArchiveDate'] = {'archive-date', 'archivedate'}, | ['ArchiveDate'] = {'archive-date', 'archivedate'}, | ||
['ArchiveFormat'] = 'archive-format', | |||
['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', 'credits'}, | ||
['AuthorFormat'] = {'author-format', 'authorformat'}, -- deprecated in favor of NameListFormat; | ['AuthorFormat'] = {'author-format', 'authorformat'}, -- deprecated in favor of NameListFormat; | ||
['AuthorSeparator'] = 'author-separator', -- deprecated | ['AuthorSeparator'] = 'author-separator', -- deprecated | ||
['AuthorNameSeparator'] = 'author-name-separator', -- deprecated | ['AuthorNameSeparator'] = 'author-name-separator', -- deprecated | ||
['Began'] = 'began', -- cite episode and cite series | |||
['BookTitle'] = {'book-title', 'booktitle'}, | ['BookTitle'] = {'book-title', 'booktitle'}, | ||
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview | ['Callsign'] = {'call-sign', 'callsign'}, -- cite interview | ||
['Cartography'] = 'cartography', | ['Cartography'] = 'cartography', | ||
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ||
['ChapterFormat'] = 'chapter-format'; | ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-format'}; | ||
['ChapterLink'] = {'chapter-link', 'chapterlink'}, -- deprecated; remove after 1 January 2015? | ['ChapterLink'] = {'chapter-link', 'chapterlink'}, -- deprecated; remove after 1 January 2015? | ||
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'}, | ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'}, | ||
['City'] = 'city', -- cite interview | ['City'] = 'city', -- cite interview | ||
['Class'] = 'class', -- cite arxiv and arxiv identifiers | |||
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015? | ['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015? | ||
['Conference'] = {'conference', 'event'}, | ['Conference'] = {'conference', 'event'}, | ||
['ConferenceFormat'] = {'conference-format', 'event-format'}, | |||
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ||
['Date'] = 'date', | ['Date'] = {'date', 'air-date', 'airdate'}, | ||
['DeadURL'] = {'dead-url', 'deadurl'}, | ['DeadURL'] = {'dead-url', 'deadurl'}, | ||
['Degree'] = 'degree', | ['Degree'] = 'degree', | ||
Line 150: | Line 156: | ||
['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ||
['Docket'] = 'docket', | ['Docket'] = 'docket', | ||
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date | ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'doi_brokendate', 'doi_inactivedate'}, | ||
['Edition'] = 'edition', | ['Edition'] = 'edition', | ||
['Editors'] = 'editors', | ['Editors'] = 'editors', | ||
Line 156: | Line 162: | ||
['EditorSeparator'] = 'editor-separator', -- deprecated | ['EditorSeparator'] = 'editor-separator', -- deprecated | ||
['EditorNameSeparator'] = 'editor-name-separator', -- deprecated | ['EditorNameSeparator'] = 'editor-name-separator', -- deprecated | ||
['Embargo'] = | ['Embargo'] = 'embargo', | ||
['Encyclopedia'] = {'encyclopedia', 'encyclopaedia'}, -- this one only used by citation | ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia'}, -- this one only used by citation | ||
['Ended'] = 'ended', -- cite episode and cite series | |||
['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? | |||
['Format'] = 'format', | ['Format'] = 'format', | ||
['ID'] = {'id', 'ID'}, | ['ID'] = {'id', 'ID'}, | ||
Line 166: | Line 174: | ||
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ||
['LayDate'] = {'lay-date', 'laydate'}, | ['LayDate'] = {'lay-date', 'laydate'}, | ||
['LayFormat'] = 'lay-format', | |||
['LaySource'] = {'lay-source', 'laysource'}, | ['LaySource'] = {'lay-source', 'laysource'}, | ||
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'}, | ['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'}, | ||
Line 190: | Line 199: | ||
['Place'] = {'place', 'location'}, | ['Place'] = {'place', 'location'}, | ||
['PPrefix'] = {'p-prefix', 'PPrefix'}, | ['PPrefix'] = {'p-prefix', 'PPrefix'}, | ||
['PPPrefix'] = | ['PPPrefix'] = 'pp-prefix', | ||
['Program'] = 'program', -- cite interview | ['Program'] = 'program', -- cite interview | ||
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
Line 209: | Line 218: | ||
['SeriesLink'] = {'series-link', 'serieslink'}, | ['SeriesLink'] = {'series-link', 'serieslink'}, | ||
['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'}, | ['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'}, | ||
['Sheet'] = 'sheet', -- cite map only | |||
['Sheets'] = 'sheets', -- cite map only | |||
['Station'] = 'station', | ['Station'] = 'station', | ||
['SubscriptionRequired'] = 'subscription', | ['SubscriptionRequired'] = 'subscription', | ||
Line 218: | Line 229: | ||
['TitleType'] = {'type', 'medium'}, | ['TitleType'] = {'type', 'medium'}, | ||
['TransChapter'] = {'trans-chapter', 'trans_chapter'}, | ['TransChapter'] = {'trans-chapter', 'trans_chapter'}, | ||
['TransMap'] = 'trans-map', -- cite map only | |||
['Transcript'] = 'transcript', | ['Transcript'] = 'transcript', | ||
['TranscriptFormat'] = 'transcript-format', | |||
['TranscriptURL'] = {'transcript-url', 'transcripturl'}, | ['TranscriptURL'] = {'transcript-url', 'transcripturl'}, | ||
['TransTitle'] = {'trans-title', 'trans_title'}, | ['TransTitle'] = {'trans-title', 'trans_title'}, | ||
Line 226: | Line 239: | ||
['Year'] = 'year', | ['Year'] = 'year', | ||
['AuthorList-First'] = {"author#-first", "author-first#", | ['AuthorList-First'] = {"author#-first", "author-first#", "first#", "given#"}, | ||
['AuthorList-Last'] = {"author#-last", "author-last#", "last#", "surname#", "Author#", "author#", "subject#"}, | |||
['AuthorList-Last'] = {"author#-last", "author-last#", | ['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#"}, | |||
['AuthorList-Link'] = {"author#-link", "author-link#", | |||
['AuthorList-Mask'] = {"author#-mask", "author-mask#", | |||
['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#"}, | |||
} | } | ||
--[[--------------------------< D E F A U L T S >-------------------------------------------------------------- | |||
-- Default parameter values | -- Default parameter values | ||
]] | |||
local defaults = { | |||
['DeadURL'] = 'yes', | ['DeadURL'] = 'yes', | ||
['PPrefix'] = "p. ", | ['PPrefix'] = "p. ", | ||
['PPPrefix'] = "pp. ", | ['PPPrefix'] = "pp. ", | ||
} | } | ||
--[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- | |||
Here we name maintenance categories to be used in maintenance messages. | |||
]] | |||
local maint_cats = { | |||
['ASIN'] = 'CS1 maint: ASIN uses ISBN', | |||
['date_year'] = 'CS1 maint: Date and year', | |||
['disp_auth_ed'] = 'CS1 maint: display-$1', -- $1 is authors or editors | |||
['embargo'] = 'CS1 maint: PMC embargo expired', | |||
['english'] = 'CS1 maint: English language specified', | |||
['etal'] = 'CS1 maint: Explicit use of et al.', | |||
['unknown_lang'] = 'CS1 maint: Unrecognized language', | |||
['untitled'] = 'CS1 maint: Untitled periodical', | |||
} | |||
--[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------ | |||
Here we name properties categories | |||
]] | |||
local prop_cats = { | |||
['foreign_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is language name, $2 is ISO639-1 code | |||
['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | |||
['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | |||
} | |||
--[[--------------------------< T I T L E _ T Y P E S >-------------------------------------------------------- | |||
Here we map a template's CitationClass to TitleType | |||
]] | |||
local title_types = { | |||
['AV-media-notes'] = 'Media notes', | |||
['DVD-notes'] = 'Media notes', | |||
['mailinglist'] = 'Mailing list', | |||
['map'] = 'Map', | |||
['podcast'] = 'Podcast', | |||
['pressrelease'] = 'Press release', | |||
['report'] = 'Report', | |||
['techreport'] = 'Technical report', | |||
['thesis'] = 'Thesis', | |||
} | |||
--[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- | --[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- | ||
Error condition table | Error condition table | ||
Line 264: | Line 323: | ||
]] | ]] | ||
local error_conditions = { | |||
accessdate_missing_url = { | accessdate_missing_url = { | ||
message = '<code style="'..code_style..'">|accessdate=</code> requires <code style="'..code_style..'">|url=</code>', | message = '<code style="'..code_style..'">|accessdate=</code> requires <code style="'..code_style..'">|url=</code>', | ||
Line 279: | Line 338: | ||
anchor = 'archive_missing_url', | anchor = 'archive_missing_url', | ||
category = 'Pages with archiveurl citation errors', | category = 'Pages with archiveurl citation errors', | ||
hidden = false }, | |||
arxiv_missing = { | |||
message = '<code style="'..code_style..'">|arxiv=</code> required', | |||
anchor = 'arxiv_missing', | |||
category = 'CS1 errors: arXiv', -- same as bad arxiv | |||
hidden = false }, | |||
arxiv_params_not_supported = { | |||
message = 'Unsupported parameter(s) in cite arXiv', | |||
anchor = 'arxiv_params_not_supported', | |||
category = 'CS1 errors: arXiv', -- same as bad arxiv | |||
hidden = false }, | hidden = false }, | ||
bad_arxiv = { | bad_arxiv = { | ||
Line 452: | Line 521: | ||
} | } | ||
--[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- | |||
The following contains a list of values for various defined identifiers. For each identifier we specify a | |||
variety of information necessary to properly render the identifier in the citation. | |||
parameters: a list of parameter aliases for this identifier | |||
link: Wikipedia article name | |||
label: the alternate name to apply to link | |||
mode: 'manual' when there is a specific function in the code to handle the identifier; | |||
'external' for identifiers that link outside of Wikipedia; | |||
prefix: the first part of a url that will be concatenated with a second part which usually contains the identifier | |||
encode: true if uri should be percent encoded; otherwise false | |||
COinS: into rft.id | |||
separator: character or text between label and the identifier in the rendered citation | |||
]] | |||
local id_handlers = { | |||
['ARXIV'] = { | ['ARXIV'] = { | ||
parameters = {'arxiv', 'ARXIV'}, | parameters = {'arxiv', 'ARXIV', 'eprint'}, | ||
link = 'arXiv', | link = 'arXiv', | ||
label = 'arXiv', | label = 'arXiv', | ||
Line 528: | Line 613: | ||
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 = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
Line 644: | Line 728: | ||
} | } | ||
return | return { | ||
aliases = aliases, | |||
defaults = defaults, | |||
error_conditions = error_conditions, | |||
id_handlers = id_handlers, | |||
maint_cats = maint_cats, | |||
messages = messages, | |||
presentation = presentation, | |||
prop_cats = prop_cats, | |||
title_types = title_types, | |||
uncategorized_namespaces = uncategorized_namespaces, | |||
uncategorized_subpages = uncategorized_subpages, | |||
} |
Revision as of 09:53, 18 April 2015
Documentation for this module may be created at Module:Citation/CS1/Configuration/doc
local 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.
]]
local 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' };
local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize
--[[--------------------------< 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.
]]
local 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 $1',
['season'] = 'Season $1',
['series'] = 'Series $1',
['cartography'] = 'Cartography by $1',
['section'] = '§ $1',
['sections'] = '§§ $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'] = " – 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.
]]
local 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
['format'] = ' <span style="font-size:85%;">($1)</span>', -- for |format=, |chapter-format=, etc
['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..'">|$1=</code>',
['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content
['quoted-title'] = '"$1"',
['trans-italic-title'] = "[''$1'']",
['trans-quoted-title'] = "[$1]",
}
--[[--------------------------< A L I A S E S >----------------------------------------------------------------
Aliases table for commonly passed parameters
]]
local aliases = {
['AccessDate'] = {'access-date', 'accessdate'},
['Agency'] = 'agency',
['AirDate'] = {'air-date', 'airdate'},
['ArchiveDate'] = {'archive-date', 'archivedate'},
['ArchiveFormat'] = 'archive-format',
['ArchiveURL'] = {'archive-url', 'archiveurl'},
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
['At'] = 'at',
['Authors'] = {'authors', 'people', 'host', 'credits'},
['AuthorFormat'] = {'author-format', 'authorformat'}, -- deprecated in favor of NameListFormat;
['AuthorSeparator'] = 'author-separator', -- deprecated
['AuthorNameSeparator'] = 'author-name-separator', -- deprecated
['Began'] = 'began', -- cite episode and cite series
['BookTitle'] = {'book-title', 'booktitle'},
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview
['Cartography'] = 'cartography',
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'},
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-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
['Class'] = 'class', -- cite arxiv and arxiv identifiers
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 January 2015?
['Conference'] = {'conference', 'event'},
['ConferenceFormat'] = {'conference-format', 'event-format'},
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
['Date'] = {'date', 'air-date', 'airdate'},
['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', 'doi_brokendate', 'doi_inactivedate'},
['Edition'] = 'edition',
['Editors'] = 'editors',
['EditorFormat'] = {'editor-format', 'editorformat'}, -- deprecated in favor of NameListFormat;
['EditorSeparator'] = 'editor-separator', -- deprecated
['EditorNameSeparator'] = 'editor-name-separator', -- deprecated
['Embargo'] = 'embargo',
['Encyclopedia'] = {'encyclopedia', 'encyclopaedia'}, -- this one only used by citation
['Ended'] = 'ended', -- cite episode and cite series
['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode?
['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'},
['LayFormat'] = 'lay-format',
['LaySource'] = {'lay-source', 'laysource'},
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
['MailingList'] = {'mailinglist', 'mailing-list'}, -- cite mailing list only
['Map'] = 'map', -- cite map only
['MapFormat'] = 'map-format', -- cite map only
['MapURL'] = {'mapurl', 'map-url'}, -- cite map only
['MessageID'] = 'message-id',
['Minutes'] = 'minutes',
['Mode'] = 'mode',
['Month'] = 'month', -- deprecated; remove after 1 January 2015?
['NameListFormat'] = {'name-list-format', 'author-format', 'authorformat', 'editor-format', 'editorformat'},
['NameSeparator'] = 'name-separator', -- deprecated
['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',
['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',
['ScriptTitle'] = 'script-title',
['Section'] = 'section',
['Season'] = 'season',
['Sections'] = 'sections', -- cite map only
['Separator'] = 'separator', -- deprecated in favor of Mode
['Series'] = {'series', 'version'},
['SeriesSeparator'] = 'series-separator',
['SeriesLink'] = {'series-link', 'serieslink'},
['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'},
['Sheet'] = 'sheet', -- cite map only
['Sheets'] = 'sheets', -- cite map only
['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'},
['TransMap'] = 'trans-map', -- cite map only
['Transcript'] = 'transcript',
['TranscriptFormat'] = 'transcript-format',
['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#", "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#"},
}
--[[--------------------------< D E F A U L T S >--------------------------------------------------------------
-- Default parameter values
]]
local defaults = {
['DeadURL'] = 'yes',
['PPrefix'] = "p. ",
['PPPrefix'] = "pp. ",
}
--[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >----------------------------------
Here we name maintenance categories to be used in maintenance messages.
]]
local maint_cats = {
['ASIN'] = 'CS1 maint: ASIN uses ISBN',
['date_year'] = 'CS1 maint: Date and year',
['disp_auth_ed'] = 'CS1 maint: display-$1', -- $1 is authors or editors
['embargo'] = 'CS1 maint: PMC embargo expired',
['english'] = 'CS1 maint: English language specified',
['etal'] = 'CS1 maint: Explicit use of et al.',
['unknown_lang'] = 'CS1 maint: Unrecognized language',
['untitled'] = 'CS1 maint: Untitled periodical',
}
--[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------
Here we name properties categories
]]
local prop_cats = {
['foreign_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is language name, $2 is ISO639-1 code
['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category
['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code
}
--[[--------------------------< T I T L E _ T Y P E S >--------------------------------------------------------
Here we map a template's CitationClass to TitleType
]]
local title_types = {
['AV-media-notes'] = 'Media notes',
['DVD-notes'] = 'Media notes',
['mailinglist'] = 'Mailing list',
['map'] = 'Map',
['podcast'] = 'Podcast',
['pressrelease'] = 'Press release',
['report'] = 'Report',
['techreport'] = 'Technical report',
['thesis'] = 'Thesis',
}
--[[--------------------------< 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
]]
local error_conditions = {
accessdate_missing_url = {
message = '<code style="'..code_style..'">|accessdate=</code> requires <code style="'..code_style..'">|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..'">|archiveurl=</code> requires <code style="'..code_style..'">|archivedate=</code>',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code style="'..code_style..'">|archiveurl=</code> requires <code style="'..code_style..'">|url=</code>',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
hidden = false },
arxiv_missing = {
message = '<code style="'..code_style..'">|arxiv=</code> required',
anchor = 'arxiv_missing',
category = 'CS1 errors: arXiv', -- same as bad arxiv
hidden = false },
arxiv_params_not_supported = {
message = 'Unsupported parameter(s) in cite arXiv',
anchor = 'arxiv_params_not_supported',
category = 'CS1 errors: arXiv', -- same as bad arxiv
hidden = false },
bad_arxiv = {
message = 'Check <code style="'..code_style..'">|arxiv=</code> value',
anchor = 'bad_arxiv',
category = 'CS1 errors: arXiv',
hidden = false },
bad_asin = {
message = 'Check <code style="'..code_style..'">|asin=</code> value',
anchor = 'bad_asin',
category ='CS1 errors: ASIN',
hidden = false },
bad_authorlink = {
message = 'Check <code style="'..code_style..'">|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..'">|doi=</code> value',
anchor = 'bad_doi',
category = 'CS1 errors: DOI',
hidden = false },
bad_isbn = {
message = 'Check <code style="'..code_style..'">|isbn=</code> value',
anchor = 'bad_isbn',
category = 'Pages with ISBN errors',
hidden = false },
bad_issn = {
message = 'Check <code style="'..code_style..'">|issn=</code> value',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
hidden = false },
bad_lccn = {
message = 'Check <code style="'..code_style..'">|lccn=</code> value',
anchor = 'bad_lccn',
category = 'CS1 errors: LCCN',
hidden = false },
bad_message_id = {
message = 'Check <code style="'..code_style..'">|message-id=</code> value',
anchor = 'bad_message_id',
category = 'CS1 errors: message-id',
hidden = false },
bad_ol = {
message = 'Check <code style="'..code_style..'">|ol=</code> value',
anchor = 'bad_ol',
category = 'CS1 errors: OL',
hidden = false },
bad_pmc = {
message = 'Check <code style="'..code_style..'">|pmc=</code> value',
anchor = 'bad_pmc',
category = 'CS1 errors: PMC',
hidden = false },
bad_pmid = {
message = 'Check <code style="'..code_style..'">|pmid=</code> value',
anchor = 'bad_pmid',
category = 'CS1 errors: PMID',
hidden = false },
bad_url = {
message = 'Check <code style="'..code_style..'">|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..'">|chapter=</code> ignored',
anchor = 'chapter_ignored',
category = 'CS1 errors: chapter ignored',
hidden = false },
citation_missing_title = {
message = 'Missing or empty <code style="'..code_style..'">|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..'">|url=</code>',
anchor = 'cite_web_url',
category = 'Pages using web citations with no URL',
hidden = true },
coauthors_missing_author = {
message = '<code style="'..code_style..'">|coauthors=</code> requires <code style="'..code_style..'">|author=</code>',
anchor = 'coauthors_missing_author',
category = 'CS1 errors: coauthors without author',
hidden = false },
deprecated_params = {
message = 'Cite uses deprecated parameter <code style="'..code_style..'">|$1=</code>',
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..'">|pages=</code> or <code style="'..code_style..'">|at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
first_missing_last = {
message = '<code style="'..code_style..'">|first$2=</code> missing <code style="'..code_style..'">|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..'">|$1=</code> requires <code style="'..code_style..'">|$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..'">|displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al. in editors',
hidden = true },
invalid_param_val = {
message = 'Invalid <code style="'..code_style..'">|$1=$2</code>',
anchor = 'invalid_param_val',
category = 'CS1 errors: invalid parameter value',
hidden = false },
missing_name = {
message = 'Missing <code style="'..code_style..'">|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..'">|$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..'">|$1=</code> ignored (<code style="'..code_style..'">|$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..'">|trans-chapter=</code> requires <code style="'..code_style..'">|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..'">|trans-title=</code> requires <code style="'..code_style..'">|title=</code>',
anchor = 'trans_missing_title',
category = 'Pages with citations using translated terms without the original',
hidden = false },
vancouver = {
message = 'Vancouver style error',
anchor = 'vancouver',
category = 'CS1 errors: Vancouver style',
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 },
}
--[[--------------------------< I D _ H A N D L E R S >--------------------------------------------------------
The following contains a list of values for various defined identifiers. For each identifier we specify a
variety of information necessary to properly render the identifier in the citation.
parameters: a list of parameter aliases for this identifier
link: Wikipedia article name
label: the alternate name to apply to link
mode: 'manual' when there is a specific function in the code to handle the identifier;
'external' for identifiers that link outside of Wikipedia;
prefix: the first part of a url that will be concatenated with a second part which usually contains the identifier
encode: true if uri should be percent encoded; otherwise false
COinS: into rft.id
separator: character or text between label and the identifier in the rendered citation
]]
local id_handlers = {
['ARXIV'] = {
parameters = {'arxiv', 'ARXIV', 'eprint'},
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 = ' ',
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 = ' ',
},
['ISSN'] = {
parameters = {'issn', 'ISSN'},
link = 'International Standard Serial Number',
label = 'ISSN',
mode = 'manual',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.issn',
encode = false,
separator = ' ',
},
['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 = ' ',
},
['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 = false,
separator = ' ',
},
['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 = ' ',
},
['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 = ' ',
},
['OCLC'] = {
parameters = {'OCLC', 'oclc'},
link = 'OCLC',
label = 'OCLC',
mode = 'external',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
encode = true,
separator = ' ',
},
['OL'] = {
parameters = { 'ol', 'OL' },
link = 'Open Library',
label = 'OL',
mode = 'manual',
COinS = 'info:olnum',
separator = ' ',
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 = ' ',
},
['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 = ' ',
},
['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 = ' ',
},
['RFC'] = {
parameters = {'RFC', 'rfc'},
link = 'Request for Comments',
label = 'RFC',
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfc',
encode = false,
separator = ' ',
},
['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 = ' ',
},
['USENETID'] = {
parameters = {'message-id'},
link = 'Usenet',
label = 'Usenet:',
mode = 'manual',
prefix = 'news:',
encode = false,
COinS = 'info:usenet',
separator = ' ',
},
['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = ' ',
},
}
return {
aliases = aliases,
defaults = defaults,
error_conditions = error_conditions,
id_handlers = id_handlers,
maint_cats = maint_cats,
messages = messages,
presentation = presentation,
prop_cats = prop_cats,
title_types = title_types,
uncategorized_namespaces = uncategorized_namespaces,
uncategorized_subpages = uncategorized_subpages,
}