QSH

Twitter

QSH 是通过 macOS 终端玩测验的交互式 shell。

它基于 SwiftQuiz 构建,SwiftQuiz 提供了在 Swift 中制作和玩测验的核心功能。QSH 提供了使用 macOS 终端访问所有这些功能的 UI。


QSH screenshot

⚠️正在进行中

在达到 1.0.0 版本之前,此软件包被认为是正在进行中的工作。

目录

快速入门

要玩示例测验

qsh --url https://github.com/rwbutler/QSH/raw/master/examples/example-playable-quiz.quiz --key A%D*F-JaNdRgUkXp2s5v8y/B?E(H+KbP

qsh --url https://github.com/rwbutler/QSH/raw/master/examples/example-playable-quiz2.quiz --key A%D*F-JaNdRgUkXp2s5v8y/B?E(H+KbP

注意:接受 HTTP 和文件 URL,文件 URL 必须以 file:// 开头,例如 qsh --url file:///Users/username/Documents/example-playable-quiz.quiz

要打包示例测验

 qsh package-quiz --input "https://raw.githubusercontent.com/rwbutler/QSH/master/examples/example-quiz-input.json" --encrypt-package --key "A%D*F-JaNdRgUkXp2s5v8y/B?E(H+KbP" --output "file://<output path>"

注意:接受 HTTP 和文件 URL,文件 URL 必须以 file:// 开头,例如 qsh package-quiz --url file:///Users/username/Documents/quiz-input.json

功能特性

支持的功能特性

即将推出的功能特性

安装

Homebrew

要通过 Homebrew 安装,请从终端运行以下命令

brew install rwbutler/tools/qsh

Mint

要使用 Mint 安装,请运行以下命令

mint install rwbutler/qsh 

Swift Package Manager

使用 Swift Package Manager 构建,如下所示

swift build -c release --disable-sandbox 

然后使用以下命令运行

swift run qsh --help 

用法

打包测验

qsh package-quiz --input file://<path to quiz JSON> --encrypt-package --key <encryption key> --output file://<path to quiz package>

注意:要生成 AES-256 加密密钥,请使用类似 这样的网站

加密/未加密的测验包

QSH 允许加密测验,以便测验包中包含的答案不易被访问,从而防止作弊。 此功能是可选的,因为测验包可以是加密的或未加密的。 为了在打包期间加密测验,请使用 --key 参数提供使用类似 此处 的网站生成的 AES-256 密钥。 如果省略 --key 参数,则将生成未加密的测验包。

图片轮次

要将图片轮次包含在测验中,请在简答题、多选题或单选题中包含参数 imageimage 参数的值应该是图像文件的 URL(文件 URL 或 HTTP URL)。 打包测验时,图像数据将包含在测验包中,以便图像无需在运行时单独下载。

自动评分

为了启用测验的自动评分,请将以下内容添加到您的测验 JSON 文件中

"marking-occurs": "at-end",

点击此处查看示例。

或者,如果您想以传统方式通过交换答案进行评分,只需将 marking-occurs 属性设置为 never

"marking-occurs": "never",

玩测验

qsh play-quiz --url <quiz package URL> --key <encryption key>  

注意:key 参数仅在加密包中是必需的。

帮助

qsh --help

或获取关于特定子命令的帮助

qsh package-quiz --help
qsh play-quiz --help

开发测验客户端

打包和玩测验的核心功能由 Swift Quiz 包实现,QSH 为 macOS 终端提供 UI。 如果您希望构建自己的客户端来玩测验,例如使用 Linux,理论上您可以使用 Swift Quiz 来做到这一点。

作者

Ross Butler

附加软件

附加软件

AnimatedGradientView
AnimatedGradientView

框架

Cheats Connectivity FeatureFlags Hyperconnectivity Skylark TypographyKit Updates
Cheats Connectivity FeatureFlags Hyperconnectivity Skylark TypographyKit Updates

工具

Config Validator IPA Uploader Palette
Config Validator IPA Uploader Palette