Compare commits

...

24 Commits

Author SHA1 Message Date
e8c81870d6 update 2024-11-19 00:44:18 +08:00
7176a420a3 update 2024-07-30 14:18:33 +08:00
ef3e9b2106 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-05-20 22:01:30 +08:00
806dce72fd add some new text
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-11 01:14:14 +08:00
70773342f7 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-26 22:13:12 +08:00
3d91194116 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-26 21:55:56 +08:00
b4b5bebaf4 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-19 08:47:52 +08:00
04365b0b24 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-13 04:25:14 +08:00
f4d71d436c update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-13 04:18:45 +08:00
9f4599eb75 Update subscription
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-13 03:36:49 +08:00
2248c5519b 更新 index.html
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-07 23:02:25 +00:00
2d491cc71c update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-08 07:53:07 +09:00
5bced2a146 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-08 07:49:36 +09:00
22a52b0e17 update
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-08 07:42:58 +09:00
12ab17e241 update
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2024-02-08 05:20:44 +09:00
754094644e update
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
2023-03-21 21:42:44 +08:00
fe2f67515b update 2023-03-21 21:37:23 +08:00
c05ef4a722 Update
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 13:28:44 +08:00
be4520cebd Update
Some checks failed
continuous-integration/drone/push Build is failing
2022-05-03 13:21:55 +08:00
bd1d2749ad Update
Some checks reported errors
continuous-integration/drone/push Build encountered an error
continuous-integration/drone Build is failing
2022-05-03 13:14:12 +08:00
fab62a506d Update
Some checks failed
continuous-integration/drone/push Build is failing
2022-05-03 12:43:30 +08:00
d68a7844c3 Update
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2022-05-02 22:52:08 +08:00
0835169c9b Update
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-02 17:23:18 +08:00
2895512684 Update
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-02 17:19:18 +08:00
16 changed files with 838 additions and 635 deletions

View File

@ -3,41 +3,40 @@ type: docker
name: build-and-deploy name: build-and-deploy
steps: steps:
- name: restore-cache
image: drillster/drone-volume-cache
settings:
restore: true
mount:
- ./node_modules
volumes:
- name: cache
path: /cache
- name: build - name: build
image: node:lts-bullseye image: node:lts-bullseye
commands: commands:
- apt-get update -y && apt-get install git -y - apt-get update -y && apt-get install git -y
- yarn && yarn build - yarn && yarn build
- name: upload - name: rebuild-cache
image: plugins/s3 image: drillster/drone-volume-cache
settings: settings:
bucket: home-app rebuild: true
region: us-ashburn-02 mount:
acl: public-read - ./node_modules
endpoint: https://storage.186526.xyz volumes:
access_key: - name: cache
from_secret: s3_access_key path: /cache
secret_key:
from_secret: s3_secret_key
source: dist/**/*
target: /dist
path_style: true
- name: docker
image: plugins/docker
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
auto_tag: true
repo: registry.186526.xyz/home-app
registry: registry.186526.xyz
- name: notification - name: notification
image: appleboy/drone-telegram image: appleboy/drone-telegram
settings: settings:
token: token:
from_secret: telegram_bot_token from_secret: telegram_bot_token
to: real186526 to: real186526
volumes:
- name: cache
host:
path: /tmp/drone/cache

View File

@ -1,3 +1,3 @@
FROM nginx FROM nginx:alpine
COPY dist /usr/share/nginx/html COPY dist /usr/share/nginx/html
EXPOSE 80 EXPOSE 80

97
deploy.yaml Normal file
View File

@ -0,0 +1,97 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: home-app
namespace: dn42
labels:
app: home-app
dn42: "yes"
spec:
replicas: 5
selector:
matchLabels:
app: home-app
template:
metadata:
labels:
app: home-app
spec:
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: edge/region
# operator: In
# values:
# - eu
containers:
- name: "home-app"
image: "registry.186526.xyz/home-app:latest"
imagePullPolicy: Always
resources:
limits:
memory: 64Mi
cpu: 250m
ports:
- name: web
containerPort: 80
protocol: TCP
env:
- name: REGION
valueFrom:
fieldRef:
fieldPath: spec.nodeName
---
apiVersion: v1
kind: Service
metadata:
name: "home-app"
namespace: dn42
spec:
type: ClusterIP
ports:
- port: 80
name: web
selector:
app: "home-app"
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: "home-app-ingress"
namespace: dn42
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.middlewares: edge-network-middleware@file,compress@file
kubernetes.io/ingress.class: traefik
cert-manager.io/cluster-issuer: dn42-acme
spec:
tls:
- secretName: home-app-cert
hosts:
- home-app.186526.dn42
- home.186526.dn42
rules:
- host: home-app.186526.dn42
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "home-app"
port:
number: 80
- host: home.186526.dn42
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "home-app"
port:
number: 80

View File

@ -22,6 +22,7 @@
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet" /> <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" /> <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 type="module" src="./src/main.ts"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"></script>
<script> <script>
window.dataLayer = window.dataLayer || []; window.dataLayer = window.dataLayer || [];
@ -30,10 +31,25 @@
gtag('config', 'G-PVVC00CJ26'); gtag('config', 'G-PVVC00CJ26');
</script> </script>
<meta name="description" content="It's me, 186526! | 186526 的自留地" />
<meta property="og:type" content="website" /> <script defer src="https://analytics.186526.net/script.js" data-website-id="5a54816d-378c-467c-834a-f7d665f72b9d"></script>
<meta property="og:title" content="It's me, 186526! | 186526.xyz" />
<meta name="og:description" content="It's me, 186526! | 186526 的自留地" /> <meta name="description" content="It's me, 186526! | real186526 的自留地">
<!-- Facebook Meta Tags -->
<meta property="og:url" content="https://186526.xyz">
<meta property="og:type" content="website">
<meta property="og:title" content="It's me, 186526! | 186526.xyz">
<meta property="og:description" content="It's me, 186526! | real186526 的自留地">
<meta property="og:image" content="./assets/og.png">
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="186526.xyz">
<meta property="twitter:url" content="https://186526.xyz">
<meta name="twitter:title" content="It's me, 186526! | 186526.xyz">
<meta name="twitter:description" content="It's me, 186526! | real186526 的自留地">
<meta name="twitter:image" content="./assets/og.png">
<link rel="manifest" href="./manifest.json" /> <link rel="manifest" href="./manifest.json" />
</head> </head>
@ -41,7 +57,7 @@
<body> <body>
<app> <app>
<background> <background>
<p>PID @ 78361641</p> <p>Pixiv ID @ 78361641</p>
</background> </background>
<header> <header>
@ -59,7 +75,7 @@
<contents> <contents>
<group id="channel"> <group id="channel">
<card id="blog"> <card id="blog">
<a href="https://blog.186526.xyz" aria-label="goto 186526's Blog" alt="186526's Blog"><img alt="186526's Blog" <a href="https://blog.186526.xyz/?utm_source=home" aria-label="goto 186526's Blog" alt="186526's Blog"><img alt="186526's Blog"
src="assets/hexo.svg" /></a> src="assets/hexo.svg" /></a>
</card> </card>
<card id="status"> <card id="status">
@ -67,8 +83,8 @@
alt="186526's Status" src="assets/uptimerobot.ico" /></a> alt="186526's Status" src="assets/uptimerobot.ico" /></a>
</card> </card>
<card id="dn42"> <card id="dn42">
<a href="https://net.186526.xyz" aria-label="goto 186526 Network @ DN42" alt="186526 Network @ DN42"><img <a href="https://186526.net" aria-label="goto 186526 Network" alt="186526 Network"><img alt="186526 Network"
alt="186526 Network @ DN42" src="assets/dn42.svg" /></a> src="assets/dn42.svg" /></a>
</card> </card>
<card id="gitea"> <card id="gitea">
<a href="https://git.186526.xyz" aria-label="goto 186526's Gitea" alt="186526's Gitea"><img <a href="https://git.186526.xyz" aria-label="goto 186526's Gitea" alt="186526's Gitea"><img
@ -83,87 +99,112 @@
src="assets/telegram.svg" /></a> src="assets/telegram.svg" /></a>
</card> </card>
<card id="email"> <card id="email">
<a href="mailto:admin@186526.xyz" aria-label="send email to admin@186526.xyz" alt="Email"> <a href="mailto:i@186526.xyz" aria-label="send email to i@186526.xyz" alt="Email">
<icon>mail</icon> <icon>mail</icon>
</a> </a>
</card> </card>
</group> </group>
<group id="friend"> <group id="friend">
<card> <card>
<a href="https://zikin.org/" aria-label="goto Zikin's Blog" alt="Zikin的独立博客 - 青春大概如你所说"><img alt="Zikin的独立博客" <a href="https://zikin.org/" aria-label="goto Zikin's Blog" alt="Zikin的独立博客 - 青春大概如你所说" target="_blank"
rel="noopener"><img alt="Zikin的独立博客 - 青春大概如你所说"
src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg" /></a> src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg" /></a>
</card> </card>
<card> <card>
<a href="https://blog.skrshadow.cn/" aria-label="goto Skrshadow's Blog" alt="Skrshadow - 是红雨, 斯哈斯哈"><img <a href="https://blog.skrshadow.cn/" aria-label="goto Skrshadow's Blog" alt="Skrshadow - 是红雨, 斯哈斯哈"
alt="Skrshadow" src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4" /></a> target="_blank" rel="noopener"><img alt="Skrshadow - 是红雨, 斯哈斯哈"
src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4" /></a>
</card> </card>
<card> <card>
<a href="https://radium-bit.github.io/" aria-label="goto Radium-bit's Blog" alt="Radium-bit"><img <a href="https://radium-bit.github.io/" aria-label="goto Radium-bit's Blog" alt="Radium-bit" target="_blank"
alt="Radium-bit" src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp" /></a> rel="noopener"><img alt="Radium-bit"
src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp" /></a>
</card> </card>
<card> <card>
<a href="https://jimmyqin.com/" aria-label="goto JimmyQin's Blog" alt="JimmyQin's Blog"><img <a href="https://blog.maxelbk.eu.org" aria-label="goto Maxel Black's Blog" target="_blank" rel="noopener"
src="https://jimmyqin.com/images/avatar.png" alt="JimmyQin's Blog" /></a> alt="Maxel Black - Code & write what we want."><img alt="Maxel Black - Code & write what we want."
</card>
<card>
<a href="https://laple.me" alt="Lapis Apple - 一个回收站里面住着Lapis Apple。"
aria-label="goto Lapis Apple's Blog"><img alt="Lapis Apple"
src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png" /></a>
</card>
<card>
<a href="https://blog.maxelbk.eu.org" aria-label="goto Maxel Black's Blog"
alt="Maxel Black - Code & write what we want."><img alt="Maxel Black"
src="https://blog.maxelbk.eu.org/r/maxel.jpg" /></a> src="https://blog.maxelbk.eu.org/r/maxel.jpg" /></a>
</card> </card>
</group> </group>
<group id="footer"> <group id="footer">
<a alt="Github followers" href="https://github.com/186526" target="_blank" rel="noopener"><img
alt="Github followers" src="https://186526.xyz/shields.io/github/followers/186526
" /></a>
<br>
<div> <div>
<a alt="PGP Key" href="https://i.186526.xyz/pgp_keys.asc"> <a alt="PGP Key" href="https://i.186526.xyz/pgp_keys.asc" target="_blank" rel="noopener">
<img alt="PGP Key" src="https://blog.186526.xyz/shields.io/keybase/pgp/186526" /> <img alt="PGP Key" src="https://186526.xyz/shields.io/keybase/pgp/186526" />
</a> </a>
<a alt="Moe ICP 20218600" href="https://icp.gov.moe/?keyword=20218600"><img alt="Moe ICP 20218600" <a alt="Moe ICP 20218600" href="https://icp.gov.moe/?keyword=20218600" target="_blank" rel="noopener"><img
src="https://blog.186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue" /></a> alt="Moe ICP 20218600"
src="https://186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue" /></a>
<a alt="186526.xyz Uptime" href="https://status.186526.eu.org/"><img alt="186526.xyz Uptime" <a alt="186526.xyz Uptime" href="https://status.186526.eu.org/" target="_blank" rel="noopener"><img
src="https://blog.186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8" /></a> alt="186526.xyz Uptime"
src="https://186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8" /></a>
<a alt="CI Status" href="https://ci.186526.xyz/186526/home-app"> <a alt="CI Status" href="https://ci.186526.xyz/186526/home-app" target="_blank" rel="noopener">
<img alt="CI Status" src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg" /> <img alt="CI Status" src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg" />
</a> </a>
</div> </div>
<p> <p>
Building on <code>"unknown"</code> of <a href="https://net.186526.xyz">186526 Network</a>. Build on <code>"unknown"</code>.
<br> <br>
Performance & Host By Cloudflare & Vercel. Powered by Vite & TypeScript.
<br>
Made with 💖 by <a href="https://186526.xyz" target="_blank" rel="noopener">real186526</a>.
</p> </p>
<p>Copyright © 2020 - Now 186526.xyz. All rights Reserved.</p> <p>Copyright © 2019 - Now 186526.xyz. All rights Reserved.</p>
</group> </group>
</contents> </contents>
</app> </app>
</body> </body>
<none id="description-list"> <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>Less code, more bug.</p>
<p>Arknights Player</p> <p>Be simple, be silly.</p>
<p>btw, I use arch</p> <p>Keep it simple, stupid</p>
<p><code>console.log('Arch is the best!');</code></p> <p>Arknights player</p>
<p>24岁, 是学生</p> <p>Talk is cheap, show me the code.</p>
<p>一天25小时绝赞配网中...</p> <p>24 岁, 是学生</p>
<p>DN42 贴(pi)贴(er)请求中...</p> <p>一天 25 小时绝赞配网中...</p>
<p>AS200536 / AS47778 / AS30581 绝赞运营中...</p>
<p>大陆北方网友</p> <p>大陆北方网友</p>
<p>Linux user ✗ KVM user ✓</p> <p>Location: localhost</p>
<p>世界一级拖延症证书持有者</p> <p>Linux user ✗ <br> KVM user ✓</p>
<p>世界一级<br>拖延症证书持有者</p>
<p>想拥有强大的自制力</p> <p>想拥有强大的自制力</p>
<p>想做好自己</p> <p>想做好自己</p>
<p>wowaka, 晚安.</p> <p>什么都不需要</p>
<p>不愿做傻事</p>
<p>好的作品中仿佛栖息着神明。</p>
<p>即便到了现在,对我而言,你也仍是和神明最接近的存在。</p>
<p>请不要忘记我独身一人的盛装游行。</p>
<p>另一个世界一定有着摇滚乐在播放,不流行赞歌什么的,因为神明也并不存在。</p>
<p>wowaka晚安。</p>
<p>麦门!</p>
<p>交错于虚拟与现实之间</p>
<p>关注 186 谢谢喵</p>
<p>拿不拿我真的好喜欢你啊,为了你我要听一百遍白ゆき</p>
<p>suis我真的好喜欢你啊为了你我要听一百遍八月、某、月明</p>
<p>关注派兹 (<a href="https://blw.moe/" target="_blank" rel="noopener">blw.moe</a>) 谢谢喵</p>
<p>「君の旅した街を歩く 訳もないのに口を出てく」<br>“行于你曾旅行的街道 话语毫无理由脱口而出”</p>
<p>「戻らない後悔の全部が美しいって」<br>“追悔莫及之物皆美不胜收”</p>
<p>「花惑う夏を待つ僕に差す月明かり」<br>“静待乱花迷醉之夏,皎洁月光照耀此身”</p>
<p>「幸せの色は準透明 なら見えない方が良かった」<br>“幸福的颜色是准透明 这样的话看不见的话该有多好”</p>
<p>「愛で世界が変わるもんか 淋しいなど人に言えるもんか」<br>“爱哪能改变世界 寂寞等等哪能说给人听”</p>
<p>「人生はどうにも妥協で出来てる」<br>“人生无可避免是由妥协堆积而成”</p>
<p>「心も運命もラブソングも人生も信じない」<br>“不论心灵或命运或情歌或人生皆不可信”</p>
<p>「君の人生は月明かりだ 有りがちだなんて言わせるものか」<br>“你的人生好似朗朗月光 岂能让他人指手画脚什么‘随处可见’”</p>
<p>「長い夜の終わりを信じながら」<br>“仍信长夜终破晓”</p>
<p>「人生全部が馬鹿みたいなのに」<br>“人生什么的全部明明愚蠢至极”</p>
<p>「牡丹は散っても花だ 夏が去っても追慕は切だ」<br>“牡丹落尽亦是花,夏去秋来思愈切。”</p>
<p>「きっと、人生最後の日も愛をうたうのだろう」<br>“我一定也会在人生最后的日子讴歌着爱”</p>
<p>「もうちょっとだけ貴方を探せたら もう一歩だけ歩いてみれるかな」<br>“如果再稍稍去寻找一下你的话,我就能再向前踏出一步了吧”</p>
<p>空中散步与四拍子</p>
<p>人生、二十七で死ねるならロックンロールは僕を救った</p>
</none> </none>
<script> <script>
@ -203,11 +244,11 @@
if (broswerUA.broswer == "IE") { if (broswerUA.broswer == "IE") {
document.body.innerHTML = 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>' + '<div class="toast">去他妈的Internet Explorer请使用现代浏览器访问该站点例如<a href="http://go.186526.xyz/Chrome">Chrome</a>、<a href="http://go.186526.xyz/Firefox">Firefox</a>。</div>' +
document.body.innerHTML; document.body.innerHTML;
} else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) { } else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) {
document.body.innerHTML = document.body.innerHTML =
'<div class="toast">摆脱旧版Chrome请使用新版<a href="http://aka.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' + '<div class="toast">摆脱旧版Chrome请使用新版<a href="http://go.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' +
document.body.innerHTML; document.body.innerHTML;
} }
})(); })();

