Skip to content

Repository files navigation

题库清洗对照服务

一个可在本地运行的双文件对照工具:左侧渲染原始题目 HTML,右侧展示清洗后的 HTML、JSON、Markdown 或 TXT,方便逐题检查题干、选项、答案、解析、公式和表格在清洗前后的变化。

功能

  • 拖拽或选择两个文件进行左右对照。
  • 原始文件支持 .html.htm
  • 清洗结果支持 .html.htm.json.md.markdown.txt
  • 自动识别常见 JSON 字段,如 stemoptionsanalysisanswer_stepsfinal_answer
  • 支持 Markdown 标题分段和 LaTeX 公式渲染。
  • 可将任一侧内容单独打开,便于放大检查。
  • 文件只在当前浏览器中读取,项目不包含后端上传接口。

环境要求

  • Python 3,用于启动本地静态文件服务。
  • Chrome、Edge、Firefox 等现代浏览器。
  • Node.js 仅在运行自动化测试时需要,普通使用不需要。

Windows 启动

  1. 克隆仓库:

    git clone https://github.com/pengjunchi0/HTML--Markdown.git
    cd HTML--Markdown
  2. 双击 启动服务.cmd

也可以在 PowerShell 中运行:

powershell -ExecutionPolicy Bypass -File .\start_service.ps1

脚本会自动打开 http://127.0.0.1:8765。按 Ctrl+C 停止服务。

macOS / Linux 启动

git clone https://github.com/pengjunchi0/HTML--Markdown.git
cd HTML--Markdown
./start_service.sh

如果脚本没有执行权限,也可以直接运行:

python3 -m http.server 8765 --bind 127.0.0.1

然后打开 http://127.0.0.1:8765

使用方法

  1. 在左侧上传原始题目 .html 文件。
  2. 在右侧上传对应的清洗结果文件。
  3. 对照检查题干、选项、答案、解析、公式、图片和表格。
  4. 点击“载入示例”可先查看工具的展示效果。
  5. 点击“单独打开”可在新窗口查看某一侧的完整内容。

JSON 示例

{
  "stem": "在一定条件下,反应速率会受到哪些因素影响?",
  "options": [
    { "Option_Id": "A", "Content": "温度" },
    { "Option_Id": "B", "Content": "反应物浓度" }
  ],
  "analysis": "温度和浓度均可能影响反应速率。",
  "final_answer": "A、B"
}

JSON 顶层也可以包含 clean_resclean_resultresultdata 包装字段。

项目结构

.
├── index.html              页面结构
├── app.js                  文件读取、预览和交互逻辑
├── parser.mjs              JSON/Markdown/TXT 解析逻辑
├── styles.css              样式入口
├── styles_base.css         页面样式
├── samples/                自造演示文件
├── tests/                  解析器测试
├── start_service.ps1       Windows 启动脚本
├── start_service.sh        macOS/Linux 启动脚本
└── 启动服务.cmd             Windows 双击启动入口

测试

安装 Node.js 后运行:

node --test tests/parser.test.mjs

隐私与网络说明

应用没有文件上传接口,所选文件由浏览器在本地读取。若题目 HTML 本身引用了远程图片、字体、脚本,或页面需要加载 MathJax,浏览器仍会向对应资源地址发起请求。处理敏感数据时,建议先移除外部资源引用,或在断网环境中使用。

About

本地题库清洗双文件对照工具:左侧渲染原始 HTML,右侧展示 HTML、JSON、Markdown 或 TXT 清洗结果,支持公式与表格预览。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages