This commit is contained in:
Ryan Wang
2026-04-07 22:52:16 +08:00
parent ec2fcc6e4a
commit cf680c4d17
61 changed files with 6826 additions and 4820 deletions
-17
View File
@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>About</title>
</head>
<body>
<p
th:text="没有经过 Astro 渲染,原生使用 Thymeleaf 语法。在构建时,将被 Copy 到 templates 目录。(Thymeleaf)"
>
没有经过 Astro 渲染,原生使用 Thymeleaf 语法。在构建时,将被 Copy 到
templates 目录。(Native)
</p>
</body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{c as r,a as l,b as s,d,o as c,r as u,e as i}from"./runtime-core.esm-bundler.25dbJ6OW.js";const x=(a,t)=>{const e=a.__vccOpts||a;for(const[n,o]of t)e[n]=o;return e},v=d({__name:"ThemeSwitcher",setup(a,{expose:t}){t();const e=u(!1);c(()=>{e.value=document.documentElement.classList.contains("dark")});function n(){e.value=!e.value,document.documentElement.classList.toggle("dark",e.value),localStorage.setItem("theme",e.value?"dark":"light")}const o={isDark:e,toggle:n};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),_=["aria-label"],h={key:0,xmlns:"http://www.w3.org/2000/svg",width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},m={key:1,xmlns:"http://www.w3.org/2000/svg",width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"};function y(a,t,e,n,o,k){return i(),r("button",{class:"theme-toggle",type:"button","aria-label":n.isDark?"Switch to light mode":"Switch to dark mode",onClick:n.toggle},[n.isDark?(i(),r("svg",m,[...t[1]||(t[1]=[s('<circle cx="12" cy="12" r="5" data-v-976d6eb8></circle><line x1="12" y1="1" x2="12" y2="3" data-v-976d6eb8></line><line x1="12" y1="21" x2="12" y2="23" data-v-976d6eb8></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" data-v-976d6eb8></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" data-v-976d6eb8></line><line x1="1" y1="12" x2="3" y2="12" data-v-976d6eb8></line><line x1="21" y1="12" x2="23" y2="12" data-v-976d6eb8></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" data-v-976d6eb8></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" data-v-976d6eb8></line>',9)])])):(i(),r("svg",h,[...t[0]||(t[0]=[l("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])]))],8,_)}const g=x(v,[["render",y],["__scopeId","data-v-976d6eb8"]]);export{g as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
:root{--astro-gradient: linear-gradient(0deg, #4f39fa, #da62c4)}h1:where(.astro-AQ2P6PWU){margin:2rem 0}main:where(.astro-AQ2P6PWU){margin:auto;padding:1em;max-width:70ch}.text-gradient:where(.astro-AQ2P6PWU){font-weight:900;background-image:var(--astro-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:100% 200%;background-position-y:100%;border-radius:.4rem;-webkit-animation:pulse 4s ease-in-out infinite;animation:pulse 4s ease-in-out infinite}@-webkit-keyframes pulse{0%,to{background-position-y:0%}50%{background-position-y:80%}}@keyframes pulse{0%,to{background-position-y:0%}50%{background-position-y:80%}}.instructions:where(.astro-AQ2P6PWU){line-height:1.6;margin:1rem 0;background:#4f39fa;padding:1rem;border-radius:.4rem;color:var(--color-bg)}.instructions:where(.astro-AQ2P6PWU) code:where(.astro-AQ2P6PWU){font-size:.875em;border:.1em solid var(--color-border);border-radius:4px;padding:.15em .25em}.link-card-grid:where(.astro-AQ2P6PWU){display:grid;grid-template-columns:repeat(auto-fit,minmax(24ch,1fr));gap:1rem;padding:0}:root{--link-gradient: linear-gradient(45deg, #4f39fa, #da62c4 30%, var(--color-border) 60%)}.link-card:where(.astro-DYDDWWYO){list-style:none;display:flex;padding:.15rem;background-image:var(--link-gradient);background-size:400%;border-radius:.5rem;background-position:100%;transition:background-position .6s cubic-bezier(.22,1,.36,1)}.link-card:where(.astro-DYDDWWYO)>a:where(.astro-DYDDWWYO){width:100%;text-decoration:none;line-height:1.4;padding:1em 1.3em;border-radius:.35rem;color:var(--text-color);background-color:#fff;opacity:.8}h2:where(.astro-DYDDWWYO){margin:0;transition:color .6s cubic-bezier(.22,1,.36,1)}p:where(.astro-DYDDWWYO){margin-top:.75rem;margin-bottom:0}h2:where(.astro-DYDDWWYO) span:where(.astro-DYDDWWYO){display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}.link-card:where(.astro-DYDDWWYO):is(:hover,:focus-within){background-position:0}.link-card:where(.astro-DYDDWWYO):is(:hover,:focus-within) h2:where(.astro-DYDDWWYO){color:#4f39fa}.link-card:where(.astro-DYDDWWYO):is(:hover,:focus-within) h2:where(.astro-DYDDWWYO) span:where(.astro-DYDDWWYO){transform:translate(2px)}
-1
View File
@@ -1 +0,0 @@
main:where(.astro-SLXJX4NQ){margin:auto;padding:1em;max-width:70ch}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

+13 -86
View File
File diff suppressed because one or more lines are too long
-78
View File
@@ -1,78 +0,0 @@
<!DOCTYPE html><html lang="en" class="astro-TFKA5VKL"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>Links</title>
<link rel="stylesheet" href="/assets/index-links-post.be069062.css" th:href="@{/assets/index-links-post.be069062.css}">
<link rel="stylesheet" href="/assets/links.5e24488a.css" th:href="@{/assets/links.5e24488a.css}"></head>
<body class="astro-TFKA5VKL">
<div class="flex justify-between astro-TFKA5VKL">
<nav class="flex gap-3 astro-TFKA5VKL">
<a href="/" th:href="@{/}" class="astro-TFKA5VKL">Home</a>
<a href="/post" th:href="@{/post}" class="astro-TFKA5VKL">Post</a>
<a href="/links" th:href="@{/links}" class="astro-TFKA5VKL">Links</a>
</nav>
<div class="astro-TFKA5VKL">
<a href="/" class="astro-TFKA5VKL">默认</a>
<a href="/?language=zh" class="astro-TFKA5VKL">中文</a>
<a href="/?language=en" class="astro-TFKA5VKL">英文</a>
</div>
</div>
<main class="astro-SLXJX4NQ">
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-2 xl:grid-cols-2 astro-SLXJX4NQ">
<a href="https://ryanc.cc/" th:href="#{data.url}" target="_blank" class="astro-SLXJX4NQ">
<div class="relative rounded border border-gray-300 bg-white px-5 py-4 shadow-sm hover:shadow flex items-center space-x-3 hover:border-gray-400 astro-SLXJX4NQ">
<div class="flex-shrink-0 astro-SLXJX4NQ">
<img class="h-12 w-12 rounded-full astro-SLXJX4NQ" th:src="#{data.logo}" th:alt="#{data.name}" src="https://ryanc.cc/avatar" alt="Ryan Wang's Blog">
</div>
<div class="flex-1 min-w-0 astro-SLXJX4NQ">
<div class="astro-SLXJX4NQ">
<p class="text-sm font-medium text-gray-900 truncate astro-SLXJX4NQ" th:text="#{data.name}">Ryan Wang's Blog</p>
<p class="text-sm text-gray-500 truncate astro-SLXJX4NQ" th:text="#{data.description}">Hello Halo</p>
</div>
</div>
</div>
</a><a href="https://www.guqing.xyz/" th:href="#{data.url}" target="_blank" class="astro-SLXJX4NQ">
<div class="relative rounded border border-gray-300 bg-white px-5 py-4 shadow-sm hover:shadow flex items-center space-x-3 hover:border-gray-400 astro-SLXJX4NQ">
<div class="flex-shrink-0 astro-SLXJX4NQ">
<img class="h-12 w-12 rounded-full astro-SLXJX4NQ" th:src="#{data.logo}" th:alt="#{data.name}" src="https://www.guqing.xyz/avatar" alt="guqing's blog">
</div>
<div class="flex-1 min-w-0 astro-SLXJX4NQ">
<div class="astro-SLXJX4NQ">
<p class="text-sm font-medium text-gray-900 truncate astro-SLXJX4NQ" th:text="#{data.name}">guqing's blog</p>
<p class="text-sm text-gray-500 truncate astro-SLXJX4NQ" th:text="#{data.description}">毕生所求无它,爱与自由而已</p>
</div>
</div>
</div>
</a><a href="https://johnniang.me" th:href="#{data.url}" target="_blank" class="astro-SLXJX4NQ">
<div class="relative rounded border border-gray-300 bg-white px-5 py-4 shadow-sm hover:shadow flex items-center space-x-3 hover:border-gray-400 astro-SLXJX4NQ">
<div class="flex-shrink-0 astro-SLXJX4NQ">
<img class="h-12 w-12 rounded-full astro-SLXJX4NQ" th:src="#{data.logo}" th:alt="#{data.name}" src="https://johnniang.me/avatar" alt="JohnNiang's Blog">
</div>
<div class="flex-1 min-w-0 astro-SLXJX4NQ">
<div class="astro-SLXJX4NQ">
<p class="text-sm font-medium text-gray-900 truncate astro-SLXJX4NQ" th:text="#{data.name}">JohnNiang's Blog</p>
<p class="text-sm text-gray-500 truncate astro-SLXJX4NQ" th:text="#{data.description}">Core contributor of Halo organization.</p>
</div>
</div>
</div>
</a><a href="https://simplestark.com" th:href="#{data.url}" target="_blank" class="astro-SLXJX4NQ">
<div class="relative rounded border border-gray-300 bg-white px-5 py-4 shadow-sm hover:shadow flex items-center space-x-3 hover:border-gray-400 astro-SLXJX4NQ">
<div class="flex-shrink-0 astro-SLXJX4NQ">
<img class="h-12 w-12 rounded-full astro-SLXJX4NQ" th:src="#{data.logo}" th:alt="#{data.name}" src="https://simplestark.com/avatar" alt="烟霞志">
</div>
<div class="flex-1 min-w-0 astro-SLXJX4NQ">
<div class="astro-SLXJX4NQ">
<p class="text-sm font-medium text-gray-900 truncate astro-SLXJX4NQ" th:text="#{data.name}">烟霞志</p>
<p class="text-sm text-gray-500 truncate astro-SLXJX4NQ" th:text="#{data.description}">空有烟霞之志,叹无水云之身。</p>
</div>
</div>
</div>
</a>
</div>
</main>
</body></html>
File diff suppressed because one or more lines are too long
+13 -24
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long