Update to citeproc-js 1.0.206
This commit is contained in:
parent
02336f9cae
commit
1f73a84cb0
|
@ -270,6 +270,7 @@ var CSL = {
|
||||||
en: "en_US",
|
en: "en_US",
|
||||||
es: "es_ES",
|
es: "es_ES",
|
||||||
et: "et_EE",
|
et: "et_EE",
|
||||||
|
fa: "fa_FA",
|
||||||
fr: "fr_FR",
|
fr: "fr_FR",
|
||||||
he: "he_IL",
|
he: "he_IL",
|
||||||
hu: "hu_HU",
|
hu: "hu_HU",
|
||||||
|
@ -1479,15 +1480,18 @@ CSL.tokenExec = function (token, Item, item) {
|
||||||
return next;
|
return next;
|
||||||
};
|
};
|
||||||
CSL.expandMacro = function (macro_key_token) {
|
CSL.expandMacro = function (macro_key_token) {
|
||||||
var mkey, start_token, key, end_token, navi, macroxml, newoutput, mergeoutput, end_of_macro, func;
|
var mkey, start_token, key, end_token, navi, macro_nodes, newoutput, mergeoutput, end_of_macro, func;
|
||||||
mkey = macro_key_token.postponed_macro;
|
mkey = macro_key_token.postponed_macro;
|
||||||
if (this.build.macro_stack.indexOf(mkey) > -1) {
|
if (this.build.macro_stack.indexOf(mkey) > -1) {
|
||||||
throw "CSL processor error: call to macro \"" + mkey + "\" would cause an infinite loop";
|
throw "CSL processor error: call to macro \"" + mkey + "\" would cause an infinite loop";
|
||||||
} else {
|
} else {
|
||||||
this.build.macro_stack.push(mkey);
|
this.build.macro_stack.push(mkey);
|
||||||
}
|
}
|
||||||
macroxml = this.sys.xml.getNodesByName(this.cslXml, 'macro', mkey);
|
var hasDate = false;
|
||||||
var hasDate = this.sys.xml.getAttributeValue(macroxml, "macro-has-date");
|
var macro_nodes = this.sys.xml.getNodesByName(this.cslXml, 'macro', mkey);
|
||||||
|
if (macro_nodes.length) {
|
||||||
|
hasDate = this.sys.xml.getAttributeValue(macro_nodes[0], "macro-has-date");
|
||||||
|
}
|
||||||
if (hasDate) {
|
if (hasDate) {
|
||||||
func = function (state, Item) {
|
func = function (state, Item) {
|
||||||
if (state.tmp.area.slice(-5) === "_sort") {
|
if (state.tmp.area.slice(-5) === "_sort") {
|
||||||
|
@ -1498,19 +1502,21 @@ CSL.expandMacro = function (macro_key_token) {
|
||||||
}
|
}
|
||||||
macro_key_token.tokentype = CSL.START;
|
macro_key_token.tokentype = CSL.START;
|
||||||
CSL.Node.group.build.call(macro_key_token, this, this[this.build.area].tokens, true);
|
CSL.Node.group.build.call(macro_key_token, this, this[this.build.area].tokens, true);
|
||||||
if (!this.sys.xml.getNodeValue(macroxml)) {
|
if (!this.sys.xml.getNodeValue(macro_nodes)) {
|
||||||
throw "CSL style error: undefined macro \"" + mkey + "\"";
|
throw "CSL style error: undefined macro \"" + mkey + "\"";
|
||||||
}
|
}
|
||||||
navi = new this.getNavi(this, macroxml);
|
navi = new this.getNavi(this, macro_nodes);
|
||||||
CSL.buildStyle.call(this, navi);
|
CSL.buildStyle.call(this, navi);
|
||||||
end_of_macro = new CSL.Token("group", CSL.END);
|
end_of_macro = new CSL.Token("group", CSL.END);
|
||||||
CSL.Node.group.build.call(end_of_macro, this, this[this.build.area].tokens, true);
|
if (hasDate) {
|
||||||
func = function (state, Item) {
|
func = function (state, Item) {
|
||||||
if (state.tmp.area.slice(-5) === "_sort") {
|
if (state.tmp.area.slice(-5) === "_sort") {
|
||||||
state.tmp["doing-macro-with-date"] = false;
|
state.tmp["doing-macro-with-date"] = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this[this.build.area].tokens[this[this.build.area].tokens.length - 1].execs.push(func);
|
end_of_macro.execs.push(func);
|
||||||
|
}
|
||||||
|
CSL.Node.group.build.call(end_of_macro, this, this[this.build.area].tokens, true);
|
||||||
this.build.macro_stack.pop();
|
this.build.macro_stack.pop();
|
||||||
};
|
};
|
||||||
CSL.XmlToToken = function (state, tokentype) {
|
CSL.XmlToToken = function (state, tokentype) {
|
||||||
|
@ -1924,7 +1930,7 @@ CSL.DateParser = function () {
|
||||||
};
|
};
|
||||||
CSL.Engine = function (sys, style, lang, forceLang) {
|
CSL.Engine = function (sys, style, lang, forceLang) {
|
||||||
var attrs, langspec, localexml, locale;
|
var attrs, langspec, localexml, locale;
|
||||||
this.processor_version = "1.0.203";
|
this.processor_version = "1.0.206";
|
||||||
this.csl_version = "1.0";
|
this.csl_version = "1.0";
|
||||||
this.sys = sys;
|
this.sys = sys;
|
||||||
this.sys.xml = new CSL.System.Xml.Parsing();
|
this.sys.xml = new CSL.System.Xml.Parsing();
|
||||||
|
@ -5101,6 +5107,21 @@ CSL.NameOutput.prototype.divideAndTransliterateNames = function () {
|
||||||
}
|
}
|
||||||
this._getFreeters(v, values);
|
this._getFreeters(v, values);
|
||||||
this._getPersonsAndInstitutions(v, values);
|
this._getPersonsAndInstitutions(v, values);
|
||||||
|
if (this.name.strings["suppress-min"] === 0) {
|
||||||
|
this.freeters[v] = [];
|
||||||
|
for (var j = 0, jlen = this.persons[v].length; j < jlen; j += 1) {
|
||||||
|
this.persons[v][j] = [];
|
||||||
|
}
|
||||||
|
} else if (this.institution.strings["suppress-min"] === 0) {
|
||||||
|
this.institutions[v] = [];
|
||||||
|
this.freeters[v] = this.freeters[v].concat(this.persons[v]);
|
||||||
|
for (var j = 0, jlen = this.persons[v].length; j < jlen; j += 1) {
|
||||||
|
for (var k = 0, klen = this.persons[v][j].length; k < klen; k += 1) {
|
||||||
|
this.freeters[v].push(this.persons[v][j][k])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.persons[v] = [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
CSL.NameOutput.prototype._normalizeVariableValue = function (Item, variable) {
|
CSL.NameOutput.prototype._normalizeVariableValue = function (Item, variable) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user