refactor: 清理无用资源并更新项目配置

删除大量未使用的图标、图片和组件文件
更新.gitignore、tsconfig.json和astro配置
添加新的工具函数和UI组件
修改项目元数据和依赖项
This commit is contained in:
joyzhao
2025-06-13 12:03:15 +08:00
parent 43d830aa27
commit c1bfb0915e
145 changed files with 1901 additions and 13996 deletions

View File

@@ -1,275 +1,120 @@
@import 'tailwindcss';
@import "tailwindcss";
@import "tw-animate-css";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@custom-variant dark (&:is(.dark *));
@custom-variant dark (&:where(.dark, .dark *));
:root {
--radius: 0.625rem;
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
--card-foreground: oklch(0.145 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.145 0 0);
--primary: oklch(0.205 0 0);
--primary-foreground: oklch(0.985 0 0);
--secondary: oklch(0.97 0 0);
--secondary-foreground: oklch(0.205 0 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.556 0 0);
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.577 0.245 27.325);
--border: oklch(0.922 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--chart-1: oklch(0.646 0.222 41.116);
--chart-2: oklch(0.6 0.118 184.704);
--chart-3: oklch(0.398 0.07 227.392);
--chart-4: oklch(0.828 0.189 84.429);
--chart-5: oklch(0.769 0.188 70.08);
--sidebar: oklch(0.985 0 0);
--sidebar-foreground: oklch(0.145 0 0);
--sidebar-primary: oklch(0.205 0 0);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.97 0 0);
--sidebar-accent-foreground: oklch(0.205 0 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.708 0 0);
}
@theme {
--font-montserrat: 'Montserrat', sans-serif;
--font-roboto: 'Roboto', sans-serif;
--font-opensans: 'Open Sans', sans-serif;
--color-blacktext: #171717;
--color-mint-50: #ecfdf5;
--color-mint-100: #d0fbe5;
--color-mint-200: #a4f4cf;
--color-mint-300: #6ce9b7;
--color-mint-400: #31d69a;
--color-mint-500: #0dbc82;
--color-mint-600: #03986a;
--color-mint-700: #027a58;
--color-mint-800: #056047;
--color-mint-900: #054f3c;
--color-mint-950: #012d22;
.dark {
--background: oklch(0.145 0 0);
--foreground: oklch(0.985 0 0);
--card: oklch(0.205 0 0);
--card-foreground: oklch(0.985 0 0);
--popover: oklch(0.205 0 0);
--popover-foreground: oklch(0.985 0 0);
--primary: oklch(0.922 0 0);
--primary-foreground: oklch(0.205 0 0);
--secondary: oklch(0.269 0 0);
--secondary-foreground: oklch(0.985 0 0);
--muted: oklch(0.269 0 0);
--muted-foreground: oklch(0.708 0 0);
--accent: oklch(0.269 0 0);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216);
--border: oklch(1 0 0 / 10%);
--input: oklch(1 0 0 / 15%);
--ring: oklch(0.556 0 0);
--chart-1: oklch(0.488 0.243 264.376);
--chart-2: oklch(0.696 0.17 162.48);
--chart-3: oklch(0.769 0.188 70.08);
--chart-4: oklch(0.627 0.265 303.9);
--chart-5: oklch(0.645 0.246 16.439);
--sidebar: oklch(0.205 0 0);
--sidebar-foreground: oklch(0.985 0 0);
--sidebar-primary: oklch(0.488 0.243 264.376);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.269 0 0);
--sidebar-accent-foreground: oklch(0.985 0 0);
--sidebar-border: oklch(1 0 0 / 10%);
--sidebar-ring: oklch(0.556 0 0);
}
--color-riptide-50: #f0fdfa;
--color-riptide-100: #cbfcf1;
--color-riptide-200: #96f7e4;
--color-riptide-300: #5cecd5;
--color-riptide-400: #2bd6c1;
--color-riptide-500: #12baa8;
--color-riptide-600: #0b9689;
--color-riptide-700: #0e776f;
--color-riptide-800: #105f5a;
--color-riptide-900: #124f4b;
--color-riptide-950: #03302f;
@theme inline {
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-chart-1: var(--chart-1);
--color-chart-2: var(--chart-2);
--color-chart-3: var(--chart-3);
--color-chart-4: var(--chart-4);
--color-chart-5: var(--chart-5);
--color-sidebar: var(--sidebar);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-ring: var(--sidebar-ring);
}
--animate-rotate: rotate 10s linear infinite;
--animate-rotate-border: border-rotate 3s linear infinite;
@keyframes border-rotate {
to {
--border-angle: 360deg;
}
@layer base {
* {
@apply border-border outline-ring/50;
}
body {
@apply bg-background text-foreground;
}
}
@property --border-angle{
syntax: "<angle>";
inherits: false;
initial-value: 0deg;
}
::selection {
@apply text-white bg-mint-500;
}
*::-webkit-scrollbar-thumb{
border-radius: 20px;
}
.dark *{
scrollbar-color: #6ce9b7 #012d22;
scrollbar-width: thin;
}
*{
scrollbar-color: #6ce9b7 #d0fbe5;
scrollbar-width: thin;
box-sizing: border-box;
}
pre, .dark pre {
scrollbar-color: #686868 #424242;
scrollbar-width:initial;
}
@keyframes rotate {
0% {
transform: rotate(0deg) scale(10);
}
100% {
transform: rotate(-360deg) scale(10);
}
}
a.inline-block.leading-5.pl-12{
@apply text-sm;
}
#toc-list a[href="#"]{
@apply font-bold dark:text-white text-blacktext;
}
.markdown h2 {
@apply dark:text-white text-blacktext text-3xl font-bold mt-16 mb-10;
}
.markdown h3 {
@apply text-2xl font-bold dark:text-white text-blacktext mt-6 mb-4;
}
.markdown h4 {
@apply text-xl dark:text-white text-blacktext font-bold mt-6 mb-4;
}
.markdown h5 {
@apply text-lg font-bold dark:text-white text-blacktext mt-6 mb-4;
}
.markdown h6 {
@apply text-base font-bold dark:text-white text-blacktext mt-6 mb-4;
}
.markdown p {
@apply tracking-normal font-montserrat text-pretty text-xl max-md:text-lg text-blacktext dark:text-gray-200 mb-8 leading-8;
}
.markdown a {
@apply text-xl max-md:text-lg font-semibold dark:text-riptide-300! text-mint-500! underline hover:text-riptide-400! transition-all;
}
.markdown ol{
@apply list-decimal mb-8;
}
.markdown ul{
@apply list-disc mb-8;
}
.markdown ul, .markdown ol{
@apply text-xl dark:text-gray-200 text-blacktext max-md:text-lg pl-4 pb-0;
}
.markdown li {
@apply text-xl dark:text-gray-200 text-blacktext max-md:text-lg py-1;
}
.markdown hr {
@apply dark:text-mint-300/50 text-blacktext/30;
}
.markdown blockquote {
@apply py-4 border-l-4 border-mint-500 pl-4 italic text-blacktext dark:text-mint-200 bg-mint-50 dark:bg-mint-900/20 backdrop-blur-lg mb-8;
}
.markdown blockquote p {
@apply mb-0;
}
.markdown :not(pre)>code {
@apply px-2 py-0.5;
}
.markdown pre {
@apply w-full h-full px-8 py-12 ;
}
.markdown strong{
@apply font-bold;
}
.code-block-efe {
@apply w-full rounded-lg h-auto overflow-hidden my-8 ;
}
.copy-code svg{
@apply size-5;
}
.copy-code{
@apply absolute text-slate-400 text-xs cursor-pointer bg-slate-600/50 border hover:bg-transparent border-slate-500 p-2.5 rounded-md top-4 right-4 flex transition-all duration-300 max-md:opacity-100 md:opacity-0 group-hover:opacity-100 items-center justify-center;
}
.contains-task-list {
@apply space-y-2;
}
.task-list-item {
@apply flex items-center gap-4;
}
.task-list-item input[type="checkbox"] {
@apply w-5 h-5 accent-mint-300;
}
.task-list-item input[type="checkbox"]:checked + span {
@apply line-through text-mint-600;
}
.task-list-item span {
@apply text-gray-800;
}
.expanded {
@apply transition-all duration-700 w-full flex! flex-col! left-0 top-full mt-4 absolute shadow-xl dark:text-zinc-300 bg-linear-to-t from-white to-white/90 dark:from-zinc-950 dark:to-zinc-950/80 bg-clip-padding backdrop-filter backdrop-blur backdrop-saturate-100 backdrop-contrast-100;
}
.hamburger-icon {
display: none;
}
.hamburger .bars-icon {
display: block; /* Show 'bars' icon by default */
}
.hamburger.active .bars-icon {
display: none; /* Hide 'bars' icon when .active is present */
}
.hamburger.active .xmark-icon {
display: block; /* Show 'xmark' icon when .active is present */
}
/* Navigation bar styles */
.hamburger {
cursor: pointer;
}
.nav-links {
display: none;
}
@media screen and (min-width: 768px) {
.nav-links {
display: flex;
}
.hamburger {
display: none;
}
}
.blur-circle::after {
content: "";
display: block;
width: 400px;
height: 400px;
background: #31d69a40;
bottom: -400px;
right: -300px;
position: fixed;
z-index: -1;
border-radius: 50%;
filter: blur(159px);
}
.blur-circle {
background-color: rgba(87, 253, 228, 0.29);
position: absolute;
width: 200px;
height: 200px;
top: 100px;
right: 100px;
border-radius: 999px;
filter: blur(150px);
overflow: hidden;
z-index: -1;
}
.dark .blur-circle::after {
content: "";
display: block;
width: 500px;
height: 500px;
background: #50fd8f25 !important;
bottom: -150px;
right: -150px;
position: absolute;
z-index: -1;
border-radius: 50%;
filter: blur(10px);
}