Gatsby.jsで、特定のシチュエーションでのみ設定が必要になる作業のまとめ。
npm install gatsby-source-contentful
gatsby-config.js
のplugins
に以下を追加。
{ resolve: `gatsby-source-contentful`, options: { host: process.env.CONTENTFUL_HOST, environment: process.env.CONTENTFUL_ENVIRONMENT_ID, spaceId: process.env.CONTENTFUL_SPACE_ID, accessToken: process.env.CONTENTFUL_ACCESS_TOKEN, pageLimit: 444, }, },
Contentfulでは、25,000件までデータを登録できる。
しかし、25,000件のデータを一気に取り出すとタイムアウトになる。
そこで、pageLimit
で1回で取り出すレコードの数を制限。
pageLimit
の数値をいくつにするかは、Contentfulにどのようなデータを登録しているかによる。
.env
系のファイル、およびホスティングサービスの環境変数に以下のものを追加。
CONTENTFUL_HOST=cdn.contentful.com CONTENTFUL_ENVIRONMENT_ID=master CONTENTFUL_SPACE_ID=xxxxx CONTENTFUL_ACCESS_TOKEN=xxxxx
xxxxx
の部分は各自の環境によって値が異なる。
npm install @fontsource/noto-sans-jp
noto-sans-jp
をインストール。
gatsby-browser.js
に以下を追加。
import "@fontsource/noto-sans-jp"
MuiThemeProvider.jsx
コンポーネントのcreateMuiTheme()
に以下を追加。
typography: { fontFamily: ["Noto Sans JP"].join(","), },
フォントを指定すると、最初はブラウザのデフォルトフォントで画面が表示され、
CSS読み込み時に指定したフォントが適用される。
よって、一瞬だが画面がちらつくような印象を受ける。
特にこだわりがなければ、フォントの指定をしない方がいいかもしれない。