Releases: CXPhoenix/slidev-addon-python-runner
Releases · CXPhoenix/slidev-addon-python-runner
🚀 v0.5.0 - Judge Mode 評測系統與完整繁體中文文檔
這是一個重大更新版本,帶來了完整的程式碼評測系統、優化的 stdin 輸入處理,以及全面的繁體中文文檔。
🏷️ 重大變更 (Breaking Changes)
- 套件名稱變更:從 slidev-addon-python-runner 更改為 @cxphoenix/slidev-addon-python-runner
- Repository 遷移:專案已遷移至 https://github.com/CXPhoenix/slidev-addon-python-runner
✨ 主要新功能
🎯 Judge Mode 評測系統
- 自動評測功能:支援多組測試案例的自動化評測
- 並行處理:同時執行多個測試案例,提升評測效率
- 結果比對:自動比對程式輸出與預期結果,顯示 AC/NA 狀態
- 靈活配置:可自訂測試檔案目錄和檔案名稱
python:
judge:
dir: "judge"
inputs: ["1.in", "2.in"]
outputs: ["1.out", "2.out"]
⌨️ 多元 stdin 輸入處理
支援兩種輸入模式,讓教學和實作更加便利:
- Frontmatter 預定義模式
python:
stdin:
- "Alice"
- "25"
- 程式碼註解模式
# stdin: "Bob"
# input: 30
name = input("請輸入姓名: ")
age = input("請輸入年齡: ")
📖 文檔與使用者體驗改進
- 🇹🇼 完整繁體中文文檔:使用台灣慣用繁體中文用語重寫所有文檔
- 📋 新增 CHANGELOG.md:完整記錄所有版本變更歷史
- 🛠️ 技術架構說明:詳細介紹核心元件和效能最佳化
- 💡 智慧錯誤處理:針對 stdin 相關錯誤提供詳細解決方案
- 🎨 更新示範檔案:展示各種功能的完整使用範例
🔧 技術改進
- StdinManager 類別:專門管理多種輸入模式的核心類別
- 並行處理最佳化:Judge Mode 支援同時執行多組測試案例
- 錯誤處理增強:提供更友善的錯誤提示和除錯資訊
- 效能最佳化:改進 Pyodide 快取機制和載入策略
📦 安裝與升級
新安裝
npm install @cxphoenix/slidev-addon-python-runner
從舊版本升級
如果您之前使用的是 slidev-addon-python-runner,請:
-
移除舊套件:
npm uninstall slidev-addon-python-runner -
安裝新套件:
npm install @cxphoenix/slidev-addon-python-runner -
更新 slides.md 中的 addons 設定:
addons:
- slidev-addon-python-runner # 舊的
- @cxphoenix/slidev-addon-python-runner # 新的
🎓 使用範例
Judge Mode 評測範例
# 在 public/judge/ 目錄下放置測試檔案
# 1.in: "James"
# 1.out: "hello James"
name = input()
print(f"hello {name}")
多種輸入模式展示
查看更新的 ./slides.md 檔案,了解完整的功能展示。
🤝 致謝
感謝原開發者 https://github.com/KermanX 的基礎工作,以及所有為這個專案做出貢獻的開發者。
📚 相關連結
- ./README.md
- ./CHANGELOG.md
- https://www.npmjs.com/package/@cxphoenix/slidev-addon-python-runner
Full Changelog: v0.2.0...0.5.0
🎉 slidev-addon-python-runner v0.2.0
這個版本包含了重大功能更新和完整的繁體中文文件!
✨ 新功能
🔄 stdin 輸入處理
現在支援多種方式處理 Python 程式碼的輸入需求:
- 📋 預定義輸入:在 frontmatter 中設定輸入陣列
- 💬 註解輸入:直接在程式碼中使用
# stdin: "value"註解 - 🎮 互動模式:使用
stdin: "interactive"啟用瀏覽器提示輸入
🎨 語言識別碼支援
- 支援
py和python兩種語言識別碼 - 更好的程式碼區塊識別
🛠️ 智慧錯誤處理
- 套件未找到時自動提示安裝方法
- 輸入錯誤時提供詳細設定說明
- 更清晰的語法錯誤訊息
📖 文件更新
- 🇹🇼 完整繁體中文 README:使用台灣慣用繁體中文重寫所有文件
- 📋 詳細功能說明:新增功能特色、使用範例和進階設定
- 🚀 開發指南:包含專案結構和本地開發說明
- 🏷️ Shield 徽章:新增 npm 版本、下載量和技術徽章
🔧 技術改進
- ⬆️ 更新至 Pyodide 0.28.2
- 📦 優化相依性管理
- 🏗️ 改善建置流程
🚀 自動化
- 🤖 GitHub Actions:新增自動發布至 npm 的 CI/CD 工作流程
- 📦 版本管理:從 GitHub Release 自動同步版本號
📥 安裝
npm install @cxphoenix/slidev-addon-python-runner
🎯 使用範例
基本使用
```py {monaco-run}
print("Hello, Slidev! 🐍")stdin 輸入範例
# stdin: "Alice"
name = input("請輸入姓名: ")
print(f"你好 {name}!")🙏 致謝
感謝原作者 https://github.com/KermanX 的開創性工作,本版本基於其優秀的基礎進行改進和維護。
完整變更記錄: v0.1.3...v0.2.0