Merge remote-tracking branch 'origin/wip-dark'

Signed-off-by: 王邈 <shankerwangmiao@gmail.com>
This commit is contained in:
王邈 2020-02-28 23:17:19 +08:00
commit 33c472e893
No known key found for this signature in database
GPG Key ID: B031E3CA7BFED96E
22 changed files with 413 additions and 45 deletions

62
404.html Normal file
View File

@ -0,0 +1,62 @@
---
permalink: /404.html
---
<!DOCTYPE html>
<html>
{% include head.html cattitle="404" %}
<body>
{% include nav.html %}
<div id="mirrors">
<div class="spacing hidden-xs"></div>
<div class="container">
<div class="row">
<div class="not-found">
<div class="not-found-hint">
<div class="not-found-code">
404 NOT FOUND
</div>
<span class="thuhidden">呜喵,金枪鱼</span>被吃掉了
</div>
<div class="not-found-text thuhidden">
如果您认为这一定是出了什么问题,或者正在寻找暂未包含的镜像,欢迎您前往
<a href="https://github.com/tuna/issues/issues/new/choose">
<i class="fa fa-github"></i> tuna/issues
</a>
提交<a href="https://github.com/tuna/issues/issues/new?labels=Service+Issue&template=2-bug_report.md" id="new_issue_bug"><!--
-->错误报告</a><!--
-->或者<a href="https://github.com/tuna/issues/issues/new?labels=MirrorRequest&template=1-mirror_request.md" id="new_issue_mr"><!--
-->镜像申请</a>
</div>
<div class="not-found-links">
<a class="not-found-link" href="javascript:history.back()">
<i class="fa fa-arrow-left"></i> 返回上一页
</a>
<a class="not-found-link" href="/">
镜像列表 <i class="fa fa-arrow-right"></i>
</a>
</div>
</div>
</div>
</div><!--/container -->
</div><!--/mirrors -->
{% include footer.html %}
<script type="application/javascript">
(function(){
var bugLink = document.getElementById("new_issue_bug");
var bugURL = new URL(bugLink.href);
bugURL.searchParams.append("title", "Bug: 404 happened at " + location.href);
bugLink.href = bugURL.href;
var mrLink = document.getElementById("new_issue_mr");
var mrURL = new URL(mrLink.href);
mrURL.searchParams.append("title", "Mirror Request for new mirror " +
location.pathname.split('/')[1]);
mrLink.href = mrURL.href;
})();
</script>
</body>
</html>
<!--
vim: ts=2 sts=2 sw=2 noexpandtab
-->

View File

@ -10,9 +10,8 @@
<link rel="stylesheet" href="/static/css/bootstrap.css">
<link rel="stylesheet" href="/static/css/bootstrap-select.min.css">
<link rel="stylesheet" href="/static/css/font-awesome.min.css" >
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/css/spinkit.css">
<link rel="stylesheet" href="/static/css/thuhidden.css">
<link rel="stylesheet" href="/static/css/style.css">
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/bootstrap.min.js"></script>
<script src="/static/js/bootstrap-select.min.js"></script>

View File

@ -9,7 +9,23 @@
<span class="icon-bar"></span>
</button>
{% endunless %}
<a class="navbar-brand" href="/"><span class="thuhidden"><img src="/static/img/logo-small.png" srcset="/static/img/logo-small.png 1x, /static/img/logo-small@2x.png 2x, /static/img/logo-small@3x.png 3x, /static/img/logo-small@4x.png 4x" alt=""/> 清华大学</span>开源软件镜像站</a>
<a class="navbar-brand" href="/"><!--
--><span class="thuhidden"><!--
--><picture>
<source
srcset="/static/img/logo-small-dark.png 1x,
/static/img/logo-small-dark@2x.png 2x,
/static/img/logo-small-dark@3x.png 3x,
/static/img/logo-small-dark@4x.png 4x"
media="(prefers-color-scheme: dark)"/>
<img src="/static/img/logo-small.png"
srcset="/static/img/logo-small.png 1x,
/static/img/logo-small@2x.png 2x,
/static/img/logo-small@3x.png 3x,
/static/img/logo-small@4x.png 4x"
alt=""/>
</picture>
清华大学</span>开源软件镜像站</a>
</div>
<div class="{% unless page.legacy %}navbar-collapse collapse {% endunless %}navbar-right">
<ul class="nav navbar-nav">

