{"_id":"@cxphoenix/slidev-theme-fhsh-isiphs-universal","_rev":"3-72c2f497462a352edcdba70c6232f266","name":"@cxphoenix/slidev-theme-fhsh-isiphs-universal","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@cxphoenix/slidev-theme-fhsh-isiphs-universal","version":"1.0.0","keywords":["slidev-theme","slidev","fhsh","aisp","isip.hs","universal"],"_id":"@cxphoenix/slidev-theme-fhsh-isiphs-universal@1.0.0","maintainers":[{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"}],"homepage":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal#readme","bugs":{"url":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"57d58ab9721b106834783aa7f049c97f4dfedfdd","tarball":"https://registry.npmjs.org/@cxphoenix/slidev-theme-fhsh-isiphs-universal/-/slidev-theme-fhsh-isiphs-universal-1.0.0.tgz","fileCount":37,"integrity":"sha512-K+qMayUGipkaFIrMfN74hDA/MB0yzY43P9NxVOWFZ/1NSE2yFuNWlzZZiQM+9bDCGfDm2gFgJriI3KcialuBJw==","signatures":[{"sig":"MEUCIQDeUf4/KGhj26/XB7REmQbu29bcpUjahGnAV4VXMQVfRAIgb1Ve314T+vv0vXsvj8j0dCgGHGG5aEqOYaYYFrWTmyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13007793},"type":"module","_from":"file:cxphoenix-slidev-theme-fhsh-isiphs-universal-1.0.0.tgz","slidev":{"defaults":{"mdc":true,"fonts":{"mono":"Source Code Pro, Noto Sans Mono","sans":"edukai, Fira Mono, Noto Sans TC","local":"edukai","serif":"Zen Antique, Noto Serif Traditional Chinese"},"layout":"default","favicon":"https://security-program.fhsh.taipei/New AiSP LOGO.png","aspectRadio":"16/9","titleTemplate":"%s | FHSH AiSP X ISIP.hs"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"},"_resolved":"/tmp/2876e1b9d23a987fc52dc9ea2abbe7ef/cxphoenix-slidev-theme-fhsh-isiphs-universal-1.0.0.tgz","_integrity":"sha512-K+qMayUGipkaFIrMfN74hDA/MB0yzY43P9NxVOWFZ/1NSE2yFuNWlzZZiQM+9bDCGfDm2gFgJriI3KcialuBJw==","repository":{"url":"git+https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal.git","type":"git"},"_npmVersion":"10.9.3","description":"[![NPM version](https://img.shields.io/npm/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal?color=3AB9D4&label=npm)](https://www.npmjs.com/package/@cxphoenix/slidev-theme-fhsh-isiphs-universal/v/latest) [![License](https://img.shields.io/github/license/CXP","directories":{},"_nodeVersion":"22.19.0","dependencies":{"prettier":"^3.5.3","@vueuse/core":"^13.6.0","@slidev/types":"^52.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^52.1.0","playwright-chromium":"^1.50.1"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-fhsh-isiphs-universal_1.0.0_1759221881320_0.3196311674175769","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cxphoenix/slidev-theme-fhsh-isiphs-universal","version":"1.0.1","keywords":["slidev-theme","slidev","fhsh","aisp","isip.hs","universal"],"_id":"@cxphoenix/slidev-theme-fhsh-isiphs-universal@1.0.1","maintainers":[{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"}],"homepage":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal#readme","bugs":{"url":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues"},"//":"Learn more: https://sli.dev/guide/write-theme.html","dist":{"shasum":"5a1c8b0c23be1df534ac4210ce3282a433d33870","tarball":"https://registry.npmjs.org/@cxphoenix/slidev-theme-fhsh-isiphs-universal/-/slidev-theme-fhsh-isiphs-universal-1.0.1.tgz","fileCount":37,"integrity":"sha512-xa9PX/OeCqmaxuwkmsj5WHtoGB0FWhlwAFjWPVyjzusxqx5ezbTHrs+Ti/rqdhfrI8wtv3Y7gTak/E3oDA/NBA==","signatures":[{"sig":"MEQCIG17I92y1nL5vdtG9P43lDU8etRiXT9TRq+cC1k/VFqvAiBlRSkWOSp4r9iJeWwfu4sM4EZS4rbZ5WCzhBRFauZSFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13012096},"type":"module","_from":"file:cxphoenix-slidev-theme-fhsh-isiphs-universal-1.0.1.tgz","slidev":{"defaults":{"mdc":true,"fonts":{"mono":"Source Code Pro, Noto Sans Mono","sans":"edukai, Fira Mono, Noto Sans TC","local":"edukai","serif":"Zen Antique, Noto Serif Traditional Chinese"},"layout":"default","favicon":"https://security-program.fhsh.taipei/New AiSP LOGO.png","aspectRadio":"16/9","titleTemplate":"%s | FHSH AiSP X ISIP.hs"},"colorSchema":"light"},"engines":{"node":">=18.0.0"},"scripts":{"dev":"slidev example.md --open","build":"slidev build example.md","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_npmUser":{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"},"_resolved":"/tmp/88544592019c0fecf0344637b16469b2/cxphoenix-slidev-theme-fhsh-isiphs-universal-1.0.1.tgz","_integrity":"sha512-xa9PX/OeCqmaxuwkmsj5WHtoGB0FWhlwAFjWPVyjzusxqx5ezbTHrs+Ti/rqdhfrI8wtv3Y7gTak/E3oDA/NBA==","repository":{"url":"git+https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal.git","type":"git"},"_npmVersion":"10.9.3","description":"[![NPM version](https://img.shields.io/npm/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal?color=3AB9D4&label=npm)](https://www.npmjs.com/package/@cxphoenix/slidev-theme-fhsh-isiphs-universal/v/latest) [![License](https://img.shields.io/github/license/CXP","directories":{},"_nodeVersion":"22.19.0","dependencies":{"prettier":"^3.5.3","@vueuse/core":"^13.6.0","@slidev/types":"^52.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@slidev/cli":"^52.1.0","playwright-chromium":"^1.50.1"},"_npmOperationalInternal":{"tmp":"tmp/slidev-theme-fhsh-isiphs-universal_1.0.1_1759223913970_0.3475686729766554","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@cxphoenix/slidev-theme-fhsh-isiphs-universal","version":"1.1.0","type":"module","repository":{"type":"git","url":"git+https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal.git"},"homepage":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal#readme","keywords":["slidev-theme","slidev","fhsh","aisp","isip.hs","universal"],"engines":{"node":">=18.0.0"},"dependencies":{"@slidev/types":"^52.1.0","@vueuse/core":"^13.6.0","prettier":"^3.5.3"},"devDependencies":{"@slidev/cli":"^52.1.0","playwright-chromium":"^1.50.1"},"//":"Learn more: https://sli.dev/guide/write-theme.html","slidev":{"colorSchema":"light","defaults":{"fonts":{"sans":"edukai, Fira Mono, Noto Sans TC","serif":"Zen Antique, Noto Serif Traditional Chinese","mono":"Source Code Pro, Noto Sans Mono","local":"edukai"},"layout":"default","aspectRadio":"16/9","mdc":true,"titleTemplate":"%s | FHSH AiSP X ISIP.hs","favicon":"https://security-program.fhsh.taipei/New AiSP LOGO.png"}},"scripts":{"build":"slidev build example.md","dev":"slidev example.md --open","export":"slidev export example.md","screenshot":"slidev export example.md --format png"},"_id":"@cxphoenix/slidev-theme-fhsh-isiphs-universal@1.1.0","description":"[![NPM version](https://img.shields.io/npm/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal?color=3AB9D4&label=npm)](https://www.npmjs.com/package/@cxphoenix/slidev-theme-fhsh-isiphs-universal/v/latest) [![License](https://img.shields.io/github/license/CXP","bugs":{"url":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues"},"_integrity":"sha512-w8gGjm0/ZG8pMM7h1l/5EplA8F77UevGhFAiUSFEYZB6oMt6v2U0tXlijYYAsSF05vLCdR7if9NPzStDf1IF+w==","_resolved":"/tmp/8f5a1e1bdb63169a639edf198a416cb7/cxphoenix-slidev-theme-fhsh-isiphs-universal-1.1.0.tgz","_from":"file:cxphoenix-slidev-theme-fhsh-isiphs-universal-1.1.0.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-w8gGjm0/ZG8pMM7h1l/5EplA8F77UevGhFAiUSFEYZB6oMt6v2U0tXlijYYAsSF05vLCdR7if9NPzStDf1IF+w==","shasum":"ce5170351b3871d2f837f4ce994b89c215c86063","tarball":"https://registry.npmjs.org/@cxphoenix/slidev-theme-fhsh-isiphs-universal/-/slidev-theme-fhsh-isiphs-universal-1.1.0.tgz","fileCount":37,"unpackedSize":13014124,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cxphoenix%2fslidev-theme-fhsh-isiphs-universal@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBCHX+Pa3/Hx8bWfKcH2Dw5uA+gCAKJjocgB6+DmadH2AiEA7d/O8aDHOO/gNfcakTPPP1bOkc6su0nb4a/WRScF+sk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83042534-f422-40db-8fff-c09614300d56"}},"directories":{},"maintainers":[{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/slidev-theme-fhsh-isiphs-universal_1.1.0_1768914305222_0.9714158867673488"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-30T08:44:41.258Z","modified":"2026-01-20T13:05:06.190Z","1.0.0":"2025-09-30T08:44:41.683Z","1.0.1":"2025-09-30T09:18:34.329Z","1.1.0":"2026-01-20T13:05:05.896Z"},"bugs":{"url":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues"},"homepage":"https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal#readme","keywords":["slidev-theme","slidev","fhsh","aisp","isip.hs","universal"],"repository":{"type":"git","url":"git+https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal.git"},"description":"[![NPM version](https://img.shields.io/npm/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal?color=3AB9D4&label=npm)](https://www.npmjs.com/package/@cxphoenix/slidev-theme-fhsh-isiphs-universal/v/latest) [![License](https://img.shields.io/github/license/CXP","maintainers":[{"name":"cxphoenix","email":"0826@fhsh.tp.edu.tw"}],"readme":"# 🎨 Slidev Theme FHSH & ISIP.hs Universal\n\n[![NPM version](https://img.shields.io/npm/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal?color=3AB9D4&label=npm)](https://www.npmjs.com/package/@cxphoenix/slidev-theme-fhsh-isiphs-universal/v/latest)\n[![License](https://img.shields.io/github/license/CXPhoenix/slidev-theme-fhsh-isiphs-universal?color=green)](https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/blob/main/LICENSE)\n[![Node.js](https://img.shields.io/node/v/@cxphoenix/slidev-theme-fhsh-isiphs-universal)](https://nodejs.org/)\n\n## 📖 專案介紹\n\n✨ **Slidev Theme FHSH & ISIP.hs Universal** 是一個專為復興高中資安相關課程設計的通用 [Slidev](https://github.com/slidevjs/slidev) 主題佈景。此主題整合了 **FHSH AiSP（AI 資安學程）** 與 **ISIP.hs（資訊安全實務課程）** 兩個主題的所有功能，提供靈活的雙主題切換系統與課程等級色彩配置。\n\n### 🎯 設計理念\n\n這個主題將兩個獨立的 Slidev 主題整合為一個通用解決方案，讓教師與學生能夠：\n- 🔄 **彈性切換**：使用單一主題套件，透過設定切換不同課程的視覺風格\n- 🎨 **等級區分**：透過顏色系統直觀區分課程難度（初級/中級/高級）\n- 📚 **統一管理**：在同一個專案中管理不同課程的簡報內容\n\n### 🌟 主題特色\n\n#### 🎭 雙主題整合系統\n- **FHSH AiSP 主題**：專為 AI 資安學程設計的專業視覺風格\n- **ISIP.hs 主題**：資訊安全實務課程專屬的簡潔設計\n- **一鍵切換**：透過 `themeName` 參數快速切換主題圖片資源\n\n#### 🎚️ 課程等級色彩系統\n根據課程難度自動調整背景配色，提供視覺化的課程分級：\n- 🟢 **Level 0 - 初級課程**：清新綠色調，適合入門內容\n- 🔵 **Level 1 - 中級課程**：專業藍色調，適合進階主題\n- 🟠 **Level 2 - 高級課程**：活力橘色調，適合深度探討\n\n#### 🎯 核心功能\n- 🚀 **現代化介面**：簡潔優雅的設計語言，突出內容重點\n- 🎨 **多元版面**：提供 5 種精心設計的版面配置（封面、內容、章節、圖片、測驗）\n- 🧩 **自訂組件**：內建目錄（ToC）與互動測驗（MultiChoice）組件\n- 📱 **響應式設計**：支援不同螢幕尺寸的最佳顯示效果\n- 🔤 **中文最佳化**：使用 edukai 字體，針對繁體中文進行排版優化\n- ⚡ **高效能**：基於 Slidev 的輕量化架構，快速載入與流暢操作\n- 💻 **程式碼增強**：整合 Monaco editor 與 Shiki 語法突顯\n- 🎪 **豐富動效**：內建精美的過場動畫與互動效果\n\n## 🚀 安裝與設定\n\n### 📋 環境需求\n\n在開始使用之前，請確保您的開發環境滿足以下需求：\n\n- 📦 **Node.js** >= 18.0.0\n- 📦 **pnpm** >= 7.0.0（推薦）或 npm/yarn\n- 🎬 **Slidev** >= 0.48.0\n\n### ⚡ 快速開始\n\n#### 方法一：自動安裝（推薦）\n\n在您的 `slides.md` 檔案的 frontmatter 中加入以下內容：\n\n```yaml\n---\ntheme: '@cxphoenix/slidev-theme-fhsh-isiphs-universal'\n---\n\n# 您的簡報標題\n\n開始製作您的第一份簡報！\n```\n\n當您執行 `slidev slides.md` 時，Slidev 會自動提示您安裝此主題。\n\n#### 方法二：手動安裝\n\n```bash\n# 使用 pnpm（推薦）\npnpm add @cxphoenix/slidev-theme-fhsh-isiphs-universal\n\n# 使用 npm\nnpm install @cxphoenix/slidev-theme-fhsh-isiphs-universal\n\n# 使用 yarn\nyarn add @cxphoenix/slidev-theme-fhsh-isiphs-universal\n```\n\n### 🔧 基本設定\n\n安裝完成後，您可以在簡報檔案中進行基本設定：\n\n```yaml\n---\ntheme: '@cxphoenix/slidev-theme-fhsh-isiphs-universal'\ntitle: '我的簡報'\n# 主題名稱：'fhsh' 或 'isip.hs'\nthemeName: 'fhsh'\n# 課程等級：0 (初級/綠) | 1 (中級/藍) | 2 (高級/橘)\ncourseLevel: 0\ninfo: |\n  ## FHSH & ISIP.hs 通用主題\n  使用 Slidev Theme FHSH & ISIP.hs Universal 製作\nfonts:\n  sans: 'edukai, Noto Sans TC'\n  serif: 'Zen Antique, Noto Serif Traditional Chinese'\n  mono: 'Source Code Pro, Noto Sans Mono'\naspectRatio: '16/9'\nlayout: 'default'\n---\n```\n\n## ⚙️ 主題配置\n\n### 🎨 themeName（主題名稱）\n\n控制主題的視覺風格與圖片資源：\n\n| 參數值 | 說明 | 適用課程 |\n|--------|------|----------|\n| `fhsh` | FHSH AiSP 主題風格 | AI 資安學程相關課程 |\n| `isip.hs` | ISIP.hs 主題風格 | 資訊安全實務課程 |\n\n**使用範例**：\n```yaml\n---\ntheme: '@cxphoenix/slidev-theme-fhsh-isiphs-universal'\nthemeName: 'isip.hs'\n---\n```\n\n### 🎚️ courseLevel（課程等級）\n\n控制簡報的背景顏色配置，提供視覺化的課程難度區分：\n\n| 等級 | 顏色 | 說明 | 適用範圍 |\n|------|------|------|----------|\n| `0` | 🟢 綠色 | 初級課程 | 基礎入門、概念介紹 |\n| `1` | 🔵 藍色 | 中級課程 | 進階主題、實務應用 |\n| `2` | 🟠 橘色 | 高級課程 | 深度探討、專業領域 |\n\n**使用範例**：\n```yaml\n---\ntheme: '@cxphoenix/slidev-theme-fhsh-isiphs-universal'\nthemeName: 'fhsh'\ncourseLevel: 1  # 中級課程，使用藍色背景\n---\n```\n\n### 🎯 完整配置範例\n\n```yaml\n---\n# 主題設定\ntheme: '@cxphoenix/slidev-theme-fhsh-isiphs-universal'\nthemeName: 'fhsh'        # 使用 FHSH AiSP 風格\ncourseLevel: 2           # 高級課程（橘色）\n\n# 基本資訊\ntitle: 'AI 資安進階課程'\ninfo: |\n  ## AI 資安進階專題\n  深入探討人工智慧在資安領域的應用\n\n# 字體設定（使用主題預設）\nfonts:\n  sans: 'edukai, Noto Sans TC'\n  mono: 'Source Code Pro'\n\n# 簡報設定\naspectRatio: '16/9'\nlayout: 'default'\n\n# 版面跳過設定\nskipPageNumberLayouts:\n  - cover\n  - section\n---\n```\n\n## 🖼️ 版面配置\n\n此主題提供了五種精心設計的版面配置，滿足不同簡報需求：\n\n### 📄 可用版面\n\n| 版面名稱 | 用途說明 | 特色功能 |\n|---------|---------|---------|\n| 🏠 `cover` | 封面頁面 | 專業的標題展示，自動套用主題專屬標誌與口號圖片 |\n| 📝 `default` | 標準內容 | 適合一般內容展示，支援標題、段落、清單、程式碼等 |\n| 🏷️ `section` | 章節分隔 | 大標題置中顯示，支援自訂圖片與樣式 |\n| 🖼️ `image` | 圖片展示 | 全背景圖片顯示，適合視覺化內容與重點圖片 |\n| 🎮 `quiz` | 互動測驗 | 多選題測驗功能，支援答案驗證與視覺反饋 |\n\n### 💡 版面使用範例\n\n#### 🏠 封面頁面（cover）\n```markdown\n---\nlayout: cover\nthemeName: 'fhsh'\ncourseLevel: 0\n---\n\n# 復興高中 AI 資安學程\n## 初級課程：資安基礎概念\n2024 春季班\n```\n\n#### 📝 標準內容（default）\n```markdown\n---\nlayout: default\n---\n\n# 課程內容\n\n## 本週主題\n\n- 網路安全基礎\n- 密碼學概論\n- 常見攻擊手法\n\n### 學習目標\n了解基本的資訊安全概念與防護方法。\n```\n\n#### 🏷️ 章節分隔（section）\n```markdown\n---\nlayout: section\n---\n\n# 第一章：網路安全基礎\n\n## 認識網路威脅與防護\n```\n\n#### 🖼️ 圖片展示（image）\n```markdown\n---\nlayout: image\n---\n\n# 網路架構示意圖\n\n![網路拓撲](/assets/network-topology.png)\n```\n\n#### 🎮 互動測驗（quiz）\n```markdown\n---\nlayout: quiz\nisOffline: true\nans: 4\n---\n\n# 下列何者是資訊安全的三大要素？\n\n請選擇正確答案：\n\n- 機密性\n- 完整性\n- 可用性\n- 以上皆是\n```\n\n## 🧩 自訂組件\n\n### 📑 ToC（目錄組件）\n\n自動產生簡報目錄，支援自訂顯示範圍與版面篩選。\n\n**基本使用**：\n```markdown\n---\nlayout: default\n---\n\n# 課程大綱\n\n<ToC />\n```\n\n**進階設定**：\n```markdown\n<ToC\n  :layoutsIncludeInToc=\"['section', 'default']\"\n  :tocShowRange=\"[0, 5]\"\n/>\n```\n\n**Props 說明**：\n- `layoutsIncludeInToc`：指定要包含在目錄中的版面類型（預設：`['section']`）\n- `tocShowRange`：目錄顯示範圍陣列\n  - `[0]`：從第 0 項開始顯示全部\n  - `[0, 5]`：顯示第 0-4 項（共 5 項）\n\n### 🎯 MultiChoice（互動測驗組件）\n\n提供互動式多選題測驗功能，支援答案驗證與視覺反饋。\n\n**基本使用**：\n```markdown\n---\nlayout: quiz\nisOffline: true\nans: 2\n---\n\n# 什麼是 SQL Injection？\n\n測試題目描述...\n\n- 一種網路協定\n- 一種資料隱碼攻擊\n- 一種加密演算法\n- 一種防火牆技術\n```\n\n**Props 說明**：\n- `isOffline`：是否使用離線模式（預設：`true`）\n  - `true`：本地答案驗證\n  - `false`：WebSocket 連線模式（🚧 開發中）\n- `ans`：正確答案編號（從 1 開始計數，0 表示不顯示正確答案）\n- `wsUrl`：WebSocket 伺服器位址（僅在線模式需要，預設：`ws://localhost:8000`）\n\n**答案反饋**：\n- 🟢 **綠色邊框**：答案正確\n- 🔴 **紅色邊框**：答案錯誤\n- 🟡 **黃色邊框**：已選擇但未設定正確答案（ans: 0）\n\n## 💻 程式碼功能\n\n### 🎨 語法突顯（Shiki）\n\n使用 Shiki 提供精美的語法突顯，支援多種程式語言：\n\n```python\n# Python 範例\ndef hello_world():\n    print(\"Hello, World!\")\n```\n\n```javascript\n// JavaScript 範例\nconsole.log(\"Hello, World!\");\n```\n\n### ✏️ Monaco Editor\n\n支援 Monaco Editor 進行即時程式碼編輯：\n\n```python {monaco}\n# 可編輯的 Python 程式碼\nprint(\"Hello, Slidev!\")\n```\n\n### ▶️ 程式碼執行\n\n支援程式碼即時執行（JavaScript）：\n\n```js {monaco-run} {autorun: false}\nconsole.log(\"這段程式碼可以直接執行！\")\n```\n\n## 🛠️ 開發與貢獻\n\n我們歡迎所有形式的貢獻！無論是回報問題、提出建議，或是直接參與程式碼開發。\n\n### 🚀 開發環境設定\n\n1. **複製專案** 📥\n   ```bash\n   git clone https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal.git\n   cd slidev-theme-fhsh-isiphs-universal\n   ```\n\n2. **安裝依賴** 📦\n   ```bash\n   pnpm install\n   ```\n\n3. **啟動開發伺服器** 🛠️\n   ```bash\n   pnpm run dev\n   ```\n   此指令會以 `example.md` 作為範例啟動 Slidev，您可以即時預覽主題變更。\n\n4. **編輯與測試** ✍️\n   - 編輯 `layouts/` 資料夾中的版面檔案\n   - 修改 `styles/layout.css` 調整樣式\n   - 編輯 `shared/useTheme.js` 調整主題邏輯\n   - 在 `example.md` 中測試不同的版面效果\n\n### 📦 開發指令\n\n```bash\n# 啟動開發伺服器\npnpm run dev\n\n# 建置靜態檔案\npnpm run build\n\n# 匯出 PDF\npnpm run export\n\n# 產生預覽圖片（PNG）\npnpm run screenshot\n```\n\n### 🤝 貢獻流程\n\n1. 🍴 Fork 此專案\n2. 🌿 建立您的功能分支 (`git checkout -b feature/amazing-feature`)\n3. 💾 提交您的變更 (`git commit -m '✨ feat: 增加了某個酷功能'`)\n4. 📤 推送到分支 (`git push origin feature/amazing-feature`)\n5. 🔀 開啟 Pull Request\n\n### 🐛 回報問題\n\n如果您發現任何問題或有改進建議，請在 [GitHub Issues](https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues) 中回報。\n\n## 📚 相關連結\n\n- 📖 [詳細使用說明](./Usage.md)\n- 🎬 [Slidev 官方文件](https://sli.dev/)\n- 🎨 [Slidev 主題開發指南](https://sli.dev/guide/write-theme.html)\n- 🏫 [復興高中 AI 資安學程](https://www.fhsh.tp.edu.tw/)\n- 🔐 [復興高中資訊安全課程](https://security-program.fhsh.taipei/)\n\n## 📄 授權條款\n\n本專案採用 MIT 授權條款。詳細內容請參考 [LICENSE](./LICENSE) 檔案。\n\n## 💬 聯絡我們\n\n如果您有任何問題或建議，歡迎透過以下方式聯絡：\n\n- 📧 GitHub Issues: [回報問題](https://github.com/CXPhoenix/slidev-theme-fhsh-isiphs-universal/issues)\n- 🌐 GitHub: [@CXPhoenix](https://github.com/CXPhoenix)\n\n---\n\n⭐ 如果這個主題對您有幫助，請不要忘記給我們一個星星！","readmeFilename":"README.md"}