コード・ドキュメント・会話で同じ言葉を同じ意味で使うための用語集。コード上の名前(英語)と日本語表記を対応づける。

👤 アクター関連

用語 定義
Reader(読者) ブログを閲覧する人。ログイン不要
Owner(運営者) ブログの著者。microCMS管理画面で記事を管理する
Author(著者) 記事を書いた人としての表示上の呼称。サイドバーの「プロフィール」カードに表示される。本ブログでは Owner と同一人物

📝 記事(Article)関連

用語 定義
Article(記事) ブログ1件。UI・ドメイン上の呼称。microCMS上のコンテンツ種別はblogs、現行コードの型名はBlog
Blog(ブログ記事) microCMS APIのエンドポイント名および外部レスポンス型。ドメイン上の Article と同義だが、external/層の中でのみ使う
ArticleId(記事ID) 記事を一意に識別するID。microCMSのコンテンツIDで、URL(/blogs/[id])に使う
Title(タイトル) 記事の題名
Excerpt(要約) 記事の1文の説明。本文の抜粋ではなく、CMSで別途入力する。画面(カード・詳細ページ)には表示せず、meta description・OGPの説明文にのみ使う
Body(本文) 記事の中身。microCMSのリッチエディタが出力するHTML
PublishedAt(公開日) 記事が公開された日時。並び順・NEW判定・アーカイブ集計の基準
NewBadge(新着バッジ) 公開から一定期間内の記事に付く「新着」表示
Eyecatch(アイキャッチ) microCMSに登録する記事画像。未設定でも記事は成立する
Draft(下書き) microCMS上で未公開の状態。本アプリには現れない

🏷️ カテゴリ・分類関連

用語 定義
Category(カテゴリ) 記事の分類(React / TypeScript / Next.js / CSS / Testing / Git / 日々のこと)。1記事に複数付けられる
Slug(スラッグ) カテゴリをURLやキーとして扱うための英数字表記(例: typescript)
CategoryTag(カテゴリタグ) 記事カード・詳細ページに表示する、カテゴリ名の小さなラベル
CategoryFilter(カテゴリ絞り込み) トップページをカテゴリで絞り込む操作。UIとしてはサイドバーのTopics一覧のみで行い、一覧上部のタブは持たない(旧案で存在したタブは廃止)
Topics(トピックス) サイドバーのカテゴリ一覧。カテゴリ名と記事件数を表示する
Archive(アーカイブ) 公開年月ごとの記事件数の一覧
ArchiveMonth(アーカイブ月) YYYY-MM形式の年月。アーカイブの1項目

🎨 カード表現関連

用語 定義
ArticleCard(記事カード) 一覧に並ぶ1記事分の表示単位。サムネイル・メタ情報・タイトル・タグで構成する
Thumbnail(サムネイル) 記事カード左側の装飾画像。画像ファイルではなく、文字と配色で描画する
CardLabel(カード見出し文字) サムネイルの大きな装飾文字。先頭カテゴリ名をそのまま使う(例: TypeScript)
CardTheme(カード配色) サムネイルの配色バリエーション。blue / dark / green / purple / black / yellow
MetaLine(メタ行) 公開日・新着バッジを横に並べた行

🧭 画面・機能関連

用語 定義
Home(トップページ) /。最新記事・サイドバーを持つ入口ページ。記事一覧を兼ねる(旧/blogsは廃止)。絞り込み時はヘッダー直下にBreadcrumbが表示される
ArticleList(記事一覧) /のトップページが兼ねる、全記事のカード一覧。フィルタ・検索・ページネーションに対応する
ArticleDetail(記事詳細) /blogs/[id]。1記事の全文ページ
About(このブログについて) /about。ブログのコンセプトを説明するページ。見出しは固定、本文はmicroCMSのabout(オブジェクト形式)で管理する
CatchCopy(キャッチコピー) ヘッダー内、ロゴ・ナビの行の直下に表示する1行のキャッチコピー(つくって、試して、わかったこと。Web開発の学びをここに。)。ページによらず全ページ共通で常時表示する。旧称Hero(大見出し「技術と、日々の余白。」を含む領域)を置き換えた
Sidebar(サイドバー) 検索・著者カード・Topics・Archiveなどを並べる右側の領域
SearchBox(検索ボックス) サイドバーの入力欄。タイトルの部分一致で絞り込む
AuthorCard(著者カード) アバター・名前・肩書き・自己紹介・SNSアイコン・プロフィールページへのリンクを持つカード
Breadcrumb(パンくず) ヘッダー直下に表示する「HOME > 現在地」表示。記事詳細・プロフィール・トップページのカテゴリ/月絞り込み時に表示する共通部品
ScrollTop(ページ先頭へ戻る) 右下のフローティングボタン
Pagination(ページネーション) 一覧下部の「前へ」「ページ番号」「次へ」。件数表示・表示件数セレクトとあわせて全件をページ単位で閲覧できる(旧「もっと見る(LoadMore)」を置き換えた)
PageSize(表示件数) 1ページに表示する記事数。10 / 20 / 30件から選択できる(既定10件)
Profile(プロフィール) 著者の自己紹介ページ(/profile)。本アプリ内の内部ページで、内容はmicroCMSのprofileで管理する
SnsLink(SNSリンク) 著者のSNS(GitHub / X など)への外部リンク。著者カードにアイコンで表示する
ShareButtons(シェアボタン) 記事詳細で、表示中の記事をX・Facebook・はてなブックマークへ共有するボタン群。著者のSNSへ飛ぶ「SnsLink」とは別物なので混同しない
NotFound(404ページ) 存在しないURL・記事IDで表示するページ。app/not-found.tsx。HTTPステータス404を返す
Sanitize(サニタイズ) リッチエディタHTMLから許可していないタグ・属性(<script>、onclick等)を取り除く処理。RichTextで描画する直前にサーバー側で行う
WebAppManifest(マニフェスト) PWAとしてインストールするための設定(名前・アイコン・テーマ色など)。app/manifest.tsで定義する
ShareUrl(シェアURL) 各サービスの共有画面を開くURL(例: https://x.com/intent/post?text=…)。記事の絶対URLとタイトルから組み立てる

🧱 データ・技術関連

用語 定義
microCMS ヘッドレスCMS。記事データの唯一の保管場所であり、本アプリの外部システム
Content Model(コンテンツモデル) microCMS上のフィールド定義。DBスキーマに相当する(06_content_model.md)
external層 外部システム(microCMS)との接続点。src/external/に置く
features層 ドメイン(機能)単位の司令塔。src/features/に置く
Server Component サーバー側で描画・データ取得するReactコンポーネント。本アプリの既定
generateMetadata ページごとのSEO用メタデータを生成するNext.jsの関数

⚠️ 表記ゆれ防止

使う 使わない 理由
Article Post / Entry UI・ドメインでは Article に統一する
Blog (external層の外では使わない) microCMSのAPI名としてexternal/内に閉じ込める
Category Tag 「Tag」は見た目(CategoryTag)に限定して使う
PublishedAt date / createdAt 「公開日」と「作成日」は別物。表示・ソートは公開日を使う