Merge pull request #460 from eamonnbell/fix-458-silent-failure
Fix #458 by ending case sensitivity of names of fields used in slug construction
This commit is contained in:
commit
782b005085
@ -26,7 +26,22 @@ class LocalStorageAuthStore {
|
|||||||
|
|
||||||
const slugFormatter = (template = "{{slug}}", entryData) => {
|
const slugFormatter = (template = "{{slug}}", entryData) => {
|
||||||
const date = new Date();
|
const date = new Date();
|
||||||
const identifier = entryData.get("title", entryData.get("path"));
|
|
||||||
|
const getIdentifier = (entryData) => {
|
||||||
|
const validIdentifierFields = ["title", "path"];
|
||||||
|
const identifiers = validIdentifierFields.map((field) =>
|
||||||
|
entryData.find((_, key) => key.toLowerCase().trim() === field)
|
||||||
|
);
|
||||||
|
|
||||||
|
const identifier = identifiers.find(ident => ident !== undefined);
|
||||||
|
|
||||||
|
if (identifier === undefined) {
|
||||||
|
throw new Error("Collection must have a field name that is a valid entry identifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
return identifier;
|
||||||
|
};
|
||||||
|
|
||||||
return template.replace(/\{\{([^\}]+)\}\}/g, (_, field) => {
|
return template.replace(/\{\{([^\}]+)\}\}/g, (_, field) => {
|
||||||
switch (field) {
|
switch (field) {
|
||||||
case "year":
|
case "year":
|
||||||
@ -36,7 +51,7 @@ const slugFormatter = (template = "{{slug}}", entryData) => {
|
|||||||
case "day":
|
case "day":
|
||||||
return (`0${ date.getDate() }`).slice(-2);
|
return (`0${ date.getDate() }`).slice(-2);
|
||||||
case "slug":
|
case "slug":
|
||||||
return slug(identifier.trim(), {lower: true});
|
return slug(getIdentifier(entryData).trim(), {lower: true});
|
||||||
default:
|
default:
|
||||||
return slug(entryData.get(field, "").trim(), {lower: true});
|
return slug(entryData.get(field, "").trim(), {lower: true});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user