summaryrefslogtreecommitdiff
path: root/doc/Specifications.md
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-08-26 21:43:16 +0900
committertanaka takashi <isazaka@gmail.com>2026-08-26 21:43:16 +0900
commitc74551e116e80103aaa3c97c2592b7fb6f16ec90 (patch)
tree70485bf8c5000362fb04cd067bb31da909128004 /doc/Specifications.md
parente3f41a8140cfed799a2c977b3d799cd06204b09a (diff)
仕様書と設計書を改訂
Diffstat (limited to 'doc/Specifications.md')
-rw-r--r--doc/Specifications.md881
1 files changed, 185 insertions, 696 deletions
diff --git a/doc/Specifications.md b/doc/Specifications.md
index 1cffd4a..86a6a2f 100644
--- a/doc/Specifications.md
+++ b/doc/Specifications.md
@@ -1,721 +1,210 @@
-# Specifications.md
-
# たかしの記録 — 要求仕様書
-## 1. 文書目的
-
-本書は、個人Webサイト「たかしの記録」の利用者視点・コンテンツ視点での要求仕様を定義する。
+## 1. 文書の役割
-本書では「何を提供するサイトか」「誰がどのように読むか」「どの情報をどのように見せるか」を定義し、具体的なZola/Tera/SCSS実装方法は `Design.md` に委ねる。
+本書は、個人サイト「たかしの記録」が利用者へ提供する内容と体験を定義する。対象はサイトの目的、掲載情報、閲覧導線、品質方針であり、実装技術や内部構造は扱わない。
----
+技術選定、ファイル構成、コンテンツ形式、画面生成、スタイル、ビルドおよび検証方法は[Design.md](Design.md)に記載する。
## 2. サイト概要
-### 2.1 サイト名
-
-**たかしの記録**
-
-### 2.2 サイトの目的
+| 項目 | 内容 |
+|---|---|
+| サイト名 | たかしの記録 |
+| 公開URL | `https://www.takashi-2521.com` |
+| 言語 | 日本語 |
+| 運営者 | Takashi |
+| 主な内容 | 日々考えたこと、調べたこと、作成したソフトウェア |
+| 更新方針 | 更新頻度を固定せず、残す価値のある内容を公開する |
-本サイトは、運営者が日頃考えたこと・感じたこと・調べたことを記録し、作成したソフトウェアとともに長期的に保存・公開する個人アーカイブである。
+## 3. コンセプト
-主な用途は次のとおり。
+### 3.1 目的
-- 日々考えたことや感じたことの記録
-- 読書を通じて考えたことの記録
-- 技術調査・技術メモの公開
-- 長文記事・考察の公開
-- 作成したソフトウェアの紹介
-- ソフトウェア制作の背景・過程・設計意図の記録
-- ソフトウェアに関連する技術記事との相互参照
+このサイトは、文章とソフトウェアに関する記録を、あとから読み返せる形で長期的に公開する個人アーカイブである。
-### 2.3 主な対象分野
+### 3.2 基本方針
-Notesでは特定分野に限定せず、少なくとも以下を扱う。
+| ID | 方針 |
+|---|---|
+| C-01 | 更新の速さや量より、記録を継続して残せることを優先する。 |
+| C-02 | 短いメモと長い考察を同じNotesとして扱い、分野を過度に限定しない。 |
+| C-03 | Softwareでは成果物だけでなく、背景、判断、制作過程も説明する。 |
+| C-04 | 余白、文字、罫線を中心とした静かな編集デザインを採用する。 |
+| C-05 | 広告、反応数、推薦表示など、本文の読解を妨げる要素を置かない。 |
+| C-06 | ソースコードは自分で管理するGitリポジトリを正本とし、cgitで公開する。外部サービスは必要に応じてミラーとして利用する。 |
-- 情報工学・ソフトウェア
-- 論理学
-- マルクス・資本論・政治経済
-- 地球環境
-- 読書を通じた考察
-- 上記にまたがる複合的なテーマ
-
-分類は固定カテゴリではなくタグを基本とし、分野横断の記事を許容する。
-
-### 2.4 想定読者
+### 3.3 想定読者
- 運営者本人
-- ソフトウェアエンジニア
-- 技術分野に関心のある一般読者
-- 学生
-- 個々の記事テーマに関心のある一般人
-
-専門読者だけに限定せず、記事冒頭で主題を把握できることを重視する。
-
-### 2.5 更新頻度
-
-通常は **2〜3か月に1〜2回程度** を想定する。
-
-更新頻度を競うニュースサイトやSNSではなく、長期間残るアーカイブとして設計する。
-
----
-
-## 3. サイトの基本コンセプト
-
-### 3.1 中心コンテンツ
-
-サイトの主役は以下の2つとする。
-
-1. **Notes**
-2. **Software**
-
-HomeとAboutは、この2つへの入口・補助情報として扱う。
-
-### 3.2 デザインコンセプト
-
-デザインは **Minimal Editorial Archive** を基本とする。
-
-方向性は以下。
-
-- 文章とリンクを主役にする
-- 装飾を抑える
-- 罫線・余白・タイポグラフィで情報階層を表現する
-- カードUIを乱用しない
-- 画像を主役にしない
-- 技術者向けダッシュボード風・SaaSランディングページ風にしない
-- 長文を落ち着いて読める
-- 更新間隔が長くても「止まったサイト」に見えにくい
-- Gwern.netの長文アーカイブ性とSimon Willison's Weblogの実用的な情報構造を参考にする
-
-### 3.3 基本画面構造
-
-全画面の基本構造は以下。
-
-- 小さなHeader
-- Main content
-- 小さなFooter
-
-Header/Footerは本文より目立たせず、高さも必要以上に取らない。
-
-Sidebarは使用しない。
-
----
-
-## 4. 情報アーキテクチャ
-
-### 4.1 グローバル構成
-
-トップレベルは以下を基本とする。
-
-- `/` — Home
-- `/notes/` — Notes一覧
-- `/software/` — Software一覧
-- `/about/` — About
-- `/tags/` — タグ一覧
-- `/tags/<tag>/` — タグ別Notes等の一覧
-
-### 4.2 グローバルナビゲーション
-
-Headerに以下を表示する。
-
-- Home
-- Notes
-- Software
-- About
-
-Source/cgitへのリンクはグローバルナビゲーションには常設せず、Software内で案内する。
-
----
-
-## 5. Home仕様
-
-### 5.1 役割
-
-Homeはサイト全体の入口・索引として機能する。
-
-ポートフォリオ用の大きなHero、自己宣伝CTA、プロフィール写真などは必須としない。
-
-### 5.2 表示内容
-
-以下の順序を基本とする。
-
-1. 短い説明文
-2. 最近のNotes
-3. Software
-4. サイトについての短い説明
-5. Aboutへの導線
-
-サイト名はHeaderに表示されるため、Home本文では重複表示しない。
-
-### 5.3 トップ説明文
-
-初期文言:
-
-> 日々考えたこととか思ったことを記録します
-
-将来文言を修正できること。
-
-### 5.4 最近のNotes
-
-初期表示件数は **5件** とする。
-
-各項目には以下を表示する。
-
-- 公開日
-- タイトル
-- 必要に応じ短いdescription
-
-Homeでは情報量を抑え、本文を直接大量表示しない。
-
-### 5.5 Software
-
-初期表示件数は **4件** とする。
-
-Homeでは原則としてSoftware名を中心に表示する。
-
----
-
-## 6. Notes仕様
-
-### 6.1 Notesの定義
-
-文章として残したい内容は原則としてNotesとして扱う。
-
-技術メモ、読書記録、調査、考察、論考を別々のコンテンツ型へ過度に分割しない。
-
-### 6.2 Notes一覧
-
-Notes一覧は **年別アーカイブ** とする。
-
-例:
-
-- 2026
- - 08-21 記事タイトル
- - 05-03 記事タイトル
-- 2025
- - ...
-
-年は新しい順、各年内も原則として公開日の新しい順に表示する。
-
-### 6.3 Notes一覧に表示する情報
-
-- 公開日
-- タイトル
-- タグ
-- 必要に応じdescription
-
-タグはNotes一覧およびタグ一覧で表示する。
-
-### 6.4 Note詳細
-
-Note詳細では以下を表示する。
-
-- タイトル
-- 公開日
-- 更新日(存在する場合)
-- 目次
-- 本文
-- 脚注
-- 参考文献
-- 関連Software(設定されている場合)
-- 前後の記事導線は必須としない
-
-タグはNote詳細の主要表示項目にしない。
-
-### 6.5 目次
-
-Note詳細では **目次を常時表示**する。
-
-Sidebarは使わないため、本文冒頭付近にインラインで配置する。
-
-見出しが存在しない場合は空の目次領域を表示しない。
-
-### 6.6 脚注
-
-Markdown/Zola標準機能による脚注を日常的に利用できること。
-
-脚注の見た目を本文と一貫させる。
-
-### 6.7 参考文献
-
-長文記事の末尾にReferences/参考文献セクションを設けられること。
-
-参考文献は通常のMarkdownで記述可能とし、共通の見た目を持つ。
-
-### 6.8 公開日と更新日
-
-- 公開日は必須
-- 更新日は任意
-- 更新日が存在する場合は公開日とともに表示する
-
-### 6.9 記事の成熟度
-
-Draft / Note / Essay 等の成熟度・状態ラベルは導入しない。
-
-Zola内部のdraft機能は公開制御に使用してよいが、利用者向けの成熟度表示は行わない。
-
----
-
-## 7. Tags仕様
-
-### 7.1 分類方針
-
-初期実装ではカテゴリを設けず、**tagsのみ**を使用する。
-
-### 7.2 タグの目的
-
-- 分野横断の記事を柔軟に分類する
-- 同じテーマの記事を探せるようにする
-- 固定カテゴリ階層を避ける
-
-### 7.3 想定タグ例
-
-- 情報工学
-- 論理学
-- 資本論
-- 政治経済
-- 地球環境
-- AI
-- LLM
-- 読書
-- Windows
-- Git
-
-タグ語彙はコンテンツ追加に応じて増やす。
-
----
-
-## 8. Software仕様
-
-### 8.1 役割
-
-Softwareは作成したソフトウェアを人間向けに説明する場所とする。
-
-ソースコードそのものの閲覧・履歴表示はcgitへ委ねる。
-
-### 8.2 Software一覧
-
-一覧では情報量を抑え、**Software名を主表示**とする。
-
-必要に応じ短いdescriptionを添えてよいが、画像や大量のmetadataは表示しない。
-
-### 8.3 Software詳細
-
-以下の情報を扱えること。
-
-- Software名
-- 概要
-- 作成した背景・目的
-- 開発・制作の過程
-- 特徴
-- 使用言語
-- ライセンス
-- Source(自前cgit)
-- GitHub mirror(存在する場合)
-- 関連Notes
-- スクリーンショット(必要な場合のみ)
-
-Implementation detailsは本文中で必要な範囲だけ記述し、固定項目として過剰に構造化しない。
-
-### 8.4 Sourceの優先順位
-
-ソースコードの正本は **自前cgit** とする。
-
-Software詳細では以下の順で扱う。
-
-1. Source — cgit
-2. GitHub mirror — 当面維持
-
-### 8.5 スクリーンショット
-
-- Software一覧では表示しない
-- Software詳細で必要な場合のみ表示する
-- 画像が多くなり本文の可読性を損なわないようにする
-
----
-
-## 9. NotesとSoftwareの関連付け
-
-NotesとSoftwareは相互に関連付けられること。
-
-例:
-
-- Softwareから関連Notesへ
-- Noteから関連Softwareへ
-
-関連付けは明示的に管理し、単なるタグ一致だけで自動的に関連付けない。
-
----
-
-## 10. About仕様
-
-Aboutには以下を掲載する。
-
-- 名前
-- 一言プロフィール
-- このサイトの目的
-- 主な関心分野
-- 連絡先
-
-職務経歴書・詳細な履歴書としては設計しない。
-
----
-
-## 11. Header仕様
-
-### 11.1 表示内容
-
-- サイト名「たかしの記録」
-- Home
-- Notes
-- Software
-- About
-- Dark/Light theme切替(提供する場合)
-
-### 11.2 レイアウト
-
-- 高さを抑える
-- サイト本文より主張しない
-- DesktopとMobileの双方で簡潔に表示
-- 必要でなければHamburger menuは使用しない
-
----
-
-## 12. Footer仕様
-
-Footerには最低限以下を表示する。
-
-- Copyright
-- RSS
-- Mail
-
-cgitリンクはSoftware側で扱う。
-
----
-
-## 13. Typography仕様
-
-### 13.1 本文
-
-Sans-serifを使用する。
-
-Web fontは外部取得せず、system font stackを使用する。
-
-### 13.2 UI
-
-Sans-serif + Monospaceを役割分担して使用する。
-
-Monospaceは以下のような補助情報に使用できる。
-
-- 日付
-- metadata
-- ラベル
-- コード
-- 技術的な短い補助情報
-
-### 13.3 コード
-
-system monospaceを使用する。
-
----
-
-## 14. 色・テーマ仕様
-
-### 14.1 Light theme
-
-- 紙に近い暖かみのある明るい背景
-- ほぼ黒の本文
-- muted gray
-- 薄い罫線
-- 青をaccent/link色として使用
-
-### 14.2 Dark theme
-
-Dark modeに対応する。
-
-- 真っ黒ではなく濃いgrayを基本
-- 明るい本文
-- muted gray
-- dark border
-- light themeと対応する青系accent
-
-### 14.3 Accent
-
-Accentは青系1色を基本とする。
-
-具体的な色値はDesignで定義する。
-
----
-
-## 15. リンク仕様
-
-- 通常リンクは青
-- 原則として下線を付け、リンクであることを明確にする
-- Hoverでは色等を軽く変える
-- 大きなアニメーションを付けない
-- 外部リンクには `↗` 等の簡潔な外部リンク記号を表示する
-- 外部アイコンライブラリは使用しない
-
----
-
-## 16. Layout仕様
-
-- Sidebarなし
-- Main contentを中央付近に配置
-- 長文は左右に十分な余白を確保
-- 最大本文幅はDesign段階で具体値を定義
-- Desktopでは広すぎない
-- Mobileでは横スクロールを発生させない
-- コードブロック等、必要な要素のみ内部横スクロールを許容
-
----
-
-## 17. Motion仕様
-
-Animationは原則使用しない。
-
-以下も初期実装では不要。
-
-- View Transition
-- Parallax
-- Scroll animation
-- Fade-in animation
-- Decorative motion
-
----
-
-## 18. 画像仕様
-
-- 画像は最小限
-- Homeに装飾目的の大量画像を置かない
-- Notesでは説明に必要な画像のみ
-- Softwareでは詳細ページのみ
-- 外部画像hotlinkを原則避ける
-- 代替テキストを付与する
-
----
-
-## 19. Feed仕様
-
-以下を提供する。
-
-- Atom
-- RSS
-
-HeaderまたはFooterから購読導線を用意する。
-
-Feed autodiscoveryに対応する。
-
----
-
-## 20. Search仕様
-
-初期リリースではSearchを提供しない。
-
-将来の記事数増加に応じて、Zolaの検索インデックス機能を第一候補として追加検討する。
-
----
-
-## 21. Comments仕様
-
-初期リリースではコメント機能を提供しない。
-
-理由:
-
-- 完全静的構成では保存先が存在しない
-- 自前backendを追加すると現行セキュリティ境界が変化する
-- 外部コメントサービスは外部依存・プライバシーの再検討が必要
-
-将来機能として、以下を別途評価する。
-
-- 自前軽量コメントbackend
-- Gitベース方式
-- 外部コメントサービス
-- Mailによる感想受付
-
----
-
-## 22. SNS共有仕様
-
-初期リリースでは大きなSNS共有ボタン群を必須としない。
-
-外部dependencyを追加せず、簡潔なテキストリンクまたはWeb Share API等だけで実現できる場合に追加を検討する。
-
-サイトのEditorialデザインを損なわないことを優先する。
-
----
-
-## 23. Analytics仕様
-
-アクセス解析は導入しない。
-
-- 外部Analytics scriptなし
-- Tracking cookieなし
-- Marketing trackerなし
-
-Webサーバの運用ログはサーバ運用上のログであり、サイト機能としてのアクセス解析とは扱わない。
-
----
-
-## 24. URL仕様
-
-### 24.1 URL構造
-
-- `/notes/<slug>/`
-- `/software/<slug>/`
-- `/tags/<slug>/`
-- `/about/`
-
-### 24.2 Slug
-
-Content filename / slugは **英語ASCIIを基本**とする。
-
-記事本文や表示タイトルは日本語でよい。
-
-URLの安定性を優先し、公開後のslug変更は原則避ける。
-
----
-
-## 25. 日本語・多言語仕様
-
-- 表示言語は日本語のみ
-- UI文言も日本語
-- 初期設計では多言語対応を実装しない
-- 多言語化のための不要なUIやselectorは設けない
-
----
-
-## 26. Accessibility要求
-
-最低限以下を満たす。
-
-- Semantic HTML
-- 適切なheading hierarchy
-- Keyboard navigation
-- Visible focus
-- 十分な色contrast
-- 画像alt
-- Linkが色だけで判別不能にならない
-- HTML/主要navigationはJavaScriptなしでも利用可能
-- Theme切替機能がなくてもOS themeで十分読めること
-- prefers-reduced-motionを尊重(原則motion自体を使用しない)
-
----
+- 掲載された主題やソフトウェアに関心を持つ人
+- 検索、フィード、外部リンクなどから個別記事へ到達する人
-## 27. Performance要求
+読者に事前知識や継続的な購読を要求しない。個別ページだけを開いても、その内容と位置付けを理解できることを目指す。
-サイトは静的HTML/CSS/最小JSのみで成立すること。
+## 4. 情報構成
-- Backend runtime不要
-- DB不要
-- npm/Node.js不要
-- 外部CDN不要
-- Web font不要
-- 大きなfrontend framework不要
-- 初期表示に不要な画像を読み込まない
-- JavaScriptが無効でも主要本文が読める
+| 領域 | 利用者に提供する役割 |
+|---|---|
+| Home | 最近のNotesとSoftwareへ案内する。 |
+| Notes | 考えたこと、感じたこと、調べたことを時系列で公開する。 |
+| Tags | タグ付きのNotesがある場合、主題ごとに横断して探せる索引を提供する。 |
+| Software | 作成したソフトウェアと、その背景や過程を公開する。 |
+| About | 運営者、このサイトの目的、連絡先を示す。 |
----
+主要な移動先はHeaderから常に利用できるようにする。Feedとメールへの導線はFooterから提供する。
-## 28. Security / Privacy要求
+## 5. ページ別要求
-- npm package dependencyを使用しない
-- Node.js runtimeを使用しない
-- 外部themeを原則使用しない
-- 外部JavaScript CDNを使用しない
-- Inline JavaScriptを避ける
-- `eval()` を使用しない
-- 外部trackingを使用しない
-- CSP `default-src 'self'` を中心とした厳格な設定と互換性を持つ
-- Static Siteとして本番にserver-side codeを置かない
-- Caddyは生成済み成果物のみを配信する
+### 5.1 Home
----
+| ID | 要求 |
+|---|---|
+| H-01 | 最近のNotesを新しいものから表示する。 |
+| H-02 | Softwareを新しいものから表示する。 |
+| H-03 | NotesとSoftwareの各一覧へ移動できる。 |
+| H-04 | コンテンツがない領域には、準備中であることが分かる説明を表示する。 |
+| H-05 | サイト名や説明を本文で重複表示せず、一覧への導線を中心にする。 |
-## 29. 技術基盤に関する制約
+### 5.2 Notes
-以下はDesignに委ねるが、要求上の前提とする。
+#### 一覧
+
+| ID | 要求 |
+|---|---|
+| N-01 | Notesを年単位で整理し、日付とともに表示する。 |
+| N-02 | 各項目にタイトルを表示し、説明とタグがある場合は併記する。 |
+| N-03 | 各項目からNote詳細へ移動できる。 |
+| N-04 | タグから同じタグを持つNotesの一覧へ移動できる。 |
+
+#### 詳細
+
+| ID | 要求 |
+|---|---|
+| N-05 | タイトルと公開日を表示する。 |
+| N-06 | 更新日と説明がある場合だけ表示する。 |
+| N-07 | 見出しを持つ記事では目次を利用できる。 |
+| N-08 | 見出し、一覧、表、引用、コード、画像、脚注を読みやすく表示する。 |
+| N-09 | 関連Softwareが指定されている場合は記事末尾から移動できる。 |
-- SSG: Zola
-- Template: Tera
-- Content: Markdown
-- Style: SCSS
-- Client JS: minimal vanilla JavaScript
-- Production: Caddy static file server
-- Build: Client PC
-- Deployment: `public/` build artifactをVPSへ転送
-- Git source管理とDeployは独立
-- cgitをソースコード正本とする
-
----
-
-## 30. 初期リリースの非目標
-
-以下は初期リリースで実装しない。
-
-- コメント
-- Search
-- CMS
-- User login
-- Database
-- SSR
-- SPA
-- API backend
-- WebSocket
-- Analytics
-- Frontend framework
-- htmx
-- Tailwind CSS
-- npm/Node.js
-- External theme
-- Heavy animation
-- Large image gallery
-- Multilingual UI
-
----
-
-## 31. 受入条件
-
-初期リリースは以下を満たすこと。
-
-- [ ] 「たかしの記録」というサイト名が表示される
-- [ ] Home / Notes / Software / Aboutへ到達可能
-- [ ] Homeに最近のNotes最大5件を表示
-- [ ] HomeにSoftware最大4件を表示
-- [ ] Notesが年別に表示される
-- [ ] Notes一覧にタグが表示される
-- [ ] Note詳細に公開日・更新日・目次・本文を表示できる
-- [ ] 脚注を利用できる
-- [ ] 参考文献を自然に表示できる
-- [ ] Software一覧を画像なしの簡潔な一覧として表示
-- [ ] Software詳細に背景・過程・言語・ライセンス・Source等を記載できる
-- [ ] cgitをSource正本として案内できる
-- [ ] GitHub mirrorを任意表示できる
-- [ ] NoteとSoftwareを明示的に相互関連付けできる
-- [ ] Aboutに名前・一言プロフィール・目的・関心分野・連絡先を表示できる
-- [ ] Light/Dark双方で読める
-- [ ] 外部リンクを視覚的に判別できる
-- [ ] RSSとAtomを提供
-- [ ] 404ページを提供
-- [ ] Mobile/Desktop双方で利用可能
-- [ ] JavaScriptなしでも主要コンテンツを閲覧可能
-- [ ] 外部CDN・npm・Node.js・frontend frameworkを必要としない
-- [ ] サイト全体が静的ファイルとして生成可能
-
----
-
-## 32. 将来拡張
-
-要件変更時に別途設計する。
-
-- Search
-- Comments
-- SNS共有
-- より高度な関連コンテンツ表示
-- タグ数増加へのUI改善
-- Page pagination
-- 多言語
-- 画像処理の高度化
-
-初期実装で将来拡張のための複雑な抽象化を先行導入しない。
+### 5.3 Tags
+
+| ID | 要求 |
+|---|---|
+| T-01 | タグ付きのNotesがある場合、使用中のタグと各記事数を一覧表示する。 |
+| T-02 | タグ付きのNotesがある場合、タグごとに該当するNotesを一覧表示する。 |
+| T-03 | タグは補助的な索引とし、細分化しすぎない。 |
+
+### 5.4 Software
+
+#### 一覧
+
+| ID | 要求 |
+|---|---|
+| S-01 | Software名を主情報として表示する。 |
+| S-02 | 説明がある場合はSoftware名とともに表示する。 |
+| S-03 | 各項目からSoftware詳細へ移動できる。 |
+| S-04 | ソースコード公開先としてcgitへの導線を示す。 |
+
+#### 詳細
+
+| ID | 要求 |
+|---|---|
+| S-05 | Software名、概要、背景、制作過程などを掲載できる。 |
+| S-06 | 使用言語とライセンスがある場合は表示する。 |
+| S-07 | ソースコードの正本へのリンクを表示する。 |
+| S-08 | 外部サービスのミラーがある場合は、正本と区別して表示する。 |
+| S-09 | 必要に応じてスクリーンショットなどの記事固有画像を掲載できる。 |
+| S-10 | 関連Notesが指定されている場合は記事末尾から移動できる。 |
+
+### 5.5 About
+
+| ID | 要求 |
+|---|---|
+| A-01 | 運営者のプロフィールを簡潔に示す。 |
+| A-02 | サイトの目的を示す。 |
+| A-03 | メールによる連絡先を示す。 |
+
+### 5.6 404
+
+存在しないURLへ到達した利用者に、ページが見つからないことを明示し、Home、Notes、Softwareへ戻る導線を提供する。
+
+## 6. 閲覧体験
+
+### 6.1 デザイン
+
+| ID | 要求 |
+|---|---|
+| U-01 | 本文を中心とし、装飾より読みやすさを優先する。 |
+| U-02 | ページ間で見出し、余白、一覧、Footerの見た目を一貫させる。 |
+| U-03 | デスクトップとモバイルの双方で横方向のはみ出しを避ける。 |
+| U-04 | コード、表、画像など幅を必要とする要素を本文の可読性を損なわず表示する。 |
+
+### 6.2 テーマ
+
+| ID | 要求 |
+|---|---|
+| U-05 | OSの表示設定に応じたLight/Dark themeを初期表示に使用する。 |
+| U-06 | 利用者がLight/Dark themeを手動で切り替えられる。 |
+| U-07 | 手動で選んだthemeを次回閲覧時にも維持する。 |
+
+### 6.3 アクセシビリティ
+
+| ID | 要求 |
+|---|---|
+| U-08 | キーボードだけで主要な導線を利用できる。 |
+| U-09 | フォーカス位置と現在表示中のページを視覚的かつ機械的に判別できる。 |
+| U-10 | 本文へ直接移動できる手段を提供する。 |
+| U-11 | 見出し、ナビゲーション、日時、一覧などを意味に合った構造で提供する。 |
+| U-12 | Light/Dark themeの双方で十分な文字とリンクのコントラストを確保する。 |
+| U-13 | 動きを減らすOS設定を尊重する。 |
+
+## 7. 配信・プライバシー方針
+
+| ID | 方針 |
+|---|---|
+| P-01 | NotesをAtomおよびRSSで購読できる。 |
+| P-02 | 検索エンジンが公開ページを発見できるようにする。 |
+| P-03 | サイト内検索は提供しない。 |
+| P-04 | コメント機能は提供しない。 |
+| P-05 | SNS共有ボタンや反応数を表示しない。 |
+| P-06 | アクセス解析を導入しない。 |
+| P-07 | 広告、外部フォント、外部配信の表示部品を使用しない。 |
+| P-08 | theme選択以外の利用者情報をブラウザへ保存しない。 |
+
+## 8. 品質要求
+
+| ID | 要求 |
+|---|---|
+| Q-01 | 公開ページ内にリンク切れを残さない。 |
+| Q-02 | theme切替が利用できない環境でも、本文と主要な移動先を閲覧できる。 |
+| Q-03 | ページの種類や本文量によって共通UIの配置が不自然に変化しない。 |
+| Q-04 | 記事を追加・削除しても、一覧と個別ページの対応が維持される。 |
+| Q-05 | 各ページを固有のURLで開き、共有できる。 |
+| Q-06 | 各ページの内容を識別できるタイトルと説明を提供する。 |
+
+## 9. 対象外
+
+現時点では、次の機能を対象外とする。
+
+- 利用者アカウントとログイン
+- 投稿画面や管理画面
+- データベース
+- コメント、リアクション、評価
+- サイト内検索
+- SNS共有機能
+- アクセス解析
+- 多言語表示
+- 動的APIやバックエンド処理
+
+## 10. 受入条件
+
+| 分類 | 完了条件 |
+|---|---|
+| 情報構成 | Home、Notes、Software、About、404を閲覧でき、タグ使用時はTagsも閲覧できる。 |
+| コンテンツ | NotesとSoftwareを追加すると一覧と詳細へ反映され、削除後に無効な参照が残らない。 |
+| ナビゲーション | Header、Footer、一覧、関連コンテンツから目的のページへ移動できる。 |
+| 表示 | Light/Dark themeとモバイル表示で本文を支障なく読める。 |
+| アクセシビリティ | キーボード操作、フォーカス表示、見出し構造、スキップリンクが機能する。 |
+| 配信 | 公開ページ、記事画像、Atom、RSSを継続して閲覧できる。 |
+| プライバシー | コメント、解析、広告、外部配信の表示部品を含まない。 |