1 Commits

Author SHA1 Message Date
488c659a39 chore(deps): bump remark-directive from 3.0.1 to 4.0.0
Bumps [remark-directive](https://github.com/remarkjs/remark-directive) from 3.0.1 to 4.0.0.
- [Release notes](https://github.com/remarkjs/remark-directive/releases)
- [Commits](https://github.com/remarkjs/remark-directive/compare/3.0.1...4.0.0)

---
updated-dependencies:
- dependency-name: remark-directive
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-28 13:19:43 +00:00
229 changed files with 7510 additions and 1612 deletions

View File

@ -1,13 +1,15 @@
# KazooTTT 博客
# KazooTTT | 声控烤箱 博客
## 关于我
无论是博客还是笔记,最重要的服务对象是我自己。
[平台合集](https://bento.me/kazoottt)
[平台合集](<https://bento.me/kazoottt>)
[个人博客Blog](https://blog.kazoottt.top/)
[个人博客Blog](<https://blog.kazoottt.top/>)
[个人笔记 Notes](<https://notes.kazoottt.top/>)
[GitHub](<https://github.com/KazooTTT>)
[个人笔记 Notes](https://notes.kazoottt.top/)
[GitHub](https://github.com/KazooTTT)

View File

@ -40,7 +40,7 @@
"rehype-autolink-headings": "^7.1.0",
"rehype-external-links": "^3.0.0",
"rehype-unwrap-images": "^1.0.0",
"remark-directive": "^3.0.1",
"remark-directive": "^4.0.0",
"sanitize-html": "^2.14.0",
"satori": "0.12.1",
"satori-html": "^0.3.2",

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@ -121,11 +121,6 @@ const socialImageURL = new URL(ogImage ? ogImage : "/social-card.png", Astro.url
})(window, document, "clarity", "script", "kvbyuhu6d2");
</script>
<script
defer
src="https://cloud.umami.is/script.js"
data-website-id="247d7726-70c1-46fd-9453-fbe95630c3d6"></script>
<meta content={Astro.generator} name="generator" />
<style is:global>

View File

@ -1,7 +1,7 @@
---
import { Icon } from "astro-icon/components";
/**
/**
Uses https://www.astroicon.dev/getting-started/
Find icons via guide: https://www.astroicon.dev/guides/customization/#open-source-icon-sets
Only installed pack is: @iconify-json/mdi
@ -27,9 +27,14 @@ const socialLinks: {
link: "https://x.com/kazoottt",
name: "mdi:twitter",
},
{
friendlyName: "Bilibili",
link: "https://space.bilibili.com/391236013",
name: "mdi:video",
},
{
friendlyName: "YouTube",
link: "https://www.youtube.com/@kazoottt255",
link: "https://www.youtube.com/@kazoottt4718",
name: "mdi:youtube",
},
{
@ -42,11 +47,6 @@ const socialLinks: {
link: "https://bento.me/KazooTTT",
name: "mdi:open-in-new",
},
{
friendlyName: "rss",
link: "https://blog.kazoottt.top/rss.xml",
name: "mdi:rss-box",
},
];
---

View File

@ -13,7 +13,7 @@ const {
<li class={`${depth > 2 ? "ms-2" : ""}`}>
<a
class={`line-clamp-2 hover:text-accent ${depth <= 2 ? "mt-3" : "mt-2 text-xs"}`}
href={`#${slug}`}><span aria-hidden="true" class="me-0.5"></span>{text}</a
href={`#${slug}`}><span aria-hidden="true" class="me-0.5">#</span>{text}</a
>
{
!!children.length && (

View File

@ -1,111 +1,111 @@
---
import kazootttAvatar from "../../assets/kazoottt-avatar.jpeg";
import { Image } from "astro:assets";
import kazootttAvatar from '../../assets/kazoottt-avatar.jpeg'
import { Image } from 'astro:assets'
---
<header class="fixed top-0 right-0 left-0 z-50 bg-white shadow-sm dark:bg-gray-800">
<header class='fixed left-0 right-0 top-0 z-50 bg-white shadow-sm dark:bg-gray-800'>
<nav
class="mx-auto flex w-full items-center justify-between px-4 py-3 lg:flex lg:w-3/5 lg:w-4/5 lg:items-center"
aria-label="global"
class='mx-auto flex w-full items-center justify-between px-4 py-3 lg:flex lg:w-3/5 lg:w-4/5 lg:items-center'
aria-label='global'
>
<a class="flex items-center" href="/">
<a class='flex items-center' href='/'>
<Image
src={kazootttAvatar}
alt="profile photo"
class="mr-2 h-8 w-auto rounded-full lg:hidden"
loading="eager"
alt='profile photo'
class='mr-2 h-8 w-auto rounded-full lg:hidden'
loading='eager'
/>
<div class="hidden flex-none text-xl font-semibold lg:block" aria-label="Brand">KazooTTT</div>
<div class='hidden flex-none text-xl font-semibold lg:block' aria-label='Brand'>声控烤箱</div>
</a>
<!-- Mobile menu button -->
<button
id="mobileMenuButton"
class="hover:bg-border rounded-md p-2 lg:hidden"
aria-label="Toggle mobile menu"
id='mobileMenuButton'
class='rounded-md p-2 hover:bg-border lg:hidden'
aria-label='Toggle mobile menu'
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
class="h-6 w-6"
xmlns='http://www.w3.org/2000/svg'
width='24'
height='24'
viewBox='0 0 24 24'
class='h-6 w-6'
>
<path fill="currentColor" d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path>
<path fill='currentColor' d='M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'></path>
</svg>
</button>
<!-- Desktop Navigation -->
<div class="hidden flex-row items-center justify-center gap-x-7 lg:flex">
<div class="relative">
<div class='hidden flex-row items-center justify-center gap-x-7 lg:flex'>
<div class='relative'>
<a
href="/blog"
class={`peer flex items-center text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/blog") ? "text-green-400" : ""}`}
aria-label="Blog Menu"
href='/blog'
class={`peer flex items-center text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/blog') ? 'text-green-400' : ''}`}
aria-label='Blog Menu'
>
Blog
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
class="ml-1 transform transition-transform duration-200 peer-hover:rotate-180"
xmlns='http://www.w3.org/2000/svg'
width='20'
height='20'
viewBox='0 0 24 24'
class='ml-1 transform transition-transform duration-200 peer-hover:rotate-180'
>
<path fill="currentColor" d="m12 15l-5-5h10z"></path>
<path fill='currentColor' d='m12 15l-5-5h10z'></path>
</svg>
</a>
<div
class="invisible absolute left-0 mt-2 w-48 rounded-md bg-white py-2 opacity-0 shadow-lg transition-all duration-200 peer-hover:visible peer-hover:opacity-100 hover:visible hover:opacity-100 dark:bg-gray-800"
class='invisible absolute left-0 mt-2 w-48 rounded-md bg-white py-2 opacity-0 shadow-lg transition-all duration-200 hover:visible hover:opacity-100 peer-hover:visible peer-hover:opacity-100 dark:bg-gray-800'
>
<a
href="/categories"
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith("/categories") ? "text-green-400" : ""} dark:hover:bg-gray-700`}
aria-label="Categories Page"
href='/categories'
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith('/categories') ? 'text-green-400' : ''} dark:hover:bg-gray-700`}
aria-label='Categories Page'
>
Categories
</a>
<a
href="/tags"
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith("/tags") ? "text-green-400" : ""} dark:hover:bg-gray-700`}
aria-label="Tags Page"
href='/tags'
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith('/tags') ? 'text-green-400' : ''} dark:hover:bg-gray-700`}
aria-label='Tags Page'
>
Tags
</a>
<a
href="/diary"
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith("/diary") ? "text-green-400" : ""} dark:hover:bg-gray-700`}
aria-label="Diary Page"
href='/diary'
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith('/diary') ? 'text-green-400' : ''} dark:hover:bg-gray-700`}
aria-label='Diary Page'
>
Diary
</a>
</div>
</div>
<a
href="/tools"
class={`flex-none text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/tools") ? "text-green-400" : ""}`}
aria-label="Nav Menu Item"
href='/tools'
class={`flex-none text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/tools') ? 'text-green-400' : ''}`}
aria-label='Nav Menu Item'
>Tools
</a>
<div class="relative">
<button class="peer flex items-center text-[1.05rem] font-medium" aria-label="More Menu">
<div class='relative'>
<button class='peer flex items-center text-[1.05rem] font-medium' aria-label='More Menu'>
More
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
class="ml-1 transform transition-transform duration-200 peer-hover:rotate-180"
xmlns='http://www.w3.org/2000/svg'
width='20'
height='20'
viewBox='0 0 24 24'
class='ml-1 transform transition-transform duration-200 peer-hover:rotate-180'
>
<path fill="currentColor" d="m12 15l-5-5h10z"></path>
<path fill='currentColor' d='m12 15l-5-5h10z'></path>
</svg>
</button>
<div
class="invisible absolute right-0 mt-2 w-48 rounded-md bg-white py-2 opacity-0 shadow-lg transition-all duration-200 peer-hover:visible peer-hover:opacity-100 hover:visible hover:opacity-100 dark:bg-gray-800"
class='invisible absolute right-0 mt-2 w-48 rounded-md bg-white py-2 opacity-0 shadow-lg transition-all duration-200 hover:visible hover:opacity-100 peer-hover:visible peer-hover:opacity-100 dark:bg-gray-800'
>
<a
href="/friends"
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith("/friends") ? "text-green-400" : ""} dark:hover:bg-gray-700`}
aria-label="Friends Page"
href='/friends'
class={`block px-6 py-3 text-[1.05rem] font-medium transition-colors hover:bg-gray-100 ${Astro.url.pathname.startsWith('/friends') ? 'text-green-400' : ''} dark:hover:bg-gray-700`}
aria-label='Friends Page'
>
Friends
</a>
@ -113,30 +113,30 @@ import { Image } from "astro:assets";
</div>
<button
id="toggleDarkMode"
class="border-border hover:bg-border relative rounded-md border p-1.5 transition-all"
id='toggleDarkMode'
class='relative rounded-md border border-border p-1.5 transition-all hover:bg-border'
>
<span class="sr-only">Dark Theme</span>
<span class='sr-only'>Dark Theme</span>
<svg
xmlns="http://www.w3.org/2000/svg"
width="32"
height="32"
viewBox="0 0 24 24"
class="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:hidden dark:scale-0 dark:-rotate-90"
xmlns='http://www.w3.org/2000/svg'
width='32'
height='32'
viewBox='0 0 24 24'
class='h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:hidden dark:-rotate-90 dark:scale-0'
><path
fill="currentColor"
d="M12 15q1.25 0 2.125-.875T15 12q0-1.25-.875-2.125T12 9q-1.25 0-2.125.875T9 12q0 1.25.875 2.125T12 15m0 1q-1.671 0-2.836-1.164T8 12q0-1.671 1.164-2.836T12 8q1.671 0 2.836 1.164T16 12q0 1.671-1.164 2.836T12 16m-7-3.5H1.5v-1H5zm17.5 0H19v-1h3.5zM11.5 5V1.5h1V5zm0 17.5V19h1v3.5zM6.746 7.404l-2.16-2.098l.695-.744l2.111 2.134zM18.72 19.438l-2.117-2.14l.652-.702l2.16 2.098zM16.596 6.746l2.098-2.16l.744.695l-2.134 2.111zM4.562 18.72l2.14-2.117l.663.652l-2.078 2.179zM12 12"
fill='currentColor'
d='M12 15q1.25 0 2.125-.875T15 12q0-1.25-.875-2.125T12 9q-1.25 0-2.125.875T9 12q0 1.25.875 2.125T12 15m0 1q-1.671 0-2.836-1.164T8 12q0-1.671 1.164-2.836T12 8q1.671 0 2.836 1.164T16 12q0 1.671-1.164 2.836T12 16m-7-3.5H1.5v-1H5zm17.5 0H19v-1h3.5zM11.5 5V1.5h1V5zm0 17.5V19h1v3.5zM6.746 7.404l-2.16-2.098l.695-.744l2.111 2.134zM18.72 19.438l-2.117-2.14l.652-.702l2.16 2.098zM16.596 6.746l2.098-2.16l.744.695l-2.134 2.111zM4.562 18.72l2.14-2.117l.663.652l-2.078 2.179zM12 12'
></path></svg
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="32"
height="32"
viewBox="0 0 24 24"
class="hidden h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:block dark:scale-100 dark:rotate-0"
xmlns='http://www.w3.org/2000/svg'
width='32'
height='32'
viewBox='0 0 24 24'
class='hidden h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:block dark:rotate-0 dark:scale-100'
><path
fill="currentColor"
d="M12.058 20q-3.334 0-5.667-2.333Q4.058 15.333 4.058 12q0-3.038 1.98-5.27Q8.02 4.5 10.942 4.097q.081 0 .159.006t.153.017q-.506.706-.801 1.57q-.295.865-.295 1.811q0 2.667 1.866 4.533q1.867 1.867 4.534 1.867q.952 0 1.813-.295q.862-.295 1.548-.801q.012.075.018.153q.005.078.005.158q-.384 2.923-2.615 4.904T12.057 20"
fill='currentColor'
d='M12.058 20q-3.334 0-5.667-2.333Q4.058 15.333 4.058 12q0-3.038 1.98-5.27Q8.02 4.5 10.942 4.097q.081 0 .159.006t.153.017q-.506.706-.801 1.57q-.295.865-.295 1.811q0 2.667 1.866 4.533q1.867 1.867 4.534 1.867q.952 0 1.813-.295q.862-.295 1.548-.801q.012.075.018.153q.005.078.005.158q-.384 2.923-2.615 4.904T12.057 20'
></path></svg
>
</button>
@ -144,71 +144,71 @@ import { Image } from "astro:assets";
<!-- Mobile Navigation -->
<div
id="mobileMenu"
class="fixed inset-x-0 top-[72px] z-50 hidden max-h-[calc(100vh-72px)] overflow-y-auto rounded-b-lg bg-white shadow-lg lg:hidden dark:bg-gray-800"
id='mobileMenu'
class='fixed inset-x-0 top-[72px] z-50 hidden max-h-[calc(100vh-72px)] overflow-y-auto rounded-b-lg bg-white shadow-lg dark:bg-gray-800 lg:hidden'
>
<div class="space-y-2 px-4 py-2">
<div class='space-y-2 px-4 py-2'>
<a
href="/blog"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/blog") ? "text-green-400" : ""}`}
href='/blog'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/blog') ? 'text-green-400' : ''}`}
>
Blog
</a>
<a
href="/categories"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/categories") ? "text-green-400" : ""}`}
href='/categories'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/categories') ? 'text-green-400' : ''}`}
>
Categories
</a>
<a
href="/tags"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/tags") ? "text-green-400" : ""}`}
href='/tags'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/tags') ? 'text-green-400' : ''}`}
>
Tags
</a>
<a
href="/diary"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/diary") ? "text-green-400" : ""}`}
href='/diary'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/diary') ? 'text-green-400' : ''}`}
>
Diary
</a>
<a
href="/tools"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/tools") ? "text-green-400" : ""}`}
href='/tools'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/tools') ? 'text-green-400' : ''}`}
>
Tools
</a>
<a
href="/friends"
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith("/friends") ? "text-green-400" : ""}`}
href='/friends'
class={`block py-2 text-[1.05rem] font-medium ${Astro.url.pathname.startsWith('/friends') ? 'text-green-400' : ''}`}
>
Friends
</a>
<button
id="mobileToggleDarkMode"
class="mt-2 flex w-full items-center py-2 text-[1.05rem] font-medium"
id='mobileToggleDarkMode'
class='mt-2 flex w-full items-center py-2 text-[1.05rem] font-medium'
>
<span>Theme</span>
<svg
xmlns="http://www.w3.org/2000/svg"
width="32"
height="32"
viewBox="0 0 24 24"
class="ml-2 h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:hidden dark:scale-0 dark:-rotate-90"
xmlns='http://www.w3.org/2000/svg'
width='32'
height='32'
viewBox='0 0 24 24'
class='ml-2 h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:hidden dark:-rotate-90 dark:scale-0'
><path
fill="currentColor"
d="M12 15q1.25 0 2.125-.875T15 12q0-1.25-.875-2.125T12 9q-1.25 0-2.125.875T9 12q0 1.25.875 2.125T12 15m0 1q-1.671 0-2.836-1.164T8 12q0-1.671 1.164-2.836T12 8q1.671 0 2.836 1.164T16 12q0 1.671-1.164 2.836T12 16m-7-3.5H1.5v-1H5zm17.5 0H19v-1h3.5zM11.5 5V1.5h1V5zm0 17.5V19h1v3.5zM6.746 7.404l-2.16-2.098l.695-.744l2.111 2.134zM18.72 19.438l-2.117-2.14l.652-.702l2.16 2.098zM16.596 6.746l2.098-2.16l.744.695l-2.134 2.111zM4.562 18.72l2.14-2.117l.663.652l-2.078 2.179zM12 12"
fill='currentColor'
d='M12 15q1.25 0 2.125-.875T15 12q0-1.25-.875-2.125T12 9q-1.25 0-2.125.875T9 12q0 1.25.875 2.125T12 15m0 1q-1.671 0-2.836-1.164T8 12q0-1.671 1.164-2.836T12 8q1.671 0 2.836 1.164T16 12q0 1.671-1.164 2.836T12 16m-7-3.5H1.5v-1H5zm17.5 0H19v-1h3.5zM11.5 5V1.5h1V5zm0 17.5V19h1v3.5zM6.746 7.404l-2.16-2.098l.695-.744l2.111 2.134zM18.72 19.438l-2.117-2.14l.652-.702l2.16 2.098zM16.596 6.746l2.098-2.16l.744.695l-2.134 2.111zM4.562 18.72l2.14-2.117l.663.652l-2.078 2.179zM12 12'
></path></svg
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="32"
height="32"
viewBox="0 0 24 24"
class="ml-2 hidden h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:block dark:scale-100 dark:rotate-0"
xmlns='http://www.w3.org/2000/svg'
width='32'
height='32'
viewBox='0 0 24 24'
class='ml-2 hidden h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:block dark:rotate-0 dark:scale-100'
><path
fill="currentColor"
d="M12.058 20q-3.334 0-5.667-2.333Q4.058 15.333 4.058 12q0-3.038 1.98-5.27Q8.02 4.5 10.942 4.097q.081 0 .159.006t.153.017q-.506.706-.801 1.57q-.295.865-.295 1.811q0 2.667 1.866 4.533q1.867 1.867 4.534 1.867q.952 0 1.813-.295q.862-.295 1.548-.801q.012.075.018.153q.005.078.005.158q-.384 2.923-2.615 4.904T12.057 20"
fill='currentColor'
d='M12.058 20q-3.334 0-5.667-2.333Q4.058 15.333 4.058 12q0-3.038 1.98-5.27Q8.02 4.5 10.942 4.097q.081 0 .159.006t.153.017q-.506.706-.801 1.57q-.295.865-.295 1.811q0 2.667 1.866 4.533q1.867 1.867 4.534 1.867q.952 0 1.813-.295q.862-.295 1.548-.801q.012.075.018.153q.005.078.005.158q-.384 2.923-2.615 4.904T12.057 20'
></path></svg
>
</button>
@ -219,59 +219,59 @@ import { Image } from "astro:assets";
<script>
function getCurrentTheme() {
return localStorage.getItem("theme");
return localStorage.getItem('theme')
}
function setupDarkModeToggle() {
const toggleDarkModeButton = document.getElementById("toggleDarkMode");
const mobileToggleDarkMode = document.getElementById("mobileToggleDarkMode");
const toggleDarkModeButton = document.getElementById('toggleDarkMode')
const mobileToggleDarkMode = document.getElementById('mobileToggleDarkMode')
function toggleTheme() {
const currentTheme = getCurrentTheme();
const newTheme = currentTheme === "dark" ? "light" : "dark";
localStorage.setItem("theme", newTheme);
document.documentElement.classList.toggle("dark");
const currentTheme = getCurrentTheme()
const newTheme = currentTheme === 'dark' ? 'light' : 'dark'
localStorage.setItem('theme', newTheme)
document.documentElement.classList.toggle('dark')
// Dispatch theme change event
window.dispatchEvent(new CustomEvent("theme-change", { detail: { theme: newTheme } }));
window.dispatchEvent(new CustomEvent('theme-change', { detail: { theme: newTheme } }))
}
if (toggleDarkModeButton) {
toggleDarkModeButton.addEventListener("click", toggleTheme);
toggleDarkModeButton.addEventListener('click', toggleTheme)
}
if (mobileToggleDarkMode) {
mobileToggleDarkMode.addEventListener("click", toggleTheme);
mobileToggleDarkMode.addEventListener('click', toggleTheme)
}
}
function setupMobileMenu() {
const mobileMenuButton = document.getElementById("mobileMenuButton");
const mobileMenu = document.getElementById("mobileMenu");
if (!mobileMenuButton || !mobileMenu) return;
const mobileMenuButton = document.getElementById('mobileMenuButton')
const mobileMenu = document.getElementById('mobileMenu')
if (!mobileMenuButton || !mobileMenu) return
mobileMenuButton.addEventListener("click", () => {
mobileMenu.classList.toggle("hidden");
});
mobileMenuButton.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden')
})
// Close mobile menu when clicking outside
document.addEventListener("click", (event) => {
document.addEventListener('click', (event) => {
if (
!mobileMenuButton.contains(event.target as Node) &&
!mobileMenu.contains(event.target as Node)
) {
mobileMenu.classList.add("hidden");
mobileMenu.classList.add('hidden')
}
});
})
}
// Setup initial functionality
setupDarkModeToggle();
setupMobileMenu();
setupDarkModeToggle()
setupMobileMenu()
// Re-setup functionality after view transitions
document.addEventListener("astro:after-swap", () => {
setupDarkModeToggle();
setupMobileMenu();
});
document.addEventListener('astro:after-swap', () => {
setupDarkModeToggle()
setupMobileMenu()
})
</script>

View File

@ -0,0 +1,32 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-02-11'
slug: diary-2023-02-11
date: 2023-02-11T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
2023年2月11日星期六菜单包括外婆菜炒蛋搭配土豆箜饭饮料为冰糖加柠檬片。当天的计划包括使用tailwind编写样式学习Photoshop或Figma操作以制作视频封面模板以及进行AI
Hanser的相关工作。
category: 日记
date_created: 20250104
date_modified: 20250304
---
## 今日菜单 + 饮料
外婆菜炒蛋 + 土豆箜饭
冰糖 + 柠檬片
## 今日计划
- [ ] 使用 tailwind 编写样式
- [ ] 学习 ps 或者 figma 操作,制作视频封面模板
- [ ] AI Hanser

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-08'
slug: diary-2023-09-08
date: 2023-09-08T00:00:00.000Z
author: KazooTTT
tags:
- 歌词
- 日记
- hanser
description: 2023年9月8日星期五的记录中提到了一段关于直播的内容强调不需要背负任何负担只需带着空行囊和彼此即可。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-08 星期五
<!-- start of weread -->
<!-- end of weread -->
## 直播
> 不需要 背负任何
> 只需要空行囊和彼此就够

View File

@ -0,0 +1,29 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-09'
slug: diary-2023-09-09
date: 2023-09-09T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 2023年9月9日星期六的日程安排包括已完成的项目升级和游泳以及待完成的nextjs+node运行时脚本测试。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-09 星期六
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
- [x] 版本升级
- [ ] nextjs+node 运行时 脚本运行测试
- [x] 游泳

View File

@ -0,0 +1,23 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-10'
slug: diary-2023-09-10
date: 2023-09-10T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
2023年9月10日某博客讨论了其支持的模板语法指出虽然功能丰富但使用起来感觉不够灵活且学习成本较高。文章中提出疑问低代码是否是一种高效但可能过于简化的编程方式。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-10 星期日
- 13:17 某博客支持各种模板语法,但是使用的时候反而觉得不灵活以及学习成本过高了。<br>觉得突然想到,是不是低代码是一种含糖量极高的编程方式。<br>

View File

@ -0,0 +1,41 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-12'
slug: diary-2023-09-12
date: 2023-09-12T00:00:00.000Z
author: KazooTTT
tags:
- 健身
- 日记
description: >-
今天的任务包括完成多项链表相关的编程题目其中已完成的有“86.分隔链表”和“141.环形链表”未完成的有“142.环形链表-ii”和“160.相交链表”。此外已完成的任务还包括在Obsidian中链接外部代码文件。健身方面进行了跑步、椭圆机和器械锻炼并计划下次带拖鞋以便洗完澡后直接穿回家。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-12 星期二
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
- [ ] 刷题回顾
- [x] [86.分隔链表](https://notes.kazoottt.top/03-领域/算法/记录/86.分隔链表)
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/算法/记录/141.环形链表)
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/算法/记录/142.环形链表-ii)
- [ ] [[160.相交链表]]
- [x] [[obsidian链接外部代码文件]]
## 健身
【打卡】跑步 15 分钟,椭圆机 15 分钟,器械(大腿 腹部 背部4 组
下次要把拖鞋带来,洗完澡直接穿拖鞋回家。

View File

@ -0,0 +1,79 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-13'
slug: diary-2023-09-13
date: 2023-09-13T00:00:00.000Z
author: KazooTTT
tags:
- 日记
- todo
description: >-
On September 13, 2023, the individual focused on several tasks including
reviewing coding problems, specifically completing the "141.环形链表" and planning
to tackle "142.环形链表-ii" and "160.相交链表". They also dealt with issues related to
the react-noiton-x library, which is used in their blog's search interface,
and attempted to compile the library from source code due to outdated
versions. Challenges included issues with yarn proxy settings, understanding
workspace concepts, and the process of npm publishing. Additionally, they
worked on their blog, integrating Sentry for error tracking and adjusting the
giscus comment section's style to better fit different themes. On the personal
front, they skipped the gym due to poor physical condition but exercised at
home using an elliptical machine. They also considered upgrading their
smartwatch as it was no longer compatible with the latest watch face market
updates.
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-13 星期三
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
- [ ] 刷题回顾
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/算法/记录/141.环形链表)
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/算法/记录/142.环形链表-ii)
- [ ] [[160.相交链表]]
## 打卡
wakatime 数据:
![IMG-20241021113029099](<https://pictures.kazoottt.top/2024/11/20241125-7139a104f1df9b03b462a7d8b582b109.png>)
## React-noiton-x
今天一直在看 react-noiton-x 的问题,因为博客里依赖了这个库的搜索接口,而该接口虽然在源代码里更新了,但是最新一次打包是二月份
![IMG-20241021113029126](<https://pictures.kazoottt.top/2024/11/20241125-e05ed84ba105012a9d605957c3813d65.png>)
所以尝试自己从源代码打包一份,然后新发一个版本给自己使用。
遇到的问题有:
1. 忘记修改过 yarn 的代理(公司内网),导致安装失败。代理优先级应该是 yarn 自身代理>npm 代理
2. 对于 workspace 的概念不熟悉
3. 对于 npm 发布不熟悉
后续要做的事:
打包,然后发布
## Blog
然后继续折腾了一下博客,接入了 sentry,
之前的 giscus 评论区的样式是比较怪异的(即使切换了主题,背景色还是白色),今天做成适配的了。不过这个切换有些生硬,后续要加个过渡
![IMG-20241021113029153](<https://pictures.kazoottt.top/2024/11/20241125-c8924e57d362b973da60017a4ad7bbdd.gif>)
## 健身
状态不好没去健身房在家踩了椭圆机3-11 档阻力交叉 30 分钟
=、= 感觉该换手表了,突然发现这个手表表盘市场都不兼容了
![IMG-20241021113029196](<https://pictures.kazoottt.top/2024/11/20241125-4cd6f6565440bf5c21b6ee94587de167.jpeg>)
![IMG-20241021113029229](<https://pictures.kazoottt.top/2024/11/20241125-16152535d36b14dc442cccfd8484b72b.jpeg>)

View File

@ -0,0 +1,37 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-14'
slug: diary-2023-09-14
date: 2023-09-14T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天是2023年9月14日星期四。今天的计划包括打卡和健身。健身内容包括跑步20分钟和使用器械30分钟虽然9点去健身房时间有点紧张。此外已经下单了一款新手表预计下周五到货。感觉自己的背部似乎直了一些。还提到了一种快速获取telegram
chatId并实现消息通知的方法。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-14 星期四
<!-- start of weread -->
<!-- end of weread -->
## 健身
健身打卡
跑步 20 分钟,器械 30 分钟9 点去健身房时间还是有点紧了!
下单了新的手表,下周五能到!
不知道是不是错觉,感觉自己背直了一点
[快速获取telegram chatId然后实现消息通知的方法](/notes/quick-way-to-get-telegram-chatid-and-then-implement-message-notification)

View File

@ -0,0 +1,28 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-15'
slug: diary-2023-09-15
date: 2023-09-15T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 2023年9月15日星期五的日程包括修复notion-blog中vercel og的问题并进行打卡记录。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-15 星期五
<!-- start of weread -->
<!-- end of weread -->
## 打卡
[修复了notion-blog中vercel og的问题](https://notes.kazoottt.top/05-临时/01-草稿箱/修复了notion-blog中vercel og的问题)

View File

@ -0,0 +1,51 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-17'
slug: diary-2023-09-17
date: 2023-09-17T00:00:00.000Z
author: KazooTTT
tags:
- 健身
- 日记
description: >-
2023年9月17日个人日记记录了当天的活动和任务。白天主要在休息晚上进行了健身活动包括30分钟的椭圆机训练和30分钟的器械训练。健身后回家泡脚并在此期间编写了一个油猴脚本用于直播间管理增强已完成弹窗样式修改和response拦截及第一页数据填充后续计划实现滚动加载后的数据填充。此外还记录了两个待处理的事项屏蔽推特黄推和使用shot.so进行图片美化。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-17 星期日
<!-- start of weread -->
<!-- end of weread -->
## 打卡
今天白天主要在休息,
晚上出门健身了,椭圆机 30 分钟,器械 30 分钟。
然后回到家泡了脚,出了挺多汗的。
一边泡脚一边写了一个油猴脚本,具体如下。
[直播间管理增强脚本](https://notes.kazoottt.top/05-临时/01-草稿箱/直播间管理增强脚本)
今日完成:
弹窗样式修改
response 拦截 + 第一页数据填充
后面要做的事:
实现滚动加载后,填充对应的数据
![IMG-20241021113029272](<https://pictures.kazoottt.top/2024/11/20241125-15619d7536bbeb8537e13a5580d60fbd.png>)
## Inbox
[屏蔽推特黄推](/notes/blocking-twitter-yellow-tweets)
[shot.so - 图片美化工具](/notes/shotso-image-beautification-tool)

View File

@ -0,0 +1,34 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-24'
slug: diary-2023-09-24
date: 2023-09-24T00:00:00.000Z
author: KazooTTT
tags:
- 翻译
- 日记
description: >-
今天的任务包括翻译YouTube视频《Monorepos - How the Pros Scale Huge Software Projects //
Turborepo vs
Nx》并投稿到Bilibili视频链接为https://www.youtube.com/watch?v=9iU_IE6vnJ8投稿链接为https://www.bilibili.com/video/BV1uz4y1V7cb/?spm_id_from=..search-card.all.click&vd_source=729e6f70ca3cee328ccece68cb2bbd30。此外还有待处理的inbox事项。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-09-24 星期日
<!-- start of weread -->
<!-- end of weread -->
## 打卡
[Monorepos - How the Pros Scale Huge Software Projects // Turborepo vs Nx](<https://www.youtube.com/watch?v=9iU_IE6vnJ8>) 的翻译然后 [投稿](<https://www.bilibili.com/video/BV1uz4y1V7cb/?spm_id_from=..search-card.all.click&vd_source=729e6f70ca3cee328ccece68cb2bbd30>)
## Inbox

View File

@ -0,0 +1,32 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-10-06'
slug: diary-2023-10-06
date: 2023-10-06T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天的任务包括给手表充电和录制关于如何使用MessAuto和iMessage实现iPhone和mac信息同步及自动复制验证码的视频并计划将视频发布到B站和小红书上。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-10-06 星期五
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
- [ ] 给手表充电
- [ ] 录 [[安利/MessAuto + iMessage 实现iPhone和mac信息同步和自动复制验证码]] 的视频,发布到 b 站和小红书
## Inbox

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-10-10'
slug: diary-2023-10-10
date: 2023-10-10T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 今天的计划包括阅读vite文档并进行打卡和处理inbox事项。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-10-10 星期二
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
[从零开始阅读vite文档](https://notes.kazoottt.top/05-临时/01-草稿箱/从零开始阅读vite文档)
## Inbox

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-10-18'
slug: diary-2023-10-18
date: 2023-10-18T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 今天的日程包括图片上传测试和打卡活动同时有一个待处理的inbox事项。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-10-18 星期三
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
[[图片上传测试]]
## Inbox

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-10-21'
slug: diary-2023-10-21
date: 2023-10-21T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 2023年10月21日星期六的日程安排包括打卡和处理inbox事务。具体打卡内容通过一张图片展示而inbox的具体内容未详细说明。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-10-21 星期六
<!-- start of weread -->
<!-- end of weread -->
## 打卡
![IMG-20241021113029319](<https://pictures.kazoottt.top/2024/11/20241125-2c8dfa24dd6c560da504635981725bb0.png>)
## Inbox

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-10-22'
slug: diary-2023-10-22
date: 2023-10-22T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 今天的计划包括防抖技术的学习和打卡任务,同时还有待处理的邮件。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 2023-10-22 星期日
<!-- start of weread -->
<!-- end of weread -->
## 今天要做的事情
[防抖](https://notes.kazoottt.top/05-临时/01-草稿箱/防抖)
## Inbox

View File

@ -0,0 +1,30 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-11-06'
slug: diary-2023-11-06
date: 2023-11-06T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: 2023年11月6日星期一记录了当天的打卡情况显示Wakatime的使用时间较长给人留下了深刻印象。此外还提到了inbox但未详细说明内容。
category: 日记
date_created: 20250104
date_modified: 20250304
---
## 打卡
![IMG-20241021113029371](<https://pictures.kazoottt.top/2024/11/20241125-d50f8d9b645bbfacc13485c8594b5f18.png>)
今天的 wakatime 有点恐怖了
## Inbox
<!-- start of weread -->
<!-- end of weread -->

View File

@ -0,0 +1,33 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-11-16'
slug: diary-2023-11-16
date: 2023-11-16T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天是2023年11月16日星期四。今天的主要任务是开始学习web3特别是参加了一个名为solidity_bootcamp的在线课程该课程由open
build提供。此外还记录了学习笔记但具体内容未在提供的材料中详细说明。
category: 日记
date_created: 20250104
date_modified: 20250304
---
## 打卡
开始学习 web3上周报名的 open build 的 solidity_bootcamp 开营了。
[solidity_bootcamp学习笔记](https://notes.kazoottt.top/03-领域/web3/solidity_bootcamp学习笔记)
## Inbox
<!-- start of weread -->
<!-- end of weread -->

View File

@ -0,0 +1,33 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-11-17'
slug: diary-2023-11-17
date: 2023-11-17T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天的任务清单中已完成的是下午去办理港澳通行证而未完成的是准备公司评级的材料和学习web3基础知识。此外今天的日程中还包括打卡和查看inbox但没有具体的事项列出。
category: 日记
date_created: 20250104
date_modified: 20250304
---
## 明天要做的事情
- [x] 下午去办港澳通行证
- [ ] 去公司准备评级的材料
- [ ] 学习 web3 基础知识
## Inbox
<!-- start of weread -->
<!-- end of weread -->

View File

@ -0,0 +1,42 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-03-05'
slug: diary-2024-03-05
date: 2024-03-05T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天的主要任务包括完成Python学习至day15和刷题已完成的任务有Python学习和刷题。未完成的任务包括整理周一和周二的资讯、进行多线程批量测试、解决Python的AttributeError问题以及JetBrains
IDE的terminal无法打开问题。此外还帮助前部门面试了一位前端候选人。明天计划继续处理未完成的任务并记录了2024年3月5日的文件路径信息。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 今天要做的事情
- [x] python 看到 day15 [python100 1-15](https://notes.kazoottt.top/03-领域/后端/python/python100 1-15)
- [x] 刷题
- [ ] 整理周一和周二的资讯
- [ ] 多线程批量跑测试
- [ ] [[AttributeError module 'select' has no attribute 'epoll']]
- [ ] [[jerbrains的ide打不开terminal]]
- [ ] [2024-03-05 刷题](https://notes.kazoottt.top/03-领域/算法/记录/2024-03-05 刷题)
# 打卡
主要在看 Python另外刷了两道算法题。
帮之前部门的人面试了一个前端。​​​
# Inbox
<!-- start of weread -->
<!-- end of weread -->

View File

@ -0,0 +1,50 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-03-06'
slug: diary-2024-03-06
date: 2024-03-06T00:00:00.000Z
author: KazooTTT
tags:
- 日记
description: >-
今天的工作主要集中在解决错误和提交代码上成功地向autogen和notionnext提交了pull
request其中autogen的请求已被合并。同时开通了notion
ai并迁移了部分本地内容到博客上。此外收到了购买的时尚小物品感到非常满意。遗憾的是今天没有进行学习和刷题。计划早点休息为明天做准备。
category: 日记
date_created: 20250104
date_modified: 20250304
---
# 打卡
工作上排了一天的错,本来要做的工作也没有做。
给 autogen 和 notionnext 提了 prautogen 的已经被合并了,这是第二次被 autogen 合并,
🙏非常感谢。
然后开通了 notion ai发现它支持 google pay这点对我来说挺友好的。开通的原因是想用它的自动生成 tags 和 summary 的功能。搭配 notionnext比较方便。然后迁移了一部分本地的内容到博客上去。
买的时尚小垃圾到了,挺喜欢的。
![IMG-20241021113029511](<https://pictures.kazoottt.top/2024/11/20241125-30be30b76c47cff90a88e37b7562e1ed.png>)
![IMG-20241021113029604](<https://pictures.kazoottt.top/2024/11/20241125-15265af8fa83af8ec5365f588256f85b.jpeg>)
![IMG-20241021113029671](<https://pictures.kazoottt.top/2024/11/20241125-c33b78a016b48a6729cb3aa8e939e125.jpeg>)
今天的不足之处是没有学习也没有刷题。
昨天太累了,今天早睡吧。晚安。
# Inbox
<!-- start of weread -->
<!-- end of weread -->

View File

@ -0,0 +1,27 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
slug: fragmented-notes-2024-10-21-11-17-17
tags:
- 财务管理
- 飞书
- 记账软件
- 碎片
description: 使用飞书作为记账工具,能够有效地记录和管理财务信息。
date_created: 20250104
date_modified: 20250304
title: 2024-10-21 11分17秒 使用飞书来记账
date: 2024-10-21T00:00:00.000Z
author: KazooTTT
category: 碎片
---
使用飞书来记账
![IMG-57FB4A797CCE28DF5413ACAC19610F28](</mdImages/IMG-57FB4A797CCE28DF5413ACAC19610F28.png>)
![IMG-7F9EB8A6DF15D7814E3A8AEBB48D1E6B](</mdImages/IMG-7F9EB8A6DF15D7814E3A8AEBB48D1E6B.png>)

View File

@ -0,0 +1,51 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
slug: fragmented-notes-2025-02-16-23-41-18
tags:
- 复古相机,摄影爱好者,数字中心
- 碎片
description: >-
Vintage Camera Lab
是专注于复古相机的网站,提供多种型号的详细信息与历史,按品牌、格式和类型分类,便于摄影师、收藏家了解相机的背景与特点。此外,该网站还提供复古相机风格的周边商品。
date_created: 20250104
date_modified: 20250304
title: 2024-10-25 13分02秒 Vintage Camera Lab
date: 2025-02-16T00:00:00.000Z
author: KazooTTT
category: 碎片
---
![IMG-69C73A35AE6AA1B14805360168652323](</mdImages/IMG-69C73A35AE6AA1B14805360168652323.png>)
**Vintage Camera Lab复古相机爱好者的数字中心**
**地址**[Vintage Camera Lab](<https://vintagecameralab.com/>)
**日期**20241025
**摘要**Vintage Camera Lab 是专注于复古相机的网站,涵盖多种型号的详细信息与历史,按品牌、格式和类型分类,便于摄影师、收藏家等了解相机的背景与特点。同时,该网站还提供复古相机风格的周边产品。
**亮点**
- 丰富的相机数据库,包含规格与历史背景。
- 支持按品牌、格式和类型分类。
- 提供复古相机主题的周边商品。
- 面向复古摄影爱好者和相机收藏家。
---
Vintage Camera Lab复古相机爱好者的数字中心
Vintage Camera Lab 是专注于复古相机的网站,涵盖多种型号的详细信息与历史,按品牌、格式和类型分类,便于摄影师、收藏家等了解相机的背景与特点。同时,该网站还提供复古相机风格的周边产品。
亮点:
• 丰富的相机数据库,包含规格与历史背景。
• 支持按品牌、格式和类型分类。
• 提供复古相机主题的周边商品。
• 面向复古摄影爱好者和相机收藏家。

View File

@ -0,0 +1,31 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
slug: fragmented-notes-2025-02-16-23-40-56
tags:
- 磁带盒设计
- 磁带收藏
- 碎片
- 在线商店
description: >-
Tapedeck.org
为磁带设计提供了丰富的信息和历史记录,包括功能型设计、色彩丰富和形状变化等。网站还支持用户分享自己的磁带收藏,并为此提供了详细的提交指南。此外,网站还提供了在线商店销售与磁带相关的周边产品。
date_created: 20250104
date_modified: 20250304
title: 2024-10-25 13分11秒 Tapedeck
date: 2024-10-25T00:00:00.000Z
author: KazooTTT
category: 碎片
---
![IMG-50A2519769D27745F083E18F4D48FC55](</mdImages/IMG-50A2519769D27745F083E18F4D48FC55.png>)
Tapedeck.org 提供了从 60 年代初的功能型磁带到 90 年代的各种形状变化的磁带盒设计。
- 记录了丰富的磁带设计历史和信息,从早期的功能性设计到后来的色彩丰富和形状变化。
- 网站鼓励用户分享自己的磁带收藏,提供了详细的提交指南。
- 网站还提供了一个在线商店销售与磁带相关的周边。

View File

@ -0,0 +1,29 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
slug: fragmented-notes-2025-02-19-21-11-13
tags:
- 碎片
- craft第三方链接Office文档
description: Craft 第三方链接解析兼容性更好美观程度也更好。然而Craft提供的免费服务有限仅为试用版本后期需要付费使用。
date_created: 20250220
date_modified: 20250304
title: 2024-10-28 18分05秒 craft原来要收费
date: 2024-10-28T00:00:00.000Z
author: KazooTTT
category: 碎片
---
对于第三方链接的解析craft 的兼容性和美观程度是更好的。
![IMG-C58CD0BCE8298B39A32CF9B5698EF4DC](</mdImages/IMG-C58CD0BCE8298B39A32CF9B5698EF4DC.png>)
![IMG-19B31E2B37A4ADD4C3F65725068BCAC4](</mdImages/IMG-19B31E2B37A4ADD4C3F65725068BCAC4.png>)
![IMG-330ABC2555F1F3E34E3D9FBB55B9C8F9](</mdImages/IMG-330ABC2555F1F3E34E3D9FBB55B9C8F9.png>)
我一直以为 Craft 是免费的,今天才发现是最开始免费 10 个 doc后面每周可以免费创建 2 个 doc。

View File

@ -0,0 +1,59 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-11-26'
slug: diary-2024-11-26
date: 2024-11-26T00:00:00.000Z
day_of_week: 星期二
author: KazooTTT
tags:
- 日记
- 幸福的具象化
- milklove
description: >-
今天是milklove宣布二搭、三搭的日子。根据截图牛奶爱情已经发展到了很幸福的阶段。有许多视频和 GIFs
表示了他们之间的亲密度和甜蜜。虽然没有具体详细信息但可以看出这对人是非常恩爱的。在这里汇总了一些关键的视频和截图展示了milklove的幸福感和关怀。
category: 日记
date_created: 20250104
date_modified: 20250304
---
很幸福的一天,今天是 milklove 宣布二搭、三搭的日子。
6 月入坑牛奶爱情,不知不觉嗑到现在,从没想过今天这样的发展。
在这里汇总一下今天的一些视频。
[截修](<https://weibo.com/7101901680/P28tdryDc#comment>)
![7101901680_P28tdryDc_3_007KCR3ily1hw00ujf2kdj30ok0wrhdt](<https://pictures.kazoottt.top/2024/11/20241127-146e50893c94f9353d1dc1b4fb57cf9f.jpg>)
![7101901680_P28tdryDc_2_007KCR3ily1hw00uoshooj30ok0wrhdt](<https://pictures.kazoottt.top/2024/11/20241127-2fbf4d6dd6bfbab6f90dc9bb07616302.jpg>)
![7101901680_P28tdryDc_1_007KCR3ily1hw00umrpncj30ok0wrhdt](<https://pictures.kazoottt.top/2024/11/20241127-5ccf20fa63efa8c2cbb5fb96f24a9165.jpg>)
[幸福的具象化](<https://weibo.com/6083416567/P28jkx9MS#comment>)
![IMG-20241127003154185](<https://pictures.kazoottt.top/2024/11/20241127-116eefa7b7e4f45a768949a17c5eb2e1.gif>)
![Pasted image 20241127003452](<https://pictures.kazoottt.top/2024/11/20241127-05fca095f483c27c58e0f5b092b3d69a.png>)
[girl rule cut](<https://weibo.com/1750538651/P27NfAOja#comment>)
[亲亲](<https://weibo.com/1825971940/P288xfVxF#comment>)
![lJxtFWEflx08jTFnm57i0104120011iE0E010](<https://pictures.kazoottt.top/2024/11/20241127-3f6f17edcb438269258e15de9e0a885d.gif>)
[二搭 预告片 婉司姬](<https://weibo.com/1753015991/P27pq9oJU#comment>)
![Pasted image 20241127003346](<https://pictures.kazoottt.top/2024/11/20241127-cec219a8dbcaef9195964df8a2775832.png>)
[二搭 预告片 弯弯字幕组](<https://weibo.com/7392264056/P27lQtUnd#comment>)
![Pasted image 20241127003356](<https://pictures.kazoottt.top/2024/11/20241127-80e0bb6d50b0e8356ea53361e771365a.png>)
[Findwichh推介会汇总](<https://weibo.com/6613951279/P29c7fgx9#comment>)

View File

@ -0,0 +1,48 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-11-27'
slug: diary-2024-11-27
date: 2024-11-27T00:00:00.000Z
day_of_week: 星期三
author: KazooTTT
tags:
- 日记
description: >-
windsurf 赠送了试用的天数,个人发现 windsurf 的 cursor 自动补全速度比其他软件快且更智能。然而volview 中的 store
信息难以理解,而 Crop2D.vue 的文件内容未能解释明了。此外,安装 canvas 时遇到错误,需要参考 node-canvas 的 Windows
安装指导解决问题。
category: 日记
date_created: 20250104
date_modified: 20250304
---
windsurf 赠送了试用的天数
![Pasted image 20241127102521](<https://pictures.kazoottt.top/2024/11/20241129-f78ed74651c9e92353b0b3f88033b873.png>)
个人感觉 cursor 的自动补全速度比 windsurf 快和智能很多
volview 也这么多 store谁能看懂...
![Pasted image 20241127182204](<https://pictures.kazoottt.top/2024/11/20241129-aa7cb1a643a25a79e8726605fd2b1106.png>)
`src\components\tools\crop\Crop2D.vue`
啥意思
![Pasted image 20241127182701](<https://pictures.kazoottt.top/2024/11/20241129-5550cf97c227b40010dffa544417d125.png>)
安装 canvas 的时候报错:
```
error C1083: 无法打开包括文件: “cairo.h”: No such file or directory
```
解决方法:
[Installation: Windows · Automattic/node-canvas Wiki · GitHub](<https://github.com/Automattic/node-canvas/wiki/Installation:-Windows>)

View File

@ -0,0 +1,76 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-11-28'
slug: diary-2024-11-28
date: 2024-11-28T00:00:00.000Z
day_of_week: 星期四
author: KazooTTT
tags:
- 日记
description: >-
VSCode加速设置可以提高你的开发效率尤其是对于低端显卡或者集成显卡的机器。打开 VSCode命令面板输入 "Preferences:
Configure Runtime
Arguments"然后添加“disable-hardware-acceleration”true实验发现它确实有助于提高工作效率。但是如果你的
SonarLint 占用内存过高,就会导致卡顿问题。此外,你还遇到了 vite-plugin-checker 的错误,解决方法是安装或重新安装 uv。
category: 日记
date_created: 20250104
date_modified: 20250304
---
[x.com](<https://x.com/vikingmute/status/1858781019492790315>)
```
打开这个禁止硬件加速的选项可以让 VSCode 快很多倍Cusror 这种基于 VSCode 的也可以,不知道什么原理,应该是针对低端显卡或者集成显卡的机器比较有效?但是我试了一下确实感觉快了一些,我是 M3 的 macbook大家可以试试看效果怎样
步骤:
1. 打开命令面板 (Cmnd + Shift + P)
2. 输入 "Preferences: Configure Runtime Arguments"
3. 添加: "disable-hardware-acceleration": true
```
SonarLint 内存占用高,卡顿
---
[vite-tsconfig-paths](<https://www.npmjs.com/package/vite-tsconfig-paths#vite-tsconfig-paths>) 踩坑
```
error when starting dev server:
ReferenceError: module is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and 'C:\Users\turbo\Developer\xxx.worktrees\fix\cannot-export\node_modules\.pnpm\vite-plugin-checker@0.8.0_eslint@8.57.1_optionator@0.9.4_typescript@4.9.5_vite@4.5.5_@types+n_f2jvehahdn5lgzw77tv2nbqmma\node_modules\vite-plugin-checker\package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
```
Ensure the project either has "type": "module" set or that the Vite config is renamed to vite.config.mjs / vite.config.mts depending on whether TypeScript is used
确保项目已设置 "type": "module" 或根据是否使用 TypeScript 将 Vite 配置重命名为 vite.config.mjs / vite.config.mts
---
# Claude MCP can't connect to SQLite MCP serve
![image.png](<https://pictures.kazoottt.top/2024/11/20241128-365eae5fe7493a84658fb9bbfa7555cb.png>)
[Reddit - Dive into anything](<https://www.reddit.com/r/ClaudeAI/comments/1h0my0y/comment/lz5w7ar/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button>)
解决方法install or reinstall uv
```
brew install uv
```
---
## ollma 真好玩
我怎么这么久了才开始玩(谢谢酱紫表的安利)
![CleanShot 2024-11-28 at 23.40.12@2x.png](<https://pictures.kazoottt.top/2024/11/20241128-bde60eeee02f234a59d87d2144a4a4d3.png>)
[GitHub - ollama/ollama: Get up and running with Llama 3.2, Mistral, Gemma 2, and other large language models.](<https://github.com/ollama/ollama?tab=readme-ov-file>)
[GitHub - AugustDev/enchanted: Enchanted is iOS and macOS app for chatting with private self hosted language models such as Llama2, Mistral or Vicuna using Ollama.](<https://github.com/AugustDev/enchanted>)

View File

@ -0,0 +1,69 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-11-29'
date: 2024-11-29T00:00:00.000Z
day_of_week: 星期五
author: KazooTTT
tags:
- 日记
description: >-
Qube可以集成到GitHub上详细了解如何进行集成请参考YouTube上的视频。 如果出现HTTP
409错误首先删除使用该码的容器然后再删除相关容器。 在深度学习工具中Ollama是一个非常好的沉浸式翻译工具。
区分重启和刷新按钮时需要注意到不同操作的差异。在Windows系统上虽然没有macOS类似的窗口管理工具但仍可以使用Raycast等第三方应用进行任务
automation。 Adobe Express可以帮助我们将图片转换为SVG格式并提供了一个简单易用的工具。
在使用ECharts时Canvas和SVG两个渲染器的选择主要取决于软硬件环境、数据量和功能需求。在需要优化性能的问题场景下尝试结合实验来确定使用哪种渲-render器更合适。
只有在你熟悉用canvas手搓图表时你才能在网页上创建这种图。 最近的工作包括编辑器图片上传重构、移动端应用程序的开发以及学习VTK和图形学。
slug: diary-2024-11-29
category: 日记
date_created: 20250104
date_modified: 20250304
---
qube 如何集成到 github:
[GitHub Integration | Mapping your organization into SonarQube - YouTube](<https://www.youtube.com/watch?v=6zvBuZr8CeI>)
Image HTTP code 409 is in use. Delete the container that's using it and try again.
先删除 container 再删除 volume
沉浸式翻译使用 ollama
如何区分重启和刷新按钮
windows 有没有像 macos 一样的窗口管理工具loop raycast 之类的
[Adobe Express](<https://new.express.adobe.com/tools/convert-to-svg>)
covnert image to svg (需要登录)
![image.png](<https://pictures.kazoottt.top/2024/11/20241129-771df278cae6c89066af0a9a882f3ff9.png>)
[Canvas vs. SVG - 最佳实践 - 使用手册 - Apache ECharts](<https://echarts.apache.org/handbook/zh/best-practices/canvas-vs-svg/>)
> [!note]
> 选择哪种渲染器,我们可以根据软硬件环境、数据量、功能需求综合考虑。
>
> - 在软硬件环境较好,数据量不大的场景下,两种渲染器都可以适用,并不需要太多纠结。
> - 在环境较差,出现性能问题需要优化的场景下,可以通过试验来确定使用哪种渲染器。比如有这些经验:
> - 在需要创建很多 ECharts 实例且浏览器易崩溃的情况下(可能是因为 Canvas 数量多导致内存占用超出手机承受能力),可以使用 SVG 渲染器来进行改善。大略的说,如果图表运行在低端安卓机,或者我们在使用一些特定图表如 [水球图](<https://ecomfe.github.io/echarts-liquidfill/example/>) SVG 渲染器可能效果更好。
> - 数据量较大(经验判断 > 1k、较多交互时建议选择 Canvas 渲染器。
我什么时候可以做到用 canvas 手搓这种图
![image.png](<https://pictures.kazoottt.top/2024/11/20241129-60d83ca2693fd5e9774743f352039c2b.png>)
最近可以做的事情:
编辑器图片上传重构
编辑器高度修改
行间高度调整
用 rn 重写移动端
ml 资源整合
vtk、图形学学习
obsidian 插件 ollama generate slug tags

View File

@ -0,0 +1,38 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-11-30'
date: 2024-11-30T00:00:00.000Z
day_of_week: 星期六
author: KazooTTT
tags:
- 日记
description: >-
为了更快地启动 Visual Studio CodeVSCodeextention先按下 Ctrl+Shift+P或Cmd+Shift+P进入
Command Pallete。然后输入“Startup Performance”并选择相关选项完成后记得激活功能以保持其设置。
如果存在占用特定端口的程序请使用命令“lsof -i :<PORT>”识别端口对应的进程IDPID再使用命令“kill -9
<PID>”终止该进程。也可以使用更方便的方式“kill -9 $(lsof -t -i :<PORT>)”,即直接杀死占用端口的进程。
slug: diary-2024-11-30
category: 日记
date_created: 20250104
date_modified: 20250304
---
vscode extention 启动时间
按下 Ctrl+Shift+PWindows/Linux或 Cmd+Shift+PmacOS输入 “Startup Performance” 并选择该选项。 关注Finish Activate
kill 端口为 x 的进程
```
lsof -i :<PORT>
kill -9 <PID>
```
```
kill -9 $(lsof -t -i :<PORT>)
```

View File

@ -0,0 +1,47 @@
---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2024-12-11'
date: 2024-12-11T00:00:00.000Z
day_of_week: 星期三
author: KazooTTT
tags:
- 日记
description: >-
我上周忙得满不在乎wakatime 的数据显示,我加班的时间直接进入了全球前 100。主要是做 vtk.js
的开发花了很多时间,不仅没有做到原先计划的需求,还对 polydata
的变化感到困惑。虽然我耐下了心理压力,能清晰地理解项目里的复杂数据流转,但是写文档还是头昏眼花,一时起走神来。除了上周加班外,我也试用了
react-scan 和安卓视频下载软件,好看的个人主页让我感动。
slug: diary-2024-12-11
category: 日记
date_created: 20250104
date_modified: 20250304
---
终于没有那么忙了,上周忙成狗了,加班加的 wakatime 时长直接进入全球前 100 了
![image.png](<https://pictures.kazoottt.top/2024/12/20241210-c47db55ce8a5198e2eafb096444aab6f.png>)
![image.png](<https://pictures.kazoottt.top/2024/12/20241210-a064bc9e2410f0bfba01ba7323277e64.png>)
上周在忙什么?主要是做 vtk.js 的开发花了很多时间,不然后续的需求查漏补缺我不会做的这么着急。
对于 vtk.js 的掌握程度还是太低了,甚至连 polydata 的变化要怎么写都是临时掌握的。不过好在上周耐心理了一下项目里复杂的数据流转,清晰了很多。
![image.png](<https://pictures.kazoottt.top/2024/12/20241211-20241211214029.png>)
然后今天主要再写文档,写得头昏眼花的,好容易走神。
---
react-scan 让页面的 rerender 一眼便知 [React Scan](<https://react-scan.com/>),试了下确实好用(比浏览器的开发者工具里面的 rerender 监视器好用),后面项目优化有事做了。
安卓的视频下载软件 [GitHub - JunkFood02/Seal: 🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You](<https://github.com/JunkFood02/Seal>)
好看的个人主页 [CAICAI - A Product Manager](<https://www.caicai.me/>)
![image.png](<https://pictures.kazoottt.top/2024/12/20241210-bc4eadb59b028a2fac538771dae2c303.png>)

Some files were not shown because too many files have changed in this diff Show More