|
@@ -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
|