デジタルガーデン

疆域重整と空城復活:デジタルガーデンのタグ勅令と四百八城の還魂

2026-10-17 · 約 6 分 · デジタルガーデン · タグ拓扑 · フロントエンド · 枠組み移行 · 還魂紀

疆域統治の歴史は、開拓の歴史ではなく編制の歴史である。帝国が真に衰えるのは国境が短いからではなく、行政区画のインフレからである——どの旗も一路の諸侯を自称し、どの諸侯の麾下にも兵がただ一人。デジタルガーデンのタグ雲はこの日、まるごと一套の藩鎮体制として重整された。

一、四百五十三の諸侯

まず帳簿から。ガーデンは百六十九篇を積み、四言語が並び、タグを重複排除すると中文側は四百五十三。これは繁栄ではなく、手に負えない肌理である——そのうち三百七十一のタグは一篇にしか使われていない、比率は八成二を超える。一篇しか住まぬ城は城ではなく、それは哨所である。さらに醜いのは同義異名の割拠である。ci と CI が各々城を持ち、安全审查・安全研究・安全 の三諸侯が一つの行省を共治しながら文路を通わず、版本考古・端点考古・定价考古・生态考古 の同源四城は互いに郵が届かない。読者がタグ雲を開けば、星図ではなく比例尺のない乱帳が見える。

そこで勅令が下った。データ層で四十五組の同義タグを併合——大文字小文字の衝突五処、同族異名十六族。会診系を一に、安全系を一に、架構系を一に、代理系を一に、構建系を一に、角色卡系を一に、考古系を一に。英文側はさらに四組——Architecture を architecture へ、Essay を essay へ、ECHO を echo へ、単复数を一に。七十五の内容ファイルが換防し、中文タグは四百五十三路から四百八路へ、単篇タグは三百七十一城から三百十六城へ。

二、界面層の兜底:折叠而非删除

しかしデータ層の併合は指標を治しても本を治さない。今日四十五組を併えても、明日には新しい方言が芽を出す。疆域を本当に治めるのは、界面層の拓扑再構築である——タグ雲を計数で一刀両断し、計数二以上のものを主雲へ、計数一のものを原生 <details> の「すべてのタグ N 件を表示」に折り畳む。中文主雲は四百五十三錠から九十二錠へ、縮水は近八成。三百十六の孤城は消えていない、ただ首屏を占めなくなっただけ——スイッチを開けばなお每一城の記事頁へ直達できる。

細部には細部の讲究がある。加减号の接頭辞は [open] 態に従って反転し、等幅フォントに text-3 の灰階を合わせ、hover でブランドブルーへ。単篇の薬丸は 0.66rem で主雲と輩分を分け、既存の garden__tag のプレス scale アニメーションと同一の緩動を共有する。四言語の文案は gardenPage.moreTags 関数キーを通る——展開全部 / Show all / すべてのタグ、そして韓国語はそれぞれの現地語で、各言語が各々呼吸する。

三、四百八の空城

整編完了後の例行抽查が、タグが多いことよりもっと醜い事実を掘り出した。四百八のタグページはすべて「共 0 篇」を表示し、題名は一律「タグ:undefined」。タグ雲のどの薬丸を踏んでも、行き着くのは空城——ナビゲーションは切れていた。

これは併合の副作用ではなく、Astro 5 移行が残した旧傷である。[tag].astro でルートパラメータはまだ const { tag } = Astro.props と書かれていた。Astro 5 以降、動的ルートのパラメータは Astro.params から取るようになり、Astro.props に残るのは getStaticPaths で props: を通じて明示的に渡したものだけである。tag は undefined になり、tags.includes(undefined) は全部の記事に対して false を返す——こうして篇々空城となった。最も刺さる証拠は同じファイルの中にあった——locale はとうに Astro.params.locale と書かれていたのに、tag だけが修正漏れ。一つの壁を隔てて二つの書き方、まるで拆かれなかった古い足場である。

二箇所を改めると、四百八の中文タグページはすべて記事を持つようになった。三百十六の孤城は各々一篇を居させ、九十二の主城は二篇から二十六篇まで分布し、タグ雲の計数と錠ごとに一致する。併合後のタグも検証が届いた——「安全审计」六篇、「考古」五篇、「Three.js」三篇。

四、排雷:引号税

行軍の途中で自分で埋めた地雷も踏んだ。併合スクリプトが一度 "3070" の二重引用符を剥ぎ、YAML は即座にそれを数字として解析し、ビルドは InvalidContentEntryDataError で停止した。引用符を戻した上で、七十五の内容ファイルすべての tags 行を PyYAML で一行一行再検証した——非文字列タグは一つもない。もう一つ歴史的遺物も見つかった——ko/the-non-pro-prison.md に、末尾の単引用符を伴うハングル表記の裸タグが一つある(韓国語の「代理管理」に相当する語)。陳年データであり YAML は正常に解析できるので、動かさなかった。

治理の最後の一歩は検証である。四言語合わせて千七百八十二の薬丸を、リンクと一つずつ照合した——すべてに対応するタグページがあり、欠落ゼロ。ガーデンの疆域は、ここに至って初めて比例尺を持った。

コメント

← デジタルガーデン