Update
continuous-integration/drone/push Build is passing Details

This commit is contained in:
186526 2022-04-30 21:12:41 +08:00
parent 1137c36987
commit 9bc4b7c43e
Signed by: 186526
GPG Key ID: C7EB1E6B8CC5E51D
10 changed files with 612 additions and 519 deletions

View File

@ -1,181 +1,258 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<head> <head>
<meta charset="utf-8"> <head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> <meta charset="utf-8" />
<meta name="renderer" content="webkit"> <meta
<meta name="force-rendering" content="webkit"> name="viewport"
<meta name="backend-renderer" content="LitePage"> content="width=device-width,initial-scale=1,maximum-scale=1"
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> />
<link rel="preconnect" href="https://fonts.googleapis.com"> <meta name="renderer" content="webkit" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <meta name="force-rendering" content="webkit" />
<link rel="preconnect" href="https://i.186526.xyz"> <meta name="backend-renderer" content="LitePage" />
<link rel="preconnect" href="https://storage.186526.xyz"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<link rel="icon" href="https://i.186526.xyz/avatar"> <link rel="preconnect" href="https://fonts.googleapis.com" />
<link <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@500&amp;family=Fira+Mono&amp;family=Ubuntu&amp;family=Roboto&amp;display=swap" <link rel="preconnect" href="https://i.186526.xyz" />
rel="stylesheet"> <link rel="preconnect" href="https://storage.186526.xyz" />
<title>It's me, 186526!</title> <link rel="icon" href="https://i.186526.xyz/avatar" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet"> <link
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC&amp;display=swap" rel="stylesheet"> href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@500&amp;family=Fira+Mono&amp;family=Ubuntu&amp;family=Roboto&amp;display=swap"
<script type="module" src="./src/main.ts"></script> rel="stylesheet"
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"></script> />
<title>It's me, 186526!</title>
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC&amp;display=swap"
rel="stylesheet"
/>
<script type="module" src="./src/main.ts"></script>
<script
async=""
src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"
></script>
<meta name="description" content="It's me, 186526! | 186526 的自留地"> <meta name="description" content="It's me, 186526! | 186526 的自留地" />
<meta property="og:type" content="website"> <meta property="og:type" content="website" />
<meta property="og:title" content="It's me, 186526! | 186526.xyz"> <meta property="og:title" content="It's me, 186526! | 186526.xyz" />
<meta name="og:description" content="It's me, 186526! | 186526 的自留地"> <meta
name="og:description"
content="It's me, 186526! | 186526 的自留地"
/>
<link rel="manifest" href="./manifest.json"> <link rel="manifest" href="./manifest.json" />
<script> <script>
(function () { (function () {
function getBroswer() { function getBroswer() {
var sys = {}; var sys = {};
var ua = navigator.userAgent.toLowerCase(); var ua = navigator.userAgent.toLowerCase();
var s; var s;
(s = ua.match(/edge\/([\d.]+)/)) ? sys.edge = s[1] : (s = ua.match(/edge\/([\d.]+)/))
(s = ua.match(/rv:([\d.]+)\) like gecko/)) ? sys.ie = s[1] : ? (sys.edge = s[1])
(s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] : : (s = ua.match(/rv:([\d.]+)\) like gecko/))
(s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1] : ? (sys.ie = s[1])
(s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1] : : (s = ua.match(/msie ([\d.]+)/))
(s = ua.match(/opera.([\d.]+)/)) ? sys.opera = s[1] : ? (sys.ie = s[1])
(s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0; : (s = ua.match(/firefox\/([\d.]+)/))
? (sys.firefox = s[1])
: (s = ua.match(/chrome\/([\d.]+)/))
? (sys.chrome = s[1])
: (s = ua.match(/opera.([\d.]+)/))
? (sys.opera = s[1])
: (s = ua.match(/version\/([\d.]+).*safari/))
? (sys.safari = s[1])
: 0;
if (sys.edge) return { broswer: "Edge", version: sys.edge }; if (sys.edge) return { broswer: "Edge", version: sys.edge };
if (sys.ie) return { broswer: "IE", version: sys.ie }; if (sys.ie) return { broswer: "IE", version: sys.ie };
if (sys.firefox) return { broswer: "Firefox", version: sys.firefox }; if (sys.firefox)
if (sys.chrome) return { broswer: "Chrome", version: sys.chrome }; return { broswer: "Firefox", version: sys.firefox };
if (sys.opera) return { broswer: "Opera", version: sys.opera }; if (sys.chrome) return { broswer: "Chrome", version: sys.chrome };
if (sys.safari) return { broswer: "Safari", version: sys.safari }; if (sys.opera) return { broswer: "Opera", version: sys.opera };
if (sys.safari) return { broswer: "Safari", version: sys.safari };
return { broswer: "", version: "0" }; return { broswer: "", version: "0" };
} }
var broswerUA = getBroswer(); var broswerUA = getBroswer();
if (broswerUA.broswer == "IE") { if (broswerUA.broswer == "IE") {
document.body.innerHTML = '<div class="toast">去他妈的Internet Explorer请使用现代浏览器访问该站点例如<a href="http://aka.186526.xyz/Chrome">Chrome</a><a href="http://aka.186526.xyz/Firefox">Firefox</a></div>' + document.body.innerHTML; document.body.innerHTML =
} else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) { '<div class="toast">去他妈的Internet Explorer请使用现代浏览器访问该站点例如<a href="http://aka.186526.xyz/Chrome">Chrome</a><a href="http://aka.186526.xyz/Firefox">Firefox</a></div>' +
document.body.innerHTML = '<div class="toast">摆脱旧版Chrome请使用新版<a href="http://aka.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' + document.body.innerHTML; document.body.innerHTML;
} } else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) {
})() document.body.innerHTML =
</script> '<div class="toast">摆脱旧版Chrome请使用新版<a href="http://aka.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' +
document.body.innerHTML;
}
})();
</script>
</head>
<body>
<app>
<background>
<p>PID @ 78361641</p>
</background>
<header>
<img src="./avatar.png" alt="avatar" width="100px" />
<div>
<h1>
<a href="https://186526.xyz" title="186526.xyz - It's me, 186526!"
>It's me, 186526!</a
>
</h1>
<p><description>一个啥都不会的屑</description></p>
</div>
</header>
<contents>
<group id="channel">
<card id="blog">
<a href="https://blog.186526.xyz" alt="186526's Blog"
><img src="https://storage.186526.xyz/home-app/assets/hexo.svg"
/></a>
</card>
<card id="status">
<a href="https://status.186526.eu.org/" alt="186526's Status"
><img
src="https://storage.186526.xyz/home-app/assets/uptimerobot.ico"
/></a>
</card>
<card id="dn42">
<a href="https://net.186526.xyz" alt="186526 Network @ DN42"
><img src="https://storage.186526.xyz/home-app/assets/dn42.png"
/></a>
</card>
<card id="github">
<a href="https://github.com/186526" alt="Github"
><img
src="https://storage.186526.xyz/home-app/assets/github.svg"
/></a>
</card>
<card id="telegram">
<a href="https://t.me/real186526" alt="Telegram"
><img
src="https://storage.186526.xyz/home-app/assets/telegram.svg"
/></a>
</card>
<card id="email">
<a href="mailto:admin@186526.xyz" alt="Email">
<icon>mail</icon>
</a>
</card>
</group>
<group id="friend">
<card>
<a
href="https://zikin.org/"
alt="Zikin的独立博客 - 青春大概如你所说"
><img
src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg"
/></a>
</card>
<card>
<a
href="https://blog.skrshadow.cn/"
alt="Skrshadow - 是红雨, 斯哈斯哈"
><img
src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4"
/></a>
</card>
<card>
<a href="https://radium-bit.github.io/" alt="Radium-bit"
><img
src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp"
/></a>
</card>
<card>
<a href="https://jimmyqin.com/" alt="JimmyQin's Blog"
><img src="https://jimmyqin.com/images/avatar.png"
/></a>
</card>
<card>
<a
href="https://laple.me"
alt="Lapis Apple - 一个回收站里面住着Lapis Apple。"
><img
src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png"
/></a>
</card>
<card>
<a
href="https://blog.maxelbk.eu.org"
alt="Maxel Black - Code & write what we want."
><img src="https://blog.maxelbk.eu.org/r/maxel.jpg"
/></a>
</card>
</group>
<group id="footer">
<div>
<a href="https://i.186526.xyz/pgp_keys.asc">
<img
alt="Keybase PGP"
src="https://blog.186526.xyz/shields.io/keybase/pgp/186526"
/>
</a>
<a href="https://icp.gov.moe/?keyword=20218600"
><img
alt="Moe ICP 20218600"
src="https://blog.186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue"
/></a>
<a href="https://status.186526.eu.org/"
><img
src="https://blog.186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8"
/></a>
<a alt="CI Status" href="https://ci.186526.xyz/186526/home-app">
<img
src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg"
/>
</a>
</div>
<p>
Running on <a href="https://net.186526.xyz">186526 Network</a>.
</p>
<p>Copyright © 2020 - Now 186526.xyz All rights Reserved.</p>
</group>
</contents>
</app>
</body>
<none id="description-list">
<p>一个啥都不会的屑</p>
<p>
LSP, Verified by
<img
src="https://storage.186526.xyz/home-app/assets/lama.avatar.png"
alt="lama3l9r's avatar"
/>
and
<img
src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png"
alt="lsp's avatar"
/>
</p>
<p>Less code, more bug.</p>
<p>Arknights Player</p>
<p>btw, I use arch</p>
<p><code>console.log('Arch is the best!');</code></p>
<p>24岁, 是学生</p>
<p>一天25小时绝赞配网中...</p>
<p>DN42 贴(pi)贴(er)请求中...</p>
<p>大陆北方网友</p>
<p>Linux user ✗ KVM user ✓</p>
<p>世界一级拖延症证书持有者</p>
<p>想拥有强大的自制力</p>
<p>想做好自己</p>
<p>wowaka, 晚安.</p>
</none>
</head> </head>
</html>
<body>
<app>
<background>
<p>PID @ 78361641</p>
</background>
<header>
<img src="./avatar.png" alt="avatar" width="100px" />
<div>
<h1><a href="https://186526.xyz" title="186526.xyz - It's me, 186526!">It's me, 186526!</a></h1>
<description>一个啥都不会的屑</description>
</div>
</header>
<contents>
<group id="channel">
<card id="blog">
<a href="https://blog.186526.xyz" alt="186526's Blog"><img
src='https://storage.186526.xyz/home-app/assets/hexo.svg' /></a>
</card>
<card id="status">
<a href="https://status.186526.eu.org/" alt="186526's Status"><img
src="https://storage.186526.xyz/home-app/assets/uptimerobot.ico" /></a>
</card>
<card id="dn42">
<a href="https://net.186526.xyz" alt="186526 Network @ DN42"><img
src="https://storage.186526.xyz/home-app/assets/dn42.png" /></a>
</card>
<card id="github">
<a href="https://github.com/186526" alt="Github"><img
src="https://storage.186526.xyz/home-app/assets/github.svg" /></a>
</card>
<card id="telegram">
<a href="https://t.me/real186526" alt="Telegram"><img
src="https://storage.186526.xyz/home-app/assets/telegram.svg" /></a>
</card>
<card id="email">
<a href="mailto:admin@186526.xyz" alt="Email">
<icon>mail</icon>
</a>
</card>
</group>
<group id="friend">
<card>
<a href="https://zikin.org/" alt="Zikin的独立博客 - 青春大概如你所说"><img
src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg" /></a>
</card>
<card>
<a href="https://blog.skrshadow.cn/" alt="Skrshadow - 是红雨, 斯哈斯哈"><img
src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4" /></a>
</card>
<card>
<a href="https://radium-bit.github.io/" alt="Radium-bit"><img
src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp" /></a>
</card>
<card>
<a href="https://jimmyqin.com/" alt="JimmyQin's Blog"><img src="https://jimmyqin.com/images/avatar.png" /></a>
</card>
<card>
<a href="https://laple.me" alt="Lapis Apple - 一个回收站里面住着Lapis Apple。"><img
src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png" /></a>
</card>
<card>
<a href="https://blog.maxelbk.eu.org" alt="Maxel Black - Code & write what we want."><img
src="https://blog.maxelbk.eu.org/r/maxel.jpg" /></a>
</card>
</group>
<group id="footer">
<div>
<a href="https://i.186526.xyz/pgp_keys.asc">
<img alt="Keybase PGP" src="https://blog.186526.xyz/shields.io/keybase/pgp/186526">
</a>
<a href="https://icp.gov.moe/?keyword=20218600"><img alt="Moe ICP 20218600"
src="https://blog.186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue" /></a>
<a href="https://status.186526.eu.org/"><img
src="https://blog.186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8" /></a>
<a alt="CI Status" href="https://ci.186526.xyz/186526/home-app">
<img src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg" />
</a>
</div>
<p>Running on <a href="https://net.186526.xyz">186526 Network</a>.</p>
<p>Copyright © 2021
186526.xyz All rights Reserved.</p>
</group>
</contents>
</app>
</body>
<none id="description-list">
<p>一个啥都不会的屑</p>
<p>LSP, Verified by <img src="https://storage.186526.xyz/home-app/assets/lama.avatar.png" alt="lama3l9r's avatar" />
and <img src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png" alt="lsp's avatar" /></p>
<p>Less code, more bug.</p>
<p>Arknights Player</p>
<p>btw, I use arch</p>
<p><code>console.log('Arch is the best!');</code></p>
<p>24岁, 是学生</p>
<p>一天25小时绝赞配网中...</p>
<p>DN42 贴(pi)贴(er)请求中...</p>
<p>大陆北方网友</p>
<p>Linux user ✗ KVM user ✓</p>
<p>世界一级<br>拖延症证书持有者</p>
<p>想拥有强大的自制力</p>
<p>wowaka, 晚安.</p>
</none>
</head>
</html>

