gatsby-source-notion-contents
Get gatsby sources from notion
Installation
$ npm i -S gatsby-source-notion-contents
⚠️ Prerequisite
You need a token to use this package if you want to get private contents.
You can get it from Notion.so cookie. the key of it is token_v2
.
Options
type Option = {
token?: string;
ids?: string[];
prefix?: string;
removeStyle?: boolean;
};
ids
If the URL is https://www.notion.so/Personal-Home-db45cd2e7c694c3493c97f2376ab184a
,
You need to add db45cd2e7c694c3493c97f2376ab184a
into options.ids
.
How to use
{
plugins: [
{
resolve: `gatsby-source-notion-contents`,
options: {
token: '<<YOUR_NOTION_TOKEN>>',
ids: ['<<ID_OF_NOTION_PAGE>>'],
prefix: '/',
removeStyle: false,
},
},
]
}
How to query
query Notions {
allNotionContent {
edges {
node {
id
contentType
internal {
content
}
}
}
}
}
query Notion {
notionContent {
id
contentType
internal {
content
}
}
}
query Notion {
notionContent(id: { eq: "ID_SPECIFIC_POST" }) {
id
contentType
internal {
content
}
}
}
Example
Sample project
Example source
const Component = {
const data = useStaticQuery(graphql`
query Notion {
notionContent {
internal {
content
}
}
}
`);
return (
<div dangerouslySetInnerHTML={{ __html: data.notionContent.internal.content }} />
);
};