gatsby-source-notion-churnotion 1.0.43 → 1.0.44

Sign up to get free protection for your applications and to get access to all the features.
@@ -142,7 +142,7 @@ const getPages = async ({ databaseId, reporter, getCache, actions, createNode, c
142
142
  }
143
143
  const bookId = page.properties?.book?.relation?.[0]?.id || null;
144
144
  const markdownContent = await connector_1.n2m.pageToMarkdown(page.id);
145
- const imageNode = await (0, imageProcessor_1.processBlocks)(markdownContent, actions, getCache, createNodeId, reporter);
145
+ const imageNode = await (0, imageProcessor_1.processBlocks)(markdownContent, actions, getCache, createNodeId, reporter, createParentChildLink);
146
146
  const gatsbyImageData = {
147
147
  childImageSharp: {
148
148
  gatsbyImageData: imageNode
@@ -1,3 +1,8 @@
1
- import { Actions, GatsbyCache, Reporter } from "gatsby";
1
+ import { Actions, GatsbyCache, Node, NodeInput, Reporter } from "gatsby";
2
2
  import { MdBlock } from "notion-to-md/build/types";
3
- export declare const processBlocks: (blocks: MdBlock[], actions: Actions, getCache: (this: void, id: string) => GatsbyCache, createNodeId: (this: void, input: string) => string, reporter: Reporter) => Promise<string | null>;
3
+ export declare const processBlocks: (blocks: MdBlock[], actions: Actions, getCache: (this: void, id: string) => GatsbyCache, createNodeId: (this: void, input: string) => string, reporter: Reporter, createParentChildLink: (this: void, args: {
4
+ parent: Node;
5
+ child: NodeInput;
6
+ }, plugin?: {
7
+ name: string;
8
+ }) => void) => Promise<string | null>;
@@ -2,10 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processBlocks = void 0;
4
4
  const gatsby_source_filesystem_1 = require("gatsby-source-filesystem");
5
- const processBlocks = async (blocks, actions, getCache, createNodeId, reporter) => {
5
+ const processBlocks = async (blocks, actions, getCache, createNodeId, reporter, createParentChildLink) => {
6
6
  const { createNode } = actions;
7
7
  let thumbnail = null;
8
8
  for (const block of blocks) {
9
+ const blockNodeId = createNodeId(`${block.blockId}-MdBlock`);
10
+ const blockNode = {
11
+ ...block,
12
+ id: blockNodeId,
13
+ parent: null,
14
+ children: [],
15
+ internal: {
16
+ type: "MdBlock",
17
+ contentDigest: createNodeId(JSON.stringify(block)),
18
+ owner: blockNodeId,
19
+ },
20
+ };
21
+ createNode(blockNode);
9
22
  if (block.type === `image` &&
10
23
  typeof block.parent === `string` &&
11
24
  block.parent.includes(`http`)) {
@@ -16,12 +29,16 @@ const processBlocks = async (blocks, actions, getCache, createNodeId, reporter)
16
29
  try {
17
30
  const fileNode = await (0, gatsby_source_filesystem_1.createRemoteFileNode)({
18
31
  url: imageUrl,
19
- parentNodeId: block.blockId,
32
+ parentNodeId: blockNodeId,
20
33
  getCache,
21
34
  createNode,
22
35
  createNodeId,
23
36
  });
24
37
  if (fileNode) {
38
+ createParentChildLink({
39
+ parent: blockNode,
40
+ child: fileNode,
41
+ });
25
42
  block.parent = fileNode.id;
26
43
  if (!thumbnail)
27
44
  thumbnail = fileNode.id;
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.43",
4
+ "version": "1.0.44",
5
5
  "skipLibCheck": true,
6
6
  "license": "0BSD",
7
7
  "main": "./dist/gatsby-node.js",