question.html 的元件¶
ZJUI-Learn 问题 是由 question.html ("elements") 内的 pl-* 标签构建的。这些元素定义了问题的行为:学生看到什么、输入什么以及如何评分。此页面列出了按您要执行的操作分组的每个元素。如果您没有找到所需的元素/行为,请考虑使用自定义等级函数 (recommended) 或构建自定义元素。
Tip
已经知道您想要哪个元素了吗?使用侧面的导航菜单,或参见下面的按字母顺序排列的参考。
您选择的元素将取决于问题的类型和复杂性。一个简单的问题可能包含一个问题面板提示(使用 pl-question-panel),后跟单个 提交元素。对于更复杂的提示,您可能需要包含显示元素,例如图形、代码和剖面。为了向学生和评分者提供更多反馈,可以有条件地显示其他内容 在不同的面板和上下文中。
提交要素¶
提交元素收集学生的回复。在每个小节中,元素大致按照您应达到的顺序列出。
选择¶
当学生从固定的集合中挑选或排列物品时。
pl-multiple-choice:从列表(或下拉列表)中选择一个选项。pl-checkbox:从列表中选择多个选项。pl-matching:为组中的每个条目选择匹配选项。pl-order-blocks:选择并排列给定的代码或文本块。
???注意“决策流程图”
{layout="elk" pad="0" scale="1"}
数字输入¶
当响应是数字时 - 整数、小数、带单位的值或矩阵。
pl-number-input:填写特定公差范围内的数值,如3.14、-1.921等。pl-integer-input:填写整数值,如-71、0、5、21等。pl-units-input:填写数字,单位为“1.5 m”、“14 ms”、“6.3 ft”等。pl-matrix-component-input:使用每个单元格一个输入的网格填充矩阵。pl-matrix-input:以支持的编程语言格式提供矩阵。
???注意“决策流程图”
{layout="elk" pad="0" scale="1"}
文本和符号输入¶
当响应是字符串、文章或数学表达式时。
pl-string-input:填写字符串值,如"Illinois"、"GATTACA"、"computer"等。pl-rich-text-editor:提供浏览器内格式化文本编辑器,用于开放式回复和论文。pl-file-editor:为较长形式的代码或原始文本提供浏览器内编辑器(也在代码和文件下列出)。pl-symbolic-input:填写符号表达式,如x^2、sin(z)、mc^2等。pl-big-o-input:填写代表渐近复杂度的符号值。
???注意“决策流程图”
{layout="elk" pad="0" scale="1"}
图纸和图像¶
当回复是手写作品的绘图、图表或照片时。
pl-drawing:从预定义的图形对象集合创建可自动分级的画布。pl-image-capture:从本地相机或手机、平板电脑等外部设备捕获手写作品的图像。pl-excalidraw:使用Excalidraw绘制矢量图。pl-sketch:曲线和其他数学对象(例如点、渐近线、多边形)的自动分级草图。pl-file-upload:接受使用外部工具生成的图像或文档(也在代码和文件下列出)。
???注意“决策流程图”
{layout="elk" pad="0" scale="1"}
代码和文件¶
当响应是在浏览器中编写或从磁盘上传的代码或文件时。
pl-file-upload:提供提交区域以获取具有特定命名方案的文件。pl-file-editor:提供浏览器内代码编辑器,用于编写和提交代码。
对于需要更丰富的环境(多个文件、终端、IDE 或构建/运行循环)的代码,请使用 workspace 和 <pl-workspace> 元素将工作区启动器嵌入到问题中。
???注意“决策流程图”
{layout="elk" pad="0" scale="1"}
显示元素¶
显示元素向学生呈现内容——图形、代码、数据、文件和布局包装——而不捕获任何提交。
媒体与人物¶
用于在问题旁边显示图像、绘图、图表或可下载文件。
pl-figure:在问题中嵌入图像文件。pl-file-download:针对以数据为中心的问题启用文件下载。pl-graph:使用 GraphViz DOT 表示法、邻接矩阵或networkx图显示图形。
代码、数据和变量¶
用于显示预先格式化的代码片段、数据框、矩阵或 Python 变量值。
pl-code:显示使用适当的语法突出显示呈现的代码。pl-python-variable:显示Python变量的格式化输出。pl-dataframe:显示具有各种选项的数据帧。pl-matrix-latex:使用适当的 LaTeX 命令显示矩阵,以便在数学表达式中使用。pl-variable-output:以支持的编程语言的代码形式显示矩阵。pl-external-grader-variables:显示使用 Python 评分器的问题 的预期和给定变量。
布局和内容包装器¶
用于包装或模板化内容而不是呈现特定的数据类型。
pl-card:在卡片式组件中显示内容。pl-template:显示胡子模板中的内容。pl-overlay:在特定位置将元素层叠在一起 — 通常用于将输入字段放置在pl-figure或pl-drawing上,用于标记图表问题。pl-hidden-hints:当学生提交有关当前变体的更多内容时,逐步在问题提示中显示提示。
问题流程和反馈¶
这些元素决定了学生在问题生命周期的每个阶段看到的内容 - 问题提示、提交的答案以及评分后显示的任何反馈。
标准问题面板¶
在整个问题生命周期中向学生显示的三个主要内容面板。
pl-question-panel:仅在问题面板中显示的内容。实际的问题提示应该放在这里。pl-submission-panel:仅在提交面板中显示的内容。其他反馈应放在此处。pl-answer-panel:仅在答案面板中显示的内容。有关正确答案的其他详细信息应放置在此处。
???注意“面板是什么样子”

有条件的可见性¶
用于使内容仅出现在某些面板中,或仅在特定的评分工作流程中出现。
pl-hide-in-panel:隐藏一个或多个显示面板中的内容。pl-hide-in-manual-grading:隐藏手动评分页面中的内容。pl-manual-grading-only:仅在手动评分时显示内容。
提交反馈¶
用于显示学生提交的内容以及评分返回的结果。
pl-file-preview:显示提交文件的预览。pl-xss-safe:在将学生提供的 HTML 显示给学生或评分者之前对其进行清理。pl-external-grader-results:显示外部评分问题的结果。
参考¶
已弃用的元素¶
Warning
为了向后兼容,仍支持以下元素,但不应在新问题中使用。
| 元素|使用 | 代替
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| pl-dropdown | pl-multiple-choice 与 display="dropdown",或 pl-matching 用于共享相同选项的多个链接下拉菜单 |
| pl-prairiedraw-figure | pl-drawing |
| pl-variable-score |不需要,所有提交元素都包含分数显示选项。 |