æ¬ããã°ã¯3幎åã«Gatsby.jsãšGatsbyã§ããã°ãæ§ç¯ããããã®ãã³ãã¬ãŒãã§ããgatsby-starter-blogãçšããŠäœæããŸããã
ãã以éãå°ããã€èšäºãã¢ããããŠããŸããããããã€ãåé¡ç¹ãçããŠãããããã¢ãŒããã¯ãã£ãªã©ã忀èšããããšã«ããŸããã
æ±ããŠããåé¡ç¹
æè¿æããŠãã課é¡ã¯ä»¥äžã®ãããªãã®ã§ããã
- èšäºãGitHub管çã§æ°æ¥œã«æŽæ°ã§ããªã
- èšäºæŽæ°ã«ãã«ããå¿ èŠã§äžäŸ¿
- ã©ã€ãã©ãªæŽæ°ãã§ããŠããªãéšåã§è¡šç€ºã«ãšã©ãŒãçºç
gatsby-starter-blogã®ãšã³ã·ã¹ãã ã®é¢åèã
以äžã®ãããªäžæºãæ±ãããã«ãªã£ãŠããŠèšäºã®æŽæ°ã¯ãããããœãŒã¹ã®ä¿®æ£çãæŸçœ®ããå§æ«ã§ããã
æèã®æã¡æ§ã§ãªããšã§ããªãïŒãšãã粟ç¥è«ã§çä»ããäºãåºæ¥ãŸãããæè¡è ãšããŠã¯èª²é¡ã«ãã¯ãã«ã«ã«å¯ŸåŠããå§¿å¢ãéèŠã ããªãšäžå¿µçºèµ·ããèŠçŽããå§ããŸããã
æå€§ã®èª²é¡
ä»åã®èŠçŽãã«éããŠã®äžçªã®èª²é¡ã¯ãèšäºæŽæ°ãæ°è»œã§ãªãããšãããã®ã§ããã
ãã®åé¡ã®åå ããåé¡ç¹1. ã®ãèšäºãGitHub管çããšåé¡ç¹2. ã®ãèšäºæŽæ°ã«ãã«ããå¿ èŠãã§ããããããã解決ããããšèããŸããã
以åã¯ãããã°ã®ãœãŒã¹ãšèšäºãåããªããžããªã§ç®¡çããNetlifyã§ãããã€ãããŠãããããèšäºãæŽæ°ããããšæã£ãéã«ã¯æé ãšããŠã
- Notionã§9å²ã»ã©æžã
- NotionããããŒã¯ããŠã³ãã¡ã€ã«ãåºåãã
- åºåãããããŒã¯ããŠã³ãããã¹ããšãã£ã¿ã§å çã»ä¿®æ£ãã
- ãªããžããªã«ããã·ã¥ãã
- Netlify ã§ãã«ããå®è¡ããã
æ®æ®µããæ¬ãèªãã æã調ã¹ç©ãããæãªã©ã«ã¯ãã¡ã¢ãNotionã§è¡ã£ãŠããŸãã
ãŸããNotionã ãšPCã ãã§ãªãã¹ããã»ã¿ãã¬ãããªã©ããç·šéã§ãããããæ°ããèšäºãäœæããéã«ã¯å€§æ ã¯Notionã§æãå§ããŠããŸããã
ãã§ã«èº«ã«ã€ããŠããã¡ã¢ã®ç¿æ £ã«ããã°èšäºã®äœæãè¿ã¥ããããšã§ããã°æŽæ°é »åºŠããããç®çã§ããã
ããã¯ãå§ãããŸãè¡ããŸããããçµå±ã¯ãã以éã®2ã5ã®ããã»ã¹ãPC以å€ããè¡ãããNotionã«èšäºã¯æžãããããã°ã«æŽæ°ããªããããªäºæ ãçºçããŠããŸããã
ãŸããæçµçãªèšäºã¯GitHub管çãããå ¬éæžã¿ã®ããã°ã¯ãã¯ãNotionã§ç·šéã§ããã誀ãã®èšæ£ãææ°æ å ±ã®è¿œå ãªã©ãçãã«ãªã£ãŠããŸããã
èšäºæŽæ°ã«æå€§éã®æ°è»œãã
ãšããã§ãNotionã«ã¯å ¬åŒã®APIããããŸãã
APIãå ¬éãããé ã«ãããã䜿ã£ãŠNotionãHeadless CMSãšããŠäœ¿ããšããã®ãæµè¡ã£ãããªãšæããŸãã
ä»åã¯ãã®æ¹åŒãæ¡çšããããšã§ãèšäºæŽæ°ãNotionã«äžæ¬åããããšãã§ãããšèããŸããã
ãŸããèšäºæŽæ°ã«ãã«ããäžèŠã«ãªããæŽæ°é »åºŠãäžããããšãã§ãããã§ãã
ãšããããšã§èŠä»¶ãšããŠã¯ã
- Notionããããã°èšäºã远å ã§ãã
- Notionããæçš¿æžã¿ã®èšäºãæŽæ°ã§ãã
- Notionããèšäºã®å ¬éã»éå ¬éã管çã§ãã
- èšäºã®æŽæ°ã«ãã«ããäžèŠ
- ãããŸã§ã®ããŒã¯ããŠã³ãã¡ã€ã«ã®èšäºãåŒãç¶ãã
ããšã«ãªããŸããã
ããã³ããšã³ãã®ãã¬ãŒã ã¯ãŒã¯
å è¿°ã®éãããã°ã®æ§ç¯ã«ã¯GatsbyJSãå©çšããŠããŸããã
ä»åã®èŠä»¶ã®äžã€ã§ãããèšäºã®æŽæ°ã«ãã«ããäžèŠããšããç¹ã«å¯ŸåŠãé£ãããããä»åã¯Gatsbyã¯ãã¬ãŒã ã¯ãŒã¯äžæ¡çšãšããŸããã
ã€ãŸãå®å šãªãæ°èŠã®éçºã§ããïŒ
ã§ã¯äœãéžãã ã®ããšãããšãã¿ã€ãã«ã§å€æããŠããŸãããNextJSãå©çšããããšã«ããŸããã
Notion APIãå©çšããããã°èšäºäœæã®æ¹æ³
Notion API ã䜿ã£ãããã°èšäºã®äœæã¯èª¿ã¹ããšå±±ã»ã©åºãŠæ¥ãŸãã
代衚çãªãã®ã¯ãã¡ãã®å ¬åŒãµã³ãã«ã§ãããããã€æžã¿ã®ãµã³ãã«ãhttps://notion-blog-nextjs-coral.vercel.app/ãã確èªã§ããŸãã
ãã¡ãã®ãµã³ãã«ããç·šéããŠãè¯ãã®ã§ããã
- Pages Routerã䜿ã£ããµã³ãã«ã§ãã
- ããŒã¯ããŠã³ã®èšäºãšã¯å ±åã§ããªã
- è¯ããæªããèšäºã®ç®¡çãå®å šã«NotionäŸåã«ãªã
ãšããç¹ã«ãããŠãä»åã¯å¥ã®æ¹æ³ãèããŸããã
NotionâMarkdown, MarkdownâHTML
æçµçã«ã¯ä»¥äžã®å³ã®ãããªåœ¢ã«ãªã£ãŠããŸãã