View File

@ -1,9 +1,9 @@
module.exports = { module.exports = {
plugins: [ plugins: [
require("postcss-css-variables")(), require("postcss-css-variables")(),
require('autoprefixer')(), require("autoprefixer")(),
require('cssnano')({ require("cssnano")({
preset: 'default', preset: "default",
}), }),
] ],
} };

View File

@ -1,22 +1,22 @@
{ {
"name": "It's me, 186526!", "name": "It's me, 186526!",
"short_name": "186526.xyz", "short_name": "186526.xyz",
"lang": "zh-CN", "lang": "zh-CN",
"start_url": "/", "start_url": "/",
"display": "standalone", "display": "standalone",
"theme_color": "#2A2734", "theme_color": "#2A2734",
"background_color": "#FBDBC4", "background_color": "#FBDBC4",
"icons": [ "icons": [
{ {
"src": "./maskable.png", "src": "./maskable.png",
"sizes": "1269x1269", "sizes": "1269x1269",
"type": "image/png", "type": "image/png",
"purpose": "any maskable" "purpose": "any maskable"
}, },
{ {
"src": "./avatar.webp", "src": "./avatar.webp",
"sizes": "512x512", "sizes": "512x512",
"type": "image/webp" "type": "image/webp"
} }
] ]
} }

View File

@ -1,60 +1,57 @@
importScripts( importScripts("workbox/workbox-sw.js");
'workbox/workbox-sw.js', self.addEventListener("install", (e) => {
); self.skipWaiting();
self.addEventListener('install', (e) => {
self.skipWaiting();
}); });
if (workbox) { if (workbox) {
workbox.core.setCacheNameDetails({ workbox.core.setCacheNameDetails({
prefix: 'home-app', prefix: "home-app",
suffix: '0.0.3', suffix: "0.0.3",
precache: 'precache', precache: "precache",
runtime: 'runtime', runtime: "runtime",
}); });
workbox.routing.registerRoute( workbox.routing.registerRoute(
/\/assets/, /\/assets/,
new workbox.strategies.CacheFirst({ new workbox.strategies.CacheFirst({
plugins: [ plugins: [
new workbox.expiration.Plugin({ new workbox.expiration.Plugin({
maxAgeSeconds: 24 * 60 * 60, maxAgeSeconds: 24 * 60 * 60,
}),
],
cacheName: 'assets',
}), }),
); ],
workbox.routing.registerRoute( cacheName: "assets",
'/manifest.json', })
new workbox.strategies.StaleWhileRevalidate({ );
plugins: [ workbox.routing.registerRoute(
new workbox.expiration.Plugin({ "/manifest.json",
maxAgeSeconds: 7 * 24 * 60 * 60, new workbox.strategies.StaleWhileRevalidate({
}), plugins: [
], new workbox.expiration.Plugin({
cacheName: 'assets', maxAgeSeconds: 7 * 24 * 60 * 60,
}), }),
); ],
workbox.routing.registerRoute( cacheName: "assets",
'/', })
new workbox.strategies.StaleWhileRevalidate({ );
plugins: [ workbox.routing.registerRoute(
new workbox.expiration.Plugin({ "/",
maxAgeSeconds: 60 * 60 * 24, new workbox.strategies.StaleWhileRevalidate({
}), plugins: [
], new workbox.expiration.Plugin({
cacheName: 'assets', maxAgeSeconds: 60 * 60 * 24,
}), }),
); ],
workbox.routing.registerRoute( cacheName: "assets",
/\**/, })
new workbox.strategies.StaleWhileRevalidate({ );
plugins: [ workbox.routing.registerRoute(
new workbox.expiration.Plugin({ /\**/,
maxAgeSeconds: 60 * 60 * 24, new workbox.strategies.StaleWhileRevalidate({
}), plugins: [
], new workbox.expiration.Plugin({
cacheName: 'assets', maxAgeSeconds: 60 * 60 * 24,
}), }),
); ],
cacheName: "assets",
})
);
} }

View File

@ -6,48 +6,49 @@ import "./styles.css";
import Typed from "typed.js"; import Typed from "typed.js";
window.addEventListener("load", (_ev) => { window.addEventListener("load", (_ev) => {
new Typed(document.querySelector("description") ?? "description", { new Typed(document.querySelector("description") ?? "description", {
stringsElement: "#description-list", stringsElement: "#description-list",
shuffle: true, shuffle: true,
typeSpeed: 60, typeSpeed: 60,
backDelay: 2000, backDelay: 2000,
fadeOut: false, fadeOut: true,
loop: true, loop: true,
showCursor: false, showCursor: true,
}); smartBackspace: true,
});
document.querySelectorAll("[alt]").forEach((Elem) => { document.querySelectorAll("[alt]").forEach((Elem) => {
const tooltip = document.createElement("tooltiptext"); const tooltip = document.createElement("tooltiptext");
tooltip.innerText = Elem.getAttribute("alt") ?? ""; tooltip.innerText = Elem.getAttribute("alt") ?? "";
Elem.appendChild(tooltip); Elem.appendChild(tooltip);
}); });
// @ts-expect-error // @ts-expect-error
document.querySelector( document.querySelector(
"#footer > div" "#footer > div"
).innerHTML += `<a href="https://git.186526.xyz/186526/home-app"><img alt="Update Commit" src="https://blog.186526.xyz/shields.io/badge/commit-${__APP_VERSION__}-blue" /></a> <img alt="Latest Update" src="https://blog.186526.xyz/shields.io/date/${__APP_BUILD_TIME__}?color=sucessful&label=latest%20update" />`; ).innerHTML += `<a href="https://git.186526.xyz/186526/home-app"><img alt="Update Commit" src="https://blog.186526.xyz/shields.io/badge/commit-${__APP_VERSION__}-blue" /></a> <img alt="Latest Update" src="https://blog.186526.xyz/shields.io/date/${__APP_BUILD_TIME__}?color=sucessful&label=latest%20update" />`;
if ("serviceWorker" in navigator) { if ("serviceWorker" in navigator) {
navigator.serviceWorker navigator.serviceWorker
.register("./sw.js", { .register("./sw.js", {
scope: "/", scope: "/",
}) })
.then(function (registration) { .then(function (registration) {
console.log( console.log(
"ServiceWorker registration successful with scope: ", "ServiceWorker registration successful with scope: ",
registration.scope registration.scope
); );
}) })
.catch(function (err) { .catch(function (err) {
console.warn("ServiceWorker registration failed: ", err); console.warn("ServiceWorker registration failed: ", err);
}); });
let refreshing = false; let refreshing = false;
navigator.serviceWorker.addEventListener("controllerchange", () => { navigator.serviceWorker.addEventListener("controllerchange", () => {
if (refreshing) { if (refreshing) {
return; return;
} }
refreshing = true; refreshing = true;
window.location.reload(); window.location.reload();
}); });
} }
}); });

View File

@ -1,183 +1,183 @@
:root { :root {
--background-color: #fff; --background-color: #fff;
--font-color: #000; --font-color: #000;
--font-color-lighter: rgb(87, 89, 88); --font-color-lighter: rgb(87, 89, 88);
--font-size-main: 3.045rem; --font-size-main: 3.045rem;
--font-size-description: 1.245rem; --font-size-description: 1.245rem;
--lineheight-description: 1.845rem; --lineheight-description: 1.845rem;
--box-color: #f2f2f2; --box-color: rgba(242, 242, 242, 0.5);
--working-color: #137333; --working-color: #137333;
--working-color-background: #e6f4ea; --working-color-background: #e6f4ea;
--error-color-background: #fce8e6; --error-color-background: #fce8e6;
--error-color: #c5221f; --error-color: #c5221f;
--working-with-error-color: #b05a00; --working-with-error-color: #b05a00;
--working-with-error-color-background: #fef7e0; --working-with-error-color-background: #fef7e0;
--linear-start-color: #f37335; --linear-start-color: #f37335;
--linear-end-color: #ff4200fc; --linear-end-color: #ff4200fc;
--icon-size: 48px; --icon-size: 48px;
--mask-color: rgba(255, 255, 255, 0.5); --mask-color: rgba(255, 255, 255, 0.5);
} }
h2, h2,
h1 { h1 {
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif; font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
background-image: linear-gradient( background-image: linear-gradient(
90deg, 90deg,
var(--linear-start-color), var(--linear-start-color),
var(--linear-end-color) var(--linear-end-color)
) !important; ) !important;
color: transparent !important; color: transparent !important;
-webkit-background-clip: text; -webkit-background-clip: text;
background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
div, div,
p { p {
font-family: Roboto, Noto Sans SC, sans-serif; font-family: Roboto, Noto Sans SC, sans-serif;
line-height: 140%; line-height: 140%;
} }
body { body {
margin: 6rem 5vw; margin: 20vh calc(10vw - 0.5rem);
font-family: Roboto, Noto Sans SC, sans-serif; font-family: Roboto, Noto Sans SC, sans-serif;
color: var(--font-color); color: var(--font-color);
background-color: var(--background-color); background-color: var(--background-color);
} }
background > p { background > p {
visibility: hidden; visibility: hidden;
position: absolute; position: absolute;
top: 69vh; top: 69vh;
right: 0; right: 0;
color: var(--font-color-lighter); color: var(--font-color-lighter);
font-size: calc(var(--font-size-description) - 0.4rem); font-size: calc(var(--font-size-description) - 0.4rem);
} }
background:hover > p { background:hover > p {
visibility: visible; visibility: visible;
} }
a { a {
text-decoration: none; text-decoration: none;
color: #1967d2; color: #1967d2;
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
body { body {
margin: 6rem 2vw; margin: 20vh calc(4vw - 0.5rem);
} }
.toast { .toast {
margin: 0 2vw !important; margin: 0 2vw !important;
} }
:root { :root {
--font-size-main: 2.25rem; --font-size-main: 2.25rem;
--font-size-description: 1.045rem; --font-size-description: 1.045rem;
} }
} }
code { code {
font-family: Fira Mono, monospace; font-family: Fira Mono, monospace;
} }
none { none {
display: none; display: none;
} }
icon { icon {
vertical-align: middle; vertical-align: middle;
font-size: 48px; font-size: 48px;
font-family: "Material Icons Outlined"; font-family: "Material Icons Outlined";
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
line-height: 1; line-height: 1;
letter-spacing: normal; letter-spacing: normal;
text-transform: none; text-transform: none;
display: inline-block; display: inline-block;
white-space: nowrap; white-space: nowrap;
word-wrap: normal; word-wrap: normal;
direction: ltr; direction: ltr;
-webkit-font-feature-settings: "liga"; -webkit-font-feature-settings: "liga";
font-feature-settings: "liga"; font-feature-settings: "liga";
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
} }
background { background {
top: 0px; top: 0px;
right: 0px; right: 0px;
float: right; float: right;
position: absolute; position: absolute;
min-width: 100%; min-width: 100%;
min-height: 75vh; min-height: 75vh;
background-size: cover; background-size: cover;
background-image: url(https://storage.186526.xyz/home-app/assets/background.webp), background-image: url(https://storage.186526.xyz/home-app/assets/background.webp),
url(https://storage.186526.xyz/home-app/assets/background.png); url(https://storage.186526.xyz/home-app/assets/background.png);
z-index: -1; z-index: -1;
border-radius: 0 0 15px 15px; border-radius: 0 0 15px 15px;
filter: blur(0.2px); filter: blur(0.2px);
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
:root { :root {
--font-color: #e8eaed; --font-color: #e8eaed;
--font-color-lighter: #9aa0a6; --font-color-lighter: #9aa0a6;
--background-color: #121212; --background-color: #121212;
--box-color: rgb(40 40 40 / 73%); --box-color: rgb(40 40 40 / 73%);
--working-color-background: rgba(129, 201, 149, 0.24); --working-color-background: rgba(129, 201, 149, 0.24);
--error-color-background: rgba(242, 139, 130, 0.24); --error-color-background: rgba(242, 139, 130, 0.24);
--working-with-error-color-background: rgba(253, 214, 99, 0.24); --working-with-error-color-background: rgba(253, 214, 99, 0.24);
--working-color: #81c995; --working-color: #81c995;
--error-color: #f28b82; --error-color: #f28b82;
--working-with-error-color: #fdd663; --working-with-error-color: #fdd663;
--linear-start-color: #0c8cca; --linear-start-color: #0c8cca;
--linear-end-color: #00bdff; --linear-end-color: #00bdff;
--mask-color: rgba(0, 0, 0, 0.5); --mask-color: rgba(0, 0, 0, 0.5);
} }
background { background {
filter: brightness(50%); filter: brightness(50%);
} }
} }
tooltiptext { tooltiptext {
display: none; display: none;
visibility: hidden; visibility: hidden;
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif; font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
width: 120px; width: 120px;
background-color: #555; background-color: #555;
color: #fff; color: #fff;
text-align: center; text-align: center;
padding: 5px 0; padding: 5px 0;
border-radius: 6px; border-radius: 6px;
opacity: 0; opacity: 0;
transition: opacity 0.6s; transition: opacity 0.6s;
position: absolute; position: absolute;
z-index: 1; z-index: 1;
} }
:hover > tooltiptext { :hover > tooltiptext {
display: block; display: block;
visibility: visible; visibility: visible;
opacity: 1; opacity: 1;
} }
.toast { .toast {
background: var(--mask-color); background: var(--mask-color);
border-radius: 8px; border-radius: 8px;
display: block; display: block;
padding: 0.4rem; padding: 0.4rem;
width: 100%; width: 100%;
left: 0px; left: 0px;
position: absolute; position: absolute;
top: 8px; top: 8px;
right: 0px; right: 0px;
width: -webkit-fill-available; width: -webkit-fill-available;
width: fill-available; width: fill-available;
margin: 0 5vw; margin: 0 5vw;
backdrop-filter: blur(15px); backdrop-filter: blur(15px);
} }

View File

@ -1,31 +1,28 @@
contents { contents {
display: flex; display: flex;
position: absolute; position: relative;
top: 75vh; top: 32.5vh;
right: 0vh; right: 0vh;
left: 0vh; left: 0vh;
margin: 0vh calc(5vw - 0.5rem);
justify-content: center;
align-items: flex-start;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
align-items: flex-start;
flex-direction: column;
flex-wrap: nowrap;
} }
contents > group { contents > group {
display: flex; display: flex;
margin: 2.5vh 0; margin: 2.5vh 0;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
align-items: stretch; align-items: stretch;
} }
card { card {
display: flex; display: flex;
background-color: var(--box-color); background-color: var(--box-color);
padding: 2rem; padding: 2rem;
min-height: 3rem; min-height: 3rem;
@ -33,27 +30,29 @@ card {
flex-grow: 1; flex-grow: 1;
margin-top: 1rem; margin-top: 1rem;
margin-right: 0.5rem; margin-right: 0.5rem;
margin-left: 0.5rem; margin-left: 0.5rem;
align-content: center; align-content: center;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
backdrop-filter: blur(15px);
} }
card > a > img { card > a > img {
max-height: 48px; max-height: 48px;
max-width: 48px; max-width: 48px;
vertical-align: middle; vertical-align: middle;
} }
group#friend > card > a > img { group#friend > card > a > img {
max-height: 48px; max-height: 48px;
max-width: 48px; max-width: 48px;
border-radius: 100px; border-radius: 100px;
} }
group#footer { group#footer {
display: block; display: block;
margin: 2rem 0.5rem; margin: 2rem 0.5rem;
align-self: flex-start; align-self: flex-start;
color: var(--font-color-lighter); color: var(--font-color-lighter);
font-size: calc(var(--font-size-description) - 0.4rem); font-size: calc(var(--font-size-description) - 0.4rem);
@ -64,14 +63,19 @@ group#footer > * {
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
card#github > a > img { card#github > a > img {
filter: invert(100%); filter: invert(100%);
} }
} }
@media screen and (max-width: 1024px) {
contents {
top: 27.5vh;
}
}
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
contents { contents {
margin: 0 calc(2vw - 0.5rem); top: 20vh;
} }
} }

