项目 / 计划:tuack-ng
Pulsar2021 · · 科技·工程
本文档将不定期重投,以反映项目的最新更变。
可能更新不及时,可以在 https://pulsar33550336.github.io/2025/12/10/%E9%A1%B9%E7%9B%AE-%E8%AE%A1%E5%88%92%EF%BC%9Atuack-ng/ 找到最新的版本。
概述
tuack-ng 项目是重构后的 tuack 项目,旨在提供更加高效和轻量的出题体验。
项目地址:https://github.com/Pulsar33550336/tuack-ng
目前进度效果展示
图中渲染的是 CSPS 2024 试题。
进度 / 计划
正在进行 / 即将开始的子项目
- 整个模块的配置文件等数据结构的定义。(长期)
- 将会提供
config模块作为配置修改的前端。 - ……
- 渲染(
render子模块)
- 目前只有
noi目标模板,来自 CNOI 项目,后期将尝试迁移其他内容。 - 正在解决上游解析 / 渲染器问题,基本完成。
- 目前已经支持可合并列表等特性。
- 正在写。
未开始的子项目
- 测试(
test子模块)
- 主要用来进行出题期间的代码测试,类似于 Polygon 的 Solutions。
- 不会设计拿来当评测机,需导出到评测器配置。
- 导入导出(
import&dump)
- 将会支持导入 tuack 的配置文件,导出到评测器配置和 OJ。
- 小工具(
tools)
- 包括格式化,格式检查,等等等等。
部分技术细节
- 目标语言:Rust。
- 目标渲染框架:typst。
- 格式转换库:魔改后的 markdown-ppp 项目,已经开源 https://github.com/Pulsar33550336/markdown-ppp。
致谢
感谢 MrPython 的 CNOI tuack 模板。
开源协议
由于采用了 CNOI 中的内容,与 MIT 协议开源的 markdown-ppp 项目,综合下来,使用了 AGPL 3.0 协议。