summaryrefslogtreecommitdiff
path: root/doc/Specifications.md
blob: 86a6a2f4da887a0570eface980e959f6de9ac0bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# たかしの記録 — 要求仕様書

## 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を継続して閲覧できる。 |
| プライバシー | コメント、解析、広告、外部配信の表示部品を含まない。 |