Fix #101 by special casing bibtex author name strings without spaces or commas

This commit is contained in:
Ludwig Schubert
2019-02-06 20:37:07 -08:00
parent e6dd2fbfd9
commit e9df166db9
4 changed files with 20 additions and 4 deletions
+5 -1
View File
@@ -96,7 +96,9 @@ export function mergeFromYMLFrontmatter(target, source) {
target.authors = source.authors.map( (authorObject) => new Author(authorObject));
target.katex = source.katex;
target.password = source.password;
target.doi = source.doi;
if (source.doi) {
target.doi = source.doi;
}
}
export class FrontMatter {
@@ -161,6 +163,7 @@ export class FrontMatter {
// githubCompareUpdatesUrl: 'https://github.com/distillpub/post--augmented-rnns/compare/1596e094d8943d2dc0ea445d92071129c6419c59...3bd9209e0c24d020f87cf6152dcecc6017cbc193',
// updatedDate: 2017-03-21T07:13:16.000Z,
// doi: '10.23915/distill.00001',
this.doi = undefined;
this.publishedDate = undefined;
}
@@ -319,6 +322,7 @@ export class FrontMatter {
Object.assign(target, this);
target.bibliography = objectFromMap(this.bibliographyEntries);
target.url = this.url;
target.doi = this.doi;
target.githubUrl = this.githubUrl;
target.previewURL = this.previewURL;
if (this.publishedDate) {
+5 -2
View File
@@ -61,9 +61,11 @@ function author_string(ent, template, sep, finalSep){
if (name.indexOf(',') != -1){
var last = name.split(',')[0].trim();
var firsts = name.split(',')[1];
} else {
} else if (name.indexOf(' ') != -1) {
var last = name.split(' ').slice(-1)[0].trim();
var firsts = name.split(' ').slice(0,-1).join(' ');
} else {
var last = name.trim();
}
var initials = '';
if (firsts != undefined) {
@@ -72,7 +74,8 @@ function author_string(ent, template, sep, finalSep){
}
return template.replace('${F}', firsts)
.replace('${L}', last)
.replace('${I}', initials);
.replace('${I}', initials)
.trim(); // in case one of first or last was empty
});
if (names.length > 1) {
var str = name_strings.slice(0, names.length-1).join(sep);