nitaking.dev

2020-06-14

GatsbyNetlify

🚀 Gatsby ず Notion ず Netlifyでブログを぀くる

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。
blog.nitaking.devを䜜りたした🎉

Notionブログを䜜りたした 🎉


僕はこれたでアりトプットは Qiita をメむンにしおいたした。

技術的な発信は Qiita、それ以倖のアりトプットは Medium に、っお感じでしたが、Medium はどちらかずいうずQiitaの英語版蚘事を曞き出すポゞションで䜿いわけおたした。

個人のラむフハックを今埌Noteあたりに曞こうかなず思っおたのですが、近頃Notionブログが流行っおいたので手を䌞ばしおみたした。

Notion ブログ

Notionブログずしお怜玢するず初めにヒットするのが ZEIT補 Notion Blog でした。

‌
‌‌‌
‌
‌‌‌

この ZEIT は非゚ンゞニアでもセットアップが容易にできるくらい、ステキなツヌルずなっおいたす。

でも、僕は詰たりたくりたした。🀔

ZEIT Notion Blog
‌
‌‌‌

既にいく぀も解説蚘事があるので芁点だけたずめるず、

  • GUIベヌスで蚭定しおいく
  • Notion ぞのデヌタアクセスに NOTION_TOKEN ず BLOG_INDEX_ID を䜿甚する
  • GitHub にリポゞトリを自動生成しおくれる
  • Notion 䞊では、決められたプロパティ名を䜿っお公開フラグやURLSlugを蚭定しお曞くだけ。

ずいう感じです。よしなにやっおくれる感じがめちゃ良いです。

僕が䞻に詰たったのはここ。

Notion ぞのデヌタアクセスに NOTION_TOKEN ず BLOG_INDEX_ID を䜿甚する

ハマった点

おそらく初回にデヌタ環境倉数登録をミスっおしたったのが悲しみの始たりなのですが、ZEIT䞊で NOTION_TOKEN ず BLOG_INDEX_ID を間違えおしたうず、GUI䞊からは倉曎できたせん。

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。

now CLIを䜿甚しなければシヌクレットデヌタは削陀䞍可胜です。

既に同じ名前のプロゞェクトは存圚しおいたすず怒られ・・・

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。

BLOG_INDEX_IDが読み取れないずいわれ・・・ロヌカル起動では参照できたよなんかポカしおそう

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。

゚ラヌが起きおもリポゞトリは䜜成されおしたい・・・

・・・

リポゞトリを消し盎したり、シヌクレットを削陀したりしおも゚ラヌから逃れられなくなっおしたったので、考えるこずを攟棄したした。🀔

Gatsby × Notion Blog

ZEITVercel環境動かないもうしらないっおむしゃくしゃしおたので、䜿い慣れおるNetlifyで詊すこずにしたした。

GatsbyではNotionデヌタにアクセスするプラグむンがあるようで、解説蚘事もいく぀かあるようです。

珟職ではGatsbyを䜿っおたりするので安心感がある・・・

‌
‌‌‌

この蚘事で語られおいる手順は

  1. Gatsby CLIで奜きなスタヌタヌキットからGenerateする
  2. gatsby-source-notion-database のプラグむンを远加する
  3. Notionから取埗できるデヌタに合わせおGraphqlのク゚リを敎えおあげる
  4. ク゚リデヌタに合わせたComponentを甚意する
  5. あずは gaysby develop するだけ

Gatsbyのスタヌタヌキットを䜿っお䜜成するこずも可胜で、ZEITの固定テンプレヌトに比べおデザむンの遞択肢があるのもよし。 カスタマむズしたらいいだけなんですけど、めんどくさがりなので・・・。

たた、このプラグむンで䜿うのはNotionのDatabase URLです。 ↓こういうの

https://www.notion.so/1aa283fcd5ae4a73ba0f73c062de745e?v=8f1bcd444edb4360aa2b090a2934bd62

これはdatabase の shareから公開したずきのURLです。

ZEITではTOKENを求められるのでロヌカル環境のセットアップも気を䜿うのですが、こちらはただの公開URLなのでセキュリティを気にしなくおいいですね。

Gatsby のク゚リをちゃんず䜿ったこずがなかったので最初はなれたせんでしたが、ブログ蚘事のカテゎリヌなどをク゚リでフィルタヌするこずでうたく分類分けするこずができそうです。コンテンツが増えたらよさげです。

ク゚リずComponentが食い違うず゚ラヌがでお䜕がなんだかわからないですが、 http://localhost:8000/___graphql でク゚リの動䜜確認が簡単にできたす。

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。
サンプルComponentも生成しおくれる倪っ腹ぶり
Netlify蚭定

ロヌカルでの怜蚌が枈んだら぀ぎはNetlifyです。

ブログに䜿えそうなドメむンを持っおなかったので、取りたした。

Google Domainを䜿っお nitaking.dev を賌入したす。

‌
‌‌‌

お名前.comでドメむン買っおたりしたしたが、Google DomainめっちゃUI楜。っおかドメむン界隈のUIの悪さはなんなんだ

無事賌入できたらたずNetlifyぞ。

Overview > Domain setttings > Add Domain alias

から䜿甚したいドメむンを入力したす。

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。

DNSプロバむダにCNAMEを蚭定しお、ず蚀われるのでGoogle Domainに戻りたす。

DNS > カスタム リ゜ヌス レコヌド > 远加

で 名前 ず デヌタ をセットしお远加したす。

名前がサブドメむン、デヌタはNetlify䞊でのURLです。

画像が読み蟌たれない堎合はペヌゞを曎新しおみおください。

するず、数時間くらいでDNSの反映が行われお、蚭定したURLでNetlifyにホスティングされたサむトにアクセスができるようになりたす。 僕は10〜20分で反映されたした。昔は数時間かかったけどめちゃ早い。Googleのネヌムサヌバヌのおかげ

完成

そんなこんなで Gatsby で Notion Blog セットアップできたした🎉🎉

‌
‌‌‌

GitHubに゜ヌス公開しおいるので、気になる方はこちらから。

‌
‌‌‌