| name | update-index |
| description | Regenerate docs/index.html so it links to each standalone tool. Reads README.md ("## 一覧") and the HTML files under docs/, then rewrites the tool list between the TOOLS markers in docs/index.html. Use when the user adds/renames a tool, updates README, or asks to "update the index" / "index.html を更新". |
update-index
docs/index.html のツール一覧を、README.md と docs/ の実態から再生成する。
入力
- README.md の
## 一覧 セクション。各エントリは次の形式:
- <YYYY-MM-DD> <tool name>
- [<link text>](<url>)
- ...(関連リンクは0個以上)
- docs/ 配下の HTML ファイル(
index.html は除く)。
手順
README.md を読み、## 一覧 内の各エントリから次を抽出する:
date: 先頭の YYYY-MM-DD
name: 日付に続くツール名
links: 配下のサブ箇条書き - [text](url) を順番どおりに全部
docs/ のファイル一覧を取得する。各ツールについて docs/<name>.html が存在するか確認する。
- 存在する → ツール名を
./<name>.html へのリンクにする。
- 存在しない → リンクにせずプレーンテキストで出し、警告としてユーザーに報告する(README にあるが HTML 未配置)。
- 逆に
docs/ にあるが README に載っていない HTML があれば、それも警告として報告する(リストには追加しない/READMEが正)。
docs/index.html を読み、<!-- TOOLS:START --> と <!-- TOOLS:END --> の間だけを新しい <ul class="tools">…</ul> で置き換える。マーカーの外(<head>・スタイル・見出し)は変更しない。
- マーカーが見つからない場合は、
<body> 内の既存リストを探して置き換えるか、ユーザーに確認する。マーカーは消さずに必ず残す。
- 並び順は README の記載順をそのまま使う(日付の降順などに勝手に並べ替えない)。
出力フォーマット(マーカー間)
各ツール1 <li>:
<li>
<a class="tool-name" href="./<name>.html"><name></a>
<span class="tool-date"><date></span>
<div class="tool-links">
↳ <a href="<url>"><link text></a>
</div>
</li>
- 関連リンクが0個なら
<div class="tool-links"> ごと省略する。
- HTML が未配置のツールは
<a class="tool-name" …> の代わりに <span class="tool-name"><name></span> にする。
- URL・リンクテキスト中の
&・<・> は HTML エスケープする。README にある %エンコード済み URL はそのまま使う。
完了後
- 置き換えた
<li> の件数を報告する。
- 手順2で検出した不整合(README にあるが HTML なし/HTML はあるが README になし)があれば列挙する。
- ファイルへの書き込みのみ行い、コミットはユーザーが明示的に頼んだときだけ行う。