Unverified Commit cda1f1e8 authored by jaljo's avatar jaljo Committed by GitHub

feat: export creation date in dumped content (#2345)

* Export creation date in dumped content * date_creation -> dateCreated Co-authored-by: 's avatarJoris Langlois <joris.langlois@knplabs.com>
parent ae733392
......@@ -72,7 +72,8 @@ module.exports = {
['published', page.isPublished.toString()],
['date', page.updatedAt],
['tags', page.tags ? page.tags.map(t => t.tag).join(', ') : ''],
['editor', page.editorKey]
['editor', page.editorKey],
['dateCreated', page.createdAt],
]
switch (page.contentType) {
case 'markdown':
......
......@@ -126,7 +126,7 @@ module.exports = {
// -> Pages
await pipeline(
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt').select().from('pages').where({
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
isPrivate: false
}).stream(),
new stream.Transform({
......
......@@ -127,7 +127,7 @@ module.exports = {
// -> Pages
await pipeline(
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt').select().from('pages').where({
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
isPrivate: false
}).stream(),
new stream.Transform({
......
......@@ -411,7 +411,7 @@ module.exports = {
// -> Pages
await pipeline(
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt').select().from('pages').where({
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
isPrivate: false
}).stream(),
new stream.Transform({
......
......@@ -131,7 +131,7 @@ module.exports = class S3CompatibleStorage {
// -> Pages
await pipeline(
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt').select().from('pages').where({
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
isPrivate: false
}).stream(),
new stream.Transform({
......
......@@ -115,7 +115,7 @@ module.exports = {
// -> Pages
await pipeline(
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt').select().from('pages').where({
WIKI.models.knex.column('path', 'localeCode', 'title', 'description', 'contentType', 'content', 'isPublished', 'updatedAt', 'createdAt').select().from('pages').where({
isPrivate: false
}).stream(),
new stream.Transform({
......
const { injectPageMetadata } = require('../../helpers/page')
describe('injectPageMetadata tests', () => {
let page = {
describe('helpers/page/injectPageMetadata', () => {
const page = {
title: 'PAGE TITLE',
description: 'A PAGE',
isPublished: true,
updatedAt: new Date(),
content: 'TEST CONTENT'
content: 'TEST CONTENT',
createdAt: new Date('2019-01-01'),
}
test('injectPageMetadata: default', () => {
it('returns the page content by default when content type is unknown', () => {
const expected = 'TEST CONTENT'
const result = injectPageMetadata(page)
expect(result).toEqual(expected)
})
test('injectPageMetadata: markdown', () => {
page.contentType = 'markdown'
it('injects metadata for markdown contents', () => {
const markdownPage = {
...page,
contentType: 'markdown',
editorKey: 'markdown',
}
const expected = `---
title: ${page.title}
description: ${page.description}
published: ${page.isPublished.toString()}
date: ${page.updatedAt}
tags: \n---
title: ${markdownPage.title}
description: ${markdownPage.description}
published: ${markdownPage.isPublished.toString()}
date: ${markdownPage.updatedAt}
tags:\x20
editor: ${markdownPage.editorKey}
dateCreated: ${markdownPage.createdAt}\n---
TEST CONTENT`
const result = injectPageMetadata(page)
const result = injectPageMetadata(markdownPage)
expect(result).toEqual(expected)
})
test('injectPageMetadata: hmtl', () => {
page.contentType = 'html'
it('injects metadata for html contents', () => {
const htmlPage = {
...page,
contentType: 'html',
editorKey: 'html',
}
const expected = `<!--
title: ${page.title}
description: ${page.description}
published: ${page.isPublished.toString()}
date: ${page.updatedAt}
tags: \n-->
title: ${htmlPage.title}
description: ${htmlPage.description}
published: ${htmlPage.isPublished.toString()}
date: ${htmlPage.updatedAt}
tags:\x20
editor: ${htmlPage.editorKey}
dateCreated: ${htmlPage.createdAt}\n-->
TEST CONTENT`
const result = injectPageMetadata(page)
const result = injectPageMetadata(htmlPage)
expect(result).toEqual(expected)
})
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment