Skip to content

Commit 60bf95a

Browse files
committed
feat: notion-to-utils makePreviewImage
1 parent e65736b commit 60bf95a

File tree

4 files changed

+173
-282
lines changed

4 files changed

+173
-282
lines changed

package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
"is-url-superb": "^6.1.0",
1616
"jotai": "^2.8.0",
1717
"lodash": "^4.17.21",
18-
"lqip-modern": "^2.0.0",
1918
"next": "^13.4.4",
20-
"notion-to-utils": "^0.4.19",
19+
"notion-to-utils": "^0.4.20",
2120
"p-map": "^7.0.2",
2221
"react": "^18.2.0",
2322
"react-dom": "^18.2.0",
@@ -27,7 +26,6 @@
2726
},
2827
"devDependencies": {
2928
"@types/lodash": "^4.14.195",
30-
"@types/lqip-modern": "^1.1.3",
3129
"@types/node": "18.11.10",
3230
"@types/react": "18.0.26",
3331
"@types/react-dom": "18.0.9",

src/utils/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ export { default as getIdBySlug } from './getIdBySlug';
99
export { default as parsePosts } from './parsePosts';
1010
export { default as generateRssFeed } from './generateRssFeed';
1111
export { default as generateSitemap } from './generateSitemap';
12-
export { getPreviewImageFromRecordMap, getPreviewImages, makePreviewImage } from './previewImage';
12+
export { getPreviewImageFromRecordMap, getPreviewImages } from './previewImage';

src/utils/previewImage.ts

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import isUrl from 'is-url-superb';
2-
import lqip from 'lqip-modern';
2+
import { makePreviewImage } from 'notion-to-utils';
33

44
import { Post } from '@/interfaces';
5-
import { ExtendedRecordMap, PreviewImage, PreviewImageMap } from '@/interfaces/notion';
5+
import { ExtendedRecordMap, PreviewImageMap } from '@/interfaces/notion';
66
import { Block, PageBlock } from '@/interfaces/notion-block';
77

88
import { getBlockCollectionId } from '@/utils/getPage';
@@ -101,25 +101,6 @@ const getPageImageUrls = (
101101
return Array.from(new Set(imageUrls));
102102
};
103103

104-
export const makePreviewImage = async (url: string) => {
105-
try {
106-
const response = await fetch(url);
107-
const buffer = Buffer.from(await response.arrayBuffer());
108-
109-
const {
110-
metadata: { dataURIBase64, originalHeight, originalWidth },
111-
} = await lqip(buffer);
112-
const result: PreviewImage = {
113-
dataURIBase64,
114-
originalHeight,
115-
originalWidth,
116-
};
117-
return result;
118-
} catch (error) {
119-
return null;
120-
}
121-
};
122-
123104
export const getPreviewImages = async (posts: Post[]) => {
124105
const postsWithPreview = Promise.all(
125106
posts.map(async (post) => {

0 commit comments

Comments
 (0)