Compare commits
66 Commits
ab9ca1ba14
...
imgbot
Author | SHA1 | Date | |
---|---|---|---|
c9f7485624 | |||
0c8cae5bea | |||
f8e73888d1 | |||
53487b36e7 | |||
6a3b085635 | |||
85ac5bcda1 | |||
1b16e54e09 | |||
4705878c1d | |||
e31323397b | |||
b5502d4cbe | |||
09b8958141 | |||
ac1173786f | |||
55040baff5 | |||
b2b1ba6dcd | |||
66ec490344 | |||
39652a9e90 | |||
4feb5e95af | |||
a9879a68b1 | |||
8e7273da0c | |||
807cf650f8 | |||
b7bf1eab35 | |||
b931b14013 | |||
e123d5928a | |||
e6a88b73af | |||
c36acc92c6 | |||
79e12689c9 | |||
013ede32a4 | |||
ee3068bc18 | |||
99b2d194bb | |||
f37e2a10bb | |||
ca268a37dc | |||
1a40d05221 | |||
f5085a2490 | |||
0fc8c6cb80 | |||
5a7c9eced0 | |||
45bbf23dbc | |||
66cbee31df | |||
ae886f5596 | |||
fcf0f24937 | |||
10abfc34a7 | |||
c5eca7b064 | |||
6b7e3f1b70 | |||
c12699b65c | |||
937eee5627 | |||
6dee4650b9 | |||
0e9ad45b65 | |||
fd1bbcbf21 | |||
47473a34f9 | |||
fdd2768e0c | |||
57ee25f4f3 | |||
58f4e095b5 | |||
64383959c0 | |||
bb1b0eaa5b | |||
2bfda8024b | |||
0cf1cbb56a | |||
e2e98f9cc7 | |||
c037d61e49 | |||
ab931dd953 | |||
0eba98f263 | |||
50d4e72216 | |||
b3004795f0 | |||
92aa02ed46 | |||
e7d79d1733 | |||
f5a8cd1a06 | |||
e5a5192922 | |||
7037b5a0fb |
2
.github/workflows/main.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
- name: Pull in dev.to posts
|
||||
uses: gautamkrishnar/blog-post-workflow@v1
|
||||
with:
|
||||
template: $newline - [$date 【$categories】 $title]($url)
|
||||
template: $newline - [$date $title]($url)
|
||||
date_format: "yyyy-mm-dd"
|
||||
feed_list: "https://blog.kazoottt.top/rss.xml"
|
||||
max_post_count: 25
|
||||
|
88
README.md
@ -2,51 +2,51 @@
|
||||
|
||||
## [Blog](https://blog.kazoottt.top/posts/)
|
||||
<!-- BLOG-POST-LIST:START -->
|
||||
- [2025-02-21 【碎片】 rsshub中新增asianfanfics路由](https://blog.kazoottt.top/posts/fragmented-notes-2025-02-21-16-38-50/)
|
||||
- [2025-02-20 【碎片】 openwebui长时间白屏解决方案](https://blog.kazoottt.top/posts/openwebui-long-loading-white-screen-solution/)
|
||||
- [2025-02-16 【周报】 2025-W07](https://blog.kazoottt.top/posts/2025-W07/)
|
||||
- [2025-02-12 【脑洞】 处理markdown图片链接包含空格导致无法预览图片的问题](https://blog.kazoottt.top/posts/handling-markdown-image-links-containing-spaces-causing-preview-failures/)
|
||||
- [2025-02-09 【周报】 2025-W06](https://blog.kazoottt.top/posts/2025-W06/)
|
||||
- [2025-02-09 【前端】 不引入astro wiki plugin实现链接跳转的思路](https://blog.kazoottt.top/posts/redirect-links-without-astro-wiki-plugin/)
|
||||
- [2025-02-06 【软件】 Obsidian Web Clipper 离线阅读同人作品](https://blog.kazoottt.top/posts/obsidian-web-clipper-offline-reading-fanfics/)
|
||||
- [2025-02-01 【软件】 封面生成器推荐](https://blog.kazoottt.top/posts/cover-generator/)
|
||||
- [2025-01-30 【年报】 Y5-2024年度总结](https://blog.kazoottt.top/posts/2024-annual-summary/)
|
||||
- [2025-01-14 【frontend】 how to generate the path like router config in vite + react + react-router project](https://blog.kazoottt.top/posts/how-to-generate-the-path-like-router-config-in-vite-react-react-router-project/)
|
||||
- [2025-01-12 【随笔】 原来亲人在侧,是我最深重的感谢](https://blog.kazoottt.top/posts/plain-and-simple-is-true/)
|
||||
- [2025-01-07 【随笔】 ollama + excel 处理器开发总结](https://blog.kazoottt.top/posts/ollama-excel-processor-development-summary/)
|
||||
- [2025-01-06 【项目】 MUV家元旦24H限定食堂 - 汇总网站](https://blog.kazoottt.top/posts/milklovemuv/)
|
||||
- [2024-12-19 【推荐】 值得一看的博客](https://blog.kazoottt.top/posts/blogs-worth-reading/)
|
||||
- [2024-12-18 【】 与hanser有关的github仓库](https://blog.kazoottt.top/posts/hanser-repository/)
|
||||
- [2024-12-17 【】 Share My Incorrect Usage Cases of Zustand](https://blog.kazoottt.top/posts/share-my-incorrect-usage-case-of-zustand-en/)
|
||||
- [2024-12-17 【前端】 分享一下我的zustand错误使用案例](https://blog.kazoottt.top/posts/zustand-use-record/)
|
||||
- [2024-12-11 【】 raycast + imessage 2fa,messauto的半平替](https://blog.kazoottt.top/posts/raycast-imessage-2fa/)
|
||||
- [2024-11-29 【】 使用github action定时同步obsidian内容到astro博客仓库](https://blog.kazoottt.top/posts/synchronize-profiles-to-remote-and-local-on-a-regular-basis/)
|
||||
- [2024-11-23 【软件】 个人工具与设备清单202502](https://blog.kazoottt.top/posts/personal-tools-and-equipment-inventory-202502/)
|
||||
- [2024-11-12 【旅行】 五一 上海-重庆-成都流水账](https://blog.kazoottt.top/posts/may-1st-shanghai-chongqing-chengdu-flow-account/)
|
||||
- [2024-09-02 【旅行】 2024 小缘永不完结的冒险 武汉线下vlog](https://blog.kazoottt.top/posts/yukari-2024-live/)
|
||||
- [2024-07-30 【项目】 微信读书网页版复制快捷键](https://blog.kazoottt.top/posts/wechat-reading-web-version-copy-shortcut/)
|
||||
- [2024-07-17 【旅行】 2024 BW记录-个人向流水账版](https://blog.kazoottt.top/posts/bw-record-personal-notes/)
|
||||
- [2024-07-11 【周报】 2024-W03](https://blog.kazoottt.top/posts/2024-W03/)<!-- BLOG-POST-LIST:END -->
|
||||
- [2025-03-06 [前端] 如何运行 ts 文件](https://blog.kazoottt.top/posts/how-to-run-ts-files/)
|
||||
- [2025-03-02 [周报] 2025-W09 工作流升级](https://blog.kazoottt.top/posts/2025-W09/)
|
||||
- [2025-02-23 [周报] 2025-W08](https://blog.kazoottt.top/posts/2025-W08/)
|
||||
- [2025-02-21 [碎片] rsshub中新增asianfanfics路由](https://blog.kazoottt.top/posts/fragmented-notes-2025-02-21-16-38-50/)
|
||||
- [2025-02-20 [碎片] openwebui长时间白屏解决方案](https://blog.kazoottt.top/posts/openwebui-long-loading-white-screen-solution/)
|
||||
- [2025-02-16 [周报] 2025-W07](https://blog.kazoottt.top/posts/2025-W07/)
|
||||
- [2025-02-12 [脑洞] 处理markdown图片链接包含空格导致无法预览图片的问题](https://blog.kazoottt.top/posts/handling-markdown-image-links-containing-spaces-causing-preview-failures/)
|
||||
- [2025-02-09 [周报] 2025-W06](https://blog.kazoottt.top/posts/2025-W06/)
|
||||
- [2025-02-09 [前端] 不引入astro wiki plugin实现链接跳转的思路](https://blog.kazoottt.top/posts/redirect-links-without-astro-wiki-plugin/)
|
||||
- [2025-02-06 [软件] Obsidian Web Clipper 离线阅读同人作品](https://blog.kazoottt.top/posts/obsidian-web-clipper-offline-reading-fanfics/)
|
||||
- [2025-02-01 [软件] 封面生成器推荐](https://blog.kazoottt.top/posts/cover-generator/)
|
||||
- [2025-01-30 [年报] Y5-2024年度总结](https://blog.kazoottt.top/posts/2024-annual-summary/)
|
||||
- [2025-01-14 [frontend] how to generate the path like router config in vite + react + react-router project](https://blog.kazoottt.top/posts/how-to-generate-the-path-like-router-config-in-vite-react-react-router-project/)
|
||||
- [2025-01-12 [随笔] 原来亲人在侧,是我最深重的感谢](https://blog.kazoottt.top/posts/plain-and-simple-is-true/)
|
||||
- [2025-01-07 [随笔] ollama + excel 处理器开发总结](https://blog.kazoottt.top/posts/ollama-excel-processor-development-summary/)
|
||||
- [2025-01-06 [项目] MUV家元旦24H限定食堂 - 汇总网站](https://blog.kazoottt.top/posts/milklovemuv/)
|
||||
- [2024-12-19 [推荐] 值得一看的博客](https://blog.kazoottt.top/posts/blogs-worth-reading/)
|
||||
- [2024-12-18 与hanser有关的github仓库](https://blog.kazoottt.top/posts/hanser-repository/)
|
||||
- [2024-12-17 Share My Incorrect Usage Cases of Zustand](https://blog.kazoottt.top/posts/share-my-incorrect-usage-case-of-zustand-en/)
|
||||
- [2024-12-17 [前端] 分享一下我的 zustand 错误使用案例](https://blog.kazoottt.top/posts/zustand-use-record/)
|
||||
- [2024-12-11 raycast + imessage 2fa,messauto的半平替](https://blog.kazoottt.top/posts/raycast-imessage-2fa/)
|
||||
- [2024-11-29 使用github action定时同步obsidian内容到astro博客仓库](https://blog.kazoottt.top/posts/synchronize-profiles-to-remote-and-local-on-a-regular-basis/)
|
||||
- [2024-11-23 [软件] 个人工具与设备清单202502](https://blog.kazoottt.top/posts/personal-tools-and-equipment-inventory-202502/)
|
||||
- [2024-11-12 [旅行] 五一 上海-重庆-成都流水账](https://blog.kazoottt.top/posts/may-1st-shanghai-chongqing-chengdu-flow-account/)
|
||||
- [2024-09-02 [旅行] 2024 小缘永不完结的冒险 武汉线下vlog](https://blog.kazoottt.top/posts/yukari-2024-live/)<!-- BLOG-POST-LIST:END -->
|
||||
|
||||
## [Memos](https://blog.kazoottt.top/notes/)
|
||||
<!-- MEMO-POST-LIST:START -->
|
||||
- [2025-02-21 配置 cloudflare 规则实现重定向](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-21-15-44-58/)
|
||||
- [2025-02-19 241029 1144 vite环境变量](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-19-21-11-25/)
|
||||
- [2025-02-19 碎片-2025-02-19 17时30分 You Should Use Hono in your Next Projec](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-19-17-30-55/)
|
||||
- [2025-02-17 碎片-2025-02-17 10时55分 做事设计](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-17-10-55-29/)
|
||||
- [2025-02-16 2024-10-25 13分02秒 Vintage Camera Lab](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-16-23-41-18/)
|
||||
- [2025-02-14 碎片-2025-02-14 15时00分 状态没变更?记录一次没阻止冒泡导致的bug](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-00-49/)
|
||||
- [2025-02-14 碎片-2025-02-14 15时18分 飞书 excalidraw画图对比](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-18-56/)
|
||||
- [2025-02-11 碎片-2025-02-11 12时32分](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-11-12-32-42/)
|
||||
- [2025-03-06 [日记] 2025-03-06 星期四](https://blog.kazoottt.top/notes/diary-2025-03-06/)
|
||||
- [2025-03-05 [日记] 2025-03-05 星期三](https://blog.kazoottt.top/notes/diary-2025-03-05/)
|
||||
- [2025-03-04 [日记] 2025-03-04 星期二](https://blog.kazoottt.top/notes/diary-2025-03-04/)
|
||||
- [2025-03-03 pip安装和运行openwebui](https://blog.kazoottt.top/notes/how-to-install-and-run-openwebui-with-pip/)
|
||||
- [2025-03-03 [git] 使用大模型处理 git diff 生成 commit msg](https://blog.kazoottt.top/notes/use-llm-to-generate-commit-message-from-git-diff/)
|
||||
- [2025-02-28 [日记] 2025-02-28 星期五](https://blog.kazoottt.top/notes/diary-2025-02-28/)
|
||||
- [2025-02-27 [日记] 2025-02-27 星期四](https://blog.kazoottt.top/notes/diary-2025-02-27/)
|
||||
- [2025-02-25 [日记] 2025-02-25 星期二](https://blog.kazoottt.top/notes/diary-2025-02-25/)
|
||||
- [2025-02-24 [日记] 2025-02-24 星期一](https://blog.kazoottt.top/notes/diary-2025-02-24/)
|
||||
- [2025-02-21 [碎片] 配置 cloudflare 规则实现重定向](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-21-15-44-58/)
|
||||
- [2025-02-19 [碎片] 241029 1144 vite环境变量](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-19-21-11-25/)
|
||||
- [2025-02-19 [碎片] 碎片-2025-02-19 17时30分 You Should Use Hono in your Next Projec](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-19-17-30-55/)
|
||||
- [2025-02-17 [碎片] 碎片-2025-02-17 10时55分 做事设计](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-17-10-55-29/)
|
||||
- [2025-02-16 [碎片] 2024-10-25 13分02秒 Vintage Camera Lab](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-16-23-41-18/)
|
||||
- [2025-02-14 [前端] 碎片-2025-02-14 15时00分 状态没变更?记录一次没阻止冒泡导致的bug](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-00-49/)
|
||||
- [2025-02-14 [碎片] 碎片-2025-02-14 15时18分 飞书 excalidraw画图对比](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-18-56/)
|
||||
- [2025-02-11 [碎片] 碎片-2025-02-11 12时32分](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-11-12-32-42/)
|
||||
- [2025-02-08 如何解决 Nginx 启动时未联网无法访问DNS而挂掉的问题](https://blog.kazoottt.top/notes/nginx-startup-fix-configure-local-hosts-file/)
|
||||
- [2025-02-06 小红书长文切图笔记?其实 craft 就可以实现。](https://blog.kazoottt.top/notes/use-craft-to-cut-the-long-text-note-of-xiaohongshu/)
|
||||
- [2025-02-06 试试action5 pro推流到本地rtmp和有线连接的效果](https://blog.kazoottt.top/notes/action5-pro-obs-rtmp/)
|
||||
- [2025-02-05 askfm的关停](https://blog.kazoottt.top/notes/askfm-shutdown/)
|
||||
- [2025-02-05 使用 1password 的 secure notes 存储提示词](https://blog.kazoottt.top/notes/use-1password-secure-notes-to-store-prompt-templates/)
|
||||
- [2025-02-03 记录一次滴滴打车维权](https://blog.kazoottt.top/notes/record-a-ride-sharing-complaint/)
|
||||
- [2025-01-31 Blender on macOS - Steam Version Limitations for Apple Silicon Devices](https://blog.kazoottt.top/notes/blender-macos-steam-version-limitations/)
|
||||
- [2025-01-31 how to split window in blender](https://blog.kazoottt.top/notes/split-window-in-blender/)
|
||||
- [2025-01-20 how to separate object in blender](https://blog.kazoottt.top/notes/how-to-separate-object-in-blender/)
|
||||
- [2025-01-20 win11如何下载chatgpt](https://blog.kazoottt.top/notes/win11chatgpt/)
|
||||
- [2025-01-15 how to make a hollow cylinder in blender](https://blog.kazoottt.top/notes/how-to-make-a-hollow-cylinder-in-blender/)
|
||||
- [2025-01-07 在浏览器中 opengl 的配置与检测](https://blog.kazoottt.top/notes/how-to-check-opengl-configuration-and-detection-in-browser/)<!-- MEMO-POST-LIST:END -->
|
||||
- [2025-02-06 [软件] 小红书长文切图笔记?其实 craft 就可以实现。](https://blog.kazoottt.top/notes/use-craft-to-cut-the-long-text-note-of-xiaohongshu/)
|
||||
- [2025-02-06 [软件] 试试action5 pro推流到本地rtmp和有线连接的效果](https://blog.kazoottt.top/notes/action5-pro-obs-rtmp/)<!-- MEMO-POST-LIST:END -->
|
||||
|
BIN
public/mdImages/CleanShot2025-02-2423.21.29@2x.png
Normal file
After Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 4.7 MiB After Width: | Height: | Size: 3.2 MiB |
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 183 KiB |
BIN
public/mdImages/IMG-0D6BB6964D19AF5A39633F63A46EE430.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
public/mdImages/IMG-0ED8EABB243959CF7C1FD45311857231.png
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 101 KiB |
BIN
public/mdImages/IMG-182545B738A61E339A98C367918487E2.png
Normal file
After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 458 KiB After Width: | Height: | Size: 304 KiB |
BIN
public/mdImages/IMG-27E57C2F932F03BA78332F527ABECC3C.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 145 KiB |
BIN
public/mdImages/IMG-2CBB4266E3AABE21E9AF0FCAF7F00469.png
Normal file
After Width: | Height: | Size: 644 KiB |
Before Width: | Height: | Size: 847 KiB After Width: | Height: | Size: 589 KiB |
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 110 KiB |
BIN
public/mdImages/IMG-38868F1E91CBBF8E912184CD0E13913A-3.png
Normal file
After Width: | Height: | Size: 5.4 MiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 58 KiB |
BIN
public/mdImages/IMG-3E1B27318067CBA0326348E9A3CD245A.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
public/mdImages/IMG-3F25D1B9A693916B658415B17B64FDF4.png
Normal file
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 735 KiB |
BIN
public/mdImages/IMG-4280029B164F70CB774332E5AE95D1DA.png
Normal file
After Width: | Height: | Size: 452 KiB |
BIN
public/mdImages/IMG-42E5510D67C42284041E3402E4D459AD.png
Normal file
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 8.9 KiB |
BIN
public/mdImages/IMG-4E7CA2B2820C13BC264E9520D61AEA71.png
Normal file
After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 4.1 MiB After Width: | Height: | Size: 3.3 MiB |
BIN
public/mdImages/IMG-52AB966C8BE3F1DE7D2F91B261A9CF8A.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
public/mdImages/IMG-54444FCBA889BF74A543004B4163532D.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 57 KiB |
BIN
public/mdImages/IMG-59000B6CA38DF6FF4AB23AAA2920FF6F.png
Normal file
After Width: | Height: | Size: 505 KiB |
BIN
public/mdImages/IMG-5CC8EA6AC54BB07E875B1B807D410ADE-3.png
Normal file
After Width: | Height: | Size: 15 MiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 32 KiB |
BIN
public/mdImages/IMG-647D50202A16E26E1BE25AE4FC4E5DA1.png
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
public/mdImages/IMG-6819ED4AC0DA9B9CF3D106BE71AAADD3.png
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
public/mdImages/IMG-682179B90CF4FDC5DB2A36189B316881.png
Normal file
After Width: | Height: | Size: 526 KiB |
BIN
public/mdImages/IMG-68A8A7A6B49D869EE5A1EB75E806A5D4-3.png
Normal file
After Width: | Height: | Size: 8.2 MiB |
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.6 MiB |
BIN
public/mdImages/IMG-745FC8CBCFE1B784E4EEB2F74860A255.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
public/mdImages/IMG-7CA6E2EC79AA6040BACEF006B13F8940.png
Normal file
After Width: | Height: | Size: 322 KiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 2.6 MiB |
BIN
public/mdImages/IMG-88633EA7BDD10531AFF07602F1A5D072.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
public/mdImages/IMG-8CB8741AA4B7D8C9DBCD3251DECF4F5C.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
public/mdImages/IMG-9021D59207DD62599F7A11966E419698.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
public/mdImages/IMG-946FF0883E29B42DB2023CE8E18C4751.png
Normal file
After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 2.6 MiB |
BIN
public/mdImages/IMG-9C72E80EE99057103B55DCD293201880.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
public/mdImages/IMG-9E0CE9605872391815717365ADBEFD5A-3.png
Normal file
After Width: | Height: | Size: 7.7 MiB |
BIN
public/mdImages/IMG-A057E6D98847314E2A2742FB44382803.png
Normal file
After Width: | Height: | Size: 882 KiB |
BIN
public/mdImages/IMG-A571B7F412E8A7B17B4A7A5D36D2937E-3.png
Normal file
After Width: | Height: | Size: 9.2 MiB |
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 119 KiB |
BIN
public/mdImages/IMG-B1FFDA204911256BC9A3C0BC465FE803.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
public/mdImages/IMG-BF22CA923126747336FA047AD2FFE0B3.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
public/mdImages/IMG-C4F896C16386AFFB89F1ED856D4D8319.png
Normal file
After Width: | Height: | Size: 609 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 29 KiB |
BIN
public/mdImages/IMG-C904F87DB6FF60DE95982CB164FE976A.png
Normal file
After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 827 KiB After Width: | Height: | Size: 571 KiB |
BIN
public/mdImages/IMG-CDC2BAD93093406D70B0F9A6F01B86BF.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
public/mdImages/IMG-CEE59951BA3BB4CA797AE4C3A79CF229.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
public/mdImages/IMG-CFC7256A2D7BC1D6C014F1BED8A455CB.png
Normal file
After Width: | Height: | Size: 289 KiB |
BIN
public/mdImages/IMG-D00ECA1A03C7ED8C2D3C6B2350F49493.png
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
public/mdImages/IMG-D20FF1AADDD4820B368251CCA488B406-3.png
Normal file
After Width: | Height: | Size: 12 MiB |
BIN
public/mdImages/IMG-D95FCCD99DA3CEF64C2B2017B2AA4346.png
Normal file
After Width: | Height: | Size: 395 KiB |
BIN
public/mdImages/IMG-D9D3E5481059773AA8CCB5718E5EFB06.png
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 2.2 MiB After Width: | Height: | Size: 2.0 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.2 MiB |
BIN
public/mdImages/IMG-E24439522EA08DF76BD98B66DBD7ED54.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
public/mdImages/IMG-F2941F88FBABE4EDDABB80C1DFED62EB.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
public/mdImages/IMG-F6EAF822377F64DB27E99C394FDAFDBC.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/mdImages/IMG-FCDEC2838ACED54D21628E731B7A18FA.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
public/mdImages/Pasted image 20250224234657.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
public/mdImages/Pasted image 20250228111717.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
public/mdImages/Pasted image 20250228175738.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
public/mdImages/Pasted image 20250228175843.png
Normal file
After Width: | Height: | Size: 171 KiB |
BIN
public/mdImages/Pasted image 20250228180112.png
Normal file
After Width: | Height: | Size: 260 KiB |
BIN
public/mdImages/Pasted image 20250305135535.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
public/mdImages/Snipaste_2025-03-06_14-51-41.png
Normal file
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.0 MiB |
@ -1,18 +1,18 @@
|
||||
---
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
import FormattedDate from "@/components/FormattedDate.astro";
|
||||
import Card from "../componentsBefore/Card.astro";
|
||||
import { Icon } from "astro-icon/components";
|
||||
import Label from "../componentsBefore/Label.astro";
|
||||
import type { PostItem } from "@/types";
|
||||
|
||||
interface Props {
|
||||
content: CollectionEntry<"post">;
|
||||
content: PostItem;
|
||||
readingTime: string;
|
||||
ogImage: string;
|
||||
}
|
||||
|
||||
const {
|
||||
content: { data },
|
||||
content: { data, dateToCmp },
|
||||
readingTime,
|
||||
ogImage,
|
||||
} = Astro.props;
|
||||
@ -27,13 +27,7 @@ const socialImageURL = new URL(ogImage ? ogImage : "/social-card.png", Astro.url
|
||||
{
|
||||
socialImageURL && (
|
||||
<div class="mb-6 aspect-video">
|
||||
<img
|
||||
alt={socialImageURL}
|
||||
class="rounded-lg object-cover"
|
||||
fetchpriority="high"
|
||||
loading="eager"
|
||||
src={socialImageURL}
|
||||
/>
|
||||
<img alt={socialImageURL} class="rounded-lg object-cover" src={socialImageURL} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@ -54,7 +48,7 @@ const socialImageURL = new URL(ogImage ? ogImage : "/social-card.png", Astro.url
|
||||
</h1>
|
||||
<div class="flex flex-wrap items-center gap-x-3 gap-y-2">
|
||||
<p class="font-semibold">
|
||||
<FormattedDate date={data.date} dateTimeOptions={dateTimeOptions} /> /{" "}
|
||||
<FormattedDate date={dateToCmp} dateTimeOptions={dateTimeOptions} /> /{" "}
|
||||
{readingTime}
|
||||
</p>
|
||||
{
|
||||
|
@ -1,10 +1,10 @@
|
||||
---
|
||||
import type { CollectionEntry } from "astro:content";
|
||||
import FormattedDate from "@/components/FormattedDate.astro";
|
||||
import type { HTMLTag, Polymorphic } from "astro/types";
|
||||
import type { AllItem } from "@/types";
|
||||
|
||||
type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & {
|
||||
post: CollectionEntry<"post">;
|
||||
post: AllItem;
|
||||
withDesc?: boolean;
|
||||
};
|
||||
|
||||
@ -17,7 +17,11 @@ const { as: Tag = "div", post, withDesc = false } = Astro.props;
|
||||
/>
|
||||
<Tag>
|
||||
{post.data.draft && <span class="text-red-500">(Draft) </span>}
|
||||
<a class="cactus-link" data-astro-prefetch href={`/posts/${post.id}/`}>
|
||||
<a
|
||||
class="hover:text-link"
|
||||
data-astro-prefetch
|
||||
href={`${post.collection === "post" ? "/posts/" : "/notes/"}${post.id}/`}
|
||||
>
|
||||
{post.data.fixedToTop && <span class="text-accent-2 mr-2">*</span>}
|
||||
{post.data.title}
|
||||
</a>
|
||||
|
@ -23,12 +23,15 @@ const year = new Date().getFullYear();
|
||||
</div>
|
||||
<nav
|
||||
aria-labelledby="footer_links"
|
||||
class="flex gap-x-2 sm:gap-x-0 sm:divide-x sm:divide-gray-500"
|
||||
class="flex flex-wrap gap-x-2 sm:gap-x-0 sm:divide-x sm:divide-gray-500"
|
||||
>
|
||||
<p id="footer_links" class="sr-only">More on this site</p>
|
||||
{
|
||||
menuLinks.map((link) => (
|
||||
<a class="hover:text-global-text px-4 py-2 hover:underline sm:py-0" href={link.path}>
|
||||
<a
|
||||
class="hover:text-global-text px-2 py-2 hover:underline sm:px-4 sm:py-0"
|
||||
href={link.path}
|
||||
>
|
||||
{link.title}
|
||||
</a>
|
||||
))
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
import { type CollectionEntry, render } from "astro:content";
|
||||
import { render } from "astro:content";
|
||||
import FormattedDate from "@/components/FormattedDate.astro";
|
||||
import type { HTMLTag, Polymorphic } from "astro/types";
|
||||
import GiscusComment from "@/components/componentsBefore/GiscusComment";
|
||||
@ -8,8 +8,9 @@ import ShareButtons from "../ShareButtons.astro";
|
||||
import ContentFooter from "../ContentFooter.astro";
|
||||
import { cn } from "@/utils/tailwind";
|
||||
import Card from "../componentsBefore/Card.astro";
|
||||
import type { NoteItem } from "@/types";
|
||||
type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & {
|
||||
note: CollectionEntry<"note">;
|
||||
note: NoteItem;
|
||||
isPreview?: boolean | undefined;
|
||||
index?: number;
|
||||
enableLineClamp?: boolean;
|
||||
@ -78,17 +79,17 @@ if (modifiedDate && modifiedDate.toDateString() === date.toDateString()) {
|
||||
enableLineClamp && "line-clamp-4"
|
||||
)}
|
||||
>
|
||||
{
|
||||
!isPreview && note.data.description && note.data.description.trim().length > 0 && (
|
||||
<Card heading="摘要(由llm生成)" altText="摘要" class="my-4 w-full">
|
||||
<div class="text-muted-foreground ml-4">{note.data.description}</div>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
{
|
||||
!isPreview && note.data.description && note.data.description.trim().length > 0 && (
|
||||
<Card heading="摘要(由llm生成)" altText="摘要" class="my-4 w-full">
|
||||
<div class="text-muted-foreground ml-4">{note.data.description}</div>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
<Content />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{!isPreview && <ContentFooter />}
|
||||
|
||||
{!isPreview && <GiscusComment client:load />}
|
||||
@ -99,5 +100,4 @@ if (modifiedDate && modifiedDate.toDateString() === date.toDateString()) {
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
</ArticleContainer>
|
||||
|
@ -5,6 +5,23 @@ function removeDupsAndLowerCase(array: string[]) {
|
||||
return [...new Set(array.map((str) => str.toLowerCase()))];
|
||||
}
|
||||
|
||||
// 辅助函数:处理各种格式的日期
|
||||
function processDate(val: string | number | Date): Date {
|
||||
// 如果是数字(如20250225),转换为字符串并格式化
|
||||
if (typeof val === "number") {
|
||||
const numStr = val.toString();
|
||||
// 假设格式为YYYYMMDD
|
||||
if (numStr.length === 8) {
|
||||
const year = numStr.substring(0, 4);
|
||||
const month = numStr.substring(4, 6);
|
||||
const day = numStr.substring(6, 8);
|
||||
return new Date(`${year}-${month}-${day}`);
|
||||
}
|
||||
}
|
||||
// 其他情况直接使用Date构造函数
|
||||
return new Date(val);
|
||||
}
|
||||
|
||||
const baseSchema = z.object({
|
||||
title: z.string(),
|
||||
});
|
||||
@ -17,9 +34,18 @@ const post = defineCollection({
|
||||
draft: z.boolean().default(false),
|
||||
banner: z.string().optional(),
|
||||
tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase),
|
||||
date: z.union([z.string(), z.date()]).transform((val) => new Date(val)),
|
||||
date_modified: z.date().optional(),
|
||||
data_created: z.date().optional(),
|
||||
date: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
date_modified: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
data_created: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
category: z.string().optional().nullable(),
|
||||
fixedToTop: z.boolean().optional().default(false),
|
||||
}),
|
||||
@ -29,10 +55,20 @@ const note = defineCollection({
|
||||
loader: glob({ base: "./src/content/note", pattern: "**/*.{md,mdx}" }),
|
||||
schema: baseSchema.extend({
|
||||
description: z.string().optional().nullable(),
|
||||
date: z.union([z.string(), z.date()]).transform((val) => new Date(val)),
|
||||
date_modified: z.date().optional(),
|
||||
data_created: z.date().optional(),
|
||||
date: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
date_modified: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
data_created: z
|
||||
.union([z.string(), z.number(), z.date()])
|
||||
.optional()
|
||||
.transform((val) => (val ? processDate(val) : undefined)),
|
||||
tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase),
|
||||
category: z.string().optional().nullable(),
|
||||
}),
|
||||
});
|
||||
|
||||
|
@ -1,19 +1,22 @@
|
||||
---
|
||||
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:
|
||||
- 日记
|
||||
published: true
|
||||
description: >-
|
||||
2023年2月11日星期六,菜单包括外婆菜炒蛋搭配土豆箜饭,饮料为冰糖加柠檬片。当天的计划包括使用tailwind编写样式,学习Photoshop或Figma操作以制作视频封面模板,以及进行AI
|
||||
Hanser的相关工作。
|
||||
rinId: 22
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-02-11 星期六
|
||||
|
@ -1,19 +1,22 @@
|
||||
---
|
||||
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
|
||||
published: true
|
||||
description: 2023年9月8日星期五的记录中提到了一段关于直播的内容,强调不需要背负任何负担,只需带着空行囊和彼此即可。
|
||||
rinId: 24
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-08 星期五
|
||||
|
@ -1,17 +1,20 @@
|
||||
---
|
||||
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:
|
||||
- 日记
|
||||
published: true
|
||||
description: 2023年9月9日星期六的日程安排包括已完成的项目升级和游泳,以及待完成的nextjs+node运行时脚本测试。
|
||||
rinId: 25
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-09 星期六
|
||||
|
@ -1,18 +1,21 @@
|
||||
---
|
||||
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:
|
||||
- 日记
|
||||
published: true
|
||||
description: >-
|
||||
2023年9月10日,某博客讨论了其支持的模板语法,指出虽然功能丰富,但使用起来感觉不够灵活且学习成本较高。文章中提出疑问,低代码是否是一种高效但可能过于简化的编程方式。
|
||||
rinId: 26
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-10 星期日
|
||||
|
@ -1,19 +1,22 @@
|
||||
---
|
||||
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:
|
||||
- 日记
|
||||
- 健身
|
||||
published: true
|
||||
- 日记
|
||||
description: >-
|
||||
今天的任务包括完成多项链表相关的编程题目,其中已完成的有“86.分隔链表”和“141.环形链表”,未完成的有“142.环形链表-ii”和“160.相交链表”。此外,已完成的任务还包括在Obsidian中链接外部代码文件。健身方面,进行了跑步、椭圆机和器械锻炼,并计划下次带拖鞋以便洗完澡后直接穿回家。
|
||||
rinId: 27
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-12 星期二
|
||||
@ -24,9 +27,9 @@ date_modified: 2025-02-19T17:54:54.000Z
|
||||
## 今天要做的事情
|
||||
|
||||
- [ ] 刷题回顾
|
||||
- [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)
|
||||
- [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链接外部代码文件]]
|
||||
|
||||
|
@ -1,4 +1,10 @@
|
||||
---
|
||||
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
|
||||
@ -6,7 +12,6 @@ author: KazooTTT
|
||||
tags:
|
||||
- 日记
|
||||
- todo
|
||||
published: true
|
||||
description: >-
|
||||
On September 13, 2023, the individual focused on several tasks including
|
||||
reviewing coding problems, specifically completing the "141.环形链表" and planning
|
||||
@ -21,10 +26,9 @@ description: >-
|
||||
home using an elliptical machine. They also considered upgrading their
|
||||
smartwatch as it was no longer compatible with the latest watch face market
|
||||
updates.
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-13 星期三
|
||||
@ -35,8 +39,8 @@ date_modified: 2025-02-19T17:54:54.000Z
|
||||
## 今天要做的事情
|
||||
|
||||
- [ ] 刷题回顾
|
||||
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/编程/算法/记录/141.环形链表)
|
||||
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/编程/算法/记录/142.环形链表-ii)
|
||||
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/算法/记录/141.环形链表)
|
||||
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/算法/记录/142.环形链表-ii)
|
||||
- [ ] [[160.相交链表]]
|
||||
|
||||
## 打卡
|
||||
|
@ -1,18 +1,22 @@
|
||||
---
|
||||
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:
|
||||
- 日记
|
||||
published: true
|
||||
description: >-
|
||||
今天是2023年9月14日,星期四。今天的计划包括打卡和健身。健身内容包括跑步20分钟和使用器械30分钟,虽然9点去健身房时间有点紧张。此外,已经下单了一款新手表,预计下周五到货。感觉自己的背部似乎直了一些。还提到了一种快速获取telegram
|
||||
chatId并实现消息通知的方法。
|
||||
toAstro: true
|
||||
category: 日记
|
||||
date_created: 2025-01-04T03:34:08.000Z
|
||||
date_modified: 2025-02-19T17:54:54.000Z
|
||||
date_created: 20250104
|
||||
date_modified: 20250304
|
||||
---
|
||||
|
||||
# 2023-09-14 星期四
|
||||
|