Skip to content

フロントエンドの重複コード(深さコントロール・Mermaidエスケープ・テンプレート共通ブロック) #1120

Description

@irof

事象

フロントエンドのテンプレート・JS 間で同期義務のあるコピペ重複が複数ある。

該当箇所と内容(main a3ad929 時点)

  • 深さ集約コントロール: library-dependency.js:95-130package.js:1122-1204 をほぼ複製。両者とも package-depth-select / depth-up-button / depth-down-button という同一 ID 前提で選択肢生成・ボタン活性制御・step 操作を別実装(library-dependency.js:65 に「パッケージ関連と揃える」コメントがあり同期義務が暗黙化)
  • Mermaid エスケープ関数: package.js:620-621Jig.mermaid.builder.escapeId / escapeLabeljig-mermaid.js:24-30)と同一実装をローカル再定義。修正が片方だけに入ると生成が乖離する
  • サイドバーヘッダ一式(sidebar-collapse-btn<details id="sidebar-settings"> 構造)と marked/mermaid の CDN 参照+バージョン番号が 8〜10 テンプレートにコピペされており、CDN バージョン更新は全ページ同時修正が必要。domain.html:50 のインデント崩れが既にコピペ乖離の兆候

修正案

JS は共通モジュール(Jig.dom / Jig.mermaid)への集約、テンプレートは生成時に共通パーシャルを注入する構造を検討する。


🤖 この issue は Claude Code のコードレビューにより作成されました。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions