makeSource
provides Contentlayer with the schema and configuration for your application.
#Usage
The code calling makeSource
should be placed in contentlayer.config.js
.
import { makeSource } from 'contentlayer-source-notion'
export default makeSource({
})
#Options
#client
The @notionhq/client
instance or options to query the Notion API.
Example:
import { Client } from '@notionhq/client'
import { makeSource } from 'contentlayer-source-notion'
const client = new Client({ auth: process.env.NOTION_TOKEN })
export default makeSource({
client,
})
This would use process.env.NOTION_TOKEN
when calling the Notion API.
#renderer
The @notion-render/client
instance or options to transform Notion Block into HTML.
Example:
import { NotionRenderer } from '@notion-render/client'
import { makeSource } from 'contentlayer-source-notion'
const renderer = new NotionRenderer()
export default makeSource({
renderer
})
Your databases definitions for your project. See defineDatabase
for usage.
#fieldOptions
Provides the ability to manipulate how fields are written when parsing the content source.
Options:
bodyFieldName
(default: body
): Name of the field containing the body/content extracted when the body type is markdown
or mdx
.
typeFieldName
(default: type
): Name of the field containing the name of the document type.
Example:
export default makeSource({
fieldOptions: {
bodyFieldName: 'content',
typeFieldName: '__typename',
},
})
#dev
Provides the ability to configure the development server when running contentlayer dev
or next dev
(with next-contentlayer
).
Options:
polling
(default: 5000
): Delay in ms between each check for updated pages (can be set to false
to disable).
Example:
export default makeSource({
dev: {
polling: 10_000
},
})
⚠ Currently it does not update the schema, only your pages content and properties values.
Was this article helpful to you?
Provide feedback
Last edited on May 24, 2023.
Edit this page