Update citeproc-js to 1.1.182

This commit is contained in:
Dan Stillman 2017-12-11 17:34:17 -05:00
parent 392687f9ee
commit 9ca40890a9

View File

@ -24,7 +24,7 @@
*/ */
var CSL = { var CSL = {
PROCESSOR_VERSION: "1.1.181", PROCESSOR_VERSION: "1.1.182",
CONDITION_LEVEL_TOP: 1, CONDITION_LEVEL_TOP: 1,
CONDITION_LEVEL_BOTTOM: 2, CONDITION_LEVEL_BOTTOM: 2,
PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/, PLAIN_HYPHEN_REGEX: /(?:[^\\]-|\u2013)/,
@ -4732,7 +4732,7 @@ CSL.Engine.Opt = function () {
this.development_extensions.static_statute_locator = false; this.development_extensions.static_statute_locator = false;
this.development_extensions.csl_reverse_lookup_support = false; this.development_extensions.csl_reverse_lookup_support = false;
this.development_extensions.clobber_locator_if_no_statute_section = false; this.development_extensions.clobber_locator_if_no_statute_section = false;
this.development_extensions.wrap_url_and_doi = false; this.development_extensions.wrap_url_and_doi = true;
this.development_extensions.allow_force_lowercase = false; this.development_extensions.allow_force_lowercase = false;
this.development_extensions.handle_parallel_articles = false; this.development_extensions.handle_parallel_articles = false;
this.development_extensions.thin_non_breaking_space_html_hack = false; this.development_extensions.thin_non_breaking_space_html_hack = false;
@ -10604,14 +10604,39 @@ CSL.Node.text = {
if (value) { if (value) {
if (state.opt.development_extensions.wrap_url_and_doi) { if (state.opt.development_extensions.wrap_url_and_doi) {
if (!this.decorations.length || this.decorations[0][0] !== "@" + this.variables[0]) { if (!this.decorations.length || this.decorations[0][0] !== "@" + this.variables[0]) {
this.decorations = [["@" + this.variables[0], "true"]].concat(this.decorations); if (this.variables_real[0] === "DOI" && this.strings.prefix === "https://doi.org/") {
var clonetoken = CSL.Util.cloneToken(this);
var groupblob = new CSL.Blob(null, null, "url-wrapper");
groupblob.decorations.push(["@DOI", "true"]);
value = value.replace(/^https?:\/\/doi.org\//, "");
if (value.match(/^https?:\/\//)) {
var prefix = "";
} else {
var prefix = "https://doi.org/";
}
var prefixblob = new CSL.Blob(prefix);
var valueblob = new CSL.Blob(value);
clonetoken.strings.prefix = "";
groupblob.push(prefixblob);
groupblob.push(valueblob);
state.output.append(groupblob, clonetoken, false, false, true);
} else {
this.decorations = [["@" + this.variables[0], "true"]].concat(this.decorations);
state.output.append(value, this, false, false, true);
}
} else {
state.output.append(value, this, false, false, true);
} }
} else { } else {
if (this.decorations.length && this.decorations[0][0] === "@" + this.variables[0]) { if (this.decorations.length) {
this.decorations = this.decorations.slice(1); for (var i=this.decorations.length-1; i>-1; i--) {
if (this.decorations[i][0] === "@" + this.variables[0]) {
this.decorations = this.decorations.slice(0, i).concat(this.decorations.slice(i+1));
}
}
} }
state.output.append(value, this, false, false, true);
} }
state.output.append(value, this, false, false, true);
} }
} }
}; };
@ -15358,7 +15383,11 @@ CSL.Output.Formats.prototype.html = {
return "<a href=\"" + str + "\">" + str + "</a>"; return "<a href=\"" + str + "\">" + str + "</a>";
}, },
"@DOI/true": function (state, str) { "@DOI/true": function (state, str) {
return "<a href=\"https://doi.org/" + str + "\">" + str + "</a>"; var doiurl = str;
if (!str.match(/^https?:\/\//)) {
doiurl = "https://doi.org/" + str;
}
return "<a href=\"" + doiurl + "\">" + str + "</a>";
} }
}; };
CSL.Output.Formats.prototype.text = { CSL.Output.Formats.prototype.text = {