2026-05-14 11:05:12 +08:00
|
|
|
|
---
|
|
|
|
|
|
description: 未經使用者明確交代,不得擅自開放導覽、改連結或擴充需求範圍(本 repo 含全站導覽與 totoga2 等)。
|
|
|
|
|
|
alwaysApply: true
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 使用者意圖與導覽(sechskies)
|
|
|
|
|
|
|
2026-05-15 02:00:02 +08:00
|
|
|
|
## 速記(每次動導覽或 `portal-nav.js` 前先對齊)
|
|
|
|
|
|
|
|
|
|
|
|
1. **`extra/site-guide.html`**:站主自用;該頁頂欄 `data-portal-nav-all-open` → **全部連結可點**;主文 `<main class="site-guide-main">` 的 `<a>` **不准**用腳本改成籌備中。
|
|
|
|
|
|
2. **其他每一頁**:訪客面向 → **`COMING_SOON_PAGES` / `INDEX_NAV_OPEN_HASHES` 怎寫就怎鎖**;不准在其他頁加 `all-open`。
|
|
|
|
|
|
3. **`totoga2.html`**、**`variety.html`**:站主沒說「對外開放」→ **留在 `COMING_SOON_PAGES`**;不得自以為可以幫忙開放。
|
|
|
|
|
|
4. **沒寫在指令裡的開放/連結/從 Set 移除/刪檔或刪導覽列**:**一律先問**,禁止推論;「刪除」未指明範圍(單檔 vs 頂欄整段 vs 資料夾)=必須先問。
|
|
|
|
|
|
5. 技術細節與檢查清單:**`portal-nav-rules.mdc`**(與本檔一起讀)。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-05-14 11:05:12 +08:00
|
|
|
|
## 只做被交代的事
|
|
|
|
|
|
|
|
|
|
|
|
- **不得**在未被使用者**明確要求**的情況下:把導覽連結從「籌備中/尚無開放」改成可點、更換 `href` 成真實頁面、從 `COMING_SOON_PAGES` 移除、或把錨點加入 `INDEX_NAV_OPEN_HASHES`。
|
2026-05-14 18:28:39 +08:00
|
|
|
|
- **不得**在未被使用者**明確要求**的情況下:從 `buildPortalNavInnerHTML` **刪除**站主**已同意**列入頂欄的項目。
|
|
|
|
|
|
- 使用者**明確要求**移除某列(例如不同意掛頂欄的「六顆水晶」)時,依指示從模板刪除即可。
|
|
|
|
|
|
- **不得**在未被使用者**明確要求**的情況下:在 `buildPortalNavInnerHTML` **新增**任何頂欄導覽項目或子選單連結(即使目標頁面已存在於 repo)。
|
|
|
|
|
|
- **不得**在 **`site-guide.html` 以外**的頁面加上 **`data-portal-nav-all-open`**(該屬性僅用於索引頁頂欄「全連結可點」;其他頁頂欄須套用籌備中規則)。
|
2026-05-14 11:05:12 +08:00
|
|
|
|
- **不得**因為「內容已搬到某頁」就自行推論「導覽也應該開放」——導覽是否開放**只聽使用者口述**。
|
|
|
|
|
|
- 若使用者只要求搬內容、刪檔、改站內某段文案,**預設不改** `assets/js/portal-nav.js` 的開放狀態與連結目標。
|
|
|
|
|
|
|
2026-05-15 02:47:26 +08:00
|
|
|
|
## 「傳奇的轉折」與 `fallen/totoga2.html`(特別記牢)
|
2026-05-14 11:05:12 +08:00
|
|
|
|
|
2026-05-15 02:47:26 +08:00
|
|
|
|
- 頂欄模板裡「傳奇的轉折」連到 **`fallen/totoga2.html`**(見 `buildPortalNavInnerHTML`)。
|
2026-05-15 02:00:02 +08:00
|
|
|
|
- 使用者**沒有明講對外開放整合頁**時:`totoga2.html` **必須**在 **`COMING_SOON_PAGES`** 裡 → 訪客頂欄該項為籌備中、**不可點進**。
|
|
|
|
|
|
- **禁止**在未獲同意下:從 Set **移除** `totoga2.html`、或改成連到其他頁並當成已開放。
|
|
|
|
|
|
- 首頁錨點另依 **`INDEX_NAV_OPEN_HASHES`**;與「傳奇的轉折/totoga2」分開判斷。
|
2026-05-14 11:05:12 +08:00
|
|
|
|
|
|
|
|
|
|
## 實作前自檢
|
|
|
|
|
|
|
|
|
|
|
|
- 若變更會影響 `assets/js/portal-nav.js`(`buildPortalNavInnerHTML`、`COMING_SOON_PAGES`、`INDEX_NAV_OPEN_HASHES`):**對照使用者原句**,確認每一項連結的開/關都有被明確交代。
|
|
|
|
|
|
|
|
|
|
|
|
## 名詞對齊(避免做錯檔)
|
|
|
|
|
|
|
2026-05-14 18:28:39 +08:00
|
|
|
|
- **頂部橫列導覽(常稱 navbar)**:`assets/js/portal-nav.js` 注入的 `<nav class="portal-nav" data-portal-nav>`。已同意列入者不得擅自刪除;**新增**備份稿/未公開頁至上列須站主明講。**`extra/site-guide.html`** 可加 **`data-portal-nav-all-open`** 略過籌備中(僅該頁)。
|
2026-05-14 11:05:12 +08:00
|
|
|
|
- **全站頁面索引**:`site-guide.html`(自行開網址),用來列檔案與錨點;**不影響**頂欄是否出現該連結。使用者說「留在全站導覽」常指保留在 **site-guide** 或站內說明,**不等於**要掛進頂欄。
|
|
|
|
|
|
|
|
|
|
|
|
(變更哪些檔、可否動共用 CSS:見 **`ai-change-boundaries.mdc`**。)
|
2026-05-14 18:28:39 +08:00
|
|
|
|
|
|
|
|
|
|
全站導覽的**技術細節與檢查清單**:**`portal-nav-rules.mdc`**(與本檔同目錄)。
|
2026-05-15 02:00:02 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 頁面錨點刪除(`某頁.html#某id`)
|
|
|
|
|
|
|
|
|
|
|
|
站主若說「刪 `#stage`」「刪 `variety.html#stage`」等,指的是 **該 HTML 裡 `id="…"` 的那一區塊/`<section>`**,不是刪整份檔、不是刪 `variety/` 資料夾、不是刪頂欄一整段「全員發瘋」、也不是擅自改 `COMING_SOON_PAGES` 開放與否(除非原句一併交代)。
|
|
|
|
|
|
|
|
|
|
|
|
**實作順序(曾做錯順序=站主會火大)**
|
|
|
|
|
|
|
|
|
|
|
|
1. **先**在目標頁面拿掉對應 DOM(含該 `id` 的區塊)。
|
|
|
|
|
|
2. **再**做最小必要連結修正:站內若還有指到已不存在錨點的 `href`,改成仍存在的錨點或去掉 hash;這是避免壞錨點,**不**等於「重構導覽」或「刪頂欄列」。
|
|
|
|
|
|
3. **禁止**只改 `portal-nav.js` / `site-guide.html` 卻不刪頁內區塊;也**禁止**把「刪錨點」擴大成刪站主未點名的頂欄項目。
|
|
|
|
|
|
|
|
|
|
|
|
**和瀏覽器行為對齊(避免說站主幻覺)**
|
|
|
|
|
|
|
|
|
|
|
|
- 錨點從 HTML 拿掉後,書籤或舊連結上的網址列仍可能顯示 `#…`,**不代表**頁面還有該 `id`。
|
|
|
|
|
|
- 頁頂大標(例如 `header` 裡的 `h1`「瘋子與天才」)與下面各區 `id` 區塊是不同層級;不要因為畫面上還看到大標就以為「# 那段還在」。
|
|
|
|
|
|
|
|
|
|
|
|
**仍模糊時**
|
|
|
|
|
|
|
|
|
|
|
|
- 「刪除」沒寫清是單一錨點區、整檔、頂欄某一列還是資料夾:用**一句話**確認再改,不要猜;尤其接近深夜、站主已重複指令時。
|