View File

@ -21,7 +21,6 @@
"workbox-cdn": "4.2.0" "workbox-cdn": "4.2.0"
}, },
"browserslist": [ "browserslist": [
"defaults", ">0.3%, defaults, chrome 48"
"not ie 11"
] ]
} }

BIN
public/assets/og.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

View File

@ -1,22 +1,51 @@
{ {
"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": "#00bdff", "theme_color": "#00bdff",
"background_color": "#121212", "background_color": "#121212",
"icons": [ "icons": [
{ {
"src": "./maskable.png", "src": "./maskable.png",
"sizes": "1269x1269", "sizes": "1269x1269",
"type": "image/png", "type": "image/png",
"purpose": "any maskable" "purpose": "maskable"
}, },
{ {
"src": "./avatar.webp", "src": "./avatar.webp",
"sizes": "512x512", "sizes": "512x512",
"type": "image/webp" "type": "image/webp"
} }
] ],
"shortcuts": [
{
"name": "Blog",
"short_name": "Blog",
"description": "Go to check my blog",
"url": "/goto/blog",
"icons": [
{
"src": "/assets/hexo.svg",
"sizes": "500x500"
}
]
}
],
"screenshots": [
{
"src": "./assets/og.png",
"sizes": "863x451",
"type": "image/webp",
"form_factor": "wide",
"label": "Homescreen of it."
},
{
"src": "./assets/og.png",
"sizes": "863x451",
"type": "image/webp",
"label": "Homescreen of it."
}
]
} }

