• Hydro
  • 一种为 Hydro OJ 删除评测页面测试点通过详情的方式

  • @ 2023-11-21 1:32:59

Hydro OJ 删除评测页面测试点通过详情

本方法由河海大学ACM队 Gerchart提供

前言

  • 使用此方法首先确保安装OJ的方式是使用官方脚本(并非直接配置开发环境),以下方式通过修改templates以达到删除评测页面测试点通过详情的目的,仅是对前端的修改,不影响OJ运行逻辑。

删除

  1. hydrooj addon create创建本地插件
  2. ~/addon/templates/进入本地插件页面template目录
  3. 新建record_detail_status.html,写入如下内容
<div class="section visible" id="status">
    <div class="section__header">
      <h1 class="section__title">
        <span class="icon record-status--icon {{ model.builtin.STATUS_CODES[rdoc['status']] }}"></span>
        <span style="color: {{ utils.status.getScoreColor(rdoc.score|default(0)) }}">{{ rdoc.score|default(0) }}</span>
        <span class="record-status--text {{ model.builtin.STATUS_CODES[rdoc['status']] }}">
          {{ model.builtin.STATUS_TEXTS[rdoc['status']] }}
        </span>
      </h1>
    </div>
  {% if rdoc.compilerTexts.length %}
    <div class="section__body">
      <pre class="compiler-text">{{ rdoc.compilerTexts|join('\n')|ansi|safe }}</pre>
    </div>
  {% endif %}
  {% if rdoc.judgeTexts.length %}
    <div class="section__body">
      <pre class="judge-text">{{ formatJudgeTexts(rdoc.judgeTexts)|ansi|safe }}</pre>
    </div>
  {% endif %}
  {% if rdoc.testCases.length %} 
    <div class="section__body no-padding"></div>
  {% endif %}
</div>
  1. pm2 restart hydrooj重启oj即可

恢复

  • 将“删除”中创建的record_detail_status.html删除,重启OJ后即可恢复评测页面测试点通过详情

2 条评论

  • @ 2024-1-25 0:17:19

    HHU(!

    其实详情倒无关紧要,如果只是想避免选手通过测试点报错来打表通过试题,完全可以自写 SPJ 来完成目的。

    当然,如果不想看到所有测试点的通过详情,那这个方法还是实用的,毕竟在不同赛制下都能够使用。

    • @ 2023-12-27 11:24:32

      Note: 4.10.2 以上版本已支持在 ICPC 赛制中隐藏测试点信息。

      • 1