專案展示
將一堆專案變成一個訪客可以篩選和瀏覽的目錄。每個專案一張卡片,每張卡片開啟一個詳細頁面,並按專案類型分組。讓它運作的框架:類別是主要軸線 — 訪客不在乎你用了什麼技術堆疊,他們在乎的是這是一個真正的產品、一個比賽作品,還是一個實驗室實驗。先以此排序,其他一切其次。
在整個過程中,請始終牢記兩個主導想法:
- 一張卡片,一個專案。 每個專案都是一張卡片。卡片是鉤子;詳細頁面是證明。
- 先訪談,再建構。 永遠不要假設技術堆疊、類別或已存在的內容。先問,然後再建構。
步驟 1 — 訪談(在撰寫任何程式碼之前)
暫停。在獲得答案之前,不要設計架構或撰寫元件。提出問題,並根據他們已經說過的內容進行調整:
- 這個網站是用什麼建構的? 框架(Next.js / React、Astro、SvelteKit、純 HTML)以及專案資料會存放在哪裡 — 資料檔案、CMS 還是資料庫?這將決定下面所有內容的建構方式。
- 是否已經有專案頁面或專案資料? 如果有,請先閱讀它並擴展它 — 不要取代它。符合其現有的欄位名稱和視覺風格。
- 你有哪幾類的專案? 合理的預設類別拆分是產品 / 黑客松 / 研發,但請確認它。有些人可能想要「客戶作品」、「寫作」或「開源專案」。類別是主要的篩選條件,所以請務必設定正確 — 這是使用者的決定,而不是你的。
- 每個專案,你有哪些資訊? 一句話簡介、較長的「它是什麼」、線上網址、儲存庫、展示影片、圖表或截圖、簡報?這將決定每張卡片和每個頁面使用哪些選填欄位和媒體。
- 每張卡片的主要行動是什麼? 開啟應用程式、觀看展示、閱讀儲存庫、檢視簡報。這就是卡片的行動呼籲。
用一兩句話反映他們回答的內容,然後再繼續。如果他們只想添加一個專案到現有的展示中,請跳過架構設計 — 讀取他們現有的資料格式,並撰寫一個與之相符的條目。
步驟 2 — 資料模型
請閱讀 references/schema.md 以了解逐欄位的模型和 trackOf() 推導技巧(這樣當你添加篩選功能時,現有條目就不需要全部編輯)。基本要素:一個扁平的項目列表,每個項目包含 slug、name、一行 description、更詳細的 whatItIs、一個 track(主要篩選條件)、一個 status、stack[]、links[] 和一個 cta。媒體欄位為選填。
步驟 3 — 建構它
請閱讀 references/patterns.md 以了解卡片與詳細頁面的拆分、篩選列、媒體區塊和撰寫規則。結構如下:
- 一個展示區:篩選列(類別優先,然後是次要篩選,如種類/層級/狀態)+ 響應式卡片網格。
- 一張卡片:簡潔 — 名稱、狀態、一行描述、幾個標籤、一個行動呼籲。簡潔,不是長篇大論 — 卡片說明一個東西是什麼;它不是一篇冗長的文章。
- 一個詳細頁面,每個 slug 一個:較詳細的
whatItIs、選填的嵌入式影片(附帶海報圖片,以免開啟時畫面全黑)、選填的封面圖片/圖表,以及以按鈕形式呈現的連結。
與網站現有的設計標記和元件保持一致。不要發明新的視覺語言。
步驟 4 — 驗證
建構或進行型別檢查。然後確認三件事確實能夠運作,而不僅僅是聲稱它們能運作:類別篩選能夠縮小網格範圍、卡片能夠開啟其詳細頁面,以及任何嵌入式媒體能夠正確呈現(影片能播放、圖片能載入)。向使用者展示。
護欄(確認,不要假設)
- 類別是用戶的 — 提供預設值,但讓他們決定類別。
- 擴展現有的展示,絕不暗中取代它。
- 保持卡片文案簡潔;詳細內容放在詳細頁面上。