Craft CMS と Gatsby を連携しやすくする Craft CMS 用の Gatsby Helper
プラグインと Gatsby 用の gatsby-source-craft
プラグインが公開された。
Gatsby Helper
https://plugins.craftcms.com/g...
craftcms/gatsby-source-craft: Gatsby source plugin for Craft CMS
https://github.com/craftcms/ga...
お試しで今作っているのは gatsby-source-graphql を使って試していた。
gatsby-source-graphql | Gatsby
https://www.gatsbyjs.com/plugi...
ので、試しにこのプラグインを使ってみる。
Craft CMS 側にプラグインをインストール
composer で追加したら管理画面からインストールする。
プラグインをインストールしたら GraphQL のスキーマの設定を追加する
gatsby-source-craft プラグインを追加する。
Gatsby のプロジェクトのところで npm install
で追加する。
追加したら .env.development
あたりに Craft CMS の GraphQL のエンドポイントとTOKENをセットする
Craft CMS 側での GraphQL のエンドポイントの設定はこの辺。
GraphQL API | Craft CMS Documentation | 3.x
https://craftcms.com/docs/3.x/...
.env ファイルを使えるように gatsby-config.js に以下を追加する。
これで再度 Gatsby をうごかしたらこんな感じで Craft CMS のデータを GraphiQL で確認できた。
gatsby-source-graphql
でやるよりはいくぶん楽なのかな・・・・?
次は今作ってみてるものをこちらに置き換えることでの違いを見てみようと思う。
いずれ Craft Cloud がでてきて Gatsby Cloud あたりと連携して静的生成もするとかそういう方向になっていくのかなー。
Next.js とかで SSR するのがいいのか、SSRするくらいなら別に Twig で普通に処理した方がいいのではないかとかとか。
SSG も Gatsby でやるのも悪くないけど、 Blitz プラグインとかで静的キャッシュを CDN に置くとかでもいいだろうし。
選択の幅が広がるというのはありがたい(し、悩ましい)。
参考