Ceci est un exemple de projet Next.js qui affiche le support SSG (génération de sites statiques) de Next.js à l'aide de l'API privée de Notion pour un backend.
Remarque : Cet exemple utilise les crochets SSG expérimentaux uniquement disponibles dans la succursale de Canary suivante! Les API utilisées dans cet exemple changeront avec le temps. Puisqu'il utilise une API privée et des fonctionnalités expérimentales, utilisez à vos propres risques car ces choses pourraient changer à tout moment.
Exemple en direct hébergé sur Vercel : https://notion-blog.vercel.app/
Pour afficher les étapes pour configurer la notion pour travailler avec cet exemple, consultez le message sur https://notion-blog.vercel.app/blog/my-first-post ou suivez les étapes ci-dessous.
Déployez votre propre blog de notion avec Vercel.
ou
git clone https://github.com/ijjk/notion-blog.gitvcNOTION_TOKEN et BLOG_INDEX_ID comme variables d'environnement dans votre projet. Voir ici pour savoir comment trouver ces valeursvc Remarque: Si le redéployage avec vc localement et que vous n'avez apporté aucune modification à la source de l'application et uniquement édité dans la notion, vous aurez besoin d'utiliser vc -f pour contourner la dédoute
Remarque : Ceci est automatique si une table n'est pas détectée la première fois en visite /blog
git clone https://github.com/ijjk/notion-blog.gitcd notion-blog && yarnNOTION_TOKEN='token' BLOG_INDEX_ID='new-page-id' node scripts/create-table.js voir ici pour trouver l'ID pour la nouvelle pageLe tableau doit avoir les propriétés suivantes:
Page : C'est la page du blog du blogSlug : Ceci est la limace du blog par rapport au /blog , ce devrait être une propriété textePublished : This Filters Blog Articles en production , il devrait s'agir d'une propriété à cocherDate : c'est à ce moment que le billet de blog apparaît comme affiché, ce devrait être une propriété de dateAuthors : Il s'agit d'une liste d'utilisateurs de notion qui ont écrit le message, ce devrait être une propriété de personne 
Pour obtenir la valeur de l'index de votre blog, ouvrez la notion et accédez à la page de notion avec le tableau que vous avez créé ci-dessus. Pendant que sur cette page, vous devriez pouvoir obtenir l'ID de la page à partir de:
BLOG_INDEX_ID est S5qv1QbU-zM1w-xm3H-3SZR-Qkupi7XjXTulloadPageChunk , si vous ouvrez votre console de développeur et accédez à l'onglet réseau, rechargez la page, vous devriez voir une demande de loadPageChunk et dans la charge utile de demande, vous devriez voir un pageId et c'est votre BLOG_INDEX_ID Pour obtenir votre jeton de notion, ouvrez la notion et recherchez le cookie token_v2 .
Pour exécuter le projet localement, vous devez suivre les étapes 1 et 2 du déploiement, puis suivre les étapes ci-dessous
yarn des dépendancesNOTION_TOKEN et BLOG_INDEX_ID dans votre environnement export NOTION_TOKEN='<your-token>' et export BLOG_INDEX_ID='<your-blog-index-id>' ou set NOTION_TOKEN="<your-token>" && set BLOG_INDEX_ID="<your-blog-index-id>" pour Windowsyarn devyarn build && yarn start