mirror of
https://github.com/tuna/mirror-web.git
synced 2025-12-25 20:32:46 +00:00
229 lines
9.2 KiB
HTML
229 lines
9.2 KiB
HTML
<!DOCTYPE html>
|
|
<html {% if site.issue %}class="index-issue"{% endif %}>
|
|
{% include head.html notArticle=true %}
|
|
<body>
|
|
{% unless page.legacy or site.issue %}
|
|
{% include legacy_notes.html %}
|
|
{% endunless %}
|
|
{% include nav.html %}
|
|
<div id="mirrors">
|
|
<div class="spacing hidden-xs"></div>
|
|
<div class="container">
|
|
<div class="row">
|
|
{% if site.issue %}
|
|
<div class="col-{% if page.legacy %}xs{% else %}lg{% endif %}-12 table-responsive">
|
|
<div class="alert text-center" id="cover-alert">
|
|
<h1>{{ site.school }}开源软件镜像站</h1>
|
|
<h3>暂时无法提供服务</h3>
|
|
<div class="text-end">
|
|
<img src="/static/img/candle.jpg"
|
|
srcset="/static/img/candle.jpg 1x,
|
|
/static/img/candle@2x.jpg 2x"
|
|
/>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
<p>{{ site.issue }}</p>
|
|
{% if site.backtime %}
|
|
<p>预计恢复时间: {{ site.backtime }}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
{% else %}
|
|
<div class="col-lg-8 {% if page.legacy %}col-8{% else %}col-12{% endif %} table-responsive" id="mirror-list">
|
|
<div class="flex-row d-flex">
|
|
<h3 id="mirror-title" class="align-self-center">{% fa_svg fas.fa-cube %} 镜像列表 </h3>
|
|
{% unless page.legacy %}
|
|
<input type="search" v-model.trim="filter" id="search" ref="search" placeholder="按 / 搜索" autocomplete="off" class="ms-auto d-inline-flex align-self-center">
|
|
{% endunless %}
|
|
</div>
|
|
<table class="table row table-hover" v-if="mirrorList.length">
|
|
<thead>
|
|
<tr class="row">
|
|
<th class="col-8 col-lg-7 col-xl-8">Name</th>
|
|
<th class="col-4 col-lg-5 col-xl-4">Last Update</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="table-group-divider">
|
|
{% if page.legacy %}
|
|
{% raw %}
|
|
{{mirs}}
|
|
<tr class="row status-{{status}}">
|
|
<td>
|
|
<a class="mirror-item-label" href="{{url}}" title="{{description}}">
|
|
{{name}}
|
|
</a>
|
|
{{if is_new}}
|
|
<span class="badge badge-new">new</span>
|
|
{{/if}}
|
|
{{if help_url}}
|
|
<a href="{{help_url}}"><i aria-hidden="true" class="question-circle" title="Help">{% endraw %}{% fa_svg fas.fa-circle-question %}{% raw %}</i><span class="visually-hidden">[Help]</span></a>
|
|
{{/if}}
|
|
</td>
|
|
<td>
|
|
{{last_update}}{{if show_status}}<span class="badge badge-status {{label}}">{{status}}</span>{{/if}}
|
|
</td>
|
|
</tr>
|
|
{{/mirs}}
|
|
{% endraw %}
|
|
{% else %}
|
|
{% raw %}
|
|
<tr v-for="mir in filteredMirrorList" :class="['row', 'status-'+mir.status]" :key="mir.name">
|
|
<td class="col-8 col-lg-7 col-xl-8">
|
|
<a class="mirror-item-label" data-bs-toggle="popover" data-bs-trigger="hover" data-bs-placement="right"
|
|
:data-bs-content="mir.description" :href="getURL(mir)" :aria-label="mir.name + ', ' + mir.description">
|
|
{{mir.name}}
|
|
<span class="badge badge-new" v-if='mir.is_new'>new</span>
|
|
<a v-if='mir.help_url' :href="mir.help_url"><i aria-hidden="true" class="question-circle" title="Help">{% endraw %}{% fa_svg fas.fa-circle-question %}{% raw %}</i><span class="visually-hidden">[Help]</span></a>
|
|
<a v-if='mir.github_release' href="javascript:void(0)"><i aria-hidden="true" title="GitHub Release">{% endraw %}{% fa_svg fab.fa-github %}{% raw %}</i><span class="visually-hidden">[GitHub Release]</span></a>
|
|
</td>
|
|
<td class="col-4 col-lg-5 col-xl-4">
|
|
{{mir.last_update}}<span v-if="mir.show_status" :class="['badge', 'badge-status', mir.label, 'd-none', 'd-md-inline-block']">{{mir.status}}</span>
|
|
</td>
|
|
</tr>
|
|
{% endraw %}
|
|
{% endif %}
|
|
</tbody>
|
|
</table>
|
|
{% unless page.legacy %}
|
|
<div v-else class="sk-wave">
|
|
<div class="sk-rect sk-rect1"></div>
|
|
<div class="sk-rect sk-rect2"></div>
|
|
<div class="sk-rect sk-rect3"></div>
|
|
<div class="sk-rect sk-rect4"></div>
|
|
<div class="sk-rect sk-rect5"></div>
|
|
</div>
|
|
{% endunless %}
|
|
</div>
|
|
{% endif %}
|
|
{% unless site.issue %}
|
|
<div class="col-lg-4 {% if page.legacy %}col-4{% else %}col-12{% endif %}">
|
|
<div class="spacing d-none d-lg-block"></div>
|
|
{% endunless %}
|
|
<div id="news" {%if site.issue%}class="col-lg-3"{%endif%}>
|
|
<h4>{% fa_svg fas.fa-bullhorn %} 新闻公告 </h4>
|
|
<ul>
|
|
{% for news in site.categories.news limit: 3%}
|
|
<li><a href="/news/#{{news.slug}}"><strong>{{news.date | date: "%Y-%m-%d"}}</strong> {{news.title}}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
<div class="text-end"><a href="/news/"> more {% fa_svg fas.fa-angles-right %} </a></div>
|
|
</div>
|
|
<div class="thuhidden {%if site.issue%}col-lg-4{%endif%}">
|
|
<h4> {% fa_svg fas.fa-link %} 域名选择 </h4>
|
|
<ul>
|
|
<li><a href="{{ site.url }}">{{ site.url }}</a> 自动选择 </li>
|
|
{% if site.urlv6 %}
|
|
<li><a href="{{ site.urlv6 }}">{{ site.urlv6 }}</a> 只解析 IPv6</li>
|
|
{% endif %}
|
|
{% if site.urlv4 %}
|
|
<li><a href="{{ site.urlv4 }}">{{ site.urlv4 }}</a> 只解析 IPv4</li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
{% unless page.legacy or site.hide_download or site.issue %}
|
|
<div id="download-link">
|
|
<h4>{% fa_svg far.fa-file-zipper %} 下载链接 </h4>
|
|
<p>常用发行版 ISO 和应用软件安装包直接下载:</p>
|
|
<div class="justify-content-center d-flex flex-row flex-grow-1 w-100">
|
|
<button type="button" class="btn btn-info" data-bs-toggle="modal" data-bs-target="#isoModal">
|
|
获取下载链接
|
|
</button>
|
|
</div>
|
|
</div>
|
|
{% endunless %}
|
|
<div class="thuhidden {%if site.issue%}col-lg-3{%endif%}">
|
|
<h4> {% fa_svg far.fa-envelope %} 联系我们 </h4>
|
|
<ul>
|
|
<li><strong>意见反馈</strong> <br /> <a href="https://github.com/tuna/issues">https://github.com/tuna/issues</a></li>
|
|
<li><strong>发送邮件</strong> <br /> <a class="eib1gieB"></a></li>
|
|
<li><strong>在线交流</strong> <br /> <a href="https://web.libera.chat/#tuna"> #tuna at Libera.Chat </a></li>
|
|
</ul>
|
|
</div>
|
|
<div {%if site.issue%}class="col-lg-2"{%endif%}>
|
|
<h4> {% fa_svg fas.fa-arrow-up-right-from-square %} 相关链接 </h4>
|
|
<ul>
|
|
<li><a href="/help/">使用帮助</a></li>
|
|
{% unless site.issue %}
|
|
<li><a href="/status/#server-status">服务器状态</a></li>
|
|
<li><a href="/status/#syncing-status">同步状态</a></li>
|
|
{% endunless %}
|
|
<li class="thuhidden"><a href="https://tuna.moe/">清华大学 TUNA 协会</a></li>
|
|
<li><a href="https://github.com/tuna/tunasync">镜像管理器源码</a></li>
|
|
<li><a href="https://github.com/tuna/tunasync-scripts">自定义镜像脚本</a></li>
|
|
</ul>
|
|
</div>
|
|
{% unless site.hide_mirrorz %}
|
|
<div class="thuhidden {%if site.issue%}col-lg-2{%endif%}">
|
|
<h4> {% fa_svg fas.fa-paperclip %} 友情链接 </h4>
|
|
<ul>
|
|
<li><a href="{{ site.mirrorz_link }}">{{ site.mirrorz_desc }}</a></li>
|
|
<ul>
|
|
</div>
|
|
{% endunless %}
|
|
{% unless site.issue %}
|
|
</div>
|
|
{% endunless %}
|
|
</div>
|
|
</div><!--/container -->
|
|
</div><!--/mirrors -->
|
|
{% include footer.html %}
|
|
{% unless page.legacy or site.issue %}
|
|
<!-- iso download wizard modal -->
|
|
<!-- Modal -->
|
|
{% raw %}
|
|
<div class="modal fade" id="isoModal" tabindex="-1" role="dialog" aria-labelledby="isoModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title" id="isoModalLabel">获取安装镜像</h4>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="row" v-if="availableCategories.length > 0">
|
|
<div class="col-lg-12">
|
|
<ul class="nav nav-tabs">
|
|
<li class="nav-item" role="presentation" v-for="cat in availableCategories">
|
|
<a
|
|
:class="[curCategory === cat ? 'active' : '', 'nav-link']"
|
|
@click="switchCategory(cat)"
|
|
href="#"
|
|
>{{ knownCategories[cat] ? knownCategories[cat] : cat }}</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-lg-3">
|
|
<ul class="nav nav-pills flex-column">
|
|
<li class="nav-item" v-for="distro in curDistroList">
|
|
<a href="#" @click="switchDistro(distro)" :class="[selected.distro == distro.distro ? 'active' : '', 'nav-link']">{{ distro.distro }}</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-lg-9">
|
|
<h3>{{selected.distro}}</h3>
|
|
<ul>
|
|
<template v-for="url in selected.urls">
|
|
<li><a :href="url.url">{{url.name}}</a></li>
|
|
</template>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div><!-- /iso download wizard modal -->
|
|
{% endraw %}
|
|
{% endunless %}
|
|
</body>
|
|
{% raw %}
|
|
{% endraw %}
|
|
{% unless page.legacy or site.issue %}
|
|
<script src="/static/js/index.js?{{ site.data['hash'] }}"></script>
|
|
{% endunless %}
|
|
</html>
|
|
<!--
|
|
vim: ts=2 sts=2 sw=2 noexpandtab
|
|
-->
|