Slide 1

Slide 1 text

Jamstackで事前に欲しいパーツ群を洗い出す ジャムスタックチョットデキル!! 真夏のLT大会2022 2022/08/24

Slide 2

Slide 2 text

自己紹介 チョットデキル ちょっと株式会社所属 フロントエンドエンジニア 愛称:たっちー HN:hanetsuki 趣味:アニメ/漫画/ゲーム/お絵描き 近況:6月に女の子を家族として迎え、二児のパパになりました。

Slide 3

Slide 3 text

今回のテーマについて Jamstackでメディアサイトなどを作成する際にいつも作ってるなぁ ... というコンポーネントってありませんか? ● 「確かにいつも作ってるなぁ ...🤔」 ● 「あるあるw」 といったあるあるな、コンポーネントを洗い出していきたいなと思います。

Slide 4

Slide 4 text

① パンくずリスト

Slide 5

Slide 5 text

① パンくずリスト ● SEO対策にも効果的な要素の一つ ● メディア記事であれば必ずと言っていいほど存在しますよね。 😊 ● 構造化マークアップや、押下できる状態・できない状態を持っている場合があ り、実は考慮事項が多いコンポーネントです。 🤯 ● 比較的簡易なコンポーネントですが、チリも積もれば山となる。 ⛰

Slide 6

Slide 6 text

② ページネーション

Slide 7

Slide 7 text

② ページネーション ● 必ずと言っていいほど存在するコンポーネントの一つ ● 少ないページ数や多いページ数。現在表示しているページなど、状況に合わ せて表示パターンが異なったりするので考慮事項が多いのも特徴的。

Slide 8

Slide 8 text

③ 本文用のCSS/コンポーネント

Slide 9

Slide 9 text

③ 本文用のCSS/コンポーネント ● headlessCMSで入稿されたデータを表示するのに利用するスタイルです。 ● よく利用する見出しやリストなどのタグは事前にスタイリングしておいても良さ そうです。 ● コードブロックを利用するなら highlight.jsなどを用いてスタイル付けするのも良 いですね。

Slide 10

Slide 10 text

④ シェアボタン

Slide 11

Slide 11 text

④ シェアボタン ● ボタンのスタイルは違えど、結構頻繁に実装するパーツな気がします。

Slide 12

Slide 12 text

⑤ カテゴリ(タグ)一覧

Slide 13

Slide 13 text

⑤ カテゴリ(タグ)一覧 ● 一覧ページなんかでよくお見受けするコンポーネント ● スタイル次第では、現在表示しているカテゴリーのページには currentクラスを 用いてスタイル付けをしたりします

Slide 14

Slide 14 text

⑥ 本文の目次

Slide 15

Slide 15 text

⑥ 本文の目次 ● 記事内部でページ遷移するための目次コンポーネント ● 本文を解析して、場合によっては見出しの IDなどをゴニョゴニョする必要があり ます。

Slide 16

Slide 16 text

ちょっと振り返っただけでもこれだけあった ① パンくずリスト ② ページネーション ③ 本文用のCSS/コンポーネント ④ シェアボタン ⑤ カテゴリ(タグ)一覧 ⑥ 本文の目次

Slide 17

Slide 17 text

まとめ:毎回作ったりするのは面倒... 社内でのアプローチ ● ナレッジを溜める ● スターターリポジトリを作成してみる ● 社内パッケージ化して利用してみる ● …etc 個人的なアプローチ ● とりあえずミニマムに作ってみた。 ○ https://github.com/tsuki-lab/nextjs-latest-starter ○ https://zenn.dev/rabbit/articles/8a0f5e199be76d

Slide 18

Slide 18 text

ご清聴ありがとうございました。