@@ -25,40 +25,11 @@ const Post = ({ post, blockMap }) => {
2525}
2626
2727export async function getStaticPaths ( ) {
28- const mapPageUrl = defaultMapPageUrl ( BLOG . notionPageId )
29-
30- const pages = await getAllPagesInSpace (
31- BLOG . notionPageId ,
32- BLOG . notionSpacesId ,
33- getPostBlocks ,
34- {
35- traverseCollections : false
36- }
37- )
38-
39- const subpageIds = Object . keys ( pages )
40- . map ( ( pageId ) => '/s' + mapPageUrl ( pageId ) )
41- . filter ( ( path ) => path && path !== '/s/' )
42-
43- // Remove post id
44- const posts = await getAllPosts ( { onlyNewsletter : false } )
45- const postIds = Object . values ( posts )
46- . map ( ( postId ) => '/s' + mapPageUrl ( postId . id ) )
47- const noPostsIds = subpageIds . concat ( postIds ) . filter ( v => ! subpageIds . includes ( v ) || ! postIds . includes ( v ) )
48-
49- const heros = await getAllPosts ( { onlyHidden : true } )
50- const heroIds = Object . values ( heros )
51- . map ( ( heroId ) => '/s' + mapPageUrl ( heroId . id ) )
52- const paths = noPostsIds . concat ( heroIds ) . filter ( v => ! noPostsIds . includes ( v ) || ! heroIds . includes ( v ) )
53-
28+ // Avoid hammering Notion at build time (429). Pages are rendered on demand via ISR.
5429 return {
55- paths,
30+ paths : [ ] ,
5631 fallback : true
5732 }
58- // return {
59- // paths: [],
60- // fallback: true
61- // }
6233}
6334
6435export async function getStaticProps ( { params : { subpage } } ) {
@@ -67,6 +38,9 @@ export async function getStaticProps({ params: { subpage } }) {
6738 let blockMap , post
6839 try {
6940 blockMap = await getPostBlocks ( subpage )
41+ if ( ! blockMap ) {
42+ return { props : { post : null , blockMap : null } , revalidate : 60 }
43+ }
7044 const id = idToUuid ( subpage )
7145
7246 const breadcrumbs = getPageBreadcrumbs ( blockMap , id )
@@ -81,7 +55,7 @@ export async function getStaticProps({ params: { subpage } }) {
8155 // console.log("debug: ", breadcrumbs, post)
8256 } catch ( err ) {
8357 console . error ( err )
84- return { props : { post : null , blockMap : null } }
58+ return { props : { post : null , blockMap : null } , revalidate : 60 }
8559 }
8660
8761 // Allow only pages in your own space
@@ -98,7 +72,7 @@ export async function getStaticProps({ params: { subpage } }) {
9872 }
9973
10074 if ( ! pageAllowed ( blockMap ) ) {
101- return { props : { post : null , blockMap : null } }
75+ return { props : { post : null , blockMap : null } , revalidate : 60 }
10276 } else {
10377 return {
10478 props : { post, blockMap } ,
0 commit comments