Spaces:
No application file
No application file
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>MTEB Leaderboard</title> | |
<!-- Semi Design CSS --> | |
<link rel="stylesheet" href="https://unpkg.com/@douyinfe/semi-ui/dist/css/semi.min.css"> | |
<!-- Custom CSS --> | |
<link rel="stylesheet" href="{{ url_for('static', path='css/style.css') }}"> | |
<style> | |
.sidebar-nav { | |
padding: 1rem; | |
} | |
.nav-item { | |
margin-bottom: 1rem; | |
border-radius: 8px; | |
overflow: hidden; | |
} | |
.nav-link { | |
display: flex; | |
align-items: center; | |
padding: 0.8rem 1rem; | |
color: #333; | |
text-decoration: none; | |
font-weight: 500; | |
transition: all 0.3s ease; | |
} | |
.nav-icon { | |
margin-right: 0.8rem; | |
font-size: 1.2rem; | |
} | |
.subnav { | |
display: none; | |
background: #f5f5f5; | |
padding: 0.5rem 0; | |
} | |
.nav-item.active .subnav { | |
display: block; | |
} | |
.subnav-link { | |
display: block; | |
padding: 0.5rem 1rem 0.5rem 2.8rem; | |
color: #666; | |
text-decoration: none; | |
font-size: 0.9rem; | |
transition: all 0.2s ease; | |
} | |
.subnav-link:hover { | |
background: #e0e0e0; | |
color: #333; | |
} | |
.subnav-link.active { | |
background: #e0e0e0; | |
color: #1890ff; | |
font-weight: 500; | |
} | |
.nav-item.active .nav-link { | |
background: #1890ff; | |
color: white; | |
} | |
</style> | |
</head> | |
<body> | |
<div class="app-container"> | |
<!-- Sidebar --> | |
<aside class="sidebar"> | |
<div class="sidebar-header"> | |
<h2>Navigation</h2> | |
</div> | |
<nav class="sidebar-nav"> | |
<div class="nav-item {% if active_tab == 'text' %}active{% endif %}"> | |
<a href="/?tab=text" class="nav-link"> | |
<span class="nav-icon">📝</span> | |
Text Leaderboard | |
</a> | |
<div class="subnav"> | |
{% for subtype in ["text", "law", "long-context", "finance", "conversational", "tech", "multilingual", "code", "healthcare"] %} | |
<a href="/?tab=text&subtype={{ subtype }}" class="subnav-link {% if active_subtype == subtype %}active{% endif %}"> | |
{{ subtype | title }} | |
</a> | |
{% endfor %} | |
</div> | |
</div> | |
<div class="nav-item {% if active_tab == 'multimodal' %}active{% endif %}"> | |
<a href="/?tab=multimodal" class="nav-link"> | |
<span class="nav-icon">🖼️</span> | |
Multimodal Leaderboard | |
</a> | |
<div class="subnav"> | |
{% for subtype in ["text-to-photo", "document-screenshot", "figures-and-tables", "text-to-text"] %} | |
<a href="/?tab=multimodal&subtype={{ subtype }}" class="subnav-link {% if active_subtype == subtype %}active{% endif %}"> | |
{{ subtype | title }} | |
</a> | |
{% endfor %} | |
</div> | |
</div> | |
</nav> | |
</aside> | |
<!-- Main Content --> | |
<div class="main-wrapper"> | |
<header class="header"> | |
<h1>Massive Text Embedding Benchmark (MTEB) Leaderboard</h1> | |
</header> | |
<main class="main-content"> | |
<div class="table-container"> | |
<table id="leaderboardTable" class="semi-table"> | |
<thead> | |
<tr> | |
{% for col in columns %} | |
<th> | |
<div class="column-header"> | |
<div class="header-content"> | |
<span>{{ col }}</span> | |
<div class="header-actions"> | |
<button class="sort-btn" onclick="sortTable({{ loop.index0 }})"> | |
<span class="sort-icon">↕</span> | |
</button> | |
<button class="filter-btn" onclick="toggleFilter(event, '{{ col }}')"> | |
<span class="filter-icon">⚡</span> | |
</button> | |
</div> | |
</div> | |
<div class="filter-dropdown" id="filter-{{ col }}" style="display: none;"> | |
<div class="filter-content"> | |
<input type="text" | |
class="filter-search" | |
placeholder="Search..." | |
oninput="filterOptions('{{ col }}')"> | |
<div class="filter-options" id="options-{{ col }}"> | |
<!-- Options will be populated by JavaScript --> | |
</div> | |
<div class="filter-actions"> | |
<button onclick="applyFilter('{{ col }}')">Apply</button> | |
<button onclick="clearFilter('{{ col }}')">Clear</button> | |
</div> | |
</div> | |
</div> | |
</div> | |
</th> | |
{% endfor %} | |
</tr> | |
</thead> | |
<tbody> | |
{% for row in data %} | |
<tr> | |
{% for cell in row %} | |
<td>{{ cell | safe }}</td> | |
{% endfor %} | |
</tr> | |
{% endfor %} | |
</tbody> | |
</table> | |
</div> | |
</main> | |
</div> | |
</div> | |
<!-- Semi Design JS --> | |
<script src="https://unpkg.com/@douyinfe/semi-ui/dist/js/semi.min.js"></script> | |
<!-- Custom JS --> | |
<script src="{{ url_for('static', path='js/main.js') }}"></script> | |
</body> | |
</html> | |