52 Commits

Author SHA1 Message Date
c9f7485624 [ImgBot] Optimize images
*Total -- 141,235.86kb -> 92,636.00kb (34.41%)

/public/mdImages/IMG-88633EA7BDD10531AFF07602F1A5D072.png -- 3,242.45kb -> 34.67kb (98.93%)
/public/mdImages/Snipaste_2025-03-06_14-51-41.png -- 2,081.70kb -> 29.06kb (98.6%)
/public/mdImages/IMG-449FF87F77D723DA1A144F2B3BCB890F.png -- 65.13kb -> 8.94kb (86.27%)
/public/mdImages/IMG-5E38918F927647792210E44CA2C73E30.png -- 39.86kb -> 10.83kb (72.83%)
/public/mdImages/IMG-54444FCBA889BF74A543004B4163532D.png -- 38.49kb -> 13.56kb (64.77%)
/public/mdImages/IMG-9C72E80EE99057103B55DCD293201880.png -- 240.66kb -> 95.89kb (60.16%)
/public/mdImages/IMG-57FB4A797CCE28DF5413ACAC19610F28.png -- 133.84kb -> 57.19kb (57.27%)
/public/mdImages/IMG-FCDEC2838ACED54D21628E731B7A18FA.png -- 122.45kb -> 58.06kb (52.58%)
/public/mdImages/IMG-27E57C2F932F03BA78332F527ABECC3C.png -- 10.76kb -> 5.29kb (50.81%)
/public/mdImages/IMG-682179B90CF4FDC5DB2A36189B316881.png -- 1,065.95kb -> 525.57kb (50.69%)
/public/mdImages/IMG-745FC8CBCFE1B784E4EEB2F74860A255.png -- 126.90kb -> 62.66kb (50.62%)
/public/mdImages/IMG-3C592EDF4B92747CD6E3755E57AE372A.png -- 120.16kb -> 60.24kb (49.86%)
/public/mdImages/IMG-330ABC2555F1F3E34E3D9FBB55B9C8F9.png -- 217.94kb -> 109.82kb (49.61%)
/public/mdImages/IMG-4E7CA2B2820C13BC264E9520D61AEA71.png -- 92.21kb -> 46.90kb (49.13%)
/public/mdImages/IMG-D9D3E5481059773AA8CCB5718E5EFB06.png -- 158.92kb -> 81.47kb (48.74%)
/public/mdImages/IMG-0D6BB6964D19AF5A39633F63A46EE430.png -- 147.37kb -> 78.27kb (46.89%)
/public/mdImages/IMG-647D50202A16E26E1BE25AE4FC4E5DA1.png -- 359.17kb -> 191.65kb (46.64%)
/public/mdImages/Pasted image 20250228111717.png -- 78.53kb -> 42.01kb (46.51%)
/public/mdImages/IMG-3E1B27318067CBA0326348E9A3CD245A.png -- 58.07kb -> 31.15kb (46.37%)
/public/mdImages/IMG-182545B738A61E339A98C367918487E2.png -- 56.19kb -> 30.14kb (46.36%)
/public/mdImages/IMG-C54B455556952B47DBE32B14D26E5548.png -- 147.15kb -> 79.75kb (45.81%)
/public/mdImages/IMG-A6AAE4B65CAEFB6B8E549F2AB75BADCD.png -- 218.56kb -> 118.71kb (45.69%)
/public/mdImages/IMG-803E576335AF5653F8963BE7881E4DD8.png -- 150.61kb -> 82.32kb (45.34%)
/public/mdImages/IMG-3F25D1B9A693916B658415B17B64FDF4.png -- 112.28kb -> 62.52kb (44.32%)
/public/mdImages/IMG-CEE59951BA3BB4CA797AE4C3A79CF229.png -- 4.17kb -> 2.33kb (44.14%)
/public/mdImages/IMG-CDC2BAD93093406D70B0F9A6F01B86BF.png -- 38.67kb -> 21.94kb (43.26%)
/public/mdImages/IMG-B1FFDA204911256BC9A3C0BC465FE803.png -- 97.03kb -> 55.22kb (43.09%)
/public/mdImages/IMG-52AB966C8BE3F1DE7D2F91B261A9CF8A.png -- 89.29kb -> 50.96kb (42.93%)
/public/mdImages/Pasted image 20250228180112.png -- 454.47kb -> 259.46kb (42.91%)
/public/mdImages/IMG-BF22CA923126747336FA047AD2FFE0B3.png -- 71.49kb -> 40.87kb (42.82%)
/public/mdImages/IMG-C904F87DB6FF60DE95982CB164FE976A.png -- 96.09kb -> 55.53kb (42.21%)
/public/mdImages/IMG-2C2B9C98EF7B0A1DEFF1E1A269912DE2.png -- 246.33kb -> 145.13kb (41.08%)
/public/mdImages/IMG-0ED8EABB243959CF7C1FD45311857231.png -- 32.66kb -> 19.29kb (40.92%)
/public/mdImages/IMG-8CB8741AA4B7D8C9DBCD3251DECF4F5C.png -- 113.34kb -> 67.67kb (40.29%)
/public/mdImages/IMG-9021D59207DD62599F7A11966E419698.png -- 241.41kb -> 144.32kb (40.22%)
/public/mdImages/Pasted image 20250305135535.png -- 58.01kb -> 35.08kb (39.52%)
/public/mdImages/Pasted image 20250228175843.png -- 282.14kb -> 170.96kb (39.41%)
/public/mdImages/IMG-F6EAF822377F64DB27E99C394FDAFDBC.png -- 17.22kb -> 10.55kb (38.72%)
/public/mdImages/IMG-42E5510D67C42284041E3402E4D459AD.png -- 83.90kb -> 52.06kb (37.95%)
/public/mdImages/IMG-6819ED4AC0DA9B9CF3D106BE71AAADD3.png -- 317.41kb -> 198.42kb (37.49%)
/public/mdImages/IMG-E24439522EA08DF76BD98B66DBD7ED54.png -- 150.63kb -> 95.55kb (36.57%)
/public/mdImages/IMG-145A60CDEC5C619A9F432DBAA2325AA2-1.png -- 157.71kb -> 100.17kb (36.48%)
/public/mdImages/IMG-CFC7256A2D7BC1D6C014F1BED8A455CB.png -- 454.64kb -> 289.08kb (36.42%)
/public/mdImages/IMG-D00ECA1A03C7ED8C2D3C6B2350F49493.png -- 354.34kb -> 225.67kb (36.31%)
/public/mdImages/IMG-59000B6CA38DF6FF4AB23AAA2920FF6F.png -- 791.38kb -> 505.27kb (36.15%)
/public/mdImages/IMG-19B31E2B37A4ADD4C3F65725068BCAC4.png -- 22.50kb -> 14.46kb (35.72%)
/public/mdImages/IMG-7F9EB8A6DF15D7814E3A8AEBB48D1E6B.png -- 1,837.93kb -> 1,182.64kb (35.65%)
/public/mdImages/IMG-2025-02-27-E106A5338A221E70CFCC67E397E2E7D4.png -- 133.54kb -> 86.02kb (35.58%)
/public/mdImages/IMG-9E0CE9605872391815717365ADBEFD5A-3.png -- 12,164.50kb -> 7,886.75kb (35.17%)
/public/mdImages/IMG-5CC8EA6AC54BB07E875B1B807D410ADE-3.png -- 23,817.49kb -> 15,494.14kb (34.95%)
/public/mdImages/IMG-38868F1E91CBBF8E912184CD0E13913A-3.png -- 8,420.37kb -> 5,504.28kb (34.63%)
/public/mdImages/IMG-68A8A7A6B49D869EE5A1EB75E806A5D4-3.png -- 12,777.34kb -> 8,439.60kb (33.95%)
/public/mdImages/IMG-20250104114722956.png -- 457.81kb -> 303.46kb (33.71%)
/public/mdImages/Pasted image 20250228175738.png -- 22.09kb -> 14.76kb (33.19%)
/public/mdImages/IMG-5ECA04383C3D96B4A767C5A0B3463E19.png -- 47.43kb -> 31.74kb (33.07%)
/public/mdImages/IMG-A571B7F412E8A7B17B4A7A5D36D2937E-3.png -- 13,992.93kb -> 9,461.71kb (32.38%)
/public/mdImages/IMG-066011DE28B89ED8A4E438A26F8F0A44.png -- 4,778.80kb -> 3,233.82kb (32.33%)
/public/mdImages/IMG-41F8AD4A7B808D2191BF4861D3847A35.png -- 1,067.48kb -> 735.12kb (31.14%)
/public/mdImages/IMG-CAC1EEA1E39685627A82ED14C5001F20.png -- 827.39kb -> 570.73kb (31.02%)
/public/mdImages/IMG-D20FF1AADDD4820B368251CCA488B406-3.png -- 17,311.88kb -> 11,958.49kb (30.92%)
/public/mdImages/IMG-E18BA7CA03EA7C36FDE6FF2F9B3A0542.png -- 1,784.43kb -> 1,233.30kb (30.89%)
/public/mdImages/IMG-2F53DF7357EC28522945C58351B62D96.png -- 846.65kb -> 588.70kb (30.47%)
/public/mdImages/IMG-7CA6E2EC79AA6040BACEF006B13F8940.png -- 459.43kb -> 322.33kb (29.84%)
/public/social-card.png -- 1,455.18kb -> 1,028.25kb (29.34%)
/public/mdImages/IMG-9B20E505345B2B2FFAEFCE7463420E90.png -- 3,665.61kb -> 2,640.69kb (27.96%)
/public/mdImages/IMG-8072C6F424C6D27A40E457198B622A5C.png -- 3,682.76kb -> 2,667.94kb (27.56%)
/public/mdImages/CleanShot2025-02-2423.21.29@2x.png -- 3,835.51kb -> 2,799.56kb (27.01%)
/public/mdImages/IMG-5D773F6926C2C236AC8FF3150AE233AD.png -- 40.57kb -> 29.74kb (26.71%)
/public/mdImages/Pasted image 20250224234657.png -- 112.73kb -> 83.13kb (26.26%)
/public/mdImages/IMG-946FF0883E29B42DB2023CE8E18C4751.png -- 57.43kb -> 42.72kb (25.62%)
/public/mdImages/IMG-4280029B164F70CB774332E5AE95D1DA.png -- 603.01kb -> 452.00kb (25.04%)
/public/mdImages/IMG-F2941F88FBABE4EDDABB80C1DFED62EB.png -- 1,598.52kb -> 1,210.54kb (24.27%)
/public/mdImages/IMG-3D020E6C18045F751BC938C45EC88E95.png -- 76.04kb -> 57.60kb (24.25%)
/public/mdImages/IMG-A057E6D98847314E2A2742FB44382803.png -- 1,150.16kb -> 881.54kb (23.35%)
/public/mdImages/IMG-C4F896C16386AFFB89F1ED856D4D8319.png -- 788.26kb -> 609.23kb (22.71%)
/public/mdImages/IMG-C58CD0BCE8298B39A32CF9B5698EF4DC.png -- 37.43kb -> 29.04kb (22.4%)
/public/mdImages/IMG-50A2519769D27745F083E18F4D48FC55.png -- 4,164.86kb -> 3,368.68kb (19.12%)
/public/mdImages/IMG-D95FCCD99DA3CEF64C2B2017B2AA4346.png -- 477.47kb -> 394.77kb (17.32%)
/public/mdImages/IMG-69C73A35AE6AA1B14805360168652323.png -- 1,990.92kb -> 1,669.24kb (16.16%)
/public/mdImages/IMG-2CBB4266E3AABE21E9AF0FCAF7F00469.png -- 751.77kb -> 644.42kb (14.28%)
/public/mdImages/IMG-0CAF40BEB99FF683F714CE95D41C23F8.jpeg -- 209.79kb -> 182.90kb (12.82%)
/src/icons/arrow-right.svg -- 0.38kb -> 0.34kb (12.02%)
/public/mdImages/IMG-175A7D0403C666A77EDC045637DDCDCD.jpeg -- 112.41kb -> 101.19kb (9.98%)
/public/mdImages/IMG-DE175F4D2C345F58E467656A11E3E2D8-1.png -- 2,280.52kb -> 2,089.87kb (8.36%)
/public/mdImages/IMG-2025-02-27-9CB204EEDBCD1BCF3D2EDFBD6744C8D0.png -- 64.71kb -> 59.99kb (7.29%)
/src/icons/mail.svg -- 0.65kb -> 0.60kb (6.64%)
/public/mdImages/IMG-16E2701A71548A6357EB84B23B32A3E2.jpeg -- 58.03kb -> 54.38kb (6.3%)
/src/icons/cursor.svg -- 13.49kb -> 13.42kb (0.56%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2025-03-20 05:45:09 +00:00
0c8cae5bea Update docs and sort content 2025-03-20 05:37:01 +00:00
f8e73888d1 Updated with the latest blog posts 2025-03-15 23:03:39 +00:00
53487b36e7 Updated with the latest blog posts 2025-03-15 22:03:42 +00:00
6a3b085635 Updated with the latest blog posts 2025-03-15 21:03:38 +00:00
85ac5bcda1 Updated with the latest blog posts 2025-03-15 20:03:55 +00:00
1b16e54e09 Updated with the latest blog posts 2025-03-15 19:03:28 +00:00
4705878c1d Updated with the latest blog posts 2025-03-15 18:04:36 +00:00
e31323397b Updated with the latest blog posts 2025-03-15 17:03:33 +00:00
b5502d4cbe Updated with the latest blog posts 2025-03-15 16:03:55 +00:00
09b8958141 Update docs and sort content 2025-03-15 15:52:35 +00:00
ac1173786f Update docs and sort content 2025-03-15 15:49:05 +00:00
55040baff5 Updated with the latest blog posts 2025-03-07 02:28:28 +00:00
b2b1ba6dcd Update docs and sort content 2025-03-07 02:21:53 +00:00
66ec490344 Updated with the latest blog posts 2025-03-06 08:05:05 +00:00
39652a9e90 Update docs and sort content 2025-03-06 07:27:17 +00:00
4feb5e95af fix: 修复归档页面链接生成错误
-   修复归档页面中文章链接生成错误的问题
-   根据文章类型(post或note)动态生成链接,将post指向/posts/,note指向/notes/
2025-03-06 15:18:16 +08:00
a9879a68b1 Update docs and sort content 2025-03-06 07:11:30 +00:00
8e7273da0c Updated with the latest blog posts 2025-03-05 10:04:10 +00:00
807cf650f8 Updated with the latest blog posts 2025-03-05 09:04:09 +00:00
b7bf1eab35 style(footer): 调整页脚链接样式以支持折行
- 修改页脚链接的 flex 布局,从 `gap-x-2 sm:gap-x-0` 改为 `flex-wrap gap-x-2 sm:gap-x-0`,使其支持折行。
- 调整链接的内边距,在小屏幕上使用 `px-2 py-2`,在大屏幕上使用 `sm:px-4 sm:py-0`,以优化在小屏幕上的显示效果。
2025-03-05 16:36:49 +08:00
b931b14013 fix(notes): 移除多余的预览链接
- 移除 `/notes/[...page].astro` 中多余的预览链接。
2025-03-05 16:16:30 +08:00
e123d5928a Merge branch 'main' of https://github.com/KazooTTT/kazoottt-blog-v2 2025-03-05 16:14:59 +08:00
e6a88b73af feat(blog): 重构文章和笔记展示,优化分类和标签 2025-03-05 16:14:05 +08:00
c36acc92c6 Updated with the latest blog posts 2025-03-05 08:05:01 +00:00
79e12689c9 Updated with the latest blog posts 2025-03-05 07:04:08 +00:00
013ede32a4 Merge branch 'main' of https://github.com/KazooTTT/kazoottt-blog-v2 2025-03-05 14:26:11 +08:00
ee3068bc18 fix: 移动 ads.txt 文件 2025-03-05 14:26:06 +08:00
99b2d194bb Updated with the latest blog posts 2025-03-04 12:06:14 +00:00
f37e2a10bb Update docs and sort content 2025-03-04 11:07:00 +00:00
ca268a37dc Update docs and sort content 2025-03-04 07:57:37 +00:00
1a40d05221 Updated with the latest blog posts 2025-03-04 07:04:09 +00:00
f5085a2490 Updated with the latest blog posts 2025-03-04 07:04:06 +00:00
0fc8c6cb80 feat(content): 支持内容集合中可选的日期字段 2025-03-04 14:08:17 +08:00
5a7c9eced0 Updated with the latest blog posts 2025-03-04 06:05:10 +00:00
45bbf23dbc Update docs and sort content 2025-03-04 05:52:40 +00:00
66cbee31df Updated with the latest blog posts 2025-03-03 09:04:49 +00:00
ae886f5596 Updated with the latest blog posts 2025-03-03 08:05:41 +00:00
fcf0f24937 Updated with the latest blog posts 2025-03-03 07:04:17 +00:00
10abfc34a7 Update docs and sort content 2025-03-03 06:20:42 +00:00
c5eca7b064 Update docs and sort content 2025-03-03 06:12:56 +00:00
6b7e3f1b70 Update docs and sort content 2025-03-03 06:00:44 +00:00
c12699b65c Update docs and sort content 2025-03-03 05:48:17 +00:00
937eee5627 Update docs and sort content 2025-03-03 03:51:30 +00:00
6dee4650b9 Updated with the latest blog posts 2025-02-28 02:27:51 +00:00
0e9ad45b65 Update main.yml 2025-02-28 10:20:08 +08:00
fd1bbcbf21 Updated with the latest blog posts 2025-02-27 07:03:59 +00:00
47473a34f9 Update docs and sort content 2025-02-27 06:27:49 +00:00
fdd2768e0c Update docs and sort content 2025-02-25 03:56:48 +00:00
57ee25f4f3 fix: add number type parse 2025-02-25 11:55:07 +08:00
58f4e095b5 Update docs and sort content 2025-02-25 03:25:15 +00:00
64383959c0 Update docs and sort content 2025-02-24 15:37:36 +00:00
287 changed files with 3494 additions and 1406 deletions

View File

@ -14,7 +14,7 @@ jobs:
- name: Pull in dev.to posts - name: Pull in dev.to posts
uses: gautamkrishnar/blog-post-workflow@v1 uses: gautamkrishnar/blog-post-workflow@v1
with: with:
template: $newline - [$date 【$categories】 $title]($url) template: $newline - [$date $title]($url)
date_format: "yyyy-mm-dd" date_format: "yyyy-mm-dd"
feed_list: "https://blog.kazoottt.top/rss.xml" feed_list: "https://blog.kazoottt.top/rss.xml"
max_post_count: 25 max_post_count: 25

View File

@ -2,51 +2,51 @@
## [Blog](https://blog.kazoottt.top/posts/) ## [Blog](https://blog.kazoottt.top/posts/)
<!-- BLOG-POST-LIST:START --> <!-- BLOG-POST-LIST:START -->
- [2025-02-23 【周报】 [周报] 2025-W08](https://blog.kazoottt.top/posts/2025-W08/) - [2025-03-06 [前端] 如何运行 ts 文件](https://blog.kazoottt.top/posts/how-to-run-ts-files/)
- [2025-02-21 【碎片】 [碎片] rsshub中新增asianfanfics路由](https://blog.kazoottt.top/posts/fragmented-notes-2025-02-21-16-38-50/) - [2025-03-02 [周报] 2025-W09 工作流升级](https://blog.kazoottt.top/posts/2025-W09/)
- [2025-02-20 【碎片】 [碎片] openwebui长时间白屏解决方案](https://blog.kazoottt.top/posts/openwebui-long-loading-white-screen-solution/) - [2025-02-23 [周报] 2025-W08](https://blog.kazoottt.top/posts/2025-W08/)
- [2025-02-16 【周报】 [周报] 2025-W07](https://blog.kazoottt.top/posts/2025-W07/) - [2025-02-21 [碎片] rsshub中新增asianfanfics路由](https://blog.kazoottt.top/posts/fragmented-notes-2025-02-21-16-38-50/)
- [2025-02-12 【脑洞】 [脑洞] 处理markdown图片链接包含空格导致无法预览图片的问题](https://blog.kazoottt.top/posts/handling-markdown-image-links-containing-spaces-causing-preview-failures/) - [2025-02-20 [碎片] openwebui长时间白屏解决方案](https://blog.kazoottt.top/posts/openwebui-long-loading-white-screen-solution/)
- [2025-02-09 【周报】 [周报] 2025-W06](https://blog.kazoottt.top/posts/2025-W06/) - [2025-02-16 [周报] 2025-W07](https://blog.kazoottt.top/posts/2025-W07/)
- [2025-02-09 【前端】 [前端] 不引入astro wiki plugin实现链接跳转的思路](https://blog.kazoottt.top/posts/redirect-links-without-astro-wiki-plugin/) - [2025-02-12 [脑洞] 处理markdown图片链接包含空格导致无法预览图片的问题](https://blog.kazoottt.top/posts/handling-markdown-image-links-containing-spaces-causing-preview-failures/)
- [2025-02-06 【软件】 [软件] Obsidian Web Clipper 离线阅读同人作品](https://blog.kazoottt.top/posts/obsidian-web-clipper-offline-reading-fanfics/) - [2025-02-09 [周报] 2025-W06](https://blog.kazoottt.top/posts/2025-W06/)
- [2025-02-01 【软件】 [软件] 封面生成器推荐](https://blog.kazoottt.top/posts/cover-generator/) - [2025-02-09 [前端] 不引入astro wiki plugin实现链接跳转的思路](https://blog.kazoottt.top/posts/redirect-links-without-astro-wiki-plugin/)
- [2025-01-30 【年报】 [年报] Y5-2024年度总结](https://blog.kazoottt.top/posts/2024-annual-summary/) - [2025-02-06 [软件] Obsidian Web Clipper 离线阅读同人作品](https://blog.kazoottt.top/posts/obsidian-web-clipper-offline-reading-fanfics/)
- [2025-01-14 【frontend】 [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-02-01 [软件] 封面生成器推荐](https://blog.kazoottt.top/posts/cover-generator/)
- [2025-01-12 【随笔】 [随笔] 原来亲人在侧,是我最深重的感谢](https://blog.kazoottt.top/posts/plain-and-simple-is-true/) - [2025-01-30 [年报] Y5-2024年度总结](https://blog.kazoottt.top/posts/2024-annual-summary/)
- [2025-01-07 【随笔】 [随笔] ollama + excel 处理器开发总结](https://blog.kazoottt.top/posts/ollama-excel-processor-development-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-06 【项目】 [项目] MUV家元旦24H限定食堂 - 汇总网站](https://blog.kazoottt.top/posts/milklovemuv/) - [2025-01-12 [随笔] 原来亲人在侧,是我最深重的感谢](https://blog.kazoottt.top/posts/plain-and-simple-is-true/)
- [2024-12-19 【推荐】 [推荐] 值得一看的博客](https://blog.kazoottt.top/posts/blogs-worth-reading/) - [2025-01-07 [随笔] ollama + excel 处理器开发总结](https://blog.kazoottt.top/posts/ollama-excel-processor-development-summary/)
- [2024-12-18 【】 与hanser有关的github仓库](https://blog.kazoottt.top/posts/hanser-repository/) - [2025-01-06 [项目] MUV家元旦24H限定食堂 - 汇总网站](https://blog.kazoottt.top/posts/milklovemuv/)
- [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-19 [推荐] 值得一看的博客](https://blog.kazoottt.top/posts/blogs-worth-reading/)
- [2024-12-17 【前端】 [前端] 分享一下我的zustand错误使用案例](https://blog.kazoottt.top/posts/zustand-use-record/) - [2024-12-18 与hanser有关的github仓库](https://blog.kazoottt.top/posts/hanser-repository/)
- [2024-12-11 【】 raycast + imessage 2famessauto的半平替](https://blog.kazoottt.top/posts/raycast-imessage-2fa/) - [2024-12-17 Share My Incorrect Usage Cases of Zustand](https://blog.kazoottt.top/posts/share-my-incorrect-usage-case-of-zustand-en/)
- [2024-11-29 【】 使用github action定时同步obsidian内容到astro博客仓库](https://blog.kazoottt.top/posts/synchronize-profiles-to-remote-and-local-on-a-regular-basis/) - [2024-12-17 [前端] 分享一下我的 zustand 错误使用案例](https://blog.kazoottt.top/posts/zustand-use-record/)
- [2024-11-23 【软件】 [软件] 个人工具与设备清单202502](https://blog.kazoottt.top/posts/personal-tools-and-equipment-inventory-202502/) - [2024-12-11 raycast + imessage 2famessauto的半平替](https://blog.kazoottt.top/posts/raycast-imessage-2fa/)
- [2024-11-12 【旅行】 [旅行] 五一 上海-重庆-成都流水账](https://blog.kazoottt.top/posts/may-1st-shanghai-chongqing-chengdu-flow-account/) - [2024-11-29 使用github action定时同步obsidian内容到astro博客仓库](https://blog.kazoottt.top/posts/synchronize-profiles-to-remote-and-local-on-a-regular-basis/)
- [2024-09-02 【旅行】 [旅行] 2024 小缘永不完结的冒险 武汉线下vlog](https://blog.kazoottt.top/posts/yukari-2024-live/) - [2024-11-23 [软件] 个人工具与设备清单202502](https://blog.kazoottt.top/posts/personal-tools-and-equipment-inventory-202502/)
- [2024-07-30 【项目】 [项目] 微信读书网页版复制快捷键](https://blog.kazoottt.top/posts/wechat-reading-web-version-copy-shortcut/) - [2024-11-12 [旅行] 五一 上海-重庆-成都流水账](https://blog.kazoottt.top/posts/may-1st-shanghai-chongqing-chengdu-flow-account/)
- [2024-07-17 【旅行】 [旅行] 2024 BW记录-个人向流水账版](https://blog.kazoottt.top/posts/bw-record-personal-notes/)<!-- BLOG-POST-LIST:END --> - [2024-09-02 [旅行] 2024 小缘永不完结的冒险 武汉线下vlog](https://blog.kazoottt.top/posts/yukari-2024-live/)<!-- BLOG-POST-LIST:END -->
## [Memos](https://blog.kazoottt.top/notes/) ## [Memos](https://blog.kazoottt.top/notes/)
<!-- MEMO-POST-LIST:START --> <!-- MEMO-POST-LIST:START -->
- [2025-02-21 配置 cloudflare 规则实现重定向](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-21-15-44-58/) - [2025-03-06 [日记] 2025-03-06 星期四](https://blog.kazoottt.top/notes/diary-2025-03-06/)
- [2025-02-19 241029 1144 vite环境变量](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-19-21-11-25/) - [2025-03-05 [日记] 2025-03-05 星期三](https://blog.kazoottt.top/notes/diary-2025-03-05/)
- [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-03-04 [日记] 2025-03-04 星期二](https://blog.kazoottt.top/notes/diary-2025-03-04/)
- [2025-02-17 碎片-2025-02-17 10时55分 做事设计](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-17-10-55-29/) - [2025-03-03 pip安装和运行openwebui](https://blog.kazoottt.top/notes/how-to-install-and-run-openwebui-with-pip/)
- [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-03-03 [git] 使用大模型处理 git diff 生成 commit msg](https://blog.kazoottt.top/notes/use-llm-to-generate-commit-message-from-git-diff/)
- [2025-02-14 碎片-2025-02-14 15时00分 状态没变更记录一次没阻止冒泡导致的bug](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-00-49/) - [2025-02-28 [日记] 2025-02-28 星期五](https://blog.kazoottt.top/notes/diary-2025-02-28/)
- [2025-02-14 碎片-2025-02-14 15时18分 飞书 excalidraw画图对比](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-14-15-18-56/) - [2025-02-27 [日记] 2025-02-27 星期四](https://blog.kazoottt.top/notes/diary-2025-02-27/)
- [2025-02-11 碎片-2025-02-11 12时32分](https://blog.kazoottt.top/notes/fragmented-notes-2025-02-11-12-32-42/) - [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-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 [软件] 小红书长文切图笔记?其实 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-06 [软件] 试试action5 pro推流到本地rtmp和有线连接的效果](https://blog.kazoottt.top/notes/action5-pro-obs-rtmp/)<!-- MEMO-POST-LIST:END -->
- [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 -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 KiB

After

Width:  |  Height:  |  Size: 589 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 KiB

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 KiB

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 827 KiB

After

Width:  |  Height:  |  Size: 571 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 KiB

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -1,18 +1,18 @@
--- ---
import type { CollectionEntry } from "astro:content";
import FormattedDate from "@/components/FormattedDate.astro"; import FormattedDate from "@/components/FormattedDate.astro";
import Card from "../componentsBefore/Card.astro"; import Card from "../componentsBefore/Card.astro";
import { Icon } from "astro-icon/components"; import { Icon } from "astro-icon/components";
import Label from "../componentsBefore/Label.astro"; import Label from "../componentsBefore/Label.astro";
import type { PostItem } from "@/types";
interface Props { interface Props {
content: CollectionEntry<"post">; content: PostItem;
readingTime: string; readingTime: string;
ogImage: string; ogImage: string;
} }
const { const {
content: { data }, content: { data, dateToCmp },
readingTime, readingTime,
ogImage, ogImage,
} = Astro.props; } = Astro.props;
@ -27,13 +27,7 @@ const socialImageURL = new URL(ogImage ? ogImage : "/social-card.png", Astro.url
{ {
socialImageURL && ( socialImageURL && (
<div class="mb-6 aspect-video"> <div class="mb-6 aspect-video">
<img <img alt={socialImageURL} class="rounded-lg object-cover" src={socialImageURL} />
alt={socialImageURL}
class="rounded-lg object-cover"
fetchpriority="high"
loading="eager"
src={socialImageURL}
/>
</div> </div>
) )
} }
@ -54,7 +48,7 @@ const socialImageURL = new URL(ogImage ? ogImage : "/social-card.png", Astro.url
</h1> </h1>
<div class="flex flex-wrap items-center gap-x-3 gap-y-2"> <div class="flex flex-wrap items-center gap-x-3 gap-y-2">
<p class="font-semibold"> <p class="font-semibold">
<FormattedDate date={data.date} dateTimeOptions={dateTimeOptions} /> /{" "} <FormattedDate date={dateToCmp} dateTimeOptions={dateTimeOptions} /> /{" "}
{readingTime} {readingTime}
</p> </p>
{ {

View File

@ -1,10 +1,10 @@
--- ---
import type { CollectionEntry } from "astro:content";
import FormattedDate from "@/components/FormattedDate.astro"; import FormattedDate from "@/components/FormattedDate.astro";
import type { HTMLTag, Polymorphic } from "astro/types"; import type { HTMLTag, Polymorphic } from "astro/types";
import type { AllItem } from "@/types";
type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & { type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & {
post: CollectionEntry<"post">; post: AllItem;
withDesc?: boolean; withDesc?: boolean;
}; };
@ -17,7 +17,11 @@ const { as: Tag = "div", post, withDesc = false } = Astro.props;
/> />
<Tag> <Tag>
{post.data.draft && <span class="text-red-500">(Draft) </span>} {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.fixedToTop && <span class="text-accent-2 mr-2">*</span>}
{post.data.title} {post.data.title}
</a> </a>

View File

@ -23,12 +23,15 @@ const year = new Date().getFullYear();
</div> </div>
<nav <nav
aria-labelledby="footer_links" 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> <p id="footer_links" class="sr-only">More on this site</p>
{ {
menuLinks.map((link) => ( 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} {link.title}
</a> </a>
)) ))

View File

@ -1,5 +1,5 @@
--- ---
import { type CollectionEntry, render } from "astro:content"; import { render } from "astro:content";
import FormattedDate from "@/components/FormattedDate.astro"; import FormattedDate from "@/components/FormattedDate.astro";
import type { HTMLTag, Polymorphic } from "astro/types"; import type { HTMLTag, Polymorphic } from "astro/types";
import GiscusComment from "@/components/componentsBefore/GiscusComment"; import GiscusComment from "@/components/componentsBefore/GiscusComment";
@ -8,8 +8,9 @@ import ShareButtons from "../ShareButtons.astro";
import ContentFooter from "../ContentFooter.astro"; import ContentFooter from "../ContentFooter.astro";
import { cn } from "@/utils/tailwind"; import { cn } from "@/utils/tailwind";
import Card from "../componentsBefore/Card.astro"; import Card from "../componentsBefore/Card.astro";
import type { NoteItem } from "@/types";
type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & { type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag }> & {
note: CollectionEntry<"note">; note: NoteItem;
isPreview?: boolean | undefined; isPreview?: boolean | undefined;
index?: number; index?: number;
enableLineClamp?: boolean; enableLineClamp?: boolean;
@ -99,5 +100,4 @@ if (modifiedDate && modifiedDate.toDateString() === date.toDateString()) {
</div> </div>
) )
} }
</ArticleContainer> </ArticleContainer>

View File

@ -5,6 +5,23 @@ function removeDupsAndLowerCase(array: string[]) {
return [...new Set(array.map((str) => str.toLowerCase()))]; 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({ const baseSchema = z.object({
title: z.string(), title: z.string(),
}); });
@ -17,9 +34,18 @@ const post = defineCollection({
draft: z.boolean().default(false), draft: z.boolean().default(false),
banner: z.string().optional(), banner: z.string().optional(),
tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase), tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase),
date: z.union([z.string(), z.date()]).transform((val) => new Date(val)), date: z
date_modified: z.date().optional(), .union([z.string(), z.number(), z.date()])
data_created: z.date().optional(), .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(), category: z.string().optional().nullable(),
fixedToTop: z.boolean().optional().default(false), fixedToTop: z.boolean().optional().default(false),
}), }),
@ -29,10 +55,20 @@ const note = defineCollection({
loader: glob({ base: "./src/content/note", pattern: "**/*.{md,mdx}" }), loader: glob({ base: "./src/content/note", pattern: "**/*.{md,mdx}" }),
schema: baseSchema.extend({ schema: baseSchema.extend({
description: z.string().optional().nullable(), description: z.string().optional().nullable(),
date: z.union([z.string(), z.date()]).transform((val) => new Date(val)), date: z
date_modified: z.date().optional(), .union([z.string(), z.number(), z.date()])
data_created: z.date().optional(), .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), tags: z.array(z.string()).default([]).transform(removeDupsAndLowerCase),
category: z.string().optional().nullable(),
}), }),
}); });

View File

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

View File

@ -1,19 +1,22 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-08' title: '2023-09-08'
slug: diary-2023-09-08 slug: diary-2023-09-08
date: 2023-09-08T00:00:00.000Z date: 2023-09-08T00:00:00.000Z
author: KazooTTT author: KazooTTT
tags: tags:
- 日记
- 歌词 - 歌词
- 日记
- hanser - hanser
published: true
description: 2023年9月8日星期五的记录中提到了一段关于直播的内容强调不需要背负任何负担只需带着空行囊和彼此即可。 description: 2023年9月8日星期五的记录中提到了一段关于直播的内容强调不需要背负任何负担只需带着空行囊和彼此即可。
rinId: 24
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-08 星期五 # 2023-09-08 星期五

View File

@ -1,17 +1,20 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-09' title: '2023-09-09'
slug: diary-2023-09-09 slug: diary-2023-09-09
date: 2023-09-09T00:00:00.000Z date: 2023-09-09T00:00:00.000Z
author: KazooTTT author: KazooTTT
tags: tags:
- 日记 - 日记
published: true
description: 2023年9月9日星期六的日程安排包括已完成的项目升级和游泳以及待完成的nextjs+node运行时脚本测试。 description: 2023年9月9日星期六的日程安排包括已完成的项目升级和游泳以及待完成的nextjs+node运行时脚本测试。
rinId: 25
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-09 星期六 # 2023-09-09 星期六

View File

@ -1,18 +1,21 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-10' title: '2023-09-10'
slug: diary-2023-09-10 slug: diary-2023-09-10
date: 2023-09-10T00:00:00.000Z date: 2023-09-10T00:00:00.000Z
author: KazooTTT author: KazooTTT
tags: tags:
- 日记 - 日记
published: true
description: >- description: >-
2023年9月10日某博客讨论了其支持的模板语法指出虽然功能丰富但使用起来感觉不够灵活且学习成本较高。文章中提出疑问低代码是否是一种高效但可能过于简化的编程方式。 2023年9月10日某博客讨论了其支持的模板语法指出虽然功能丰富但使用起来感觉不够灵活且学习成本较高。文章中提出疑问低代码是否是一种高效但可能过于简化的编程方式。
rinId: 26
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-10 星期日 # 2023-09-10 星期日

View File

@ -1,19 +1,22 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-12' title: '2023-09-12'
slug: diary-2023-09-12 slug: diary-2023-09-12
date: 2023-09-12T00:00:00.000Z date: 2023-09-12T00:00:00.000Z
author: KazooTTT author: KazooTTT
tags: tags:
- 日记
- 健身 - 健身
published: true - 日记
description: >- description: >-
今天的任务包括完成多项链表相关的编程题目其中已完成的有“86.分隔链表”和“141.环形链表”未完成的有“142.环形链表-ii”和“160.相交链表”。此外已完成的任务还包括在Obsidian中链接外部代码文件。健身方面进行了跑步、椭圆机和器械锻炼并计划下次带拖鞋以便洗完澡后直接穿回家。 今天的任务包括完成多项链表相关的编程题目其中已完成的有“86.分隔链表”和“141.环形链表”未完成的有“142.环形链表-ii”和“160.相交链表”。此外已完成的任务还包括在Obsidian中链接外部代码文件。健身方面进行了跑步、椭圆机和器械锻炼并计划下次带拖鞋以便洗完澡后直接穿回家。
rinId: 27
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-12 星期二 # 2023-09-12 星期二
@ -24,9 +27,9 @@ date_modified: 2025-02-19T17:54:54.000Z
## 今天要做的事情 ## 今天要做的事情
- [ ] 刷题回顾 - [ ] 刷题回顾
- [x] [86.分隔链表](https://notes.kazoottt.top/03-领域/编程/算法/记录/86.分隔链表) - [x] [86.分隔链表](https://notes.kazoottt.top/03-领域/算法/记录/86.分隔链表)
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/编程/算法/记录/141.环形链表) - [x] [141.环形链表](https://notes.kazoottt.top/03-领域/算法/记录/141.环形链表)
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/编程/算法/记录/142.环形链表-ii) - [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/算法/记录/142.环形链表-ii)
- [ ] [[160.相交链表]] - [ ] [[160.相交链表]]
- [x] [[obsidian链接外部代码文件]] - [x] [[obsidian链接外部代码文件]]

View File

@ -1,4 +1,10 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-13' title: '2023-09-13'
slug: diary-2023-09-13 slug: diary-2023-09-13
date: 2023-09-13T00:00:00.000Z date: 2023-09-13T00:00:00.000Z
@ -6,7 +12,6 @@ author: KazooTTT
tags: tags:
- 日记 - 日记
- todo - todo
published: true
description: >- description: >-
On September 13, 2023, the individual focused on several tasks including On September 13, 2023, the individual focused on several tasks including
reviewing coding problems, specifically completing the "141.环形链表" and planning reviewing coding problems, specifically completing the "141.环形链表" and planning
@ -21,10 +26,9 @@ description: >-
home using an elliptical machine. They also considered upgrading their home using an elliptical machine. They also considered upgrading their
smartwatch as it was no longer compatible with the latest watch face market smartwatch as it was no longer compatible with the latest watch face market
updates. updates.
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-13 星期三 # 2023-09-13 星期三
@ -35,8 +39,8 @@ date_modified: 2025-02-19T17:54:54.000Z
## 今天要做的事情 ## 今天要做的事情
- [ ] 刷题回顾 - [ ] 刷题回顾
- [x] [141.环形链表](https://notes.kazoottt.top/03-领域/编程/算法/记录/141.环形链表) - [x] [141.环形链表](https://notes.kazoottt.top/03-领域/算法/记录/141.环形链表)
- [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/编程/算法/记录/142.环形链表-ii) - [ ] [142.环形链表-ii](https://notes.kazoottt.top/03-领域/算法/记录/142.环形链表-ii)
- [ ] [[160.相交链表]] - [ ] [[160.相交链表]]
## 打卡 ## 打卡

View File

@ -1,18 +1,22 @@
--- ---
toAstro: true
astroType: null
published: true
toWexin: null
toJuejin: null
toZhihu: null
title: '2023-09-14' title: '2023-09-14'
slug: diary-2023-09-14 slug: diary-2023-09-14
date: 2023-09-14T00:00:00.000Z date: 2023-09-14T00:00:00.000Z
author: KazooTTT author: KazooTTT
tags: tags:
- 日记 - 日记
published: true
description: >- description: >-
今天是2023年9月14日星期四。今天的计划包括打卡和健身。健身内容包括跑步20分钟和使用器械30分钟虽然9点去健身房时间有点紧张。此外已经下单了一款新手表预计下周五到货。感觉自己的背部似乎直了一些。还提到了一种快速获取telegram 今天是2023年9月14日星期四。今天的计划包括打卡和健身。健身内容包括跑步20分钟和使用器械30分钟虽然9点去健身房时间有点紧张。此外已经下单了一款新手表预计下周五到货。感觉自己的背部似乎直了一些。还提到了一种快速获取telegram
chatId并实现消息通知的方法。 chatId并实现消息通知的方法。
toAstro: true
category: 日记 category: 日记
date_created: 2025-01-04T03:34:08.000Z date_created: 20250104
date_modified: 2025-02-19T17:54:54.000Z date_modified: 20250304
--- ---
# 2023-09-14 星期四 # 2023-09-14 星期四

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