|
|
|
@ -33,8 +33,19 @@ class Page {
|
|
|
|
|
// getting dirPath for files for page
|
|
|
|
|
this._dirPath = this._resolvePath(parent)
|
|
|
|
|
|
|
|
|
|
// adding filename for html as pathname and relative path in structure
|
|
|
|
|
this._filename = this._resolveFilename(file)
|
|
|
|
|
this._slug = this._resolveSlug(this._filename)
|
|
|
|
|
this._permalink = this._dirPath
|
|
|
|
|
|
|
|
|
|
if (this._slug) {
|
|
|
|
|
this._permalink = this._dirPath + '/' + this._slug
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// parse file
|
|
|
|
|
const result = parseMarkdownFile(fileString, this._dirPath)
|
|
|
|
|
const result = parseMarkdownFile(fileString, [
|
|
|
|
|
this._permalink, this._dirPath
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
// fields merge by default values
|
|
|
|
|
this._fields = merge({
|
|
|
|
@ -46,23 +57,17 @@ class Page {
|
|
|
|
|
hidden: false
|
|
|
|
|
}, result.fields)
|
|
|
|
|
|
|
|
|
|
// adding filename for html as pathname and relative path in structure
|
|
|
|
|
this._filename = this._resolveFilename(file)
|
|
|
|
|
this._slug = this._resolveSlug(this._filename)
|
|
|
|
|
this._permalink = this._dirPath
|
|
|
|
|
|
|
|
|
|
if (this._slug) {
|
|
|
|
|
this._permalink = this._dirPath + '/' + this._slug
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this._filename += '.' + this._fields.extensions
|
|
|
|
|
|
|
|
|
|
this._content = result.content
|
|
|
|
|
this._blocks = blocks
|
|
|
|
|
|
|
|
|
|
this._filename += '.' + this._fields.extensions
|
|
|
|
|
|
|
|
|
|
// check for fields and resolve media
|
|
|
|
|
if (this._fields) {
|
|
|
|
|
this._fields = this._resolveMedia(this._fields, this._dirPath)
|
|
|
|
|
this._fields = this._resolveMedia(this._fields, [
|
|
|
|
|
this._permalink,
|
|
|
|
|
this._dirPath
|
|
|
|
|
])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// check for fields and resolve media
|
|
|
|
@ -70,10 +75,16 @@ class Page {
|
|
|
|
|
for (const key of Object.keys(this._blocks)) {
|
|
|
|
|
if (Array.isArray(this._blocks[key])) {
|
|
|
|
|
this._blocks[key].forEach((fields, index) => {
|
|
|
|
|
this._blocks[key][index] = this._resolveMedia(fields, this._dirPath + '/_blocks')
|
|
|
|
|
this._blocks[key][index] = this._resolveMedia(fields, [
|
|
|
|
|
this._permalink + '/_blocks',
|
|
|
|
|
this._dirPath + '/_blocks'
|
|
|
|
|
])
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this._blocks[key] = this._resolveMedia(this._blocks[key], this._dirPath + '/_blocks')
|
|
|
|
|
this._blocks[key] = this._resolveMedia(this._blocks[key], [
|
|
|
|
|
this._permalink + '/_blocks',
|
|
|
|
|
this._dirPath + '/_blocks'
|
|
|
|
|
])
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|