View File

@ -7,6 +7,11 @@ header > div {
align-content: stretch; align-content: stretch;
} }
header p {
margin-block-start: 0em;
margin-block-end: 0em;
}
header > div h1 { header > div h1 {
margin-block-start: 0em; margin-block-start: 0em;
margin-block-end: 0em; margin-block-end: 0em;
@ -54,10 +59,16 @@ header > img {
align-items: center; align-items: center;
} }
} }
@media screen and (max-width: 480px) {
@media screen and (max-width: 1024px) {
header { header {
width: -moz-available; width: -moz-available;
width: -webkit-fill-available; width: -webkit-fill-available;
width: fill-available; width: fill-available;
} }
} }
@media screen and (max-width: 480px) {
header {
min-height: 30vh;
}
}

View File

@ -1,55 +1,55 @@
{ {
"routes": [ "routes": [
{ {
"src": "/(.*)", "src": "/(.*)",
"headers": { "headers": {
"Cache-Control": "s-maxage=1209600, max-age=86400, public", "Cache-Control": "s-maxage=1209600, max-age=86400, public",
"Strict-Transport-Security": "max-age=63072000; includeSubDomains; preload", "Strict-Transport-Security": "max-age=63072000; includeSubDomains; preload",
"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS", "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Accept, Authorization, Cache-Control, Content-Type, DNT, If-Modified-Since, Keep-Alive, Origin, User-Agent, X-Requested-With, Token, x-access-token" "Access-Control-Allow-Headers": "Accept, Authorization, Cache-Control, Content-Type, DNT, If-Modified-Since, Keep-Alive, Origin, User-Agent, X-Requested-With, Token, x-access-token"
}, },
"continue": true "continue": true
}, },
{ {
"src": "/goto/github", "src": "/goto/github",
"status": 302, "status": 302,
"headers": { "headers": {
"Location": "https://github.com/186526" "Location": "https://github.com/186526"
} }
}, },
{ {
"src": "/goto/telegram", "src": "/goto/telegram",
"status": 302, "status": 302,
"headers": { "headers": {
"Location": "https://t.me/real186526" "Location": "https://t.me/real186526"
} }
}, },
{ {
"src": "/goto/blog", "src": "/goto/blog",
"status": 302, "status": 302,
"headers": { "headers": {
"Location": "https://blog.186526.xyz" "Location": "https://blog.186526.xyz"
} }
}, },
{ {
"src": "/goto/email", "src": "/goto/email",
"status": 302, "status": 302,
"headers": { "headers": {
"Location": "mailto:admin@186526.xyz" "Location": "mailto:admin@186526.xyz"
} }
}, },
{ {
"src": "/generate_204", "src": "/generate_204",
"status": 204, "status": 204,
"headers": { "headers": {
"X-Powered-By": "SW2Express", "X-Powered-By": "SW2Express",
"Server": "sw=>express" "Server": "sw=>express"
} }
}, },
{ {
"src": "/v2/(.*)", "src": "/v2/(.*)",
"dest": "https://registry.186526.xyz/v2/$1" "dest": "https://registry.186526.xyz/v2/$1"
} }
] ]
} }

View File

@ -1,20 +1,23 @@
import child_process from "child_process" import child_process from "child_process";
import legacy from '@vitejs/plugin-legacy'; import legacy from "@vitejs/plugin-legacy";
/** /**
* @type {import('vite').UserConfig} * @type {import('vite').UserConfig}
*/ */
const config = { const config = {
base: './', base: "./",
define: { define: {
'__APP_VERSION': child_process.execSync('git rev-parse --short HEAD').toString().replace("\n",""), __APP_VERSION: child_process
'__APP_BUILD_TIME': Math.floor(Date.now() / 1000), .execSync("git rev-parse --short HEAD")
}, .toString()
plugins: [ .replace("\n", ""),
legacy({ __APP_BUILD_TIME: Math.floor(Date.now() / 1000),
targets: ['ie >= 11'], },
additionalLegacyPolyfills: ['regenerator-runtime/runtime'] plugins: [
}) legacy({
] targets: ["ie >= 11"],
} additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
export default config }),
],
};
export default config;