Initial commit
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../../contentlayer.config.ts"],
|
||||
"sourcesContent": ["import { defineDocumentType, makeSource } from 'contentlayer/source-files';\nimport rehypeSlug from 'rehype-slug';\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings';\nimport remarkGfm from 'remark-gfm';\n\nexport const Post = defineDocumentType(() => ({\n name: 'Post',\n filePathPattern: `posts/**/*.md`,\n contentType: 'markdown',\n fields: {\n title: { type: 'string', required: true },\n slug: { type: 'string', required: false },\n tags: { type: 'list', of: { type: 'string' }, required: false },\n published_at: { type: 'date', required: false },\n description: { type: 'string', required: false },\n // extras from Ghost frontmatter\n type: { type: 'string', required: false },\n ghost_id: { type: 'string', required: false },\n status: { type: 'string', required: false },\n visibility: { type: 'string', required: false },\n featured: { type: 'boolean', required: false },\n created_at: { type: 'date', required: false },\n updated_at: { type: 'date', required: false },\n custom_excerpt: { type: 'string', required: false },\n authors: { type: 'list', of: { type: 'string' }, required: false },\n feature_image: { type: 'string', required: false }\n },\n computedFields: {\n url: {\n type: 'string',\n resolve: (doc) =>\n `/blog/${doc.slug || doc._raw.flattenedPath.replace('posts/', '')}`\n },\n flattenedPath: {\n type: 'string',\n resolve: (doc) => doc._raw.flattenedPath.replace('posts/', '')\n }\n }\n}));\n\nexport const Page = defineDocumentType(() => ({\n name: 'Page',\n filePathPattern: `pages/**/*.md`,\n contentType: 'markdown',\n fields: {\n title: { type: 'string', required: true },\n slug: { type: 'string', required: false },\n description: { type: 'string', required: false },\n // extras from Ghost frontmatter\n type: { type: 'string', required: false },\n ghost_id: { type: 'string', required: false },\n status: { type: 'string', required: false },\n visibility: { type: 'string', required: false },\n featured: { type: 'boolean', required: false },\n created_at: { type: 'date', required: false },\n updated_at: { type: 'date', required: false },\n published_at: { type: 'date', required: false },\n custom_excerpt: { type: 'string', required: false },\n tags: { type: 'list', of: { type: 'string' }, required: false },\n authors: { type: 'list', of: { type: 'string' }, required: false },\n feature_image: { type: 'string', required: false }\n },\n computedFields: {\n url: {\n type: 'string',\n resolve: (doc) =>\n `/pages/${doc.slug || doc._raw.flattenedPath.replace('pages/', '')}`\n },\n flattenedPath: {\n type: 'string',\n resolve: (doc) => doc._raw.flattenedPath.replace('pages/', '')\n }\n }\n}));\n\nexport default makeSource({\n // Use the existing blog repo as content source\n contentDirPath: '../Blog \u6587\u7AE0\u539F\u7A3F',\n documentTypes: [Post, Page],\n contentDirExclude: ['Arc \u700F\u89BD\u5668\u4F7F\u7528\u5FC3\u5F97.md'],\n fieldOptions: {\n // Avoid using frontmatter `type` at all; we use filePathPattern\n typeFieldName: '__ignoredType'\n },\n markdown: {\n remarkPlugins: [remarkGfm],\n rehypePlugins: [\n rehypeSlug,\n [rehypeAutolinkHeadings, { behavior: 'wrap' }]\n ]\n },\n // we've configured TS paths; also silence noisy warning\n disableImportAliasWarning: true\n});\n"],
|
||||
"mappings": "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",
|
||||
"names": []
|
||||
}
|
||||
Reference in New Issue
Block a user