gatsby-source-notion-churnotion 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api/getPage.js
CHANGED
@@ -17,7 +17,7 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
|
|
17
17
|
* @param databaseId 데이터베이스 아이디
|
18
18
|
* @param parentCategoryId 부모 데이터베이스 아이디
|
19
19
|
*/
|
20
|
-
const processDatabase = async (databaseId, parentCategoryId = null) => {
|
20
|
+
const processDatabase = async (databaseId, parentCategoryId = null, categoryPath = []) => {
|
21
21
|
try {
|
22
22
|
while (hasMore) {
|
23
23
|
const databaseUrl = `databases/${databaseId}/query`;
|
@@ -42,7 +42,7 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
|
|
42
42
|
const categoryNode = {
|
43
43
|
id: nodeId,
|
44
44
|
category_name: title,
|
45
|
-
|
45
|
+
parent: parentCategoryId,
|
46
46
|
slug: slug || `no-title-${categoryJsonData.id}`,
|
47
47
|
children: [],
|
48
48
|
internal: {
|
@@ -67,12 +67,17 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
|
|
67
67
|
reporter.warn(`[WARNING] Parent node not found for ID: ${parentCategoryId}`);
|
68
68
|
}
|
69
69
|
}
|
70
|
-
|
70
|
+
const newCategoryPath = [...categoryPath, categoryNode];
|
71
|
+
await processDatabase(categoryJsonData.id, nodeId, newCategoryPath);
|
71
72
|
}
|
72
73
|
else {
|
73
74
|
// 페이지인 경우
|
74
75
|
const title = page.properties?.[`이름`]?.title?.[0]?.plain_text || `Unnamed`;
|
75
|
-
const slug = (0, slugify_1.slugify)(
|
76
|
+
const slug = (0, slugify_1.slugify)(page.properties?.[`slug`]?.rich_text?.[0]?.plain_text ||
|
77
|
+
crypto_1.default
|
78
|
+
.createHash(`md5`)
|
79
|
+
.update(JSON.stringify(title))
|
80
|
+
.digest(`hex`));
|
76
81
|
if (!title) {
|
77
82
|
reporter.warn(`[WARNING] Category without a title detected: ${page.id}`);
|
78
83
|
}
|
@@ -97,7 +102,7 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
|
|
97
102
|
await (0, imageProcessor_1.processBlocks)(markdownContent, actions, getCache, createNodeId, reporter);
|
98
103
|
const postNode = {
|
99
104
|
id: nodeId,
|
100
|
-
|
105
|
+
category: parentCategoryId,
|
101
106
|
book_id: bookId,
|
102
107
|
title: title,
|
103
108
|
content: markdownContent,
|
@@ -106,14 +111,18 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
|
|
106
111
|
version: page.properties?.version?.rich_text?.[0]?.plain_text || null,
|
107
112
|
description: null,
|
108
113
|
slug: slug || `no-title-${nodeId}`,
|
114
|
+
category_list: categoryPath,
|
109
115
|
children: [],
|
110
116
|
internal: {
|
117
|
+
owner: "a",
|
111
118
|
type: constants_1.NODE_TYPE.Post,
|
112
119
|
contentDigest: crypto_1.default
|
113
120
|
.createHash(`md5`)
|
114
121
|
.update(JSON.stringify(nodeId))
|
115
122
|
.digest(`hex`),
|
116
123
|
},
|
124
|
+
tags: [],
|
125
|
+
parent: null,
|
117
126
|
};
|
118
127
|
await createNode(postNode);
|
119
128
|
if (parentCategoryId && postNode) {
|
@@ -7,7 +7,7 @@ const createSchemaCustomization = ({ actions }) => {
|
|
7
7
|
createTypes(`
|
8
8
|
type ${constants_1.NODE_TYPE.Post} implements Node {
|
9
9
|
id: ID!
|
10
|
-
|
10
|
+
category: ${constants_1.NODE_TYPE.Category}! @link(by: "id", "category")
|
11
11
|
tags: ${constants_1.NODE_TYPE.Tag} @link(by: "id")
|
12
12
|
book_id: ${constants_1.NODE_TYPE.Book} @link(by: "id")
|
13
13
|
title: String
|
@@ -17,6 +17,7 @@ const createSchemaCustomization = ({ actions }) => {
|
|
17
17
|
version: Int
|
18
18
|
description: String
|
19
19
|
slug: String
|
20
|
+
category_list: [${constants_1.NODE_TYPE.Category}]
|
20
21
|
}
|
21
22
|
|
22
23
|
type ${constants_1.NODE_TYPE.Tag} implements Node {
|
@@ -27,9 +28,10 @@ const createSchemaCustomization = ({ actions }) => {
|
|
27
28
|
|
28
29
|
type ${constants_1.NODE_TYPE.Category} implements Node {
|
29
30
|
id: ID!
|
30
|
-
|
31
|
+
parent: ${constants_1.NODE_TYPE.Category} @link(by: "id", from: "parent")
|
31
32
|
category_name: String!
|
32
33
|
slug: String!
|
34
|
+
children: [${constants_1.NODE_TYPE.Category}!]! @link(by: "parent")
|
33
35
|
}
|
34
36
|
|
35
37
|
type ${constants_1.NODE_TYPE.Book} implements Node {
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "gatsby-source-notion-churnotion",
|
3
3
|
"description": "Gatsby plugin that can connect with One Notion Database RECURSIVELY using official API",
|
4
|
-
"version": "1.0.
|
4
|
+
"version": "1.0.4",
|
5
5
|
"skipLibCheck": true,
|
6
6
|
"license": "0BSD",
|
7
7
|
"main": "./dist/gatsby-node.js",
|