feat 專案設計規範
This commit is contained in:
@@ -20,8 +20,21 @@ alwaysApply: true
|
||||
|
||||
- 若需求可能影響多檔(導覽、首頁、共用 CSS):**先問**「是否只改 A,還是 B/C 也要一起?」再改。
|
||||
|
||||
## 站主版面與元件預設(設計大原則)
|
||||
|
||||
以下為全站/新區塊的**預設假設**,不必每個區域重複交代;若該次需求明講例外再打破。
|
||||
|
||||
- **同一列/並排多欄**:預設 **等高**(例如 flex 同列 `align-items: stretch`、grid 同列對齊高度),除非該次明講要頂對齊或其他非等高編排。
|
||||
- **同一層級、同類可重複元件**(例如多張 **CARD**、同一 pattern 的 tile):預設 **等寬**(同一 breakpoint 下寬度一致),除非明講破格。
|
||||
- **短字層**(站主慣稱「十字以內」——極短標、標籤、一句內等級,語意上不要硬拆成兩行):盡量 **單行、不換行**;**水平置中**(置中)。
|
||||
- **超過短字層的標題或內文**:允許自然換行;**置左**對齊。
|
||||
- **捲軸**:一般區塊 **不要**出現內嵌捲軸(避免預設 `overflow: auto/scroll` 把版面變成「盒子裡再拖條」);**只有**站主對該區曾**明講**要可捲動或強烈規定的例外才做捲動容器。
|
||||
|
||||
實作時仍以「只改被點名範圍」為上;若要拉一套新 grid/卡片列,優先在本區父層加 class,避免為了對齊去改未點名的全站共用規則。
|
||||
|
||||
## 文件與規則檔
|
||||
|
||||
- **不要**主動新增或長篇修改 `README`、`docs/*.md`、規則檔,除非使用者明講要寫入文件或規範。
|
||||
- **例外**:使用者要求「把約定寫死/規則講清楚/不要再做錯」時,得**精準**更新 `.cursor/rules`(與 `portal-nav.js` 頂部註解對齊),避免重複踩雷;仍避免無關長文。
|
||||
|
||||
(與導覽開放、頂欄 vs `site-guide` 相關條文以 **`user-scope-and-nav.mdc`** 為準。)
|
||||
(與導覽開放、頂欄 vs `site-guide` 相關條文以 **`user-scope-and-nav.mdc`**、**`portal-nav-rules.mdc`** 為準;實作前兩份都讀。)
|
||||
|
||||
@@ -9,12 +9,27 @@ alwaysApply: true
|
||||
|
||||
---
|
||||
|
||||
## 0. 站主同意(最高優先)
|
||||
## 0. 兩個世界(最高優先,實作前必讀)
|
||||
|
||||
- **未經站主明確同意**,不得自行:從 `COMING_SOON_PAGES` 移除檔名、擴充 `INDEX_NAV_OPEN_HASHES`、在 `buildPortalNavInnerHTML` **新增**導覽項目、**刪除站主已同意列入頂欄**的項目、或把籌備中連結改成可點(**例外見下**)。
|
||||
- 「檔案已在 repo 裡」**不代表**可以開放導覽或當成已上線。
|
||||
- **`extra/site-guide.html`(全站導覽索引頁)**:頂欄 `<nav>` 使用 **`data-portal-nav-all-open`** 時,腳本**不套用**籌備中,頂欄內連結**全部可點**(僅此頁;站內其他頁**禁止**加此屬性)。
|
||||
- 頂欄模板**不含**未同意掛列的頁;該頁仍可由 `site-guide` 卡片或網址直開。
|
||||
| 誰在看 | 哪一頁/哪塊 | 行為 |
|
||||
|--------|----------------|------|
|
||||
| **站主自己** | 僅 **`extra/site-guide.html`** | 頂欄必須 **`data-portal-nav data-portal-nav-all-open`**。腳本**不**對該頁頂欄套用籌備中;**不**對 `<main class="site-guide-main">` 內任何 `<a href>` 改寫。表上連結**全部要點得進**(由站主在 HTML 維護)。 |
|
||||
| **訪客/大家** | **除上列以外**的每一頁 | 頂欄一律套用 `applyComingSoonToNav`:`COMING_SOON_PAGES`、`INDEX_NAV_OPEN_HASHES` 說不能點就不能點。**禁止**在其他頁加 `data-portal-nav-all-open`。 |
|
||||
|
||||
**硬規則(違反=做錯)**
|
||||
|
||||
1. **未經站主逐句同意**:不得從 `COMING_SOON_PAGES` **刪**檔名、不得擴充 `INDEX_NAV_OPEN_HASHES`、不得在 `buildPortalNavInnerHTML` **新增**可點項、不得把籌備中改成真 `href`、不得刪站主已同意列入頂欄的項。
|
||||
2. **「檔案在 repo」≠「可開放導覽」**;不得自行推論。
|
||||
3. **`extra/totoga2.html`(整合頁)**、**`variety/variety.html`**:站主**沒有明講對外開放**時,檔名**必須**留在 `COMING_SOON_PAGES`(訪客頂欄不可點進)。要開放時**只**能等站主說了再從 Set 移除。
|
||||
4. **「刪除/拿掉/不要了」**:若未寫明是**單一檔案**、**頂欄某一列**、**整段子選單**還是**整個資料夾**,**一律先問站主**,禁止自行擴大刪除範圍。
|
||||
5. **不確定**是否開放、連哪、是否例外:**先問站主再改**,不要猜。
|
||||
6. 站主說要刪的是 **`某頁#錨點`**(頁內區塊)時:先改該頁 DOM,再修死錨連結;**不要**只動導覽、也不要把「刪區塊」擴成刪頂欄整段。細節見 **`user-scope-and-nav.mdc`**(§ 頁面錨點刪除)。
|
||||
|
||||
## 0.1 站主同意(細項)
|
||||
|
||||
- **未經站主明確同意**,不得自行:從 `COMING_SOON_PAGES` 移除檔名、擴充 `INDEX_NAV_OPEN_HASHES`、在 `buildPortalNavInnerHTML` **新增**導覽項目、**刪除站主已同意列入頂欄**的項目、或把籌備中連結改成可點(**全站導覽頁頂欄例外見 §0**)。
|
||||
- **`extra/site-guide.html`**:站主自用;條件同 §0 表格。(僅此頁可加 `data-portal-nav-all-open`。)
|
||||
- 頂欄模板**不含**未同意掛列的頁;該頁仍可由 `site-guide` 主文或網址直開(站主自用)。
|
||||
|
||||
---
|
||||
|
||||
@@ -44,7 +59,7 @@ alwaysApply: true
|
||||
| 新頁要**正式開放** | 寫進 `buildPortalNavInnerHTML`(`assets/js/portal-nav.js`),並**確認檔名不在** `COMING_SOON_PAGES`。若曾暫時關閉,記得從 Set **刪除**該檔名。 |
|
||||
| 新頁先**占位、不開放** | 可選擇:仍寫進導覽,但把檔名**加進** `COMING_SOON_PAGES`;或暫時不要放進導覽。 |
|
||||
|
||||
(目前 Set 內含哪些檔,以 `assets/js/portal-nav.js` 為準;例如 `totoga2.html` 若已開放,就不應出現在 Set 裡。)
|
||||
(目前 Set 內含哪些檔,以 `assets/js/portal-nav.js` 為準;站主明講開放後才從 Set 移除該檔名,例如 `totoga2.html`。)
|
||||
|
||||
---
|
||||
|
||||
@@ -59,7 +74,7 @@ alwaysApply: true
|
||||
|
||||
## 3.1 索引頁頂欄全開(僅 `site-guide.html`)
|
||||
|
||||
- **`extra/site-guide.html`** 的 `<nav>` 使用 **`data-portal-nav data-portal-nav-all-open`** 時:注入後**不套用**籌備中,頂欄連結維持真實 `href`(含 `#story` 等)。
|
||||
- **`extra/site-guide.html`** 的 `<nav>` 使用 **`data-portal-nav data-portal-nav-all-open`** 時:注入後**不套用**籌備中,頂欄連結維持真實 `href`。主文 `main.site-guide-main` 內連結不由腳本改寫。
|
||||
- **禁止**在 `site-guide.html` 以外的頁面使用 `data-portal-nav-all-open`。
|
||||
|
||||
---
|
||||
|
||||
@@ -5,6 +5,16 @@ alwaysApply: true
|
||||
|
||||
# 使用者意圖與導覽(sechskies)
|
||||
|
||||
## 速記(每次動導覽或 `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`**(與本檔一起讀)。
|
||||
|
||||
---
|
||||
|
||||
## 只做被交代的事
|
||||
|
||||
- **不得**在未被使用者**明確要求**的情況下:把導覽連結從「籌備中/尚無開放」改成可點、更換 `href` 成真實頁面、從 `COMING_SOON_PAGES` 移除、或把錨點加入 `INDEX_NAV_OPEN_HASHES`。
|
||||
@@ -15,10 +25,12 @@ alwaysApply: true
|
||||
- **不得**因為「內容已搬到某頁」就自行推論「導覽也應該開放」——導覽是否開放**只聽使用者口述**。
|
||||
- 若使用者只要求搬內容、刪檔、改站內某段文案,**預設不改** `assets/js/portal-nav.js` 的開放狀態與連結目標。
|
||||
|
||||
## 「傳奇的轉折」導覽(特別記牢)
|
||||
## 「傳奇的轉折」與 `extra/totoga2.html`(特別記牢)
|
||||
|
||||
- 使用者**沒有說要開放**時:導覽上的「傳奇的轉折」必須維持 **尚無開放**(例如維持 `index.html#story` 且 **`#story` 不在 `INDEX_NAV_OPEN_HASHES`**,或等價的籌備中處理)。
|
||||
- **禁止**在未獲使用者同意下,將該項改為連到 `totoga2.html` 或其他已上線頁面。
|
||||
- 頂欄模板裡「傳奇的轉折」連到 **`extra/totoga2.html`**(見 `buildPortalNavInnerHTML`)。
|
||||
- 使用者**沒有明講對外開放整合頁**時:`totoga2.html` **必須**在 **`COMING_SOON_PAGES`** 裡 → 訪客頂欄該項為籌備中、**不可點進**。
|
||||
- **禁止**在未獲同意下:從 Set **移除** `totoga2.html`、或改成連到其他頁並當成已開放。
|
||||
- 首頁錨點另依 **`INDEX_NAV_OPEN_HASHES`**;與「傳奇的轉折/totoga2」分開判斷。
|
||||
|
||||
## 實作前自檢
|
||||
|
||||
@@ -32,3 +44,24 @@ alwaysApply: true
|
||||
(變更哪些檔、可否動共用 CSS:見 **`ai-change-boundaries.mdc`**。)
|
||||
|
||||
全站導覽的**技術細節與檢查清單**:**`portal-nav-rules.mdc`**(與本檔同目錄)。
|
||||
|
||||
---
|
||||
|
||||
## 頁面錨點刪除(`某頁.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` 區塊是不同層級;不要因為畫面上還看到大標就以為「# 那段還在」。
|
||||
|
||||
**仍模糊時**
|
||||
|
||||
- 「刪除」沒寫清是單一錨點區、整檔、頂欄某一列還是資料夾:用**一句話**確認再改,不要猜;尤其接近深夜、站主已重複指令時。
|
||||
|
||||
+33
-33
@@ -1,15 +1,12 @@
|
||||
(() => {
|
||||
/**
|
||||
* ── 導覽「尚未開放」連結 ─────────────────────────────────────────
|
||||
* ① 頂欄 `buildPortalNavInnerHTML`:僅列站主同意掛在頂欄的分類(**不含**未同意的頁)。
|
||||
* ② `COMING_SOON_PAGES`/`INDEX_NAV_OPEN_HASHES`:在 Set/白名單外=籌備中(`href` 改 `#`)。
|
||||
* ③ **唯一例外**:`extra/site-guide.html` 的 `<nav data-portal-nav data-portal-nav-all-open>` **不套用**籌備中(索引頁預覽用,頂欄連結全可點);**其他任何頁**不得加 `data-portal-nav-all-open`。
|
||||
* ④ 文案 NAV_SOON_PHRASES:滑過/聚焦時隨機一句;無障礙固定「尚無開放」。
|
||||
*
|
||||
* ⚠️ 站主規則(必守):未經站主**逐項口頭/文字同意**,不得自行
|
||||
* 從 COMING_SOON_PAGES 移除檔名、擴充 INDEX_NAV_OPEN_HASHES、或在導覽模板新增/改為可點連結。
|
||||
* 「頁面已存在」≠ 可開放導覽。
|
||||
* 完整條文與檢查清單:`.cursor/rules/portal-nav-rules.mdc`(Cursor 會讀取)。
|
||||
* 【兩個世界】① 僅 `extra/site-guide.html`:`<nav data-portal-nav data-portal-nav-all-open>` → 不套用籌備中,
|
||||
* 頂欄全可點;`main.site-guide-main` 內 `<a>` 腳本不改寫(站主自用索引)。② 其餘每一頁:一律套用籌備中。
|
||||
* 【totoga2 整合頁】`totoga2.html` 在 COMING_SOON_PAGES 內=訪客頂欄「傳奇的轉折」不可點進;站主沒明講開放不得從 Set 刪除。
|
||||
* 【硬規則】檔案在 repo ≠ 可開放;未同意不得從 Set 刪名、不得擴白名單、不得在模板新增可點項。
|
||||
* 文案 NAV_SOON_PHRASES:籌備中連結提示用。
|
||||
* 完整條文:`.cursor/rules/portal-nav-rules.mdc` + `user-scope-and-nav.mdc`
|
||||
*/
|
||||
const NAV_SOON_PHRASES = ["奇蹟醞釀中", // 頁面準備中,呼應黃色奇蹟的誕生
|
||||
"感動載入中", // 資料讀取中,連結入坑時的悸動
|
||||
@@ -38,6 +35,8 @@
|
||||
"map.html",
|
||||
"minister.html",
|
||||
"minister_ge.html",
|
||||
"totoga2.html",
|
||||
"variety.html",
|
||||
]);
|
||||
|
||||
/**
|
||||
@@ -100,17 +99,20 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
/** 將籌備中規則套用至單一導覽列 */
|
||||
function applyComingSoonToNav(nav) {
|
||||
const pageKeysSoon = new Set(
|
||||
[...COMING_SOON_PAGES].map((p) => normalizePageKey(String(p))).filter(Boolean),
|
||||
);
|
||||
function getPageKeysSoon() {
|
||||
return new Set([...COMING_SOON_PAGES].map((p) => normalizePageKey(String(p))).filter(Boolean));
|
||||
}
|
||||
|
||||
nav.querySelectorAll('a[href]').forEach((link) => {
|
||||
/** 將籌備中規則套用至容器內錨點(僅由 `applyComingSoonToNav` 呼叫頂欄) */
|
||||
function applyComingSoonToAnchorElements(container) {
|
||||
const pageKeysSoon = getPageKeysSoon();
|
||||
|
||||
container.querySelectorAll("a[href]").forEach((link) => {
|
||||
if (link.classList.contains("logo")) return;
|
||||
|
||||
const href = link.getAttribute("href");
|
||||
if (!href || href === "#") return;
|
||||
if (/^https?:\/\//i.test(href)) return;
|
||||
|
||||
const pageKey = normalizePageKey(href);
|
||||
if (!pageKey) return;
|
||||
@@ -119,6 +121,11 @@
|
||||
|
||||
markLinkComingSoon(link, href);
|
||||
});
|
||||
}
|
||||
|
||||
/** 將籌備中規則套用至單一導覽列(含頂層 li 樣式) */
|
||||
function applyComingSoonToNav(nav) {
|
||||
applyComingSoonToAnchorElements(nav);
|
||||
|
||||
nav.querySelectorAll(":scope > ul > li").forEach((li) => {
|
||||
const trigger = li.querySelector(":scope > a[href]");
|
||||
@@ -170,7 +177,7 @@
|
||||
<li class="portal-nav__subgroup">
|
||||
<span class="portal-nav__subgroup-head"><span class="portal-nav__label">全員發瘋</span><span class="portal-nav__sub">原來我是個正常人啊!團綜與失控現場</span></span>
|
||||
<ul class="portal-submenu-nested" aria-label="全員發瘋">
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="${rp}variety/variety.html#stage"><span class="portal-nav__label">隊長帶弟弟</span><span class="portal-nav__sub">控場與隊內互動</span></a></li>
|
||||
<li><a target="_blank" rel="noopener noreferrer" href="${rp}variety/variety.html#variety"><span class="portal-nav__label">隊長帶弟弟</span><span class="portal-nav__sub">控場與隊內互動</span></a></li>
|
||||
<li class="portal-nav__subgroup portal-nav__subgroup--nested">
|
||||
<span class="portal-nav__subgroup-head portal-nav__subgroup-head--nested"><span class="portal-nav__label">各自暴走</span><span class="portal-nav__sub">獨立內頁籌備中</span></span>
|
||||
<ul class="portal-submenu-nested portal-submenu-nested--tier3" aria-label="各自暴走">
|
||||
@@ -212,6 +219,16 @@
|
||||
}
|
||||
});
|
||||
|
||||
const blockNavigation = (event) => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
};
|
||||
|
||||
document.querySelectorAll('a[data-coming-soon="true"]').forEach((link) => {
|
||||
link.addEventListener("click", blockNavigation);
|
||||
link.addEventListener("auxclick", blockNavigation);
|
||||
});
|
||||
|
||||
const navs = Array.from(document.querySelectorAll(".portal-nav"));
|
||||
if (!navs.length) return;
|
||||
|
||||
@@ -220,23 +237,6 @@
|
||||
navs.forEach((nav) => {
|
||||
/* 僅頂層主欄;子選單內巢狀 li 不綁 open,否則會關閉整欄下拉 */
|
||||
const items = Array.from(nav.querySelectorAll(":scope > ul > li"));
|
||||
const soonLinks = Array.from(nav.querySelectorAll('a[data-coming-soon="true"]'));
|
||||
|
||||
const blockNavigation = (event) => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
};
|
||||
soonLinks.forEach((link) => {
|
||||
link.addEventListener("click", blockNavigation);
|
||||
link.addEventListener("auxclick", blockNavigation);
|
||||
if (!link.dataset.portalNavSoonRoll) {
|
||||
link.dataset.portalNavSoonRoll = "1";
|
||||
const onSoonInteract = () => rollSoonLabel(link);
|
||||
link.addEventListener("pointerenter", onSoonInteract);
|
||||
link.addEventListener("focus", onSoonInteract);
|
||||
link.addEventListener("touchstart", onSoonInteract, { passive: true });
|
||||
}
|
||||
});
|
||||
|
||||
items.forEach((item) => {
|
||||
const trigger = item.querySelector(":scope > a");
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# 對話紀要 · 2026-05-13(深夜)
|
||||
|
||||
供之後自己或助手對齊脈絡用;**程式真值**仍以 repo 內檔案與 `.cursor/rules` 為準。
|
||||
|
||||
---
|
||||
|
||||
## 1. 需求:`variety/variety.html` 刪除 `#stage`
|
||||
|
||||
- **意圖**:刪除該頁內 **`id="stage"` 的整個 `<section>`**(「隊長的氣場」),**不是**刪整頁、不是刪 `variety/` 資料夾、不是刪頂欄「全員發瘋」整段。
|
||||
- **實作**:已從 `variety/variety.html` 移除該區塊;站內原指向 `variety.html#stage` 的連結改為仍存在的錨點(例如 `#variety`),見 `assets/js/portal-nav.js`、`extra/site-guide.html`。
|
||||
- **誤會澄清**:瀏覽器網址列若仍顯示 `#stage`,多半是舊書籤/歷史網址,**不代表** HTML 裡還有該 `id`。畫面上的「瘋子與天才」是 **header 大標**,不是已刪除的 `#stage` 區內文。
|
||||
|
||||
---
|
||||
|
||||
## 2. 寫入規則(給「明天的電腦」)
|
||||
|
||||
已更新 Cursor 規則(`alwaysApply`):
|
||||
|
||||
| 檔案 | 補充內容 |
|
||||
|------|----------|
|
||||
| `.cursor/rules/user-scope-and-nav.mdc` | **頁面錨點刪除**:先改頁面 DOM,再修死錨;禁止只改導覽不刪區塊、禁止擅自擴大刪頂欄/整頁。 |
|
||||
| `.cursor/rules/portal-nav-rules.mdc` | §0 加第 6 點,指回上一條。 |
|
||||
| `.cursor/rules/ai-change-boundaries.mdc` | **站主版面與元件預設**:同行預設等高、同類 CARD 等預設等寬;短字層單行置中、長文換行置左;預設不出現區塊內捲軸除非站主明講。 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 站主口述的設計大原則(摘要)
|
||||
|
||||
- 同一列:除非特別說,**等高**。
|
||||
- 同屬性(如 CARD):**等寬**。
|
||||
- 「十字以內」等級的短標:**盡量不換行、置中**;超過則**可換行、置左**。
|
||||
- **不要**隨便出現內嵌捲軸;除非站主對該區有強烈/明確規定。
|
||||
|
||||
細節與實作注意已寫在 `ai-change-boundaries.mdc` 該節。
|
||||
|
||||
---
|
||||
|
||||
## 4. 本檔說明
|
||||
|
||||
- 由 2026-05-13 對話整理;若與後續 commit 不一致,以 git 與規則檔為準。
|
||||
- 若要再拆成「只給人讀」與「只給規則」兩層,可之後再調整,目前不重複貼長篇到多份文件。
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
<main class="content-container site-guide-main">
|
||||
<p class="site-guide-lead site-guide-lead--short">
|
||||
棕字可點、灰字無連結。主選單樹列底色依層級(1→4)區分。本頁頂欄全開且為同分頁開啟;他頁頂欄仍依 <code>portal-nav.js</code> 另開新分頁。
|
||||
本頁為站主自用全站導覽:主表與小表連結皆可進目標頁。頂欄加 <code>data-portal-nav-all-open</code>,不套用籌備中、且為同分頁開啟;訪客可見之其他頁仍依 <code>portal-nav.js</code> 籌備中規則與另開新分頁。
|
||||
</p>
|
||||
|
||||
<section class="site-guide-group site-guide-group--nav-hero" aria-labelledby="sg-nav-tree">
|
||||
@@ -144,9 +144,9 @@
|
||||
<td class="site-guide-nav-link-cell"><span class="site-guide-nav-nolink">—</span></td>
|
||||
</tr>
|
||||
<tr data-site-guide-depth="3">
|
||||
<td class="site-guide-nav-menu-cell"><span class="site-guide-nav-name"><a href="../variety/variety.html#stage">隊長帶弟弟</a></span></td>
|
||||
<td class="site-guide-nav-desc">綜藝頁「隊長的氣場」段:控場、團內互動與後續切片預留。</td>
|
||||
<td class="site-guide-nav-link-cell"><a href="../variety/variety.html#stage"><code>variety/variety.html#stage</code></a></td>
|
||||
<td class="site-guide-nav-menu-cell"><span class="site-guide-nav-name"><a href="../variety/variety.html#variety">隊長帶弟弟</a></span></td>
|
||||
<td class="site-guide-nav-desc">綜藝頁「瘋狂出演中」主區;與頂欄「隊長帶弟弟」同頁錨點。</td>
|
||||
<td class="site-guide-nav-link-cell"><a href="../variety/variety.html#variety"><code>variety/variety.html#variety</code></a></td>
|
||||
</tr>
|
||||
<tr data-site-guide-depth="3">
|
||||
<td class="site-guide-nav-menu-cell"><span class="site-guide-nav-name"><span class="site-guide-nav-nolink">各自暴走</span></span></td>
|
||||
@@ -218,7 +218,7 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><code>COMING_SOON_PAGES</code></th>
|
||||
<td><code>albums</code>、<code>map</code>、<code>minister</code>、<code>minister_ge</code> 檔名 → 一般頁改 <code>#</code></td>
|
||||
<td><code>albums</code>、<code>map</code>、<code>minister</code>、<code>minister_ge</code>、<code>totoga2</code>、<code>variety</code> 檔名 → 一般頁改 <code>#</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><code>INDEX_NAV_OPEN_HASHES</code></th>
|
||||
@@ -379,7 +379,7 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">主頁</th>
|
||||
<td><a href="../variety/variety.html">variety.html</a> · <a href="../variety/variety.html#variety">#variety</a> · <a href="../variety/variety.html#stage">#stage</a></td>
|
||||
<td><a href="../variety/variety.html">variety.html</a> · <a href="../variety/variety.html#variety">#variety</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">NJTW5</th>
|
||||
|
||||
@@ -30,11 +30,6 @@
|
||||
<p class="intro-text">鏡頭一開就跑偏、台詞唸不完,卻總能把段子的節奏剪成「非他不可」——這是最容易被路人一眼看見的瘋勁,也是綜藝剪輯願意一路卡特寫給他的理由。</p>
|
||||
<p class="intro-text">卸妝後的聊天、運動場上的暴走、對成員毫不修飾的吐槽;那些看起來像日常,其實比劇本更誇張。此區之後會補上節目清單、名場面與入坑路線,先把舞台留好。</p>
|
||||
</section>
|
||||
<section id="stage" class="variety-block">
|
||||
<h2 class="section-title">隊長的氣場</h2>
|
||||
<p class="intro-text">同樣一句話,由他說出口就變成節奏點;同樣混亂的場面,他一站出來觀眾會先笑、再安靜聽。那不是威嚴口號,而是多年在台上台下磨出來的「控場直覺」。</p>
|
||||
<p class="intro-text">此區預留給談話、音樂、與團體互動裡的隊長切片——讓新粉先用氣場認人,再慢慢讀懂他背後的堅持。</p>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
|
||||
Reference in New Issue
Block a user