Module:Citation/CS1/Configuration: Difference between revisions

    From Nonbinary Wiki
    m>Dragons flight
    (sync to sandbox, error cat suppression by namespace, merge cite_web_title to bare_url, translation styling, reveal several errors)
    m>Dragons flight
    (name changes, additional translations, and tweaks to bare url error)
    Line 16: Line 16:
    module.
    module.
    ]]
    ]]
    citation_config.message_list = {
    citation_config.messages = {
       ['published'] = 'published $1',
       ['published'] = 'published $1',
       ['lay summary'] = 'Lay summary',
       ['lay summary'] = 'Lay summary',
    Line 33: Line 33:
       ['series'] = 'series',
       ['series'] = 'series',
       ['written'] = 'Written at $1',
       ['written'] = 'Written at $1',
      ['in'] = 'In',
       ['et al'] = 'et al.',  
       ['et al'] = 'et al.',  
       ['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required)</span>',  
       ['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(subscription required)</span>',  
    Line 45: Line 46:
       ['trans-italic-title'] = "&#91;''$1''&#93;",
       ['trans-italic-title'] = "&#91;''$1''&#93;",
       ['quoted-text'] = '"$1"',
       ['quoted-text'] = '"$1"',
        
     
       ['parameter'] = '<code>&#124;$1=</code>',
      ['parameter-separator'] = ', ',
      ['parameter-final-separator'] = ', and ',
      ['parameter-pair-separator'] = ' and ',
     
       -- Error output
       -- Error output
       ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
       ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
    Line 58: Line 64:
       ['unknown_manual_ID'] = 'Unrecognized manual ID mode',
       ['unknown_manual_ID'] = 'Unrecognized manual ID mode',
       ['unknown_ID_mode'] = 'Unrecognized ID mode',
       ['unknown_ID_mode'] = 'Unrecognized ID mode',
       ['unknown_argument_map'] = 'Argument map not defined for this variable'
       ['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
    Argument map table
    citation_config.aliases = {
    ]]
    citation_config.argument_map = {
         ['AccessDate'] = 'accessdate',
         ['AccessDate'] = 'accessdate',
         ['Agency'] = 'agency',
         ['Agency'] = 'agency',
    Line 103: Line 108:
         ['LayDate'] = 'laydate',
         ['LayDate'] = 'laydate',
         ['LaySource'] = 'laysource',
         ['LaySource'] = 'laysource',
         ['LaySummary'] = 'laysummary',
         ['LayURL'] = {'layurl', 'laysummary'},
         ['Minutes'] = 'minutes',
         ['Minutes'] = 'minutes',
         ['Month'] = 'month',
         ['Month'] = 'month',
    Line 169: Line 174:
    }
    }


    --[[
    -- Default parameter values
    Default parameter values
    citation_config.defaults = {
    ]]
    citation_config.default_values = {
         ['DeadURL'] = 'yes',
         ['DeadURL'] = 'yes',
         ['PostScript'] = '.',
         ['PostScript'] = '.',
    Line 195: Line 198:
    citation_config.error_conditions = {
    citation_config.error_conditions = {
         accessdate_missing_url = {
         accessdate_missing_url = {
             message = '<code>|accessdate=</code> requires <code>|url=</code>',
             message = '<code>&#124;accessdate=</code> requires <code>&#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>|archiveurl=</code> requires <code>|archivedate=</code>',
             message = '<code>&#124;archiveurl=</code> requires <code>&#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>|archiveurl=</code> requires <code>|url=</code>',
             message = '<code>&#124;archiveurl=</code> requires <code>&#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 },
             hidden = false },
         bad_doi = {
         bad_doi = {
             message = 'Check <code>|doi=</code> value',
             message = 'Check <code>&#124;doi=</code> value',
             anchor = 'bad_doi',
             anchor = 'bad_doi',
             category = 'Pages with DOI errors',
             category = 'Pages with DOI errors',
             hidden = false },
             hidden = false },
         bad_isbn = {
         bad_isbn = {
             message = 'Check <code>|isbn=</code> value',
             message = 'Check <code>&#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_ol = {
         bad_ol = {
             message = 'Check <code>|ol=</code> value',
             message = 'Check <code>&#124;ol=</code> value',
             anchor = 'bad_ol',
             anchor = 'bad_ol',
             category = 'Pages with OL errors',
             category = 'Pages with OL errors',
             hidden = false },
             hidden = false },
         bad_url = {
         bad_url = {
             message = 'Check <code>|url=</code> scheme',
             message = 'Check <code>&#124;url=</code> scheme',
             anchor = 'bad_url',
             anchor = 'bad_url',
             category = 'Pages with URL errors',
             category = 'Pages with URL errors',
             hidden = false },
             hidden = false },
         bare_url_missing_title = {
         bare_url_missing_title = {
             message = 'Missing or empty <code>|title=</code>',
             message = '$1 missing title',
             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 },
             hidden = false },
         citation_missing_title = {
         citation_missing_title = {
             message = 'Missing or empty <code>|title=</code>',
             message = 'Missing or empty <code>&#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 = {
         cite_web_url = {
             message = 'Missing or empty <code>|url=</code>',
             message = 'Missing or empty <code>&#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‎',
    Line 250: Line 253:
             hidden = false },
             hidden = false },
         extra_pages = {
         extra_pages = {
             message = 'Extra <code>|pages=</code> or <code>|at=</code>',
             message = 'Extra <code>&#124;pages=</code> or <code>&#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 },
             hidden = false },
         format_missing_url = {
         format_missing_url = {
             message = '<code>|format=</code> requires <code>|url=</code>',
             message = '<code>&#124;format=</code> requires <code>&#124;url=</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 },
             hidden = true },
         implict_etal_author = {
         implict_etal_author = {
             message = '<code>|displayauthors=</code> suggested',
             message = '<code>&#124;displayauthors=</code> suggested',
             anchor = 'displayauthors',
             anchor = 'displayauthors',
             category = 'Pages using citations with old-style implicit et al.‎',
             category = 'Pages using citations with old-style implicit et al.‎',
             hidden = true },
             hidden = true },
         implict_etal_editor = {
         implict_etal_editor = {
             message = '<code>|displayeditors=</code> suggested',
             message = '<code>&#124;displayeditors=</code> suggested',
             anchor = 'displayeditors',
             anchor = 'displayeditors',
             category = 'Pages using citations with old-style implicit et al.‎',
             category = 'Pages using citations with old-style implicit et al.‎',
             hidden = true },
             hidden = true },
         parameter_ignored = {
         parameter_ignored = {
             message = 'Unknown parameter <code>|$1=</code> ignored',
             message = 'Unknown parameter <code>&#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>|$1=</code> ignored (<code>|$2=</code> suggested)',
             message = 'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#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 290: Line 293:
             hidden = false },
             hidden = false },
         trans_missing_chapter = {
         trans_missing_chapter = {
             message = '<code>|trans-chapter=</code> requires <code>|chapter=</code>',
             message = '<code>&#124;trans-chapter=</code> requires <code>&#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>|trans-title=</code> requires <code>|title=</code>',
             message = '<code>&#124;trans-title=</code> requires <code>&#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',

    Revision as of 18:42, 25 April 2013

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

    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',
      ['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>', 
      ['language'] = '(in $1)', 
      ['via'] = " &mdash; via $1",
      ['event'] = 'Event occurs at',
      ['minutes'] = 'minutes in', 
    
      ['quoted-title'] = '"$1"',
      ['italic-title'] = "''$1''",
      ['trans-quoted-title'] = "&#91;$1&#93;",
      ['trans-italic-title'] = "&#91;''$1''&#93;",
      ['quoted-text'] = '"$1"',
    
      ['parameter'] = '<code>&#124;$1=</code>',
      ['parameter-separator'] = ', ',
      ['parameter-final-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
      ['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',
        ['AuthorFormat'] = {"author-format", "authorformat" },
        ['AuthorSeparator'] = 'author-separator',
        ['AuthorNameSeparator'] = 'author-name-separator',
        ['BookTitle'] = 'booktitle',
        ['Chapter'] = {'chapter', 'contribution', 'entry', 'article' },
        ['ChapterLink'] = 'chapterlink',
        ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl' },
        ['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'},
        ['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'},
        ['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',
        ['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.&nbsp;",
        ['PPPrefix'] = "pp.&nbsp;",    
    }
    
    --[[
    Error condition table
    
    The following contains a list of IDs for various error conditions defined in the 
    code.  For each ID, we specify a text message to display, an error category to
    include, and whether the error message should be wrapped as a hidden comment.
    
    Anchor changes require identical changes to matching anchor in Help:CS1 errors
    ]]
    
    citation_config.error_conditions = {
        accessdate_missing_url = {
            message = '<code>&#124;accessdate=</code> requires <code>&#124;url=</code>',
            anchor = 'accessdate_missing_url',
            category = 'Pages using citations with accessdate and no URL',
            hidden = true },
        archive_missing_date = {
            message = '<code>&#124;archiveurl=</code> requires <code>&#124;archivedate=</code>',
            anchor = 'archive_missing_date',
            category = 'Pages with archiveurl citation errors‎',
            hidden = false },
        archive_missing_url = {
            message = '<code>&#124;archiveurl=</code> requires <code>&#124;url=</code>',
            anchor = 'archive_missing_url',
            category = 'Pages with archiveurl citation errors‎',
            hidden = false },
        bad_doi = {
            message = 'Check <code>&#124;doi=</code> value',
            anchor = 'bad_doi',
            category = 'Pages with DOI errors',
            hidden = false },
        bad_isbn = {
            message = 'Check <code>&#124;isbn=</code> value',
            anchor = 'bad_isbn',
            category = 'Pages with ISBN errors',
            hidden = false },
        bad_ol = {
            message = 'Check <code>&#124;ol=</code> value',
            anchor = 'bad_ol',
            category = 'Pages with OL errors',
            hidden = false },
        bad_url = {
            message = 'Check <code>&#124;url=</code> scheme',
            anchor = 'bad_url',
            category = 'Pages with URL errors',
            hidden = false },
        bare_url_missing_title = {
            message = '$1 missing title',
            anchor = 'bare_url_missing_title',
            category = 'Pages with citations having bare URLs‎',
            hidden = false },
        citation_missing_title = {
            message = 'Missing or empty <code>&#124;title=</code>',
            anchor = 'citation_missing_title',
            category = 'Pages with citations lacking titles‎',
            hidden = false },
        cite_web_url = {
            message = 'Missing or empty <code>&#124;url=</code>',
            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 <code>&#124;pages=</code> or <code>&#124;at=</code>',
            anchor = 'extra_pages',
            category = 'Pages with citations using conflicting page specifications‎',
            hidden = false },
        format_missing_url = {
            message = '<code>&#124;format=</code> requires <code>&#124;url=</code>',
            anchor = 'format_missing_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 },
        implict_etal_editor = {
            message = '<code>&#124;displayeditors=</code> suggested',
            anchor = 'displayeditors',
            category = 'Pages using citations with old-style implicit et al.‎',
            hidden = true },
        parameter_ignored = {
            message = 'Unknown parameter <code>&#124;$1=</code> ignored',
            anchor = 'parameter_ignored',
            category = 'Pages with citations using unsupported parameters',
            hidden = false },
        parameter_ignored_suggest = {
            message = 'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#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>&#124;trans-chapter=</code> requires <code>&#124;chapter=</code>',
            anchor = 'trans_missing_chapter',
            category = 'Pages with citations using translated terms without the original',
            hidden = false },
        trans_missing_title = {
            message = '<code>&#124;trans-title=</code> requires <code>&#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 = {
        ['ASIN'] = {
            parameters = { 'asin', 'ASIN' },       
            link = 'Amazon Standard Identification Number',
            label = 'ASIN',
            mode = 'manual',
            COinS = 'info:asin',
            separator = '&nbsp;',
            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 = '&nbsp;',
            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 = '&nbsp;',
        },
        ['ISSN'] = {
            parameters = {'issn', 'ISSN'}, 
            link = 'International Standard Serial Number',
            label = 'ISSN',
            mode = 'external',
            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 = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
            COinS = 'rft.jfm',
            encode = true,
            separator = '&nbsp;',
        },
        ['JSTOR'] = {
            parameters = {'jstor', 'JSTOR'}, 
            link = 'JSTOR',
            label = 'JSTOR',
            mode = 'external',
            prefix = 'http://www.jstor.org/stable/',
            COinS = 'rft.jstor',
            encode = true,
            separator = '&nbsp;',
        },
        ['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 = '&nbsp;',
        },
        ['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 = '&nbsp;',
        },
        ['OCLC'] = {
            parameters = {'OCLC', 'oclc'}, 
            link = 'OCLC',
            label = 'OCLC',
            mode = 'external',
            prefix = '//www.worldcat.org/oclc/',
            COinS = 'info:oclcnum',
            encode = true,
            separator = '&nbsp;',
        },
        ['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 = '&nbsp;',
        },
        ['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 = '&nbsp;',
        },
        ['PMID'] = {
            parameters = {'PMID', 'pmid'}, 
            link = 'PubMed Identifier',
            label = 'PMID',
            mode = 'external',
            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 = 'http://ssrn.com/abstract=',
            COinS = 'info:ssrn',
            encode = true,
            separator = '&nbsp;',
        },
        ['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 = '&nbsp;',
        }
    }
    
    return citation_config;