Khan Academy Perseus项目63.0.1版本技术解析
2025-07-02 13:23:40作者:咎岭娴Homer
Perseus是Khan Academy(可汗学院)开发的一个开源数学教育组件库,主要用于构建交互式数学题目和教学内容。该项目为教育工作者和学生提供了丰富的数学工具和组件,使在线数学学习体验更加直观和高效。
最新发布的63.0.1版本带来了一些值得关注的技术改进和功能增强,下面我们将详细分析这些变化。
主要更新内容
单选按钮组件图像支持与滚动功能
本次更新为单选按钮组件(Radio Widget)增加了对图像选项的支持,并实现了滚动功能。这项改进使得:
- 题目设计者可以在单选选项中使用图像内容,丰富了题目的表现形式
- 当选项内容较多时,系统会自动提供滚动功能,确保界面整洁
- 通过新增的Storybook示例,开发者可以直观地了解这一功能的实现效果
这一特性特别适合需要视觉化选项的数学题目,比如几何图形选择、图表分析等场景。
排版系统升级
项目对排版系统进行了重要更新,采用了最新的WB(Wonder Blocks)排版和设计令牌(token)包:
- 使用REM单位替代了原有的字体大小定义方式,使字体大小更具响应性
- 与设计系统保持同步,确保UI一致性
- REM单位的采用使得字体大小能够更好地适应用户的浏览器设置,提升可访问性
REM(根em)是CSS中相对于根元素(html)字体大小的单位,这种相对单位的使用使得整个应用的字体缩放更加灵活和一致。
按钮组件API更新
按钮组件进行了API调整,将原有的"color"属性更名为"actionType":
- 这一变更使API命名更加语义化,更准确地反映属性用途
- 保持了与Wonder Blocks设计系统的一致性
- 需要开发者注意更新现有代码中的相关属性名称
这种API的改进虽然表面上是简单的重命名,但实际上反映了组件设计理念的演进,从单纯的外观描述转向更具语义化的功能描述。
依赖项更新
本次发布还更新了math-input依赖至25.1.6版本,确保数学输入组件与其他部分的兼容性和稳定性。
技术影响分析
这些更新从不同层面提升了Perseus项目的质量:
- 功能层面:图像单选和滚动功能的加入扩展了组件的应用场景
- 设计系统层面:排版和按钮API的更新保持了与上游设计系统的一致性
- 可维护性层面:API的语义化改进使代码更易于理解和维护
- 可访问性层面:REM单位的使用提升了应用对不同用户设置的适应性
对于教育技术开发者而言,这些改进意味着可以构建更加丰富、一致且易于访问的数学学习体验。特别是图像支持功能,为视觉化数学教学提供了更多可能性。
登录后查看全文
热门项目推荐
相关项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0111
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
AgentCPM-Explore没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Explore 智能体模型基于仅 4B 参数的模型,在深度探索类任务上取得同尺寸模型 SOTA、越级赶上甚至超越 8B 级 SOTA 模型、比肩部分 30B 级以上和闭源大模型的效果,真正让大模型的长程任务处理能力有望部署于端侧。Jinja00
最新内容推荐
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
485
3.59 K
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
20
暂无简介
Dart
735
177
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
259
111
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.29 K
709
React Native鸿蒙化仓库
JavaScript
294
343
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1