View File

@ -6,7 +6,7 @@ self.addEventListener("install", (e) => {
if (workbox) { if (workbox) {
workbox.core.setCacheNameDetails({ workbox.core.setCacheNameDetails({
prefix: "home-app", prefix: "home-app",
suffix: "0.0.4", suffix: "0.0.5",
precache: "precache", precache: "precache",
runtime: "runtime", runtime: "runtime",
}); });

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

@ -10,7 +10,7 @@ import Tippy from 'tippy.js';
import 'tippy.js/dist/tippy.css'; import 'tippy.js/dist/tippy.css';
import 'tippy.js/animations/scale.css'; import 'tippy.js/animations/scale.css';
window.addEventListener("load", (_ev) => { window.addEventListener("DOMContentLoaded", (_ev) => {
new Typed(document.querySelector("description") ?? "description", { new Typed(document.querySelector("description") ?? "description", {
stringsElement: "#description-list", stringsElement: "#description-list",
shuffle: true, shuffle: true,
@ -31,7 +31,7 @@ window.addEventListener("load", (_ev) => {
// @ts-expect-error // @ts-expect-error
document.querySelector( document.querySelector(
"#footer > div" "#footer > div"
).innerHTML += `<a alt="Update Commit" 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 alt="Update Commit" href="https://git.186526.xyz/186526/home-app/src/commit/${APP_VERSION}"><img alt="Update Commit" src="https://186526.xyz/shields.io/badge/commit-${APP_VERSION}-blue" /></a> <img alt="Latest Update" src="https://186526.xyz/shields.io/date/${APP_BUILD_TIME}?color=sucessful&label=latest%20update" />`;
// @ts-expect-error // @ts-expect-error
document.querySelector("#footer").innerHTML = document.querySelector("#footer")?.innerHTML.replaceAll("unknown",__APP_BUILD_MACHINE__); document.querySelector("#footer").innerHTML = document.querySelector("#footer")?.innerHTML.replaceAll("unknown",__APP_BUILD_MACHINE__);

View File

@ -1,160 +1,160 @@
: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: rgba(242, 242, 242, 0.5); --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( color: var(--linear-end-color);
90deg, background-image: linear-gradient(
var(--linear-start-color), 90deg,
var(--linear-end-color) var(--linear-start-color),
) !important; var(--linear-end-color)
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: 20vh calc(10vw - 0.5rem); 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: #1e7dff; color: #1e7dff;
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
body { body {
margin: 20vh calc(4vw - 0.5rem); 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%; width: 100%;
min-height: 75vh; height: 95%;
background-size: cover; max-height: 86vh;
background-image: url(background.webp), background-size: cover;
url(background.png); background-image: url(/resources/background.webp),
z-index: -1; url(/resources/background.png);
border-radius: 0 0 15px 15px; z-index: -1;
filter: blur(0.2px); border-radius: 0 0 15px 15px;
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%);
} }
} }
.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: stretch;
width: fill-available; margin: 0 5vw;
margin: 0 5vw;
backdrop-filter: blur(15px); backdrop-filter: blur(15px);
} }

View File

@ -1,7 +1,7 @@
contents { contents {
display: flex; display: flex;
position: relative; position: relative;
top: 32.5vh; top: calc(37.5vh - 0.5rem);
right: 0vh; right: 0vh;
left: 0vh; left: 0vh;
@ -70,11 +70,11 @@ group#footer > * {
@media screen and (max-width: 1024px) { @media screen and (max-width: 1024px) {
contents { contents {
top: 27.5vh; top: calc(32.5vh - 0.5rem);
} }
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 530px) {
contents { contents {
top: 20vh; top: 20vh;
} }

View File

@ -18,6 +18,7 @@ header > div h1 {
font-weight: normal; font-weight: normal;
font-size: var(--font-size-main); font-size: var(--font-size-main);
line-height: var(--font-size-main); line-height: var(--font-size-main);
padding-bottom: 0.65rem;
} }
header > div description { header > div description {
@ -47,6 +48,7 @@ header {
header > img { header > img {
margin-right: 1rem; margin-right: 1rem;
margin-bottom: 1rem; margin-bottom: 1rem;
margin-top: 1rem;
} }
@media screen and (min-width: 768px) { @media screen and (min-width: 768px) {
@ -62,12 +64,21 @@ header > img {
@media screen and (max-width: 1024px) { @media screen and (max-width: 1024px) {
header { header {
height: 20vh;
width: -moz-available; width: -moz-available;
width: -webkit-fill-available; width: stretch;
width: fill-available;
} }
} }
@media screen and (max-width: 480px) {
@media screen and (max-width: 768px) {
header {
height: auto;
}
header p {
margin-bottom: 1rem;
}
}
@media screen and (max-width: 530px) {
header { header {
min-height: 30vh; min-height: 30vh;
} }

View File

@ -1,55 +1,68 @@
{ {
"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
}, },
{ { "handle": "filesystem" },
"src": "/goto/github", {
"status": 302, "src": "/goto/github",
"headers": { "status": 302,
"Location": "https://github.com/186526" "headers": {
} "Location": "https://github.com/186526"
}, }
{ },
"src": "/goto/telegram", {
"status": 302, "src": "/goto/telegram",
"headers": { "status": 302,
"Location": "https://t.me/real186526" "headers": {
} "Location": "https://t.me/real186526"
}, }
{ },
"src": "/goto/blog", {
"status": 302, "src": "/goto/blog",
"headers": { "status": 302,
"Location": "https://blog.186526.xyz" "headers": {
} "Location": "https://blog.186526.xyz"
}, }
{ },
"src": "/goto/email", {
"status": 302, "src": "/goto/email",
"headers": { "status": 302,
"Location": "mailto:admin@186526.xyz" "headers": {
} "Location": "mailto:i@186526.xyz"
}, }
{ },
"src": "/generate_204", {
"status": 204, "src": "/generate_204",
"headers": { "status": 204,
"X-Powered-By": "SW2Express", "headers": {
"Server": "sw=>express" "X-Powered-By": "SW2Express",
} "Server": "sw=>express"
}, }
{ },
"src": "/v2/(.*)", {
"dest": "https://registry.186526.xyz/v2/$1" "src": "/v2/(.*)",
} "dest": "https://registry.186526.xyz/v2/$1"
] },
{
"src": "/shields.io/(.*)",
"dest": "https://img.shields.io/$1"
},
{
"src": "/(.*)",
"status": 302,
"headers": {
"Location": "/?from=$1"
},
"continue": false
}
]
} }

724
yarn.lock

File diff suppressed because it is too large Load Diff