refactor: 清理无用资源并更新项目配置
删除大量未使用的图标、图片和组件文件 更新.gitignore、tsconfig.json和astro配置 添加新的工具函数和UI组件 修改项目元数据和依赖项
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user