AWS LambdaããNotion APIãçšããŠããŒãžã®ããŒã¿ãååŸããäžåºŠMarkdownãã¡ã€ã«ã«å€æããäžåºŠAWS S3ã«ä¿åããŸãã
ãããŠãªã¯ãšã¹ãããã£ãã¿ã€ãã³ã°ã§Vercelã«ãããã€ããNext.jsãããMarkdownãã¡ã€ã«ãååŸãHTMLã«å€æãã¯ã©ã€ã¢ã³ãã«è¡šç€ºããã
ãã®ãããªæ§æãåãããšã«ãªããŸããã
2åºŠå€æãæããããªæ§æã«ãªã£ãŠãããããæéã¯å€ãã§ãããå©ç¹ãæããŠããŸãã
Markdownãçµç±ããå©ç¹
Markdownãçµç±ããå©ç¹ã¯ããã€ããããŸãã
- åã ã®ããã°èšäºèªäœã¯Notionã«äŸåããªããããéå»ã®Markdownèšäºã容æã«ç§»è¡ã§ãã
- èšäºã®è¡šç€ºã«zenn-markdown-htmlãå©çšã§ãã
- Notion APIãžã®ã¢ã¯ã»ã¹åæ°ãã³ã³ãããŒã«ã§ãã
ãªã©ãæããããŸãã
詳现ã¯ä»åŸå¥ã®èšäºãšããŠæžããŠããããšæã£ãŠããŸããã
å ¬åŒãµã³ãã«ãåèã«èªåã§èŠçŽ ããšã®ã¿ã°ãå®çŸ©ããŠããã®ã¯ããªãé¢åã§ããã®ã§ã
zenn-markdown-htmlã§å®¹æã«çŸéºãªèšäºçæãè¡ããã®ã¯å€§ããªå©ç¹ã§ããã
ã¡ãªã¿ã«NotionããMarkdownã®å€æã¯notion-to-mdãšããã©ã€ãã©ãªãLambdaã§å®è¡ããŠããŸãã®ã§ã
ãã¡ããã»ãšãã©æãããã£ãŠããŸããã
ãŸãšã
ç§»è¡èªäœã¯æéãããããŸãããããªããªãæºè¶³ã®ããä»äžããã«ãªã£ãŠããããã«æããŸãã
ãã®èšäºãNotionã§æžããŠãã®ãŸãŸæçš¿å®äºããŸããïŒãªããŠäŸ¿å©ãªãã ïŒ
ä»åŸã¯ã³ã¡ã³ãæ©èœãã€ãããã¿ã°ã衚瀺ããããšèªåãèšäºãæžãäžã§ãã³ã·ã§ã³ã®äžããæ©èœã远å ããŠãããããªãšæã£ãŠããŸãã
次å以éã§ãèªåã®åå¿é²ãå ŒããŠãæè¡çãªèª¬æãããŠãããããšæããŸãã






who shares tips on Tech, Productivity, Design, and much more!