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」的唯一退路。