跳轉到

D-20260722-02|檔名維持中文與 URL slug 預留

背景與驅動力

corpus 的檔名一律是中文(程式參數.md賽內機制.md⋯)。在 GitHub 上這會產生 percent-encoded 的 URL:分享出去的連結是一長串 %E7%A8%8B%E5%BC%8F⋯,不好看,也讓人 懷疑是不是該把檔名改成拉丁字母。這個疑慮在規劃靜態文檔站時再度浮上來——站點 URL 會直接 沿用檔名。

要判斷的是:為了 URL 美觀,值不值得改動整個 corpus 的檔名。

考慮過的選項

  • 檔名全面拉丁化:URL 最乾淨,但要重寫 1,600 筆以上的入站連結,且社群與貢獻者以中文為主、 中文檔名本身就是導覽線索——改完反而更難找。棄。
  • 檔名維持中文,接受 percent-encoded URL(採納)。
  • 檔名維持中文,同時預留 frontmatter slug 欄位,日後若需求成立再加轉址層(採納,與上一項 合併執行)。

決定

  • 檔名維持中文,不做拉丁化;percent-encoded URL 是可接受的現狀——連結載體內的中文一律可達, 與 GitHub 現況一致。
  • frontmatter 保留 slug 欄位(值為 null 或 ASCII slug),現階段一律留 null。它存在的目的 只有一個:日後若「分享連結美觀」成為真實需求,可由 slug 加一層轉址解決,不必改檔名、 不必動任何入站連結
  • 未來啟用轉址層時同樣不改檔名;檔名是入站連結與錨點的穩定載體。

後果與影響

corpus 免於一次大規模改名,既有連結全數保留。代價是分享出去的 URL 不美觀——這是有意接受的 取捨,且已預留退路。

必須知道的一點:slug 欄位會長期是全 corpus 皆為 null 的欄位。它不是遺漏、也不是死欄位, 而是這項裁決刻意留下的擴充點;check:frontmatter 允許 null 正是為此。看到它全空而想清掉之前, 請先回到本決策——刪掉它等於放棄「不改檔名也能有漂亮 URL」的唯一退路。