View File

@ -0,0 +1,6 @@
<div class="col-md-6">
<picture class="thumbnail">
<source srcset="/static/status/{{include.name}}-day-dark.png" media="(prefers-color-scheme: dark)">
<img class="img-responsive" src="/static/status/{{include.name}}-day.png">
</picture>
</div>

View File

@ -6,15 +6,44 @@ BOOTSTRAP MODIFICATIONS & TWEAKS
margin-bottom: 0px;
}
.nav > li > a:hover, .nav > li > a:focus{
@include dark{
background-color: #111;
}
}
pre{
@include dark{
color: #ccc;
background-color: #272822;
}
}
code{
@include dark{
background-color: #060d0b;
}
}
.navbar-default {
@include dark{
background-color: $color_bg_dark;
}
background-color: white;
border-color: transparent;
.navbar-nav > li.active > a {
color: $color_thu_purple;
border-bottom: 2px solid $color_thu_purple;
@include dark{
color: $color_thu_purple_dark;
border-bottom-color: $color_thu_purple_dark;
}
}
.navbar-nav > li > a {
@include dark{
color: $color_secondary_dark;
}
color: $color_secondary;
background: transparent !important;
font-weight: 700;
@ -23,6 +52,9 @@ BOOTSTRAP MODIFICATIONS & TWEAKS
&:hover, &:focus {
color: $color_primary !important;
background: transparent !important;
@include dark{
color: $color_primary_dark !important;
}
}
}
}
@ -39,14 +71,26 @@ BOOTSTRAP MODIFICATIONS & TWEAKS
.navbar-header .navbar-brand {
color: $color_secondary;
@include dark{
color: $color_secondary_dark;
&:hover {
color: #fff;
}
}
}
.dropdown-menu {
@include dark{
background: $color_secondary_dark;
}
background: $color_secondary ;
}
.dropdown-menu > li > a {
color: white;
@include dark{
color: $color_bg_dark;
}
font-weight: 700;
font-size: 12px;
}
@ -72,4 +116,60 @@ BOOTSTRAP MODIFICATIONS & TWEAKS
border-bottom: 1px solid #ffffff;
margin-bottom: 25px;
}
@include dark{
.popover{
background-color: #282828;
border-color: rgba(255, 255, 255, 0.2);
}
.popover.title{
background-color: #f7f7f7;
border-bottom-color: #ebebeb;
}
.popover.top > .arrow {
border-top-color: rgba(255, 255, 255, .25);
}
.popover.top > .arrow:after {
border-top-color: #282828;
}
.popover.right > .arrow {
border-right-color: rgba(255, 255, 255, .25);
}
.popover.right > .arrow:after {
border-right-color: #282828;
}
.popover.bottom > .arrow {
border-bottom-color: rgba(255, 255, 255, .25);
}
.popover.bottom > .arrow:after {
border-bottom-color: #282828;
}
.popover.left > .arrow {
border-left-color: rgba(255, 255, 255, .25);
}
.popover.left > .arrow:after {
border-left-color: #282828;
}
.modal-content {
background-color: $color_bg_dark;
border: 1px solid rgba(255, 255, 255, .2);
}
.close {
color: $color_secondary_dark;
text-shadow: 0 1px 0 $color_bg_dark;
&:hover, &:focus{
color: #fff;
}
}
.nav-tabs > li > a:hover {
background-color: $color_bg_dark;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: $color_secondary_dark;
background-color: $color_bg_dark;
}
.thumbnail {
background-color: $color_bg_dark;
}
}

View File

