diff --git a/404.html b/404.html
index 58ffcf7..5072046 100644
--- a/404.html
+++ b/404.html
@@ -1,5 +1,6 @@
---
permalink: /404.html
+jsEntry: notfound
---
@@ -24,7 +25,7 @@ permalink: /404.html
{% endif %}
- 如果您认为这一定是出了什么问题,或者正在寻找暂未包含的镜像,欢迎您前往
+ 如果您认为这一定是出了什么问题,或者正在寻找暂未包含的镜像,欢迎您前往
{% fa_svg fab.fa-github %} tuna/issues
@@ -53,7 +54,7 @@ permalink: /404.html
var bugURL = new URL(bugLink.href);
bugURL.searchParams.append("title", tag + "404 at " + location.pathname);
bugLink.href = bugURL.href;
-
+
var mrLink = document.getElementById("new_issue_mr");
var mrURL = new URL(mrLink.href);
mrURL.searchParams.append("title", tag + "Mirror Request for new mirror " +
@@ -66,4 +67,3 @@ permalink: /404.html
-
diff --git a/_includes/head.html b/_includes/head.html
index a27a560..cf3dc4c 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -38,6 +38,7 @@
{% endunless %}
+{% include vite_script.html %}
{% if page.legacy %}
diff --git a/_src/entrypoints/app.js b/_src/entrypoints/app.js
index a79bd1b..622d487 100644
--- a/_src/entrypoints/app.js
+++ b/_src/entrypoints/app.js
@@ -1,6 +1,8 @@
import Empty from '../components/Empty.vue'
import IsoModal from '../components/IsoModal.vue'
import { createApp } from 'vue';
+import './default'
+import '../styles/main-page.scss'
const empty = createApp(Empty);
empty.mount("#upgrade-mask");
diff --git a/_src/entrypoints/default.js b/_src/entrypoints/default.js
new file mode 100644
index 0000000..10cf502
--- /dev/null
+++ b/_src/entrypoints/default.js
@@ -0,0 +1 @@
+import '../styles/global.scss'
diff --git a/_src/entrypoints/help.js b/_src/entrypoints/help.js
index 0625441..892b9e7 100644
--- a/_src/entrypoints/help.js
+++ b/_src/entrypoints/help.js
@@ -8,6 +8,7 @@ import hljs from 'highlight.js';
import Mark from 'markup-js';
import {TUNASYNC_JSON_PATH} from '../lib/consts'
import {mirrorId} from '../lib/mirrorid'
+import './default'
import '../styles/help.scss'
document.addEventListener('DOMContentLoaded', () => {
diff --git a/_src/entrypoints/notfound.js b/_src/entrypoints/notfound.js
new file mode 100644
index 0000000..e669ac1
--- /dev/null
+++ b/_src/entrypoints/notfound.js
@@ -0,0 +1,2 @@
+import "./default"
+import "../styles/notfound.scss"
diff --git a/_src/entrypoints/status.js b/_src/entrypoints/status.js
new file mode 100644
index 0000000..ae65373
--- /dev/null
+++ b/_src/entrypoints/status.js
@@ -0,0 +1,2 @@
+import "./default"
+import "../styles/status.scss"
diff --git a/_src/styles/global.scss b/_src/styles/global.scss
new file mode 100644
index 0000000..3f8e808
--- /dev/null
+++ b/_src/styles/global.scss
@@ -0,0 +1,149 @@
+@use "./utils.scss" as utils;
+@use "sass:map";
+
+@use "bootstrap" as bs with (
+ $color-mode-type: media-query,
+);
+
+$color_thu_purple_dark: #C353D3;
+$font_default: 'Lato', 'Hiragino Sans GB', 'Source Han Sans SC', 'Source Han Sans CN', 'Noto Sans CJK SC', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif;
+$footer_color: #384452;
+
+$color_thu_purple: if(map.get(jekyll-config(), "issue"), $color_thu_purple_dark, #82318E);
+
+@include utils.noissue {
+ :root {
+ color-scheme: light dark;
+ }
+}
+
+body {
+ display: flex;
+ min-height: 100vh;
+ flex-direction: column;
+}
+
+pre {
+ @extend .border;
+ @extend .rounded;
+ @extend .p-2;
+ @extend .bg-secondary-subtle;
+ code {
+ @extend .p-0;
+ }
+}
+
+code {
+ @extend .p-1;
+ @extend .rounded;
+ @extend .bg-secondary-subtle;
+}
+
+h1, h2, h3, .h1, .h2, .h3 {
+ margin-top: 2rem;
+}
+
+h4, h5, h6, .h4, .h5, .h6 {
+ margin-top: 1rem;
+}
+
+/* Footer */
+#footerwrap {
+ color: bs.$body-color-dark;
+ margin-top: 100px;
+ padding-top: 60px;
+ padding-bottom: 60px;
+ background: $footer_color;
+ a {
+ color: bs.$link-color-dark;
+ }
+ a:hover {
+ color: bs.$link-hover-color-dark;
+ }
+}
+
+.spacing {
+ margin-top: 40px;
+ margin-bottom: 40px;
+}
+
+.clickable {
+ cursor: pointer;
+}
+
+.vbottom {
+ display: inline-block;
+ vertical-align: bottom;
+ float: none;
+}
+
+.nonthu .thuhidden{
+ display: none;
+}
+
+svg.icon {
+ display: inline-block;
+ width: 1em;
+ height: 1.42857143em;
+ fill: currentColor;
+ vertical-align: bottom;
+}
+
+.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
+ svg.icon {
+ height: 1.1em;
+ }
+}
+
+.content-select {
+ /* override color of form-control from bootstrap */
+ color: inherit;
+ background-color: transparent;
+}
+
+a {
+ padding: 0;
+ margin: 0;
+ text-decoration: none;
+ -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 linear;
+ -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 {
+ text-decoration: none;
+}
+
+.navbar-default {
+ --bs-navbar-active-color: #{$color_thu_purple};
+ --bs-navbar-hover-color: #{$color_thu_purple};
+ @include utils.dark{
+ --bs-navbar-active-color: #{$color_thu_purple_dark};
+ --bs-navbar-hover-color: #{$color_thu_purple_dark};
+ }
+ .navbar-nav > li > a.active {
+ border-bottom: 2px solid $color_thu_purple;
+ @include utils.dark{
+ border-bottom-color: $color_thu_purple_dark;
+ }
+ }
+ .navbar-nav > li > a {
+ font-weight: 700;
+ font-size: 12px;
+ }
+ .nav-link {
+ transition-duration: .4s;
+ }
+}
+
+.navbar-brand {
+ font-weight: 900;
+ padding: 0px;
+ line-height: 50px;
+ height: 50px;
+ img {
+ margin-right: 5px;
+ }
+}
diff --git a/_src/styles/help.scss b/_src/styles/help.scss
index 6028e95..a5605bc 100644
--- a/_src/styles/help.scss
+++ b/_src/styles/help.scss
@@ -174,3 +174,8 @@
.hljs-variable { color: #f8f8f2 } // Name.Variable
}
+
+#help-page {
+ margin-top: 40px;
+ margin-bottom: 40px;
+}
diff --git a/_src/styles/main-page.scss b/_src/styles/main-page.scss
new file mode 100644
index 0000000..0691253
--- /dev/null
+++ b/_src/styles/main-page.scss
@@ -0,0 +1,62 @@
+@use "./sync-status.scss";
+
+@use "bootstrap" as bs;
+
+#mirrors {
+ tbody {
+ td {
+ padding: 4px 8px;
+ border-style: none;
+ }
+ font-size: 12pt;
+ .badge.badge-new {
+ padding: .1em .2em;
+ vertical-align: 40%;
+ text-shadow: 1px 1px #888;
+ margin-right: 4px;
+ background-color: #3aa0e6;
+ }
+ .badge.badge-status {
+ vertical-align: 20%;
+ margin-left: .5em;
+ }
+ }
+ #download-link {
+ margin-bottom: 1em;
+ }
+}
+
+#mirror-title {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.index-issue {
+ #footerwrap {
+ background: transparent;
+ }
+ body {
+ background-color: black;
+ color: bs.$body-color-dark;
+ --bs-emphasis-color-rgb: white;
+ --bs-link-color: #{bs.$link-color-dark};
+ --bs-link-color-hover: #{bs.$link-hover-color-dark};
+ }
+}
+
+#search {
+ line-height: 18px;
+ padding: 8px;
+ border: 1px solid #e3e3e3;
+ max-width: 240px;
+ height: 30px;
+ font-size: 16px;
+ background: transparent;
+}
+
+#upgrade-mask{
+ color: black;
+ p {
+ color: inherit;
+ }
+}
diff --git a/_src/styles/notfound.scss b/_src/styles/notfound.scss
new file mode 100644
index 0000000..9541d69
--- /dev/null
+++ b/_src/styles/notfound.scss
@@ -0,0 +1,87 @@
+@use "./utils.scss" as utils;
+
+.not-found {
+ height: 600px;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ position: relative;
+}
+
+.not-found-bg {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+
+ z-index: -1;
+
+ background-repeat: no-repeat;
+ background-position: center;
+
+ @include utils.noissue {
+ opacity: .5;
+ filter: grayscale(0.2);
+ 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);
+ }
+
+ @include utils.dark {
+ opacity: 1;
+ filter: none;
+ 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-bg {
+ 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;
+}
diff --git a/_src/styles/status.scss b/_src/styles/status.scss
new file mode 100644
index 0000000..3cc49dc
--- /dev/null
+++ b/_src/styles/status.scss
@@ -0,0 +1,102 @@
+@use "./sync-status.scss";
+
+table.flat {
+ &>tbody>tr {
+ border-bottom-width: var(--bs-border-width);
+ }
+
+ &>thead>tr {
+ border-bottom-width: calc(var(--bs-border-width) * 2);
+ border-bottom-style: solid;
+ border-bottom-color: currentColor;
+ }
+}
+
+
+// Scrolling columns in status page
+.tuna-roll {
+ position: relative;
+ overflow: hidden;
+
+ >div {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+
+ animation-timing-function: ease;
+ animation-duration: 1s;
+ animation-iteration-count: 1;
+
+ /* Tooltip text */
+ >.tooltiptext {
+ visibility: hidden;
+ width: auto;
+ background-color: #555;
+ color: #fff;
+ text-align: center;
+ border-radius: 5px;
+
+ /* Position the tooltip text - see examples below! */
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ }
+
+ &:hover>.tooltiptext {
+ visibility: visible;
+ }
+ }
+
+ @keyframes tuna-roll-enter {
+ 0% {
+ transform: translateY(100%);
+ }
+
+ 100% {
+ transform: none;
+ }
+ }
+
+ @keyframes tuna-roll-leave {
+ 0% {
+ transform: none;
+ }
+
+ 100% {
+ transform: translateY(-100%);
+ }
+ }
+}
+
+@each $attrib in ("[data-tuna-roll-cur", ".row[data-tuna-roll-freeze") {
+ @for $i from 0 to 7 {
+ #{$attrib}="#{$i}"] {
+ .tuna-roll>div {
+ animation-name: tuna-roll-leave;
+ transform: translateY(100%);
+ }
+
+ .tuna-roll>div[data-tuna-roll-seq~="#{$i}"] {
+ animation-name: tuna-roll-enter;
+ transform: none;
+ }
+ }
+ }
+
+ #{$attrib}="-1"] {
+ .tuna-roll>div {
+ transform: translateY(100%);
+ animation-name: tuna-roll-leave;
+ animation-duration: 0s;
+ }
+
+ .tuna-roll>div[data-tuna-roll-seq~="0"] {
+ transform: none;
+ animation-name: tuna-roll-enter;
+ animation-duration: 0s;
+ }
+ }
+}
diff --git a/_src/styles/sync-status.scss b/_src/styles/sync-status.scss
new file mode 100644
index 0000000..6bc00f1
--- /dev/null
+++ b/_src/styles/sync-status.scss
@@ -0,0 +1,17 @@
+@use "bootstrap" as bs;
+@use "./utils.scss" as utils;
+
+.status-fail, .status-failed, .status-paused {
+ --bs-table-bg: #fff4e3;
+ --bs-table-hover-bg: var(--bs-table-bg);
+ @include utils.dark{
+ --bs-table-bg: #524841;
+ }
+}
+.status-syncing {
+ --bs-table-bg: #e3fffd;
+ --bs-table-hover-bg: var(--bs-table-bg);
+ @include utils.dark{
+ --bs-table-bg: #254059;
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index 8beb1d6..372185d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,7 @@
"devDependencies": {
"@vitejs/plugin-legacy": "^5.3.2",
"@vitejs/plugin-vue": "^5.0.4",
+ "bootstrap": "^5.3.3",
"highlight.js": "^11.9.0",
"markup-js": "^1.5.21",
"mustache": "^4.2.0",
@@ -2172,6 +2173,17 @@
"node": ">= 8"
}
},
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "dev": true,
+ "peer": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
"node_modules/@rollup/pluginutils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
@@ -2636,6 +2648,25 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/bootstrap": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
+ "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.8"
+ }
+ },
"node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
diff --git a/package.json b/package.json
index 529e839..2c5b8f4 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
"devDependencies": {
"@vitejs/plugin-legacy": "^5.3.2",
"@vitejs/plugin-vue": "^5.0.4",
+ "bootstrap": "^5.3.3",
"highlight.js": "^11.9.0",
"markup-js": "^1.5.21",
"mustache": "^4.2.0",
diff --git a/static/css/style.scss b/static/css/style.scss
index 8c662f2..cfba2e5 100644
--- a/static/css/style.scss
+++ b/static/css/style.scss
@@ -11,16 +11,6 @@ URL: http://alvarez.is
################################################################# */
-$color_thu_purple_dark: #C353D3;
-$font_default: 'Lato', 'Hiragino Sans GB', 'Source Han Sans SC', 'Source Han Sans CN', 'Noto Sans CJK SC', 'WenQuanYi Zen Hei', 'WenQuanYi Micro Hei', '微软雅黑', sans-serif;
-$footer_color: #384452;
-
-{% if site.issue %}
-$color_thu_purple: $color_thu_purple_dark;
-{% else %}
-$color_thu_purple: #82318E;
-{% endif %}
-
@mixin dark {
{% unless site.issue %}
@media (prefers-color-scheme: dark) {
@@ -30,444 +20,12 @@ $color_thu_purple: #82318E;
@content
{% endunless %}
}
-
-@mixin noissue {
- {% unless site.issue %}
- @content
- {% else %}
- @if(false){ @content }
- {% endunless %}
-}
-
-$color-mode-type: media-query;
-
@import
-"_bootstrap/bootstrap",
"Lato",
"_spinners/3-wave";
-{% unless site.issue %}
-:root {
- color-scheme: light dark;
-}
-{% endunless %}
-
-#thu-alert {
- padding-left: 50px;
- position: relative;
- .glyphicon {
- font-size: 30px;
- left: 10px;
- top: 20px;
- position: absolute;
- }
-}
-
-body {
- display: flex;
- min-height: 100vh;
- flex-direction: column;
-}
-
-.status-fail, .status-failed, .status-paused {
- --bs-table-bg: #fff4e3;
- --bs-table-hover-bg: var(--bs-table-bg);
- @include dark{
- --bs-table-bg: #524841;
- }
-}
-.status-syncing {
- --bs-table-bg: #e3fffd;
- --bs-table-hover-bg: var(--bs-table-bg);
- @include dark{
- --bs-table-bg: #254059;
- }
-}
.sk-wave .sk-rect {
@include dark{
- background-color: $body-secondary-color-dark;
- }
-}
-pre {
- @extend .border;
- @extend .rounded;
- @extend .p-2;
- @extend .bg-secondary-subtle;
- code {
- @extend .p-0;
- }
-}
-
-code {
- @extend .p-1;
- @extend .rounded;
- @extend .bg-secondary-subtle;
-}
-
-#mirrors {
- tbody {
- td {
- padding: 4px 8px;
- border-style: none;
- }
- font-size: 12pt;
- .badge.badge-new {
- padding: .1em .2em;
- vertical-align: 40%;
- text-shadow: 1px 1px #888;
- margin-right: 4px;
- background-color: #3aa0e6;
- }
- .badge.badge-status {
- vertical-align: 20%;
- margin-left: .5em;
- }
- }
- #download-link {
- margin-bottom: 1em;
- }
-}
-#isoModal {
- .nav-tabs {
- margin-bottom: .5em;
- }
-}
-
-#mirror-title {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-#help-page {
- margin-top: 40px;
- margin-bottom: 40px;
-}
-
-table.flat {
- & > tbody > tr {
- border-bottom-width: var(--bs-border-width);
- }
- & > thead > tr {
- border-bottom-width: calc(var(--bs-border-width) * 2);
- border-bottom-style: solid;
- border-bottom-color: currentColor;
- }
-}
-
-h1, h2, h3, .h1, .h2, .h3 {
- margin-top: 2rem;
-}
-
-h4, h5, h6, .h4, .h5, .h6 {
- margin-top: 1rem;
-}
-
-/* Footer */
-#footerwrap {
- color: $body-color-dark;
- margin-top: 100px;
- padding-top: 60px;
- padding-bottom: 60px;
- background: $footer_color;
- a {
- color: $link-color-dark;
- }
- a:hover {
- color: $link-hover-color-dark;
- }
-}
-
-.index-issue {
- #footerwrap {
- background: transparent;
- }
- body {
- background-color: black;
- color: $body-color-dark;
- --bs-emphasis-color-rgb: white;
- --bs-link-color: #{$link-color-dark};
- --bs-link-color-hover: #{$link-hover-color-dark};
- }
- // a.navbar-brand{
- // color: $navbar-dark-brand-color;
-
- // }
- // .navbar-nav a{
- // color: var(--bs-nav-link-color);
- // }
-}
-
-.spacing {
- margin-top: 40px;
- margin-bottom: 40px;
-}
-
-.clickable {
- cursor: pointer;
-}
-
-.vbottom {
- display: inline-block;
- vertical-align: bottom;
- float: none;
-}
-
-#search {
- line-height: 18px;
- padding: 8px;
- border: 1px solid #e3e3e3;
- max-width: 240px;
- height: 30px;
- font-size: 16px;
- background: transparent;
-}
-
-#upgrade-mask{
- color: black;
- p {
- color: inherit;
- }
-}
-
-.not-found {
- height: 600px;
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
-
- position: relative;
-}
-
-.not-found-bg {
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
-
- z-index: -1;
-
- background-repeat: no-repeat;
- background-position: center;
-
- @include noissue {
- opacity: .5;
- filter: grayscale(0.2);
- 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);
- }
- @include dark {
- opacity: 1;
- filter: none;
- 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-bg {
- 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;
-}
-
-
-// Scrolling columns in status page
-.tuna-roll {
- position: relative;
- overflow: hidden;
-
- > div {
- position: absolute;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
-
- animation-timing-function: ease;
- animation-duration: 1s;
- animation-iteration-count: 1;
-
- /* Tooltip text */
- > .tooltiptext {
- visibility: hidden;
- width: auto;
- background-color: #555;
- color: #fff;
- text-align: center;
- border-radius: 5px;
-
- /* Position the tooltip text - see examples below! */
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1;
- }
-
- &:hover > .tooltiptext {
- visibility: visible;
- }
- }
-
- @keyframes tuna-roll-enter {
- 0% {
- transform: translateY(100%);
- }
-
- 100% {
- transform: none;
- }
- }
-
- @keyframes tuna-roll-leave {
- 0% {
- transform: none;
- }
-
- 100% {
- transform: translateY(-100%);
- }
- }
-}
-
-{% for attrb in (1..2) %}
-@for $i from 0 to 7 {
- {% cycle "g1": "[data-tuna-roll-cur", ".row[data-tuna-roll-freeze" %}="#{$i}"] {
- .tuna-roll > div {
- animation-name: tuna-roll-leave;
- transform: translateY(100%);
- }
- .tuna-roll > div[data-tuna-roll-seq~="#{$i}"] {
- animation-name: tuna-roll-enter;
- transform: none;
- }
- }
-}
-
-{% cycle "g2": "[data-tuna-roll-cur", ".row[data-tuna-roll-freeze" %}="-1"] {
- .tuna-roll > div {
- transform: translateY(100%);
- animation-name: tuna-roll-leave;
- animation-duration: 0s;
- }
- .tuna-roll > div[data-tuna-roll-seq~="0"] {
- transform: none;
- animation-name: tuna-roll-enter;
- animation-duration: 0s;
- }
-}
-{% endfor %}
-
-svg.icon {
- display: inline-block;
- width: 1em;
- height: 1.42857143em;
- fill: currentColor;
- vertical-align: bottom;
-}
-
-.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
- svg.icon {
- height: 1.1em;
- }
-}
-
-.content-select {
- /* override color of form-control from bootstrap */
- color: inherit;
- background-color: transparent;
-}
-
-a {
- padding: 0;
- margin: 0;
- text-decoration: none;
- -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 linear;
- -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 {
- text-decoration: none;
-}
-
-.navbar-default {
- --bs-navbar-active-color: #{$color_thu_purple};
- --bs-navbar-hover-color: #{$color_thu_purple};
- @include dark{
- --bs-navbar-active-color: #{$color_thu_purple_dark};
- --bs-navbar-hover-color: #{$color_thu_purple_dark};
- }
- .navbar-nav > li > a.active {
- border-bottom: 2px solid $color_thu_purple;
- @include dark{
- border-bottom-color: $color_thu_purple_dark;
- }
- }
- .navbar-nav > li > a {
- font-weight: 700;
- font-size: 12px;
- }
- .nav-link {
- transition-duration: .4s;
- }
-}
-
-.navbar-brand {
- font-weight: 900;
- padding: 0px;
- line-height: 50px;
- height: 50px;
- img {
- margin-right: 5px;
+ //background-color: $body-secondary-color-dark;
}
}
diff --git a/status.html b/status.html
index 74ff1b3..824b405 100644
--- a/status.html
+++ b/status.html
@@ -1,5 +1,6 @@
---
permalink: /status/
+jsEntry: status
---