gatsby-source-notion-churnotion 1.0.75 → 1.0.77
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
|
|
1
|
-
import { Actions, Reporter } from "gatsby";
|
2
|
-
export declare const processMetadata: (blocks: any[], actions: Actions, createNodeId: (input: string) => string, reporter: Reporter) => Promise<any[]>;
|
1
|
+
import { Actions, GatsbyCache, Reporter } from "gatsby";
|
2
|
+
export declare const processMetadata: (blocks: any[], actions: Actions, createNodeId: (input: string) => string, reporter: Reporter, cache: GatsbyCache) => Promise<any[]>;
|
@@ -17,7 +17,7 @@ const scraper = (0, metascraper_1.default)([
|
|
17
17
|
(0, metascraper_description_1.default)(),
|
18
18
|
(0, metascraper_image_1.default)(),
|
19
19
|
]);
|
20
|
-
const processMetadata = async (blocks, actions, createNodeId, reporter) => {
|
20
|
+
const processMetadata = async (blocks, actions, createNodeId, reporter, cache) => {
|
21
21
|
const { createNode } = actions;
|
22
22
|
for (const block of blocks) {
|
23
23
|
if (block.type === "text" ||
|
@@ -31,6 +31,17 @@ const processMetadata = async (blocks, actions, createNodeId, reporter) => {
|
|
31
31
|
const href = text.href;
|
32
32
|
if (href) {
|
33
33
|
try {
|
34
|
+
reporter.info(`[INFO] Processing metadata for URL: ${href}`);
|
35
|
+
const cacheKey = `metadata-${crypto_1.default
|
36
|
+
.createHash("md5")
|
37
|
+
.update(href)
|
38
|
+
.digest("hex")}`;
|
39
|
+
const cachedMetadata = await cache.get(cacheKey);
|
40
|
+
if (cachedMetadata) {
|
41
|
+
reporter.info(`[INFO] Using cached metadata for URL: ${href}`);
|
42
|
+
text.href = cachedMetadata.nodeId;
|
43
|
+
continue;
|
44
|
+
}
|
34
45
|
reporter.info(`[INFO] Fetching metadata for URL: ${href}`);
|
35
46
|
const response = await fetch(href, {
|
36
47
|
headers: { "User-Agent": "Mozilla/5.0" },
|
@@ -56,6 +67,7 @@ const processMetadata = async (blocks, actions, createNodeId, reporter) => {
|
|
56
67
|
};
|
57
68
|
createNode(metadataNode);
|
58
69
|
reporter.info(`[SUCCESS] Created metadata node for URL: ${href}`);
|
70
|
+
await cache.set(cacheKey, { ...metadata, nodeId });
|
59
71
|
text.href = nodeId;
|
60
72
|
}
|
61
73
|
catch (error) {
|
package/dist/util/processor.js
CHANGED
@@ -6,7 +6,7 @@ const metadataProcessor_1 = require("./metadataProcessor");
|
|
6
6
|
const tableOfContent_1 = require("./tableOfContent");
|
7
7
|
const processor = async (blocks, actions, getCache, createNodeId, reporter, cache) => {
|
8
8
|
const { thumbnail, tableOfContents, updatedBlocks, rawText } = await processBlocksForContent(blocks, actions, getCache, createNodeId, reporter, cache);
|
9
|
-
await (0, metadataProcessor_1.processMetadata)(blocks, actions, createNodeId, reporter);
|
9
|
+
await (0, metadataProcessor_1.processMetadata)(blocks, actions, createNodeId, reporter, cache);
|
10
10
|
return [thumbnail, tableOfContents, updatedBlocks, rawText];
|
11
11
|
};
|
12
12
|
exports.processor = processor;
|
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.77",
|
5
5
|
"skipLibCheck": true,
|
6
6
|
"license": "0BSD",
|
7
7
|
"main": "./dist/gatsby-node.js",
|