MediaWiki:RefToolbarConfig.js

/* Sitewide options for the the Cite toolbar button:
 * All options should be specified
 * "date format" sets the date format used for the function to insert the current date
 * Current available options:
 * date - the day of the month
 * zdate - day of the month, zero padded to 2 digits
 * monthname - The month name
 * month - The numberic month (1-12)
 * zmonth - numeric month, zero padded to 2 digits
 * year - The full year (4 digits)
 * "autodate fields" is a list of template fields that should have a button to insert the current date
 * "months" is a list of localized month names
 * "modal" - if true, the dialogs will be modal windows, blocking access to the rest of the window.
 * See https://en.wikipedia.org/wiki/Modal_window
 * All dialogs in the toolbar are modal by default
 * "autoparse" - if true, previewing a ref will automatically trigger a preview of the parsed wikitext.
 * It is not recommended to set this to true as a global setting as it may slow the script down for
 * people with slow connections.
 * "expandtemplates" - if true, templates and parser functions will be expanded when getting page text
 * (templates inside of ref tags will not be expanded). This will allow references inside of templates or
 * references using to be listed in the named refs dialog and searched by error checks.
 * This may slow loading the named refs and error check dialogs.
 * people with slow connections.
 * "expandtemplates" - if true, templates and parser functions will be expanded when getting page text
 * (templates inside of ref tags will not be expanded). This will allow references inside of templates or
 * references using to be listed in the named refs dialog and searched by error checks.
 * This may slow loading the named refs and error check dialogs.
 * This may slow loading the named refs and error check dialogs.

CiteTB.Options = { "date format" : "  ", "autodate fields" : ['access-date'], "months" : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], "modal" : true, "autoparse" : true, "expandtemplates" : false };

// Cite template definitions new citeTemplate('cite web', 'web', [ // Basic fields {"field": "last", "autofillprop":"last-incr", 'increment_group':'author'}, {"field": "first", "autofillprop":"first-incr", 'increment_group':'author', 'increment_button':true}, {"field": "title", "autofillprop":"title"}, {"field": "url", "autofillid":"url"}, {"field": "website", "autofillprop":"journal"}, {"field": "publisher", "autofillprop":"publisher"}, {"field": "access-date"}, {"field": "ref", "tooltip":"cite-ref-tooltip"} ], [ // Expanded fields {"field": "author", 'increment_group':'author_alt', 'increment_button':true}, {"field": "author-link", "tooltip":"cite-authorlink-tooltip", 'increment_group':'authorlink', 'increment_button':true}, {"field": "archive-url"}, {"field": "archive-date"}, {"field": "location"}, {"field": "page", "tooltip":"cite-page-tooltip"}, {"field": "pages", "autofillprop":"pages", "tooltip":"cite-pages-tooltip"}, {"field": "language", "autofillprop":"language"}, {"field": "format"}, {"field": "doi", "autofillid":"doi", "autofillprop":"doi"}, {"field": "date", "autofillprop":"date"}, {"field": "quote"}, {"field": "url-status", "tooltip":"cite-urlstatus-tooltip"} ]);

new citeTemplate('cite news', 'news', [ // Basic fields {"field": "last", "autofillprop":"last-incr", 'increment_group':'author'}, {"field": "first", "autofillprop":"first-incr", 'increment_group':'author', 'increment_button':true}, {"field": "title", "autofillprop":"title"}, {"field": "url", "autofillid":"url"}, {"field": "access-date"}, {"field": "work", "tooltip":"cite-work-tooltip", "autofillprop":"journal"}, {"field": "agency", "tooltip":"cite-agency-tooltip"}, {"field": "issue"}, {"field": "publisher", "tooltip":"cite-publisher-tooltip", "autofillprop":"publisher"}, {"field": "date", "autofillprop":"date"}, {"field": "ref", "tooltip":"cite-ref-tooltip"} ], [ // Expanded fields {"field": "author", 'increment_group':'author_alt', 'increment_button':true}, {"field": "author-link", "tooltip":"cite-authorlink-tooltip", 'increment_group':'authorlink', 'increment_button':true}, {"field": "archive-url"}, {"field": "archive-date"}, {"field": "location"}, {"field": "page", "tooltip":"cite-page-tooltip"}, {"field": "pages", "autofillprop":"pages", "tooltip":"cite-pages-tooltip"}, {"field": "language", "autofillprop":"language"}, {"field": "format"}, {"field": "doi", "autofillid":"doi", "autofillprop":"doi"}, {"field": "quote"} ]);

new citeTemplate('cite book', 'book', [ // Basic fields {"field": "last", "autofillprop":"last-incr", 'increment_group':'author'}, {"field": "first", "autofillprop":"first-incr", 'increment_group':'author', 'increment_button':true}, {"field": "title", "autofillprop":"title"}, {"field": "date", "autofillprop":"date"}, {"field": "publisher", "autofillprop":"publisher"}, {"field": "location", "autofillprop":"location"}, {"field": "isbn", "autofillid":"isbn", "autofillprop":"isbn"}, {"field": "page", "tooltip":"cite-page-tooltip"}, {"field": "pages", "autofillprop":"pages", "tooltip":"cite-pages-tooltip"}, {"field": "edition", "autofillprop":"edition"}, {"field": "url", "autofillid":"url"}, {"field": "access-date"}, {"field": "ref", "tooltip":"cite-ref-tooltip"}

], [ // Expanded fields {"field": "author", 'increment_group':'author_alt', 'increment_button':true}, {"field": "author-link", "tooltip":"cite-authorlink-tooltip", 'increment_group':'authorlink', 'increment_button':true}, {"field": "editor-last", "increment_group":"editor"}, {"field": "editor-first", "increment_group":"editor", "increment_button":true}, {"field": "editor-link", 'increment_group':'editorlink', 'increment_button':true}, {"field": "archive-url"}, {"field": "archive-date"}, {"field": "language", "autofillprop":"language"}, {"field": "format"}, {"field": "chapter", "autofillprop":"chapter"}, {"field": "quote"} ]);

new citeTemplate('cite journal', 'journal', [ // Basic fields {"field": "last", "autofillprop":"last-incr", 'increment_group':'author'}, {"field": "first<N>", "autofillprop":"first-incr", 'increment_group':'author', 'increment_button':true}, {"field": "title", "autofillprop":"title"}, {"field": "journal", "autofillprop":"journal"}, {"field": "date", "autofillprop":"date"}, {"field": "volume", "autofillprop":"volume"}, {"field": "issue", "autofillprop":"issue"}, {"field": "page", "tooltip":"cite-page-tooltip"}, {"field": "pages", "autofillprop":"pages", "tooltip":"cite-pages-tooltip"}, {"field": "doi", "autofillid":"doi", "autofillprop":"doi"}, {"field": "pmid", "autofillid":"pmid"}, {"field": "url", "autofillid":"url"}, {"field": "access-date"}, {"field": "ref", "tooltip":"cite-ref-tooltip"}, ], [ // Expanded fields {"field": "author<N>", 'increment_group':'author_alt', 'increment_button':true}, {"field": "author<N>-link", "tooltip":"cite-authorlink-tooltip", 'increment_group':'authorlink', 'increment_button':true}, {"field": "editor<N>-last", "increment_group":"editor"}, {"field": "editor<N>-first", "increment_group":"editor", "increment_button":true}, {"field": "editor<N>-link", 'increment_group':'editorlink', 'increment_button':true}, {"field": "series"}, {"field": "at", "tooltip":"cite-at-tooltip"}, {"field": "trans-title"}, {"field": "publisher", "autofillprop":"publisher"}, {"field": "location"}, {"field": "language", "autofillprop":"language"}, {"field": "format"}, {"field": "issn", "autofillprop":"issn"}, {"field": "pmc"}, {"field": "oclc"}, {"field": "bibcode"}, {"field": "id"}, {"field": "quote"}, {"field": "postscript", "tooltip":"cite-postscript-tooltip"} ]);

new citeErrorCheck({'type':'reflist', 'testname':'samecontent', 'desc': 'cite-samecontent-desc', 'func': function(reflist) { var errors = [];  var refs2 = [];  for(var i=0; i<reflist.length; i++) {    if (!reflist[i].shorttag) {      if ($.inArray(reflist[i].content, refs2) != -1) {        if ($.inArray(reflist[i].content, errors) == -1) {          errors.push(reflist[i].content);        }      } else {        refs2.push(reflist[i].content);      }    }  }  ret = [];  for(var j=0; j<errors.length; j++) {    ret.push({'msg':'cite-samecontent-error', 'err':errors[j]});  }  return ret; }} );

new citeErrorCheck({'type':'reflist', 'testname':'repeated', 'desc':'cite-repeated-desc', 'func': function(reflist) { var errors = [];  var refs2 = [];  for(var i=0; i<reflist.length; i++) {    if (!reflist[i].shorttag && reflist[i].refname) {      if ($.inArray(reflist[i].refname, refs2) != -1) {        if ($.inArray(reflist[i].refname, errors) == -1) {          errors.push(reflist[i].refname);        }      } else {        refs2.push(reflist[i].refname);      }    }  }  ret = [];  for(var j=0; j<errors.length; j++) {    ret.push({'msg':'cite-repeated-error', 'err':errors[j]});  }  return ret; }} );

new citeErrorCheck({'type':'reflist', 'testname':'undefined', 'desc':'cite-undefined-desc', 'func': function(reflist) { var errors = [];  var longrefs = [];  for(var i=0; i<reflist.length; i++) {    if (!reflist[i].shorttag && reflist[i].refname) {      longrefs.push(reflist[i].refname);    }  }  for(var j=0; i<reflist.length; j++) {    if (reflist[i].shorttag && $.inArray(reflist[i].refname, errors) == -1 && $.inArray(reflist[i].refname, longrefs) == -1) {      errors.push(reflist[i].refname);    }  }  ret = [];  for(var j=0; j<errors.length; j++) {    ret.push({'msg':'cite-undefined-error', 'err':errors[j]});  }  return ret; }} );

CiteTB.init;