Module:Citation/CS1/Configuration

From AGI Wiki
Revision as of 14:19, 1 December 2013 by Andrew Branscom (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

citation_config = {};

--[[ 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', 'User_talk', 'Wikipedia_talk' };

--[[ Translation table

The following contains fixed text that may be output as part of a citation. This is separated from the main body to aid in future translations of this module. ]] citation_config.messages = {

 ['published'] = 'published $1',
 ['lay summary'] = 'Lay summary',
 ['retrieved'] = 'Retrieved $1',
 ['inactive'] = 'inactive',
 ['archived-dead'] = 'Archived from $1 on $2',
 ['archived-not-dead'] = '$1 from the original on $2',
 ['archived-missing'] = 'Archived from the original$1 on $2',
 ['archived'] = 'Archived',
 ['original'] = 'the original',
 ['editor'] = 'ed.',
 ['editors'] = 'eds.', 
 ['edition'] = '($1 ed.)', 
 ['episode'] = 'episode',
 ['season'] = 'season', 
 ['series'] = 'series',
 ['cartography'] = 'Cartography by $1',
 ['section'] = 'Section $1',
 ['inset'] = '$1 inset',
 ['written'] = 'Written at $1',
 ['in'] = 'In',
 ['et al'] = 'et al.', 
 
 -- include category when 'via' parameter is not used in the citation
 ['subscription'] = '(subscription required)',    
 ['subscription_no_via'] = '(subscription required)' ..
       , 
 
 ['language'] = '(in $1)', 
 ['via'] = " – via $1 ",
 ['event'] = 'Event occurs at',
 ['minutes'] = 'minutes in', 
 ['quoted-title'] = '"$1"',
 ['italic-title'] = "$1",
 ['trans-quoted-title'] = "[$1]",
 ['trans-italic-title'] = "[$1]",
 ['quoted-text'] = '"$1"',
 ['parameter'] = '|$1=',
 ['parameter-separator'] = ', ',
 ['parameter-final-separator'] = ', and ',
 ['parameter-pair-separator'] = ' and ',
 -- Error output
 ['hidden-error'] = '',
 ['visible-error'] = '$1',
 
 -- Determines the location of the help page
 ['help page link'] = 'Help:CS1 errors',
 ['help page label'] = 'help',
 
 -- Internal errors (should only occur if configuration is bad)
 ['undefined_error'] = 'Called with an undefined error condition',
 ['unknown_manual_ID'] = 'Unrecognized manual ID mode',
 ['unknown_ID_mode'] = 'Unrecognized ID mode',
 ['unknown_argument_map'] = 'Argument map not defined for this variable',
 ['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',

}

-- Aliases table for commonly passed parameters citation_config.aliases = {

   ['AccessDate'] = 'accessdate',
   ['Agency'] = 'agency',
   ['AirDate'] = 'airdate',
   ['ArchiveDate'] = {'archive-date', 'archivedate' },
   ['ArchiveURL'] = {'archive-url', 'archiveurl' },
   ['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
   ['At'] = 'at',
   ['Authors'] = {'authors', 'people'},
   ['AuthorFormat'] = {"author-format", "authorformat" },
   ['AuthorSeparator'] = 'author-separator',
   ['AuthorNameSeparator'] = 'author-name-separator',
   ['BookTitle'] = 'booktitle',
   ['Cartography'] = 'cartography',
   ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section' },
   ['ChapterLink'] = 'chapterlink',
   ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
   ['Coauthors'] = {'coauthors', 'coauthor' },
   ['Conference'] = 'conference',
   ['ConferenceURL'] = {'conference-url', 'conferenceurl' },
   ['Date'] = 'date',
   ['Day'] = 'day',
   ['DeadURL'] = 'deadurl',
   ['DisplayAuthors'] = {"display-authors", "displayauthors"},
   ['DisplayEditors'] = {"display-editors", "displayeditors"},
   ['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
   ['Edition'] = 'edition',
   ['Editors'] = 'editors',
   ['EditorFormat'] = {"editor-format", "editorformat" },
   ['EditorSeparator'] = 'editor-separator',
   ['EditorNameSeparator'] = 'editor-name-separator',
   ['Embargo'] = {'Embargo', 'embargo'},
   ['Format'] = 'format',
   ['ID'] = {'id', 'ID', 'docket'},
   ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
   ['Inset'] = 'inset',
   ['Issue'] = {'issue', 'number'},
   ['Language'] = {'language', 'in'},
   ['LastAuthorAmp'] = 'lastauthoramp',
   ['LayDate'] = 'laydate',
   ['LaySource'] = 'laysource',
   ['LayURL'] = {'layurl', 'laysummary'},
   ['Minutes'] = 'minutes',
   ['Month'] = 'month',
   ['NameSeparator'] = 'name-separator',
   ['Network'] = 'network',
   ['NoPP'] = 'nopp',
   ['NoTracking'] = {"template doc demo", 'nocat', 
       'notracking', "no-tracking"},
   ['OrigYear'] = 'origyear',
   ['Others'] = 'others',
   ['Page'] = {'p', 'page'},
   ['Pages'] = {'pp', 'pages'},
   ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
       'website',  'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
   ['Place'] = {'place', 'location'},
   ['PPrefix'] = 'PPrefix',
   ['PPPrefix'] = 'PPPrefix',
   ['PostScript'] = 'postscript',
   ['PublicationDate'] = {'publicationdate', 'publication-date' },
   ['PublicationPlace'] = {'publication-place', 'publicationplace' },
   ['PublisherName'] = 'publisher',
   ['Quote'] = {'quote', 'quotation'},
   ['Ref'] = {'ref', 'Ref'},
   ['Scale'] = 'scale',
   ['Section'] = 'section',
   ['Season'] = 'season',
   ['Separator'] = 'separator',
   ['Series'] = {'series', 'version'},
   ['SeriesSeparator'] = 'series-separator',
   ['SeriesLink'] = 'serieslink',
   ['SeriesNumber'] = {'seriesnumber', 'seriesno'},
   ['Station'] = 'station',
   ['SubscriptionRequired'] = 'subscription',
   ['Time'] = 'time',
   ['TimeCaption'] = 'timecaption',
   ['Title'] = 'title',
   ['TitleLink'] = {'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#"},
   ['AuthorList-Link'] = {"author#-link", "author-link#", 
       "author#link", "authorlink#"},
   ['AuthorList-Mask'] = {"author#-mask", "author-mask#", 
       "author#mask", "authormask#"},
   
   ['EditorList-First'] = {"editor#-first", 
       "editor-first#", "EditorGiven#"},
   ['EditorList-Last'] = {"editor#-last", "editor-last#",
       "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',
   ['PostScript'] = '.',
   ['Separator'] = '.',
   ['AuthorSeparator'] = ';',
   ['EditorSeparator'] = ';',
   ['NameSeparator'] = ',',
   ['PPrefix'] = "p. ",
   ['PPPrefix'] = "pp. ",    

}

--[[ 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 = '|accessdate= requires |url=',
       anchor = 'accessdate_missing_url',
       category = 'Pages using citations with accessdate and no URL',
       hidden = true },
   archive_missing_date = {
       message = '|archiveurl= requires |archivedate=',
       anchor = 'archive_missing_date',
       category = 'Pages with archiveurl citation errors‎',
       hidden = false },
   archive_missing_url = {
       message = '|archiveurl= requires |url=',
       anchor = 'archive_missing_url',
       category = 'Pages with archiveurl citation errors‎',
       hidden = false },
   bad_doi = {
       message = 'Check |doi= value',
       anchor = 'bad_doi',
       category = 'Pages with DOI errors',
       hidden = false },
   bad_isbn = {
       message = 'Check |isbn= value',
       anchor = 'bad_isbn',
       category = 'Pages with ISBN errors',
       hidden = false },
   bad_ol = {
       message = 'Check |ol= value',
       anchor = 'bad_ol',
       category = 'Pages with OL errors',
       hidden = false },
   bad_url = {
       message = 'Check |url= scheme',
       anchor = 'bad_url',
       category = 'Pages with URL errors',
       hidden = false },
   bare_url_missing_title = {
       message = '$1 missing title',
       anchor = 'bare_url_missing_title',
       category = 'Pages with citations having bare URLs‎',
       hidden = false },
   citation_missing_title = {
       message = 'Missing or empty |title=',
       anchor = 'citation_missing_title',
       category = 'Pages with citations lacking titles‎',
       hidden = false },
   cite_web_url = {
       message = 'Missing or empty |url=',
       anchor = 'cite_web_url',
       category = 'Pages using web citations with no URL‎',
       hidden = true },
   empty_citation = {
       message = 'Empty citation‎',
       anchor = 'empty_citation',
       category = 'Pages with empty citations‎',
       hidden = false },
   extra_pages = {
       message = 'Extra |pages= or |at=',
       anchor = 'extra_pages',
       category = 'Pages with citations using conflicting page specifications‎',
       hidden = false },
   format_missing_url = {
       message = '|format= requires |url=',
       anchor = 'format_missing_url',
       category = 'Pages using citations with format and no URL‎',
       hidden = true },
   implict_etal_author = {
       message = '|displayauthors= suggested',
       anchor = 'displayauthors',
       category = 'Pages using citations with old-style implicit et al.‎',
       hidden = true },
   implict_etal_editor = {
       message = '|displayeditors= suggested',
       anchor = 'displayeditors',
       category = 'Pages using citations with old-style implicit et al.‎',
       hidden = true },
   parameter_ignored = {
       message = 'Unknown parameter |$1= ignored',
       anchor = 'parameter_ignored',
       category = 'Pages with citations using unsupported parameters',
       hidden = false },
   parameter_ignored_suggest = {
       message = 'Unknown parameter |$1= ignored (|$2= 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 = '|trans-chapter= requires |chapter=',
       anchor = 'trans_missing_chapter',
       category = 'Pages with citations using translated terms without the original',
       hidden = false },
   trans_missing_title = {
       message = '|trans-title= requires |title=',
       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 = {

   ['ASIN'] = {
       parameters = { 'asin', 'ASIN' },       
       link = 'Amazon Standard Identification Number',
       label = 'ASIN',
       mode = 'manual',
       COinS = 'info:asin',
       separator = ' ',
       encode = false;
   },
   ['DOI'] = {
       parameters = { 'doi', 'DOI' },
       link = 'Digital object identifier',
       label = 'doi',
       mode = 'manual',
       prefix = 'http://dx.doi.org/',
       COinS = 'info:doi',
       separator = ':',
       encode = true,
   },
   ['OL'] = {
       parameters = { 'ol', 'OL' },
       link = 'Open Library',
       label = 'OL',
       mode = 'manual',
       COinS = 'info:olnum',
       separator = ' ',
       endode = true,
   },
   ['ARXIV'] = {
       parameters = {'arxiv', 'ARXIV'}, 
       link = 'arXiv',
       label = 'arXiv',
       mode = 'external',
       prefix = 'http://arxiv.org/abs/',
       encode = false,
       COinS = 'info:arxiv',
       separator = ':',
   },
   ['BIBCODE'] = {
       parameters = {'bibcode', 'BIBCODE'}, 
       link = 'Bibcode',
       label = 'Bibcode',
       mode = 'external',
       prefix = 'http://adsabs.harvard.edu/abs/',
       encode = false,
       COinS = 'info:bibcode',
       separator = ':',
   },
   ['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 = 'external',
       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 = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
       COinS = 'rft.jfm',
       encode = true,
       separator = ' ',
   },
   ['JSTOR'] = {
       parameters = {'jstor', 'JSTOR'}, 
       link = 'JSTOR',
       label = 'JSTOR',
       mode = 'external',
       prefix = 'http://www.jstor.org/stable/',
       COinS = 'rft.jstor',
       encode = true,
       separator = ' ',
   },
   ['LCCN'] = {
       parameters = {'LCCN', 'lccn'}, 
       link = 'Library of Congress Control Number',
       label = 'LCCN',
       mode = 'external',
       prefix = 'http://lccn.loc.gov/',
       COinS = 'rft.lccn',
       encode = false,
       separator = ' ',
   },
   ['MR'] = {
       parameters = {'MR', 'mr'}, 
       link = 'Mathematical Reviews',
       label = 'MR',
       mode = 'external',
       prefix = 'http://www.ams.org/mathscinet-getitem?mr=',
       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 = ' ',
   },
   ['OSTI'] = {
       parameters = {'OSTI', 'osti'}, 
       link = 'Office of Scientific and Technical Information',
       label = 'OSTI',
       mode = 'external',
       prefix = 'http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=',
       COinS = 'info:osti',
       encode = true,
       separator = ' ',
   },
   ['PMC'] = {
       parameters = {'PMC', 'pmc'}, 
       link = 'PubMed Central',
       label = 'PMC',
       mode = 'external',
       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 = 'external',
       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 = 'http://ssrn.com/abstract=',
       COinS = 'info:ssrn',
       encode = true,
       separator = ' ',
   },
   ['ZBL'] = {
       parameters = {'ZBL', 'zbl'}, 
       link = 'Zentralblatt MATH',
       label = 'Zbl',
       mode = 'external',
       prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
       COinS = 'info:zbl',
       encode = true,
       separator = ' ',
   }

}

return citation_config;