fix: handle page metadata parse failure
This commit is contained in:
parent
05b4053954
commit
dc5d8ddeb2
@ -192,35 +192,39 @@ module.exports = class Page extends Model {
|
||||
*/
|
||||
static parseMetadata (raw, contentType) {
|
||||
let result
|
||||
switch (contentType) {
|
||||
case 'markdown':
|
||||
result = frontmatterRegex.markdown.exec(raw)
|
||||
if (result[2]) {
|
||||
return {
|
||||
...yaml.safeLoad(result[2]),
|
||||
content: result[3]
|
||||
}
|
||||
} else {
|
||||
// Attempt legacy v1 format
|
||||
result = frontmatterRegex.legacy.exec(raw)
|
||||
try {
|
||||
switch (contentType) {
|
||||
case 'markdown':
|
||||
result = frontmatterRegex.markdown.exec(raw)
|
||||
if (result[2]) {
|
||||
return {
|
||||
title: result[2],
|
||||
description: result[4],
|
||||
content: result[5]
|
||||
...yaml.safeLoad(result[2]),
|
||||
content: result[3]
|
||||
}
|
||||
} else {
|
||||
// Attempt legacy v1 format
|
||||
result = frontmatterRegex.legacy.exec(raw)
|
||||
if (result[2]) {
|
||||
return {
|
||||
title: result[2],
|
||||
description: result[4],
|
||||
content: result[5]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
case 'html':
|
||||
result = frontmatterRegex.html.exec(raw)
|
||||
if (result[2]) {
|
||||
return {
|
||||
...yaml.safeLoad(result[2]),
|
||||
content: result[3]
|
||||
break
|
||||
case 'html':
|
||||
result = frontmatterRegex.html.exec(raw)
|
||||
if (result[2]) {
|
||||
return {
|
||||
...yaml.safeLoad(result[2]),
|
||||
content: result[3]
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
break
|
||||
}
|
||||
} catch (err) {
|
||||
WIKI.logger.warn('Failed to parse page metadata. Invalid syntax.')
|
||||
}
|
||||
return {
|
||||
content: raw
|
||||
|
Loading…
Reference in New Issue
Block a user