mirror of
https://github.com/reonokiy/blog.nokiy.net.git
synced 2025-06-15 11:12:54 +02:00
style: update various code copy button and toc styles
- Removed the old copy-action SVG icon and replaced it with a new copy-button SVG icon. - Added a new copy-success SVG icon for visual feedback on copy actions. - Updated Waline component comments for clarity and improved code readability. - Enhanced BackButton component with fallback navigation to homepage. - Improved CodeCopyButton component by refining icon handling and timeout management. - Adjusted GithubCard component's intersection observer root margin for better visibility. - Updated GsapAnimation component variable names for consistency and clarity. - Removed unnecessary styles from PhotoSwipe component. - Modified TOC component styles for better spacing and layout. - Updated multiple theme guide markdown files to correct image hosting URL comments. - Cleaned up extend.css by removing commented-out styles and organizing code. - Added PhotoSwipe background color and KaTeX overflow fixes to global.css. - Enhanced markdown.css with video styling for better responsiveness. - Improved transition.css comments for better understanding of GSAP animation states.
This commit is contained in:
parent
5116ebcaaa
commit
a5839a2dd1
22 changed files with 268 additions and 248 deletions
|
@ -22,7 +22,7 @@
|
|||
"astro-og-canvas": "^0.7.0",
|
||||
"astro-robots-txt": "^1.0.0",
|
||||
"canvaskit-wasm": "^0.40.0",
|
||||
"feed": "^5.0.1",
|
||||
"feed": "^5.1.0",
|
||||
"gsap": "^3.13.0",
|
||||
"katex": "^0.16.22",
|
||||
"markdown-it": "^14.1.0",
|
||||
|
|
282
pnpm-lock.yaml
generated
282
pnpm-lock.yaml
generated
|
@ -33,8 +33,8 @@ importers:
|
|||
specifier: ^0.40.0
|
||||
version: 0.40.0
|
||||
feed:
|
||||
specifier: ^5.0.1
|
||||
version: 5.0.1
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
gsap:
|
||||
specifier: ^3.13.0
|
||||
version: 3.13.0
|
||||
|
@ -252,13 +252,13 @@ packages:
|
|||
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/parser@7.27.2':
|
||||
resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==}
|
||||
'@babel/parser@7.27.3':
|
||||
resolution: {integrity: sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
'@babel/types@7.27.1':
|
||||
resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==}
|
||||
'@babel/types@7.27.3':
|
||||
resolution: {integrity: sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@capsizecss/unpack@2.4.0':
|
||||
|
@ -304,152 +304,152 @@ packages:
|
|||
resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.4':
|
||||
resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==}
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==}
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.25.4':
|
||||
resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==}
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.25.4':
|
||||
resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==}
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==}
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.25.4':
|
||||
resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==}
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==}
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.4':
|
||||
resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==}
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==}
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.25.4':
|
||||
resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==}
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.25.4':
|
||||
resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==}
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.25.4':
|
||||
resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==}
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.4':
|
||||
resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==}
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.4':
|
||||
resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==}
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.4':
|
||||
resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==}
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.25.4':
|
||||
resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==}
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.25.4':
|
||||
resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==}
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==}
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.4':
|
||||
resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==}
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==}
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.4':
|
||||
resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==}
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.25.4':
|
||||
resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==}
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.25.4':
|
||||
resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==}
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.25.4':
|
||||
resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==}
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.25.4':
|
||||
resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==}
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
@ -1853,8 +1853,8 @@ packages:
|
|||
duplexer@0.1.2:
|
||||
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
|
||||
|
||||
electron-to-chromium@1.5.157:
|
||||
resolution: {integrity: sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w==}
|
||||
electron-to-chromium@1.5.158:
|
||||
resolution: {integrity: sha512-9vcp2xHhkvraY6AHw2WMi+GDSLPX42qe2xjYaVoZqFRJiOcilVQFq9mZmpuHEQpzlgGDelKlV7ZiGcmMsc8WxQ==}
|
||||
|
||||
emmet@2.4.11:
|
||||
resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==}
|
||||
|
@ -1890,8 +1890,8 @@ packages:
|
|||
esast-util-from-js@2.0.1:
|
||||
resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
|
||||
|
||||
esbuild@0.25.4:
|
||||
resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==}
|
||||
esbuild@0.25.5:
|
||||
resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
|
@ -1931,8 +1931,8 @@ packages:
|
|||
eslint-flat-config-utils@2.1.0:
|
||||
resolution: {integrity: sha512-6fjOJ9tS0k28ketkUcQ+kKptB4dBZY2VijMZ9rGn8Cwnn1SH0cZBoPXT8AHBFHxmHcLFQK9zbELDinZ2Mr1rng==}
|
||||
|
||||
eslint-import-context@0.1.5:
|
||||
resolution: {integrity: sha512-jalO1mLiEvTv0io0koz1AE4LwkHQxDBFLaSXWweWtJR0y/NC1yyxvU61Z54bghIFNeM1M4TvwRwVRhLunQJ3gw==}
|
||||
eslint-import-context@0.1.6:
|
||||
resolution: {integrity: sha512-/e2ZNPDLCrU8niIy0pddcvXuoO2YrKjf3NAIX+60mHJBT4yv7mqCqvVdyCW2E720e25e4S/1OSVef4U6efGLFg==}
|
||||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
unrs-resolver: ^1.0.0
|
||||
|
@ -2179,8 +2179,8 @@ packages:
|
|||
picomatch:
|
||||
optional: true
|
||||
|
||||
feed@5.0.1:
|
||||
resolution: {integrity: sha512-kOveKLHucVZ6RI91bdWAts9O0L1N2mGzRGVCDQPRnHh4HmgqLdN66Cp/5dMeJZGn/qnBslWliwX37FEBq8DCIA==}
|
||||
feed@5.1.0:
|
||||
resolution: {integrity: sha512-qGNhgYygnefSkAHHrNHqC7p3R8J0/xQDS/cYUud8er/qD9EFGWyCdUDfULHTJQN1d3H3WprzVwMc9MfB4J50Wg==}
|
||||
engines: {node: '>=20', pnpm: '>=10'}
|
||||
|
||||
file-entry-cache@8.0.0:
|
||||
|
@ -4041,8 +4041,8 @@ packages:
|
|||
typescript: ^4.9.4 || ^5.0.2
|
||||
zod: ^3
|
||||
|
||||
zod@3.25.28:
|
||||
resolution: {integrity: sha512-/nt/67WYKnr5by3YS7LroZJbtcCBurDKKPBPWWzaxvVCGuG/NOsiKkrjoOhI8mJ+SQUXEbUzeB3S+6XDUEEj7Q==}
|
||||
zod@3.25.30:
|
||||
resolution: {integrity: sha512-VolhdEtu6TJr/fzGuHA/SZ5ixvXqA6ADOG9VRcQ3rdOKmF5hkmcJbyaQjUH5BgmpA9gej++zYRX7zjSmdReIwA==}
|
||||
|
||||
zwitch@2.0.4:
|
||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||
|
@ -4207,7 +4207,7 @@ snapshots:
|
|||
dependencies:
|
||||
sitemap: 8.0.0
|
||||
stream-replace-string: 2.0.0
|
||||
zod: 3.25.28
|
||||
zod: 3.25.30
|
||||
|
||||
'@astrojs/telemetry@3.3.0':
|
||||
dependencies:
|
||||
|
@ -4229,11 +4229,11 @@ snapshots:
|
|||
|
||||
'@babel/helper-validator-identifier@7.27.1': {}
|
||||
|
||||
'@babel/parser@7.27.2':
|
||||
'@babel/parser@7.27.3':
|
||||
dependencies:
|
||||
'@babel/types': 7.27.1
|
||||
'@babel/types': 7.27.3
|
||||
|
||||
'@babel/types@7.27.1':
|
||||
'@babel/types@7.27.3':
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.27.1
|
||||
'@babel/helper-validator-identifier': 7.27.1
|
||||
|
@ -4304,79 +4304,79 @@ snapshots:
|
|||
esquery: 1.6.0
|
||||
jsdoc-type-pratt-parser: 4.1.0
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.4':
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.25.4':
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.4':
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.4':
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.4':
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.4':
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.4':
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.4':
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.4':
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.4':
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.4':
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.4':
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.4':
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.4':
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.4':
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.4':
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.4':
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.4':
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.4':
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.4':
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.4':
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.4':
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.4':
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.4':
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.4':
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.27.0(jiti@2.4.2))':
|
||||
|
@ -5352,7 +5352,7 @@ snapshots:
|
|||
|
||||
'@vue/compiler-core@3.5.14':
|
||||
dependencies:
|
||||
'@babel/parser': 7.27.2
|
||||
'@babel/parser': 7.27.3
|
||||
'@vue/shared': 3.5.14
|
||||
entities: 4.5.0
|
||||
estree-walker: 2.0.2
|
||||
|
@ -5365,7 +5365,7 @@ snapshots:
|
|||
|
||||
'@vue/compiler-sfc@3.5.14':
|
||||
dependencies:
|
||||
'@babel/parser': 7.27.2
|
||||
'@babel/parser': 7.27.3
|
||||
'@vue/compiler-core': 3.5.14
|
||||
'@vue/compiler-dom': 3.5.14
|
||||
'@vue/compiler-ssr': 3.5.14
|
||||
|
@ -5542,7 +5542,7 @@ snapshots:
|
|||
astro-robots-txt@1.0.0:
|
||||
dependencies:
|
||||
valid-filename: 4.0.0
|
||||
zod: 3.25.28
|
||||
zod: 3.25.30
|
||||
|
||||
astro@5.8.0(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.41.1)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0):
|
||||
dependencies:
|
||||
|
@ -5569,7 +5569,7 @@ snapshots:
|
|||
dlv: 1.1.3
|
||||
dset: 3.1.4
|
||||
es-module-lexer: 1.7.0
|
||||
esbuild: 0.25.4
|
||||
esbuild: 0.25.5
|
||||
estree-walker: 3.0.3
|
||||
flattie: 1.1.1
|
||||
fontace: 0.3.0
|
||||
|
@ -5604,9 +5604,9 @@ snapshots:
|
|||
xxhash-wasm: 1.1.0
|
||||
yargs-parser: 21.1.1
|
||||
yocto-spinner: 0.2.3
|
||||
zod: 3.25.28
|
||||
zod-to-json-schema: 3.24.5(zod@3.25.28)
|
||||
zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.25.28)
|
||||
zod: 3.25.30
|
||||
zod-to-json-schema: 3.24.5(zod@3.25.30)
|
||||
zod-to-ts: 1.2.0(typescript@5.8.3)(zod@3.25.30)
|
||||
optionalDependencies:
|
||||
sharp: 0.33.5
|
||||
transitivePeerDependencies:
|
||||
|
@ -5696,7 +5696,7 @@ snapshots:
|
|||
browserslist@4.24.5:
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001718
|
||||
electron-to-chromium: 1.5.157
|
||||
electron-to-chromium: 1.5.158
|
||||
node-releases: 2.0.19
|
||||
update-browserslist-db: 1.1.3(browserslist@4.24.5)
|
||||
|
||||
|
@ -5976,7 +5976,7 @@ snapshots:
|
|||
|
||||
duplexer@0.1.2: {}
|
||||
|
||||
electron-to-chromium@1.5.157: {}
|
||||
electron-to-chromium@1.5.158: {}
|
||||
|
||||
emmet@2.4.11:
|
||||
dependencies:
|
||||
|
@ -6014,33 +6014,33 @@ snapshots:
|
|||
esast-util-from-estree: 2.0.0
|
||||
vfile-message: 4.0.2
|
||||
|
||||
esbuild@0.25.4:
|
||||
esbuild@0.25.5:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.25.4
|
||||
'@esbuild/android-arm': 0.25.4
|
||||
'@esbuild/android-arm64': 0.25.4
|
||||
'@esbuild/android-x64': 0.25.4
|
||||
'@esbuild/darwin-arm64': 0.25.4
|
||||
'@esbuild/darwin-x64': 0.25.4
|
||||
'@esbuild/freebsd-arm64': 0.25.4
|
||||
'@esbuild/freebsd-x64': 0.25.4
|
||||
'@esbuild/linux-arm': 0.25.4
|
||||
'@esbuild/linux-arm64': 0.25.4
|
||||
'@esbuild/linux-ia32': 0.25.4
|
||||
'@esbuild/linux-loong64': 0.25.4
|
||||
'@esbuild/linux-mips64el': 0.25.4
|
||||
'@esbuild/linux-ppc64': 0.25.4
|
||||
'@esbuild/linux-riscv64': 0.25.4
|
||||
'@esbuild/linux-s390x': 0.25.4
|
||||
'@esbuild/linux-x64': 0.25.4
|
||||
'@esbuild/netbsd-arm64': 0.25.4
|
||||
'@esbuild/netbsd-x64': 0.25.4
|
||||
'@esbuild/openbsd-arm64': 0.25.4
|
||||
'@esbuild/openbsd-x64': 0.25.4
|
||||
'@esbuild/sunos-x64': 0.25.4
|
||||
'@esbuild/win32-arm64': 0.25.4
|
||||
'@esbuild/win32-ia32': 0.25.4
|
||||
'@esbuild/win32-x64': 0.25.4
|
||||
'@esbuild/aix-ppc64': 0.25.5
|
||||
'@esbuild/android-arm': 0.25.5
|
||||
'@esbuild/android-arm64': 0.25.5
|
||||
'@esbuild/android-x64': 0.25.5
|
||||
'@esbuild/darwin-arm64': 0.25.5
|
||||
'@esbuild/darwin-x64': 0.25.5
|
||||
'@esbuild/freebsd-arm64': 0.25.5
|
||||
'@esbuild/freebsd-x64': 0.25.5
|
||||
'@esbuild/linux-arm': 0.25.5
|
||||
'@esbuild/linux-arm64': 0.25.5
|
||||
'@esbuild/linux-ia32': 0.25.5
|
||||
'@esbuild/linux-loong64': 0.25.5
|
||||
'@esbuild/linux-mips64el': 0.25.5
|
||||
'@esbuild/linux-ppc64': 0.25.5
|
||||
'@esbuild/linux-riscv64': 0.25.5
|
||||
'@esbuild/linux-s390x': 0.25.5
|
||||
'@esbuild/linux-x64': 0.25.5
|
||||
'@esbuild/netbsd-arm64': 0.25.5
|
||||
'@esbuild/netbsd-x64': 0.25.5
|
||||
'@esbuild/openbsd-arm64': 0.25.5
|
||||
'@esbuild/openbsd-x64': 0.25.5
|
||||
'@esbuild/sunos-x64': 0.25.5
|
||||
'@esbuild/win32-arm64': 0.25.5
|
||||
'@esbuild/win32-ia32': 0.25.5
|
||||
'@esbuild/win32-x64': 0.25.5
|
||||
|
||||
escalade@3.2.0: {}
|
||||
|
||||
|
@ -6069,7 +6069,7 @@ snapshots:
|
|||
dependencies:
|
||||
pathe: 2.0.3
|
||||
|
||||
eslint-import-context@0.1.5(unrs-resolver@1.7.2):
|
||||
eslint-import-context@0.1.6(unrs-resolver@1.7.2):
|
||||
dependencies:
|
||||
get-tsconfig: 4.10.1
|
||||
stable-hash: 0.0.5
|
||||
|
@ -6130,7 +6130,7 @@ snapshots:
|
|||
comment-parser: 1.4.1
|
||||
debug: 4.4.1
|
||||
eslint: 9.27.0(jiti@2.4.2)
|
||||
eslint-import-context: 0.1.5(unrs-resolver@1.7.2)
|
||||
eslint-import-context: 0.1.6(unrs-resolver@1.7.2)
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
is-glob: 4.0.3
|
||||
minimatch: 10.0.1
|
||||
|
@ -6428,7 +6428,7 @@ snapshots:
|
|||
optionalDependencies:
|
||||
picomatch: 4.0.2
|
||||
|
||||
feed@5.0.1:
|
||||
feed@5.1.0:
|
||||
dependencies:
|
||||
xml-js: 1.6.11
|
||||
|
||||
|
@ -6950,8 +6950,8 @@ snapshots:
|
|||
|
||||
magicast@0.3.5:
|
||||
dependencies:
|
||||
'@babel/parser': 7.27.2
|
||||
'@babel/types': 7.27.1
|
||||
'@babel/parser': 7.27.3
|
||||
'@babel/types': 7.27.3
|
||||
source-map-js: 1.2.1
|
||||
|
||||
markdown-extensions@2.0.0: {}
|
||||
|
@ -8530,7 +8530,7 @@ snapshots:
|
|||
|
||||
vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0):
|
||||
dependencies:
|
||||
esbuild: 0.25.4
|
||||
esbuild: 0.25.5
|
||||
fdir: 6.4.4(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
postcss: 8.5.3
|
||||
|
@ -8819,15 +8819,15 @@ snapshots:
|
|||
|
||||
yoctocolors@2.1.1: {}
|
||||
|
||||
zod-to-json-schema@3.24.5(zod@3.25.28):
|
||||
zod-to-json-schema@3.24.5(zod@3.25.30):
|
||||
dependencies:
|
||||
zod: 3.25.28
|
||||
zod: 3.25.30
|
||||
|
||||
zod-to-ts@1.2.0(typescript@5.8.3)(zod@3.25.28):
|
||||
zod-to-ts@1.2.0(typescript@5.8.3)(zod@3.25.30):
|
||||
dependencies:
|
||||
typescript: 5.8.3
|
||||
zod: 3.25.28
|
||||
zod: 3.25.30
|
||||
|
||||
zod@3.25.28: {}
|
||||
zod@3.25.30: {}
|
||||
|
||||
zwitch@2.0.4: {}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M7.2 1h14.4v17.7l-1.3.5V2.5H6.7zM2.3 4.9h15.4V23H2.3zm14.1 1.5H3.6v15.1h12.8z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 159 B |
|
@ -1,3 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M9 20 .9 11.9l1.2-.6L9 17.6 22.5 5l.6 1z"/>
|
||||
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 131 B |
3
src/assets/icons/copy-sucess.svg
Normal file
3
src/assets/icons/copy-sucess.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 209 B |
|
@ -10,8 +10,7 @@ const { waline: { serverURL = '', emoji = [], search = false, imageUploader = fa
|
|||
class="mt-16"
|
||||
></div>
|
||||
|
||||
<!-- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
|
||||
|
||||
<!-- Waline Script >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
|
||||
<script
|
||||
is:inline
|
||||
define:vars={{
|
||||
|
@ -37,8 +36,7 @@ function initWaline() {
|
|||
init({
|
||||
el: '#waline',
|
||||
serverURL,
|
||||
// Share comments on posts in different languages
|
||||
path: window.location.pathname.replace(/^\/([a-z]{2}(-[a-z]{2})?)\//, '/'),
|
||||
path: window.location.pathname.replace(/^\/([a-z]{2}(-[a-z]{2})?)\//, '/'), // Share comments on posts in different languages
|
||||
lang: currentWalineLang,
|
||||
emoji,
|
||||
dark: 'html.dark',
|
||||
|
|
|
@ -14,14 +14,16 @@ import GoBackIcon from '@/assets/icons/go-back.svg';
|
|||
/>
|
||||
</button>
|
||||
|
||||
<!-- Go Back Script >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
|
||||
<!-- Go Back Script >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
|
||||
<script>
|
||||
function setupBackButton() {
|
||||
document.getElementById('back-button')?.addEventListener('click', () => {
|
||||
// Navigate back if history exists
|
||||
if (window.history.length > 1) {
|
||||
window.history.back()
|
||||
}
|
||||
else {
|
||||
// Fallback to homepage
|
||||
const siteTitleLink = document.getElementById('site-title-link')
|
||||
if (siteTitleLink) {
|
||||
siteTitleLink.click()
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
<script>
|
||||
const copyIcons = {
|
||||
copy: `<svg viewBox="0 0 24 24" fill="currentColor">
|
||||
copy:
|
||||
`<svg
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
|
||||
</svg>`,
|
||||
success: `<svg viewBox="0 0 24 24" fill="currentColor">
|
||||
success:
|
||||
`<svg
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
|
||||
</svg>`,
|
||||
}
|
||||
|
||||
// Store active timeouts to prevent memory leaks
|
||||
// Track timeout references for each button to manage icon state transitions
|
||||
const activeTimeouts = new WeakMap<HTMLButtonElement, ReturnType<typeof setTimeout>>()
|
||||
|
||||
async function handleCopy(button: HTMLButtonElement) {
|
||||
|
@ -18,29 +26,34 @@ async function handleCopy(button: HTMLButtonElement) {
|
|||
try {
|
||||
await navigator.clipboard.writeText(code)
|
||||
|
||||
// Clear existing timeout to prevent visual glitches on multiple clicks
|
||||
// Clear existing timeout to prevent icon state conflicts on multiple clicks
|
||||
const existingTimeout = activeTimeouts.get(button)
|
||||
if (existingTimeout) {
|
||||
clearTimeout(existingTimeout)
|
||||
}
|
||||
|
||||
button.innerHTML = copyIcons.success
|
||||
button.classList.add('copy-success')
|
||||
|
||||
// Set timeout to revert to copy icon after 2 seconds
|
||||
// Set timeout to revert to copy icon after 1.5s
|
||||
const timeoutId = setTimeout(() => {
|
||||
button.innerHTML = copyIcons.copy
|
||||
button.classList.remove('copy-success')
|
||||
activeTimeouts.delete(button)
|
||||
}, 1000)
|
||||
}, 1500)
|
||||
|
||||
activeTimeouts.set(button, timeoutId)
|
||||
}
|
||||
catch {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize copy buttons with icons and mark them to prevent duplicate initialization
|
||||
function setupCodeCopyButtons() {
|
||||
// Only initialize buttons that haven't been initialized yet
|
||||
document.querySelectorAll<HTMLButtonElement>('.code-copy-button:not([data-initialized])').forEach((button) => {
|
||||
document
|
||||
.querySelectorAll<HTMLButtonElement>('.code-copy-button:not([data-initialized])')
|
||||
.forEach((button) => {
|
||||
button.innerHTML = copyIcons.copy
|
||||
button.setAttribute('data-initialized', 'true')
|
||||
})
|
||||
|
|
|
@ -12,7 +12,7 @@ function setupGithubCards() {
|
|||
observer.unobserve(entry.target)
|
||||
}
|
||||
})
|
||||
}, { rootMargin: '400px' })
|
||||
}, { rootMargin: '500px' })
|
||||
|
||||
Array.from(githubCards).forEach(card => observer.observe(card))
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { gsap } from 'gsap'
|
||||
|
||||
function setupPostPageAnimation() {
|
||||
// Elements
|
||||
// Animated Elements
|
||||
const postContent = document.getElementById('gsap-post-page-content')
|
||||
const postContentChildren = postContent ? Array.from(postContent.children) : []
|
||||
const tocContainer = document.getElementById('toc-container')
|
||||
|
@ -10,7 +10,7 @@ function setupPostPageAnimation() {
|
|||
const tocList = document.getElementById('toc-list')
|
||||
const tocListChildren = tocList ? Array.from(tocList.children) : []
|
||||
const backButton = document.getElementById('back-button')
|
||||
const dateElement = document.getElementById('gsap-post-page-date')
|
||||
const postDate = document.getElementById('gsap-post-page-date')
|
||||
|
||||
// Screen Size Check
|
||||
const isLargeScreen = window.matchMedia('(min-width: 1024px)').matches
|
||||
|
@ -38,8 +38,8 @@ function setupPostPageAnimation() {
|
|||
}
|
||||
|
||||
// Post Date
|
||||
if (dateElement) {
|
||||
gsap.to(dateElement, {
|
||||
if (postDate) {
|
||||
gsap.to(postDate, {
|
||||
opacity: 1,
|
||||
y: 0,
|
||||
duration: 0.5,
|
||||
|
|
|
@ -65,9 +65,3 @@ function lazySetupPhotoSwipe() {
|
|||
lazySetupPhotoSwipe()
|
||||
document.addEventListener('astro:page-load', lazySetupPhotoSwipe)
|
||||
</script>
|
||||
|
||||
<style is:global>
|
||||
.pswp .pswp__bg {
|
||||
--at-apply: 'bg-background!'
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -96,20 +96,21 @@ const filteredHeadings = headings.filter(heading =>
|
|||
--at-apply: 'ml-4 font-semibold 2xl:hidden';
|
||||
}
|
||||
.toc-list {
|
||||
--at-apply: 'mb-3 mt-1 list-none pl-0 space-y-1.1 2xl:(mb-2 space-y-1)';
|
||||
--at-apply: 'mb-2.3 mt-0 list-none pl-0 space-y-1.1 2xl:(my-1 space-y-1)';
|
||||
}
|
||||
.toc-link-h2, .toc-link-h3, .toc-link-h4 {
|
||||
--at-apply: 'text-balance text-sm font-normal no-underline 2xl:(text-3.2 c-secondary/60 transition-colors transition-font-weight duration-300 ease-out hover:c-secondary hover:font-medium)';
|
||||
--at-apply: 'text-balance text-sm font-normal no-underline 2xl:(text-3.2 c-secondary/60 transition-colors transition-font-weight ease-out hover:c-secondary hover:font-medium)';
|
||||
}
|
||||
.toc-list > :first-child {
|
||||
--at-apply: 'mt-0';
|
||||
}
|
||||
|
||||
/* Initial collapsed state with zero height grid row */
|
||||
.accordion-wrapper {
|
||||
--at-apply: 'grid rows-[0fr] transition-all duration-350 ease-in-out';
|
||||
}
|
||||
.accordion-content {
|
||||
--at-apply: 'max-h-59 overflow-hidden pl-4 pr-6 2xl:(max-h-[calc(100vh-26.5rem)] pl-1)';
|
||||
--at-apply: 'max-h-58 overflow-hidden pl-4 pr-6 2xl:(max-h-[calc(100vh-26.75rem)] pl-1)';
|
||||
}
|
||||
|
||||
/* When toggle is checked, expand the wrapper to show content */
|
||||
|
|
|
@ -187,8 +187,8 @@ preload: {
|
|||
// link prefetch strategies
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// image hosting url
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// optimize remote images in Markdown files to avoid cumulative layout shift
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// custom google analytics js
|
||||
// for users who route analytics javascript to a customized domain
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
[RSS feed page](https://retypeset.radishzz.cc/en/rss.xml) styles.
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* Font color */
|
||||
|
|
|
@ -187,8 +187,8 @@ preload: {
|
|||
// estrategias de precarga de enlaces
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// URL de alojamiento de imágenes
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// optimizar imágenes remotas en archivos Markdown para evitar cambios de diseño acumulativos
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// js personalizado de google analytics
|
||||
// para usuarios que redirigen javascript de analytics a un dominio personalizado
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
Estilos de [página del feed RSS](https://retypeset.radishzz.cc/es/rss.xml).
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* Color de fuente */
|
||||
|
|
|
@ -26,7 +26,7 @@ site: {
|
|||
subtitle: 'Revive the beauty of typography'
|
||||
// サイト説明
|
||||
description: 'Retypeset is a static blog theme...'
|
||||
// 上記の静的設定ではなく src/i18n/ui.ts の多言語タイトル/サブタイトル/説明を使用
|
||||
// 上記の静的設定の代わりに src/i18n/ui.ts の多言語タイトル/サブタイトル/説明を使用
|
||||
i18nTitle: true // true, false
|
||||
// 著者名
|
||||
author: 'radishzz'
|
||||
|
@ -187,8 +187,8 @@ preload: {
|
|||
// リンクプリフェッチ戦略
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// 画像ホスティング URL
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// Markdownファイル内のリモート画像を最適化してレイアウトシフトを防止
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// カスタム Google Analytics JS
|
||||
// アナリティクス JavaScript をカスタムドメインにルーティングするユーザー向け
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
[RSSフィードページ](https://retypeset.radishzz.cc/ja/rss.xml)スタイル。
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* フォントカラー */
|
||||
|
|
|
@ -26,7 +26,7 @@ site: {
|
|||
subtitle: 'Revive the beauty of typography'
|
||||
// описание сайта
|
||||
description: 'Retypeset is a static blog theme...'
|
||||
// использовать многоязычные заголовок/подзаголовок/описание из src/i18n/ui.ts, а не статические выше
|
||||
// использовать многоязычные заголовок/подзаголовок/описание из src/i18n/ui.ts вместо статических выше
|
||||
i18nTitle: true // true, false
|
||||
// имя автора
|
||||
author: 'radishzz'
|
||||
|
@ -187,8 +187,8 @@ preload: {
|
|||
// стратегии предзагрузки ссылок
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// URL хостинга изображений
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// оптимизировать удаленные изображения в файлах Markdown для избежания накопления сдвига макета
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// пользовательский скрипт Google Analytics
|
||||
// для пользователей, которые направляют JavaScript аналитики на собственный домен
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
Стили [страницы RSS-ленты](https://retypeset.radishzz.cc/ru/rss.xml).
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* Цвет шрифта */
|
||||
|
|
|
@ -26,7 +26,7 @@ site: {
|
|||
subtitle: 'Revive the beauty of typography'
|
||||
// 站點描述
|
||||
description: 'Retypeset is a static blog theme...'
|
||||
// 使用 src/i18n/ui.ts 中的多語言標題/副標題/站點描述,而不是上方靜態配置
|
||||
// 使用 src/i18n/ui.ts 中的多語言標題/副標題/站點描述,代替上方靜態配置
|
||||
i18nTitle: true // true, false
|
||||
// 作者名稱
|
||||
author: 'radishzz'
|
||||
|
@ -187,8 +187,8 @@ preload: {
|
|||
// 鏈接預加載策略
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// 圖床地址
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// 優化 Markdown 文件中的遠程圖片以避免佈局抖動
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// 定制 google analytics js
|
||||
// 適用於路由 google analytics js 到自定義域名的用戶
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
[RSS 訂閱頁](https://retypeset.radishzz.cc/zh-tw/rss.xml) 配色。
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* 字體顏色 */
|
||||
|
|
|
@ -26,7 +26,7 @@ site: {
|
|||
subtitle: 'Revive the beauty of typography'
|
||||
// 站点描述
|
||||
description: 'Retypeset is a static blog theme...'
|
||||
// 使用 src/i18n/ui.ts 中的多语言标题/副标题/站点描述,而不是上方静态配置
|
||||
// 使用 src/i18n/ui.ts 中的多语言标题/副标题/站点描述,代替上方静态配置
|
||||
i18nTitle: true // true, false
|
||||
// 作者名称
|
||||
author: 'radishzz'
|
||||
|
@ -187,8 +187,8 @@ preload: {
|
|||
// 链接预加载策略
|
||||
linkPrefetch: 'viewport' // hover, tap, viewport, load
|
||||
// 图床地址
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// 优化 Markdown 文件中的远程图片以避免布局抖动
|
||||
imageHostURL: 'https://image.radishzz.cc'
|
||||
// 定制 google analytics js
|
||||
// 适用于路由 google analytics js 到自定义域名的用户
|
||||
customGoogleAnalyticsJS: ''
|
||||
|
@ -271,7 +271,7 @@ getImageOptions: (_path, page) => ({
|
|||
[RSS 订阅页](https://retypeset.radishzz.cc/rss.xml) 配色。
|
||||
|
||||
```html
|
||||
<!-- public/rss/rss-style.xsl -->
|
||||
<!-- public/feeds/xxx-style.xsl -->
|
||||
|
||||
<style type="text/css">
|
||||
body{color:oklch(25% 0.005 298)} /* 字体颜色 */
|
||||
|
|
|
@ -120,44 +120,7 @@
|
|||
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'%3E%3C/path%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
/* Fix KaTeX Overflow with Hidden Scrollbar >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
|
||||
.katex-display {
|
||||
--at-apply: 'my-6 overflow-x-auto overflow-y-hidden scrollbar-hidden';
|
||||
}
|
||||
.katex-display::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Video */
|
||||
.heti iframe {
|
||||
--at-apply: 'my-6 aspect-video w-full';
|
||||
}
|
||||
.heti :is(h1, h2, h3, h4, h5, h6, iframe) + iframe {
|
||||
--at-apply: 'mt-4';
|
||||
}
|
||||
.heti iframe:has(+ iframe) {
|
||||
--at-apply: 'mb-4';
|
||||
}
|
||||
|
||||
/* Code Copy Button */
|
||||
.code-copy-button {
|
||||
--at-apply: 'z-99 absolute top-2.3 right-2.3 w-8 aspect-square uno-round-border border-secondary/15 c-secondary/80 cursor-pointer';
|
||||
--at-apply: 'transition-opacity duration-300 ease-out op-100 bg-background lg:(op-0 bg-background)';
|
||||
}
|
||||
.code-block-wrapper:hover .code-copy-button {
|
||||
--at-apply: 'op-100';
|
||||
}
|
||||
.code-copy-button:hover {
|
||||
--at-apply: 'c-primary/80';
|
||||
}
|
||||
.code-copy-button svg {
|
||||
--at-apply: 'w-4 h-4 block mx-auto';
|
||||
}
|
||||
.code-copy-button svg,
|
||||
.code-copy-button svg path {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
|
||||
/* :where(details) {
|
||||
--at-apply: 'my-4 px-4 py-3 border border-solid border-secondary/25 rounded cursor-pointer';
|
||||
}
|
||||
|
|
|
@ -14,6 +14,37 @@ body::selection {
|
|||
--at-apply: 'bg-highlight';
|
||||
}
|
||||
|
||||
/* PhotoSwipe Background Color */
|
||||
.pswp .pswp__bg {
|
||||
--at-apply: 'bg-background!';
|
||||
}
|
||||
|
||||
/* Fix KaTeX Overflow with Hidden Scrollbar */
|
||||
.katex-display {
|
||||
--at-apply: 'my-6 overflow-x-auto overflow-y-hidden scrollbar-hidden';
|
||||
}
|
||||
.katex-display::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Highlight Hover Animation */
|
||||
.highlight-static,
|
||||
.highlight-hover {
|
||||
--at-apply: 'relative inline-block';
|
||||
}
|
||||
.highlight-static::after,
|
||||
.highlight-hover::after {
|
||||
content: '';
|
||||
--at-apply: 'absolute left-0 z--1 h-0.5em w-full bg-highlight';
|
||||
}
|
||||
.highlight-static::after,
|
||||
.highlight-hover:hover::after {
|
||||
--at-apply: 'origin-bottom-left scale-x-100';
|
||||
}
|
||||
.highlight-hover::after {
|
||||
--at-apply: 'origin-bottom-right scale-x-0 transition-transform ease-out lg:duration-300';
|
||||
}
|
||||
|
||||
/* Heading Anchor Link */
|
||||
.heading-anchor-link {
|
||||
--at-apply: 'inline-block translate-y-0.1em';
|
||||
|
@ -34,20 +65,25 @@ h4:hover .heading-anchor-link svg:hover {
|
|||
--at-apply: 'op-80';
|
||||
}
|
||||
|
||||
/* Highlight Hover Animation */
|
||||
.highlight-static,
|
||||
.highlight-hover {
|
||||
--at-apply: 'relative inline-block';
|
||||
/* Code Copy Button */
|
||||
.code-copy-button {
|
||||
--at-apply: 'absolute right-2.2 top-2.2 z-99 aspect-square w-8 cursor-pointer uno-round-border border-secondary/15';
|
||||
--at-apply: 'bg-background c-secondary/80 op-100 hover:c-primary/80 lg:op-0';
|
||||
transition: opacity 300ms ease-out, background-color 150ms ease-out;
|
||||
}
|
||||
.highlight-static::after,
|
||||
.highlight-hover::after {
|
||||
content: '';
|
||||
--at-apply: 'absolute left-0 z--1 h-0.5em w-full bg-highlight';
|
||||
.code-block-wrapper:hover .code-copy-button {
|
||||
--at-apply: 'op-100';
|
||||
}
|
||||
.highlight-static::after,
|
||||
.highlight-hover:hover::after {
|
||||
--at-apply: 'origin-bottom-left scale-x-100';
|
||||
.code-copy-button.copy-success {
|
||||
--at-apply: 'border-none bg-emerald-600 c-background';
|
||||
}
|
||||
.highlight-hover::after {
|
||||
--at-apply: 'origin-bottom-right scale-x-0 transition-transform ease-out lg:duration-300';
|
||||
html.dark .code-copy-button.copy-success {
|
||||
--at-apply: 'bg-emerald-500';
|
||||
}
|
||||
.code-copy-button svg {
|
||||
--at-apply: 'mx-auto aspect-square w-50%';
|
||||
}
|
||||
.code-copy-button svg,
|
||||
.code-copy-button svg path {
|
||||
--at-apply: 'pointer-events-none';
|
||||
}
|
|
@ -75,6 +75,17 @@
|
|||
--at-apply: 'mb-4';
|
||||
}
|
||||
|
||||
/* Video */
|
||||
.heti iframe {
|
||||
--at-apply: 'my-6 aspect-video w-full';
|
||||
}
|
||||
.heti :is(h1, h2, h3, h4, h5, h6, iframe) + iframe {
|
||||
--at-apply: 'mt-4';
|
||||
}
|
||||
.heti iframe:has(+ iframe) {
|
||||
--at-apply: 'mb-4';
|
||||
}
|
||||
|
||||
/* Code Blocks */
|
||||
.heti :where(pre) {
|
||||
--at-apply: 'overflow-auto uno-round-border px-4 py-3 bg-secondary/5!';
|
||||
|
|
|
@ -36,7 +36,7 @@ html.reduce-motion {
|
|||
--at-apply: 'transition-colors duration-300 ease-out';
|
||||
}
|
||||
|
||||
/* GSAP Animation Elements Initial States */
|
||||
/* GSAP Animation Elements Initial States >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */
|
||||
@media (min-width: 1024px) {
|
||||
html:not(.reduce-motion) #gsap-post-page-content > * {
|
||||
opacity: 0;
|
||||
|
@ -59,12 +59,14 @@ html.reduce-motion {
|
|||
transform: translateY(1.5rem);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1023px) {
|
||||
html:not(.reduce-motion) #gsap-post-page-content > :nth-child(-n+7) {
|
||||
opacity: 0;
|
||||
transform: translateY(3rem);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1535px) {
|
||||
html:not(.reduce-motion) #toc-container {
|
||||
opacity: 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue