Skip to content

Commit

Permalink
Bump version, update CHANGES, bundle as 1.1.232
Browse files Browse the repository at this point in the history
  • Loading branch information
fbennett committed Apr 2, 2019
1 parent db7471e commit 928936b
Show file tree
Hide file tree
Showing 5 changed files with 189 additions and 95 deletions.
12 changes: 12 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
Summary of changes to citeproc-js since version 1.0.0 release.

==========================
Changes in version 1.1.232
==========================

- Properly fix style tests path in cslrun.yaml

- Recognize uppercase_subtitles separately from main_title_from_short_title

- Implement short-title variant fallback
* When short form lacks a variant available on the parent, use the latter


==========================
Changes in version 1.1.231
==========================
Expand Down
133 changes: 87 additions & 46 deletions citeproc.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Copyright (c) 2009-2019 Frank Bennett
<http://www.gnu.org/licenses/> respectively.
*/
var CSL = {
PROCESSOR_VERSION: "1.1.231",
PROCESSOR_VERSION: "1.1.232",
LOCATOR_LABELS_REGEXP: new RegExp("^((art|ch|subch|col|fig|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\\.)\\s+(.*)"),
STATUTE_SUBDIV_PLAIN_REGEX: /(?:(?:^| )(?:art|bk|ch|subch|col|fig|fol|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\. *)/,
STATUTE_SUBDIV_PLAIN_REGEX_FRONT: /(?:^\s*[.,;]*\s*(?:art|bk|ch|subch|col|fig|fol|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\. *)/,
Expand Down Expand Up @@ -635,7 +635,7 @@ var CSL = {
if (sentenceCase) {
mainTitle = CSL.Output.Formatters.sentence(state, mainTitle);
subTitle = CSL.Output.Formatters.sentence(state, subTitle);
} else {
} else if (state.opt.development_extensions.uppercase_subtitles) {
subTitle = CSL.Output.Formatters["capitalize-first"](state, subTitle);
}
return [mainTitle, subTitle].join(vals[title.title].slice(mainTitle.length, -1 * subTitle.length));
Expand Down Expand Up @@ -12970,52 +12970,90 @@ CSL.Transform = function (state) {
token: CSL.Util.cloneToken(this)
};
}
ret = {name:"", usedOrig:stopOrig,locale:getFieldLocale(Item,field)};
opts = state.opt[locale_type];
var hasVal = false;
if (locale_type === 'locale-orig') {
if (stopOrig) {
ret = {name:"", usedOrig:stopOrig};
} else {
ret = {name:Item[field], usedOrig:false, locale:getFieldLocale(Item,field)};
}
hasVal = true;
usingOrig = true;
} else if (use_default && ("undefined" === typeof opts || opts.length === 0)) {
var ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
}
if (!hasVal) {
for (var i = 0, ilen = opts.length; i < ilen; i += 1) {
opt = opts[i];
o = opt.split(/[\-_]/)[0];
if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) {
ret.name = Item.multi._keys[field][opt];
ret.locale = opt;
break;
} else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) {
ret.name = Item.multi._keys[field][o];
ret.locale = o;
break;
var breakMe = false;
var firstValue = null;
var fieldsToTry = [];
if (field.slice(-6) === "-short") {
fieldsToTry.push(field);
fieldsToTry.push(field.slice(0, -6))
} else {
fieldsToTry.push(field);
}
for (var h=0,hlen=fieldsToTry.length; h<hlen; h++) {
var variantMatch = false;
var field = fieldsToTry[h];
ret = {name:"", usedOrig:stopOrig,locale:getFieldLocale(Item,field)};
opts = state.opt[locale_type];
var hasVal = false;
if (locale_type === 'locale-orig') {
if (stopOrig) {
ret = {name:"", usedOrig:stopOrig};
} else {
ret = {name:Item[field], usedOrig:false, locale:getFieldLocale(Item,field)};
}
}
if (!ret.name && use_default) {
ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
} else if (use_default && ("undefined" === typeof opts || opts.length === 0)) {
var ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
}
}
ret.token = CSL.Util.cloneToken(this);
if (["title", "container-title"].indexOf(field) > -1) {
if (!usedOrig
&& (!ret.token.strings["text-case"]
|| ret.token.strings["text-case"] === "sentence"
|| ret.token.strings["text-case"] === "normal")) {
var locale = usingOrig ? false : ret.locale;
var seg = field.slice(0,-5);
var sentenceCase = ret.token.strings["text-case"] === "sentence" ? true : false;
ret.name = CSL.titlecaseSentenceOrNormal(state, Item, seg, locale, sentenceCase);
delete ret.token.strings["text-case"];
if (!hasVal) {
for (var i = 0, ilen = opts.length; i < ilen; i += 1) {
opt = opts[i];
o = opt.split(/[\-_]/)[0];
if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) {
ret.name = Item.multi._keys[field][opt];
ret.locale = opt;
hasVal = true;
variantMatch = true;
usingOrig = false;
break;
} else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) {
ret.name = Item.multi._keys[field][o];
ret.locale = o;
hasVal = true;
variantMatch = true;
usingOrig = false;
break;
}
}
if (!ret.name && use_default) {
ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
usingOrig = true;
}
}
ret.token = CSL.Util.cloneToken(this);
if (h === 0) {
firstValue = ret;
if (variantMatch || ("undefined" === typeof opts || opts.length === 0)) {
breakMe = true;
}
} else {
if (hasVal && !variantMatch && firstValue) {
ret = firstValue;
}
}
if (["title", "container-title"].indexOf(field) > -1) {
if (!usedOrig
&& (!ret.token.strings["text-case"]
|| ret.token.strings["text-case"] === "sentence"
|| ret.token.strings["text-case"] === "normal")) {
var locale = state.opt.lang;
var lang;
if (usingOrig) {
lang = false;
} else {
lang = ret.locale;
}
var seg = field.slice(0,-5);
var sentenceCase = ret.token.strings["text-case"] === "sentence" ? true : false;
ret.name = CSL.titlecaseSentenceOrNormal(state, Item, seg, lang, sentenceCase);
delete ret.token.strings["text-case"];
}
}
if (breakMe) {
break;
}
}
return ret;
Expand Down Expand Up @@ -13100,7 +13138,10 @@ CSL.Transform = function (state) {
if (state.tmp.area.slice(-5) === "_sort") {
slot.primary = 'locale-sort';
} else {
if (localesets && !state.tmp.multi_layout) {
if (localesets && localesets.length === 1 && localesets[0] === "locale-orig") {
slot.primary = "locale-orig";
localesets = false;
} else if (localesets && !state.tmp.multi_layout) {
var slotnames = ["primary", "secondary", "tertiary"];
for (var i = 0, ilen = slotnames.length; i < ilen; i += 1) {
if (localesets.length - 1 < i) {
Expand Down
133 changes: 87 additions & 46 deletions citeproc_commonjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Copyright (c) 2009-2019 Frank Bennett
<http://www.gnu.org/licenses/> respectively.
*/
var CSL = {
PROCESSOR_VERSION: "1.1.231",
PROCESSOR_VERSION: "1.1.232",
LOCATOR_LABELS_REGEXP: new RegExp("^((art|ch|subch|col|fig|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\\.)\\s+(.*)"),
STATUTE_SUBDIV_PLAIN_REGEX: /(?:(?:^| )(?:art|bk|ch|subch|col|fig|fol|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\. *)/,
STATUTE_SUBDIV_PLAIN_REGEX_FRONT: /(?:^\s*[.,;]*\s*(?:art|bk|ch|subch|col|fig|fol|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\. *)/,
Expand Down Expand Up @@ -635,7 +635,7 @@ var CSL = {
if (sentenceCase) {
mainTitle = CSL.Output.Formatters.sentence(state, mainTitle);
subTitle = CSL.Output.Formatters.sentence(state, subTitle);
} else {
} else if (state.opt.development_extensions.uppercase_subtitles) {
subTitle = CSL.Output.Formatters["capitalize-first"](state, subTitle);
}
return [mainTitle, subTitle].join(vals[title.title].slice(mainTitle.length, -1 * subTitle.length));
Expand Down Expand Up @@ -12970,52 +12970,90 @@ CSL.Transform = function (state) {
token: CSL.Util.cloneToken(this)
};
}
ret = {name:"", usedOrig:stopOrig,locale:getFieldLocale(Item,field)};
opts = state.opt[locale_type];
var hasVal = false;
if (locale_type === 'locale-orig') {
if (stopOrig) {
ret = {name:"", usedOrig:stopOrig};
} else {
ret = {name:Item[field], usedOrig:false, locale:getFieldLocale(Item,field)};
}
hasVal = true;
usingOrig = true;
} else if (use_default && ("undefined" === typeof opts || opts.length === 0)) {
var ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
}
if (!hasVal) {
for (var i = 0, ilen = opts.length; i < ilen; i += 1) {
opt = opts[i];
o = opt.split(/[\-_]/)[0];
if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) {
ret.name = Item.multi._keys[field][opt];
ret.locale = opt;
break;
} else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) {
ret.name = Item.multi._keys[field][o];
ret.locale = o;
break;
var breakMe = false;
var firstValue = null;
var fieldsToTry = [];
if (field.slice(-6) === "-short") {
fieldsToTry.push(field);
fieldsToTry.push(field.slice(0, -6))
} else {
fieldsToTry.push(field);
}
for (var h=0,hlen=fieldsToTry.length; h<hlen; h++) {
var variantMatch = false;
var field = fieldsToTry[h];
ret = {name:"", usedOrig:stopOrig,locale:getFieldLocale(Item,field)};
opts = state.opt[locale_type];
var hasVal = false;
if (locale_type === 'locale-orig') {
if (stopOrig) {
ret = {name:"", usedOrig:stopOrig};
} else {
ret = {name:Item[field], usedOrig:false, locale:getFieldLocale(Item,field)};
}
}
if (!ret.name && use_default) {
ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
} else if (use_default && ("undefined" === typeof opts || opts.length === 0)) {
var ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
hasVal = true;
usingOrig = true;
}
}
ret.token = CSL.Util.cloneToken(this);
if (["title", "container-title"].indexOf(field) > -1) {
if (!usedOrig
&& (!ret.token.strings["text-case"]
|| ret.token.strings["text-case"] === "sentence"
|| ret.token.strings["text-case"] === "normal")) {
var locale = usingOrig ? false : ret.locale;
var seg = field.slice(0,-5);
var sentenceCase = ret.token.strings["text-case"] === "sentence" ? true : false;
ret.name = CSL.titlecaseSentenceOrNormal(state, Item, seg, locale, sentenceCase);
delete ret.token.strings["text-case"];
if (!hasVal) {
for (var i = 0, ilen = opts.length; i < ilen; i += 1) {
opt = opts[i];
o = opt.split(/[\-_]/)[0];
if (opt && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][opt]) {
ret.name = Item.multi._keys[field][opt];
ret.locale = opt;
hasVal = true;
variantMatch = true;
usingOrig = false;
break;
} else if (o && Item.multi && Item.multi._keys[field] && Item.multi._keys[field][o]) {
ret.name = Item.multi._keys[field][o];
ret.locale = o;
hasVal = true;
variantMatch = true;
usingOrig = false;
break;
}
}
if (!ret.name && use_default) {
ret = {name:Item[field], usedOrig:true, locale:getFieldLocale(Item,field)};
usingOrig = true;
}
}
ret.token = CSL.Util.cloneToken(this);
if (h === 0) {
firstValue = ret;
if (variantMatch || ("undefined" === typeof opts || opts.length === 0)) {
breakMe = true;
}
} else {
if (hasVal && !variantMatch && firstValue) {
ret = firstValue;
}
}
if (["title", "container-title"].indexOf(field) > -1) {
if (!usedOrig
&& (!ret.token.strings["text-case"]
|| ret.token.strings["text-case"] === "sentence"
|| ret.token.strings["text-case"] === "normal")) {
var locale = state.opt.lang;
var lang;
if (usingOrig) {
lang = false;
} else {
lang = ret.locale;
}
var seg = field.slice(0,-5);
var sentenceCase = ret.token.strings["text-case"] === "sentence" ? true : false;
ret.name = CSL.titlecaseSentenceOrNormal(state, Item, seg, lang, sentenceCase);
delete ret.token.strings["text-case"];
}
}
if (breakMe) {
break;
}
}
return ret;
Expand Down Expand Up @@ -13100,7 +13138,10 @@ CSL.Transform = function (state) {
if (state.tmp.area.slice(-5) === "_sort") {
slot.primary = 'locale-sort';
} else {
if (localesets && !state.tmp.multi_layout) {
if (localesets && localesets.length === 1 && localesets[0] === "locale-orig") {
slot.primary = "locale-orig";
localesets = false;
} else if (localesets && !state.tmp.multi_layout) {
var slotnames = ["primary", "secondary", "tertiary"];
for (var i = 0, ilen = slotnames.length; i < ilen; i += 1) {
if (localesets.length - 1 < i) {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "citeproc",
"version": "2.1.231",
"description": "The citeproc-js citation formatting module, in CommonJS format. This version is based on citeproc-js 1.1.231",
"version": "2.1.232",
"description": "The citeproc-js citation formatting module, in CommonJS format. This version is based on citeproc-js 1.1.232",
"main": "citeproc_commonjs.js",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion src/load.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

var CSL = {

PROCESSOR_VERSION: "1.1.231",
PROCESSOR_VERSION: "1.1.232",

LOCATOR_LABELS_REGEXP: new RegExp("^((art|ch|subch|col|fig|l|n|no|op|p|pp|para|subpara|supp|pt|r|sec|subsec|sv|sch|tit|vrs|vol)\\.)\\s+(.*)"),

Expand Down

0 comments on commit 928936b

Please sign in to comment.