Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2022年最新版 GatsbyJS + TypeScript + microCMS でブログを作る。
Search
hanetsuki
May 26, 2022
Technology
13k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2022年最新版 GatsbyJS + TypeScript + microCMS でブログを作る。
hanetsuki
May 26, 2022
More Decks by hanetsuki
See All by hanetsuki
AIを用いて実践してきた開発方法について
hanetsuki
1
110
ソフトウェア開発ナニモワカラナイ
hanetsuki
0
240
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
2.2k
Next.jsの今年一年を振り返る
hanetsuki
1
1.5k
大規模メディアにおけるNext.js とVercelのレンダリングとキャッ シュ戦略について
hanetsuki
4
3.5k
Next.jsチョットデキル!サイトの規模やページ特性に合わせた開発テクニック
hanetsuki
3
2.5k
Jamstackで事前に欲しいパーツ群を洗い出す
hanetsuki
1
470
Next.jsで静的サイトを作成時 よく使っているライブラリまとめ
hanetsuki
5
18k
Next.jsで整える。デザインとロジックの分離
hanetsuki
5
4.7k
Other Decks in Technology
See All in Technology
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
120
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
15k
The future of architectural work
ufried
0
180
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
190
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
2026 Apache Flink Community Checkpoint
rmetzger
0
200
Lint の層を組み直した話
bengo4com
3
320
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
140
Featured
See All Featured
Music & Morning Musume
bryan
48
7.5k
Chasing Engaging Ingredients in Design
codingconduct
0
390
Building an army of robots
kneath
307
47k
Facilitating Awesome Meetings
lara
57
7.2k
The SEO Collaboration Effect
kristinabergwall1
1
620
Being A Developer After 40
akosma
PRO
92
590k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
A better future with KSS
kneath
240
18k
Transcript
2022年最新版 GatsbyJS + TypeScript + microCMS でブログを作る。 2022/05/26 by hanetsuki
in ジャムジャム!!Jamstack_7
hanetsuki • 中野にあるweb開発会社”ちょっと株式会社”所属 • 業界歴5年目のフロントエンドエンジニア • デザインと開発とオタクコンテンツが好き 自己紹介
GatsbyJSって何?
GatsbyJSは、 静的サイトジェネレーターでReactをベースに開発されているフレームワークです。 特徴として、Gatsbyではデータを取得する際にはGraphQLを利用します。 GraphQLを使って内部リソースのMarkdownファイルや、CMSなどのさまざまなデータを取得する ことができます。
microCMSを用意する
microCMSを用意する 1. 環境を作成します サービスIDは後ほど利用するので控えておきます。
microCMSを用意する 2. APIを作成します テンプレートが用意されているのでそちらを利用します。 今回は、ブログを選択します。 しばらくするとコンテンツが作成されます。
microCMSを用意する 3. APIキーを控えておきます 後で、利用するのでこの画面で控えておきます。
GatsbyJSの環境を作る
GatsbyJSの環境を作る 公式のQuick startに従って下記のコマンドを実行します。 参考:https://www.gatsbyjs.com/docs/quick-start/ npm init gatsby
GatsbyJSの環境を作る microCMSのコンテンツを取得する microCMSが公式で提供している gatsby-source-microcms を利用します。 .env npm install gatsby-source-microcms MICROCMS_SERVICE_ID=
MICROCMS_API_KEY=
GatsbyJSの環境を作る GraphQL Typegen を利用してみる GatsbyJSのv4.14で実験的に投入された GraphQL Typegen を利用してみます。 これにより、動的に src/gatsby-types.d.ts
が作成され Queries.** でGraqhQLの型定義を取得することができます。
microCMSからコンテンツを取得する
コンテンツの一覧を取得してみる /pages/index.tsx にGraphQLを記載します。 • 公開日降順 • 最大3件 microCMSからコンテンツを取得する
コンテンツの一覧を表示してみる 取得した情報を表示してみます。 microCMSからコンテンツを取得する
表示できました。 microCMSからコンテンツを取得する
一覧ページを作成する
ブログの一覧ページを作成します。 ページのパスは、 /blogs/ をベースとして、 2ページ移行がある場合には、 /blogs/page/{number} のようなパスになるよう考慮していきます。 動的ページの作成記述は全て gatsby-node.ts に集約させます。
GatsbyJS v4.9 から.tsファイルが利用できるようになりました。 一覧ページを作成する
ブログの一覧ページを作成します。 一覧ページを作成する
ブログの一覧ページを作成します。 ページのパスは、 /blogs/ を基本として、 ページネーションする場合は、 /blogs/page/2 のように値が増えていくよう想定します。 動的ページの作成記述は全て gatsby-node.ts に集約させます。
一覧ページを作成する
ブログの一覧ページを作成します。 一覧ページを作成する
src/templates/blogs.tsx にGraqhQLを記載します。 $limit や $offset には、gatsby-node.tsで記載したcontextに渡したパラメーターが扱えます。 一覧ページを作成する
src/templates/blogs.tsx 一覧ページを作成する
詳細ページを作成する
ブログの詳細ページを作成します。 gatsby-node.ts にページの詳細ページを作成するための 記述をします。 idはmicroCMSのコンテンツIDを利用します。 詳細ページを作成する
src/templates/blog.tsx にGraqhQLを記載します。 $id には、gatsby-node.tsで記載したcontextに渡したパラメーターが扱えます。 詳細ページを作成する
下記のようなページが簡単に作れました。 詳細ページを作成する
ご清聴ありがとうございました