Skip to content

Releases: CXPhoenix/slidev-addon-python-runner

🚀 v0.5.0 - Judge Mode 評測系統與完整繁體中文文檔

23 Sep 07:24

Choose a tag to compare

這是一個重大更新版本,帶來了完整的程式碼評測系統、優化的 stdin 輸入處理,以及全面的繁體中文文檔。

🏷️ 重大變更 (Breaking Changes)

✨ 主要新功能

🎯 Judge Mode 評測系統

  • 自動評測功能:支援多組測試案例的自動化評測
  • 並行處理:同時執行多個測試案例,提升評測效率
  • 結果比對:自動比對程式輸出與預期結果,顯示 AC/NA 狀態
  • 靈活配置:可自訂測試檔案目錄和檔案名稱
  python:
    judge:
      dir: "judge"
      inputs: ["1.in", "2.in"]
      outputs: ["1.out", "2.out"]

⌨️ 多元 stdin 輸入處理

支援兩種輸入模式,讓教學和實作更加便利:

  1. Frontmatter 預定義模式
  python:
    stdin:
      - "Alice"
      - "25"
  1. 程式碼註解模式
# 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,請:

  1. 移除舊套件:
    npm uninstall slidev-addon-python-runner

  2. 安裝新套件:
    npm install @cxphoenix/slidev-addon-python-runner

  3. 更新 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 的基礎工作,以及所有為這個專案做出貢獻的開發者。

📚 相關連結


Full Changelog: v0.2.0...0.5.0

🎉 slidev-addon-python-runner v0.2.0

30 Aug 10:32

Choose a tag to compare

這個版本包含了重大功能更新和完整的繁體中文文件!

✨ 新功能

🔄 stdin 輸入處理

現在支援多種方式處理 Python 程式碼的輸入需求:

  • 📋 預定義輸入:在 frontmatter 中設定輸入陣列
  • 💬 註解輸入:直接在程式碼中使用 # stdin: "value" 註解
  • 🎮 互動模式:使用 stdin: "interactive" 啟用瀏覽器提示輸入

🎨 語言識別碼支援

  • 支援 pypython 兩種語言識別碼
  • 更好的程式碼區塊識別

🛠️ 智慧錯誤處理

  • 套件未找到時自動提示安裝方法
  • 輸入錯誤時提供詳細設定說明
  • 更清晰的語法錯誤訊息

📖 文件更新

  • 🇹🇼 完整繁體中文 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