feat: add content layer

Add blog pages

Add privacy page
This commit is contained in:
David Nguyen
2023-07-27 18:29:22 +10:00
committed by Mythie
parent bc425abe35
commit 154ef26465
23 changed files with 6318 additions and 2188 deletions

View File

@ -0,0 +1,33 @@
import { defineDocumentType, makeSource } from 'contentlayer/source-files';
export const BlogPost = defineDocumentType(() => ({
name: 'BlogPost',
filePathPattern: `blog/**/*.mdx`,
contentType: 'mdx',
fields: {
title: { type: 'string', required: true },
description: { type: 'string', required: true },
date: { type: 'date', required: true },
tags: { type: 'list', of: { type: 'string' }, required: false, default: [] },
authorName: { type: 'string', required: true },
authorImage: { type: 'string', required: false },
authorRole: { type: 'string', required: true },
},
computedFields: {
href: { type: 'string', resolve: (post) => `/${post._raw.flattenedPath}` },
},
}));
export const Privacy = defineDocumentType(() => ({
name: 'Privacy',
filePathPattern: 'privacy.mdx',
contentType: 'mdx',
fields: {
title: { type: 'string', required: true },
},
computedFields: {
href: { type: 'string', resolve: (post) => `/${post._raw.flattenedPath}` },
},
}));
export default makeSource({ contentDirPath: 'content', documentTypes: [BlogPost, Privacy] });