# たかしの記録 — 要求仕様書 ## 1. 文書の役割 本書は、個人サイト「たかしの記録」が利用者へ提供する内容と体験を定義する。対象はサイトの目的、掲載情報、閲覧導線、品質方針であり、実装技術や内部構造は扱わない。 技術選定、ファイル構成、コンテンツ形式、画面生成、スタイル、ビルドおよび検証方法は[Design.md](Design.md)に記載する。 ## 2. サイト概要 | 項目 | 内容 | |---|---| | サイト名 | たかしの記録 | | 公開URL | `https://www.takashi-2521.com` | | 言語 | 日本語 | | 運営者 | Takashi | | 主な内容 | 日々考えたこと、調べたこと、作成したソフトウェア | | 更新方針 | 更新頻度を固定せず、残す価値のある内容を公開する | ## 3. コンセプト ### 3.1 目的 このサイトは、文章とソフトウェアに関する記録を、あとから読み返せる形で長期的に公開する個人アーカイブである。 ### 3.2 基本方針 | ID | 方針 | |---|---| | C-01 | 更新の速さや量より、記録を継続して残せることを優先する。 | | C-02 | 短いメモと長い考察を同じNotesとして扱い、分野を過度に限定しない。 | | C-03 | Softwareでは成果物だけでなく、背景、判断、制作過程も説明する。 | | C-04 | 余白、文字、罫線を中心とした静かな編集デザインを採用する。 | | C-05 | 広告、反応数、推薦表示など、本文の読解を妨げる要素を置かない。 | | C-06 | ソースコードは自分で管理するGitリポジトリを正本とし、cgitで公開する。外部サービスは必要に応じてミラーとして利用する。 | ### 3.3 想定読者 - 運営者本人 - 掲載された主題やソフトウェアに関心を持つ人 - 検索、フィード、外部リンクなどから個別記事へ到達する人 読者に事前知識や継続的な購読を要求しない。個別ページだけを開いても、その内容と位置付けを理解できることを目指す。 ## 4. 情報構成 | 領域 | 利用者に提供する役割 | |---|---| | Home | 最近のNotesとSoftwareへ案内する。 | | Notes | 考えたこと、感じたこと、調べたことを時系列で公開する。 | | Tags | タグ付きのNotesがある場合、主題ごとに横断して探せる索引を提供する。 | | Software | 作成したソフトウェアと、その背景や過程を公開する。 | | About | 運営者、このサイトの目的、連絡先を示す。 | 主要な移動先はHeaderから常に利用できるようにする。Feedとメールへの導線はFooterから提供する。 ## 5. ページ別要求 ### 5.1 Home | ID | 要求 | |---|---| | H-01 | 最近のNotesを新しいものから表示する。 | | H-02 | Softwareを新しいものから表示する。 | | H-03 | NotesとSoftwareの各一覧へ移動できる。 | | H-04 | コンテンツがない領域には、準備中であることが分かる説明を表示する。 | | H-05 | サイト名や説明を本文で重複表示せず、一覧への導線を中心にする。 | ### 5.2 Notes #### 一覧 | ID | 要求 | |---|---| | N-01 | Notesを年単位で整理し、日付とともに表示する。 | | N-02 | 各項目にタイトルを表示し、説明とタグがある場合は併記する。 | | N-03 | 各項目からNote詳細へ移動できる。 | | N-04 | タグから同じタグを持つNotesの一覧へ移動できる。 | #### 詳細 | ID | 要求 | |---|---| | N-05 | タイトルと公開日を表示する。 | | N-06 | 更新日と説明がある場合だけ表示する。 | | N-07 | 見出しを持つ記事では目次を利用できる。 | | N-08 | 見出し、一覧、表、引用、コード、画像、脚注を読みやすく表示する。 | | N-09 | 関連Softwareが指定されている場合は記事末尾から移動できる。 | ### 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を継続して閲覧できる。 | | プライバシー | コメント、解析、広告、外部配信の表示部品を含まない。 |