@ -11,6 +11,9 @@ body {
margin: 0;
/* height: 100%; */
color: $color_secondary;
@include dark{
color: $color_secondary_dark;
}
font-weight: 400;
}
html.wf-inactive body {
@ -35,6 +38,9 @@ p {
font-size: 14px;
line-height: 24px;
color: $color_secondary ;
@include dark{
color: $color_secondary_dark;
}
margin-top: 10px;
}
@ -45,14 +51,17 @@ img {
a {
color:$color_link;
@include dark{
color: $color_link_dark;
}
padding: 0;
margin: 0;
text-decoration: none;
-webkit-transition: background-color .4s linear, color .4s linear;
-moz-transition: background-color .4s linear, color .4s linear;
-o-transition: background-color .4s linear, color .4s linear;
-ms-transition: background-color .4s linear, color .4s linear;
transition: background-color .4s linear, color .4s linear;
-webkit-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
-moz-transition: background-color .4s linear, color .4s linea, border-color .4s linearr;
-o-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
-ms-transition: background-color .4s linear, color .4s linear, border-color .4s linear;
transition: background-color .4s linear, color .4s linear, border-color .4s linear;
}
a:hover, a:focus {
@ -64,11 +73,18 @@ a:hover, a:focus {
color: #fff;
text-shadow:none;
background:$color_secondary;
@include dark{
background: $color_secondary_dark;
}
}
::selection {
color: #fff;
text-shadow:none;
background:$color_secondary;
@include dark{
background: white;
color: $color_secondary;
}
}
.centered {

View File

@ -61,4 +61,75 @@
.vg { color: #008080 } // Name.Variable.Global
.vi { color: #008080 } // Name.Variable.Instance
.il { color: #099 } // Literal.Number.Integer.Long
@include dark{
.hll { background-color: #272822; }
.c { color: #75715e } /* Comment */
.err { color: #960050; background-color: #1e0010 } /* Error */
.k { color: #66d9ef } /* Keyword */
.l { color: #ae81ff } /* Literal */
.n { color: #f8f8f2 } /* Name */
.o { color: #f92672 } /* Operator */
.p { color: #f8f8f2 } /* Punctuation */
.cm { color: #75715e } /* Comment.Multiline */
.cp { color: #75715e } /* Comment.Preproc */
.c1 { color: #75715e } /* Comment.Single */
.cs { color: #75715e } /* Comment.Special */
.ge { font-style: italic } /* Generic.Emph */
.gs { font-weight: bold } /* Generic.Strong */
.kc { color: #66d9ef } /* Keyword.Constant */
.kd { color: #66d9ef } /* Keyword.Declaration */
.kn { color: #f92672 } /* Keyword.Namespace */
.kp { color: #66d9ef } /* Keyword.Pseudo */
.kr { color: #66d9ef } /* Keyword.Reserved */
.kt { color: #66d9ef } /* Keyword.Type */
.ld { color: #e6db74 } /* Literal.Date */
.m { color: #ae81ff } /* Literal.Number */
.s { color: #e6db74 } /* Literal.String */
.na { color: #a6e22e } /* Name.Attribute */
.nb { color: #f8f8f2 } /* Name.Builtin */
.nc { color: #a6e22e } /* Name.Class */
.no { color: #66d9ef } /* Name.Constant */
.nd { color: #a6e22e } /* Name.Decorator */
.ni { color: #f8f8f2 } /* Name.Entity */
.ne { color: #a6e22e } /* Name.Exception */
.nf { color: #a6e22e } /* Name.Function */
.nl { color: #f8f8f2 } /* Name.Label */
.nn { color: #f8f8f2 } /* Name.Namespace */
.nx { color: #a6e22e } /* Name.Other */
.py { color: #f8f8f2 } /* Name.Property */
.nt { color: #f92672 } /* Name.Tag */
.nv { color: #f8f8f2 } /* Name.Variable */
.ow { color: #f92672 } /* Operator.Word */
.w { color: #f8f8f2 } /* Text.Whitespace */
.mf { color: #ae81ff } /* Literal.Number.Float */
.mh { color: #ae81ff } /* Literal.Number.Hex */
.mi { color: #ae81ff } /* Literal.Number.Integer */
.mo { color: #ae81ff } /* Literal.Number.Oct */
.sb { color: #e6db74 } /* Literal.String.Backtick */
.sc { color: #e6db74 } /* Literal.String.Char */
.sd { color: #e6db74 } /* Literal.String.Doc */
.s2 { color: #e6db74 } /* Literal.String.Double */
.se { color: #ae81ff } /* Literal.String.Escape */
.sh { color: #e6db74 } /* Literal.String.Heredoc */
.si { color: #e6db74 } /* Literal.String.Interpol */
.sx { color: #e6db74 } /* Literal.String.Other */
.sr { color: #e6db74 } /* Literal.String.Regex */
.s1 { color: #e6db74 } /* Literal.String.Single */
.ss { color: #e6db74 } /* Literal.String.Symbol */
.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.vc { color: #f8f8f2 } /* Name.Variable.Class */
.vg { color: #f8f8f2 } /* Name.Variable.Global */
.vi { color: #f8f8f2 } /* Name.Variable.Instance */
.il { color: #ae81ff } /* Literal.Number.Integer.Long */
.gh { } /* Generic Heading & Diff Header */
.gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
.gd { color: #f92672; background-color: inherit;} /* Generic.Deleted & Diff Deleted */
.gi { color: #a6e22e; background-color: inherit;} /* Generic.Inserted & Diff Inserted */
.gd .x {background-color: inherit;}
.gi .x {background-color: inherit;}
}
}

View File

@ -11,20 +11,34 @@ URL: http://alvarez.is
################################################################# */
$color_bg_dark: #222;
$color_thu_purple: #82318E;
$color_thu_purple_dark: #C353D3;
$color_light_grey: #888;
$color_grey: #555;
$color_grey_dark: #aaa;
$color_primary: $color_thu_purple;
$color_primary_dark: $color_thu_purple_dark;
$color_primary_light: #d8aff6;
$color_primary_rgb: 92,48,125;
$color_secondary: #384452;
$color_secondary_dark: #ddd;
$color_link: #088acb;
$color_link_dark: #65A9CB;
$color_link_hover: #62bbe7;
$color_footer_heading: #ffffff;
$color_footer_content: #bfc9d3;
$color_navbar_bg: #d3d3d3;
$font_local: 'Hiragino Sans GB', 'Source Han Sans SC', 'Noto Sans CJK SC', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif;
$font_default: 'Lato', #{$font_local};
$color_row_hover: #e0f3fc;
$color_row_hover_dark: #116D99;
@mixin dark {
@media (prefers-color-scheme: dark) {
@content
}
}
@import
"Lato",
@ -32,6 +46,10 @@ $font_default: 'Lato', #{$font_local};
"bootstrap-mod",
"syntax-highlighting";
:root {
color-scheme: light dark;
}
#thu-alert {
padding-left: 50px;
position: relative;
@ -51,6 +69,9 @@ html {
body {
position: relative;
min-height: 100%;
@include dark{
background: $color_bg_dark;
}
}
#headerwrap {
@ -73,15 +94,29 @@ body {
.status-fail, .status-failed, .status-paused {
background-color: #fff4e3;
@include dark{
background-color: #7F581A;
}
}
.status-syncing {
background-color: #e3fffd;
@include dark{
background-color: #0F3A4C;
}
}
.sk-wave .sk-rect {
@include dark{
background-color: $color_secondary_dark;
}
}
#mirrors {
tbody {
tr:hover {
background-color: #e0f3fc;
background-color: $color_row_hover;
@include dark{
background-color: $color_row_hover_dark;
}
}
td {
padding: 4px 8px;
@ -100,11 +135,17 @@ body {
}
.fa-question-circle {
color: #234961;
@include dark{
color: #5CC0FF;
}
}
}
#news {
li > a {
color: $color_secondary;
@include dark{
color: $color_secondary_dark;
}
}
}
#download-link {
@ -123,8 +164,11 @@ body {
}
#mirror-list {
:hover {
background-color: #e0f3fc;
}
background-color: $color_row_hover;
@include dark{
background-color: $color_row_hover_dark;
}
}
}
}
@ -137,6 +181,9 @@ body {
article {
.meta {
color: $color_grey;
@include dark{
color: $color_grey_dark;
}
}
}
.fa-user {
@ -259,8 +306,86 @@ body {
max-width: 240px;
height: 30px;
font-size: 16px;
background: transparent;
}
#mirror-title {
float: left;
}
#upgrade-mask{
color: black;
p {
color: inherit;
}
}
.not-found {
height: 600px;
background-image: url(/static/img/missing.png);
background-image: -webkit-image-set(url("/static/img/missing.png") 1x,
url("/static/img/missing@2x.png") 2x,
url("/static/img/missing@3x.png") 3x,
url("/static/img/missing@4x.png") 4x);
background-image: image-set(url("/static/img/missing.png") 1x,
url("/static/img/missing@2x.png") 2x,
url("/static/img/missing@3x.png") 3x,
url("/static/img/missing@4x.png") 4x);
background-repeat: no-repeat;
background-position: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
@include dark {
background-image: url(/static/img/missing-dark.png);
background-image: -webkit-image-set(url("/static/img/missing-dark.png") 1x,
url("/static/img/missing-dark@2x.png") 2x,
url("/static/img/missing-dark@3x.png") 3x,
url("/static/img/missing-dark@4x.png") 4x);
background-image: image-set(url("/static/img/missing-dark.png") 1x,
url("/static/img/missing-dark@2x.png") 2x,
url("/static/img/missing-dark@3x.png") 3x,
url("/static/img/missing-dark@4x.png") 4x);
}
}
.nonthu .not-found {
background-image: none;
}
.not-found-hint {
font-weight: bold;
font-size: 48px;
margin-bottom: 40px;
padding: 0 20px;
}
.not-found-link {
display: inline-block;
font-size: 18px;
margin: 0 20px;
}
.not-found-text {
max-width: 450px;
box-sizing: border-box;
padding: 0 40px;
margin-bottom: 80px;
font-size: 16px;
opacity: .7;
line-height: 24px;
}
.not-found-code {
font-size: 12px;
opacity: .54;
font-weight: normal;
font-style: italic;
}
.nonthu .thuhidden{
display: none;
}

View File

@ -1,3 +0,0 @@
.nonthu .thuhidden{
display: none;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/img/missing-dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
static/img/missing.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/img/missing@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
static/img/missing@3x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
static/img/missing@4x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -12,16 +12,8 @@ permalink: /status/
<h3 id="server-status"> # 服务器监控 </h3>
<h4> # 网络流量 </h4>
<div class="row">
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/service_traffic_IPv4-day.png">
</div>
</div>
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/service_traffic_IPv6-day.png">
</div>
</div>
{% include status-pic.html name="service_traffic_IPv4" %}
{% include status-pic.html name="service_traffic_IPv6" %}
</div>
<h4># 磁盘状态 </h4>
<div class="row">
@ -32,29 +24,13 @@ permalink: /status/
</div>
</div>
</div>
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/diskstats_iops-day.png">
</div>
</div>
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/diskstats_throughput-day.png">
</div>
</div>
{% include status-pic.html name="diskstats_iops" %}
{% include status-pic.html name="diskstats_throughput" %}
</div>
<h4># CPU / 内存</h4>
<div class="row">
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/cpu-day.png">
</div>
</div>
<div class="col-md-6">
<div class="thumbnail">
<img class="img-responsive" src="/static/status/memory-day.png">
</div>
</div>
{% include status-pic.html name="cpu" %}
{% include status-pic.html name="memory" %}
</div>
<h3 id="syncing-status"># 同步状态</h3>
<table class="table table-condensed flat-md">