124 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
bb1b0eaa5b Updated with the latest blog posts 2025-02-24 08:05:39 +00:00
2bfda8024b Updated with the latest blog posts 2025-02-24 07:04:21 +00:00
0cf1cbb56a Update docs and sort content 2025-02-24 06:33:22 +00:00
e2e98f9cc7 feat: update rss config 2025-02-24 14:19:48 +08:00
c037d61e49 Merge branch 'main' of https://github.com/KazooTTT/kazoottt-blog-v2 2025-02-24 14:05:41 +08:00
ab931dd953 fix: update feed id for notes 2025-02-24 14:05:37 +08:00
0eba98f263 Updated with the latest blog posts 2025-02-24 06:05:32 +00:00
50d4e72216 fix: 修复未分类的筛选 2025-02-24 13:38:26 +08:00
b3004795f0 Updated with the latest blog posts 2025-02-23 19:03:14 +00:00
92aa02ed46 Updated with the latest blog posts 2025-02-23 18:04:30 +00:00
e7d79d1733 Updated with the latest blog posts 2025-02-23 17:03:34 +00:00
f5a8cd1a06 Update docs and sort content 2025-02-23 16:16:20 +00:00
e5a5192922 Update docs and sort content 2025-02-23 16:12:23 +00:00
7037b5a0fb Update docs and sort content 2025-02-23 16:07:15 +00:00
ab9ca1ba14 Update docs and sort content 2025-02-22 03:48:20 +00:00
57edf2f4e6 Updated with the latest blog posts 2025-02-21 15:03:58 +00:00
b187b8c9ca Update docs and sort content 2025-02-21 14:24:53 +00:00
0e5bf1e01e Updated with the latest blog posts 2025-02-21 14:03:24 +00:00
c57de061be Update docs and sort content 2025-02-21 14:02:31 +00:00
56d4cc877e Merge branch 'main' of https://github.com/KazooTTT/kazoottt-blog-v2 2025-02-21 21:58:29 +08:00
eeed2a201b feat: update date sorting function in notes pages 2025-02-21 21:58:26 +08:00
cf0ed3decd Updated with the latest blog posts 2025-02-21 13:07:45 +00:00
3e4539ddbe Merge branch 'main' of https://github.com/KazooTTT/kazoottt-blog-v2 2025-02-21 20:53:38 +08:00
d3f479d891 feat: change the sort priority 2025-02-21 20:53:36 +08:00
27d1849336 Update docs and sort content 2025-02-21 12:49:28 +00:00
8390d757ea Update docs and sort content 2025-02-21 12:43:48 +00:00
a25ea16c36 Update docs and sort content 2025-02-21 12:39:07 +00:00
febcdb06a4 fix: cf 直接重定向,移除astro配置 2025-02-21 20:27:36 +08:00
a9928d78c8 fix: error directory name 2025-02-21 19:31:59 +08:00
d70d2af9d1 Update docs and sort content 2025-02-21 11:19:40 +00:00
4288d472c7 feat: 优化重定向的写法 2025-02-21 15:44:50 +08:00
2fd907f3e8 Update docs and sort content 2025-02-21 03:39:38 +00:00
95fed683c8 Update docs and sort content 2025-02-21 03:23:48 +00:00
492e9bac78 Update docs and sort content 2025-02-21 02:54:17 +00:00
4fe221acf1 Update docs and sort content 2025-02-19 17:59:49 +00:00
1c36e3f5ec Update docs and sort content 2025-02-19 17:36:53 +00:00
a2bef5b7ad feat: enable notes rss 2025-02-20 01:32:27 +08:00
dd87317456 Update docs and sort content 2025-02-19 17:30:11 +00:00
795af34d25 Updated with the latest blog posts 2025-02-19 16:04:21 +00:00
857eb8b1f8 Updated with the latest blog posts 2025-02-19 15:04:08 +00:00
ccf89cfb95 Updated with the latest blog posts 2025-02-19 14:04:00 +00:00
033aff4018 Update docs and sort content 2025-02-19 13:20:27 +00:00
3a1aebd718 Update docs and sort content 2025-02-19 13:18:28 +00:00
4bf67ab53a Update docs and sort content 2025-02-19 13:05:22 +00:00
f2cf86e9d0 Update docs and sort content 2025-02-19 11:06:41 +00:00
7bbe51e4bd chore: Add kazoottt.top domain to image configuration 2025-02-19 18:32:21 +08:00
a90b31a668 Update docs and sort content 2025-02-19 10:23:27 +00:00
d3240e607c fix: add the site path for rss 2025-02-19 18:22:10 +08:00
f5655ef972 Updated with the latest blog posts 2025-02-19 05:03:53 +00:00
80c2ee94a9 Updated with the latest blog posts 2025-02-19 04:04:39 +00:00
66478bb19a Update docs and sort content 2025-02-19 03:50:29 +00:00
c20c2a39b5 Updated with the latest blog posts 2025-02-16 19:04:16 +00:00
d2f9072d90 Updated with the latest blog posts 2025-02-16 18:04:05 +00:00
5d2123077d Updated with the latest blog posts 2025-02-16 17:03:52 +00:00
71a46f6eee Updated with the latest blog posts 2025-02-16 16:03:46 +00:00
de56f79e7d Updated with the latest blog posts 2025-02-16 15:03:27 +00:00
8e20625972 Updated with the latest blog posts 2025-02-16 14:04:16 +00:00
d42c581794 Update docs and sort content 2025-02-16 13:49:26 +00:00
35853958d2 Update docs and sort content 2025-02-16 12:11:53 +00:00
fa9476ca80 Updated with the latest blog posts 2025-02-16 12:07:00 +00:00
6bea8d12e6 feat: add quote type 2025-02-16 19:48:54 +08:00
67698eed22 Update docs and sort content 2025-02-16 11:38:49 +00:00
6639493f18 fix: show the title only if the list has items 2025-02-14 19:01:57 +08:00
3af73ab320 feat: 新增置顶文章 2025-02-14 18:59:28 +08:00
c7b012a891 Update docs and sort content 2025-02-14 10:53:40 +00:00
7912a06e82 feat: change the sort of the components 2025-02-14 18:45:08 +08:00
e334636663 Update docs and sort content 2025-02-14 08:33:30 +00:00
723b29e9d5 Updated with the latest blog posts 2025-02-14 08:04:49 +00:00
527e98e0d1 fix: Correct summary card display condition in Note component 2025-02-14 15:44:38 +08:00
cd6388c0d6 feat: Add summary card to note components 2025-02-14 15:41:27 +08:00
902d84dded Update docs and sort content 2025-02-14 07:31:48 +00:00
9a5bea6580 Update docs and sort content 2025-02-14 07:24:46 +00:00
306 changed files with 6252 additions and 3457 deletions

View File

@ -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

View File

@ -2,51 +2,51 @@
## [Blog](https://blog.kazoottt.top/posts/)
<!-- BLOG-POST-LIST:START -->
- [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 2famessauto的半平替](https://blog.kazoottt.top/posts/raycast-imessage-2fa/)
- [2024-11-29 【】 使用github action定时同步obsidian内容到博客仓库](https://blog.kazoottt.top/posts/synchronize-profiles-to-remote-and-local-on-a-regular-basis/)
- [2024-11-23 【软件】 个人工具与设备清单](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 【旅行】 BW记录-个人向流水账版](https://blog.kazoottt.top/posts/bw-record-personal-notes/)
- [2024-07-11 【周报】 2024-W03.md](https://blog.kazoottt.top/posts/2024-W03/)
- [2024-07-11 【周报】 2024-W03-编程篇](https://blog.kazoottt.top/posts/2024-W03-programming/)
- [2024-07-11 【周报】 2023-W48 转岗了](https://blog.kazoottt.top/posts/2023-W48/)
- [2024-07-08 【旅行】 端午去广州玩了](https://blog.kazoottt.top/posts/duanwu-guangzhou-trip/)
- [2024-07-01 【软件】 如何自动同步某个文件夹的图片到某个相册中](https://blog.kazoottt.top/posts/auto-sync-folder-to-album/)<!-- 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 2famessauto的半平替](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-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 Editor Windows in Blender](https://blog.kazoottt.top/notes/split-window-in-blender/)
- [2025-01-20 How to Separate Objects 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/)
- [2025-01-06 2025-01-06 星期一](https://blog.kazoottt.top/notes/diary-2025-01-06/)
- [2025-01-06 MUV家元旦24H限定食堂 - 汇总网站](https://blog.kazoottt.top/notes/milklovemuv/)
- [2025-01-05 whisper ui 下载模型 镜像设置](https://blog.kazoottt.top/notes/whisper-ui-download-model-mirror-setting/)
- [2024-12-23 2024-12-23 星期一 学习 unity day01](https://blog.kazoottt.top/notes/diary-2024-12-23/)
- [2024-12-19 2024-12-19 星期四](https://blog.kazoottt.top/notes/diary-2024-12-19/)
- [2024-12-19 使用cloudflare部署remix项目](https://blog.kazoottt.top/notes/deploy-remix-app-by-cloudflare/)
- [2024-12-19 合并多个PDF](https://blog.kazoottt.top/notes/merge-pdfs/)<!-- 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 -->

View File

@ -26,7 +26,7 @@ import rehypeUnwrapImages from "rehype-unwrap-images";
export default defineConfig({
site: siteConfig.url,
image: {
domains: ["webmention.io"],
domains: ["webmention.io", "kazoottt.top"],
service: passthroughImageService(),
},
integrations: [

View File

@ -21,7 +21,7 @@
"@astrojs/rss": "4.0.11",
"@astrojs/sitemap": "3.2.1",
"@giscus/react": "^3.1.0",
"@tailwindcss/vite": "4.0.3",
"@tailwindcss/vite": "4.0.7",
"astro": "5.2.5",
"astro-expressive-code": "^0.40.1",
"astro-icon": "^1.1.5",
@ -66,7 +66,7 @@
"prettier-plugin-astro": "0.14.1",
"prettier-plugin-tailwindcss": "^0.6.11",
"reading-time": "^1.5.0",
"tailwindcss": "4.0.4",
"tailwindcss": "4.0.7",
"typescript": "^5.7.3"
}
}

177
pnpm-lock.yaml generated
View File

@ -27,8 +27,8 @@ importers:
specifier: ^3.1.0
version: 3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@tailwindcss/vite':
specifier: 4.0.3
version: 4.0.3(vite@6.1.0(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(yaml@2.7.0))
specifier: 4.0.7
version: 4.0.7(vite@6.1.0(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(yaml@2.7.0))
astro:
specifier: 5.2.5
version: 5.2.5(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(rollup@4.34.6)(typescript@5.7.3)(yaml@2.7.0)
@ -125,7 +125,7 @@ importers:
version: 2.6.2
'@tailwindcss/typography':
specifier: ^0.5.16
version: 0.5.16(tailwindcss@4.0.4)
version: 0.5.16(tailwindcss@4.0.7)
'@types/hast':
specifier: ^3.0.4
version: 3.0.4
@ -157,8 +157,8 @@ importers:
specifier: ^1.5.0
version: 1.5.0
tailwindcss:
specifier: 4.0.4
version: 4.0.4
specifier: 4.0.7
version: 4.0.7
typescript:
specifier: ^5.7.3
version: 5.7.3
@ -342,24 +342,28 @@ packages:
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@biomejs/cli-linux-arm64@1.9.4':
resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@biomejs/cli-linux-x64-musl@1.9.4':
resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [musl]
'@biomejs/cli-linux-x64@1.9.4':
resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@biomejs/cli-win32-arm64@1.9.4':
resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
@ -607,67 +611,79 @@ packages:
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-arm@1.0.5':
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.0.4':
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linux-x64@1.0.4':
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-linux-arm64@0.33.5':
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@img/sharp-linux-arm@0.33.5':
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
libc: [glibc]
'@img/sharp-linux-s390x@0.33.5':
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@img/sharp-linux-x64@0.33.5':
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.33.5':
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@img/sharp-linuxmusl-x64@0.33.5':
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@img/sharp-wasm32@0.33.5':
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
@ -791,24 +807,28 @@ packages:
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@resvg/resvg-js-linux-arm64-musl@2.6.2':
resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@resvg/resvg-js-linux-x64-gnu@2.6.2':
resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@resvg/resvg-js-linux-x64-musl@2.6.2':
resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@resvg/resvg-js-win32-arm64-msvc@2.6.2':
resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==}
@ -875,51 +895,61 @@ packages:
resolution: {integrity: sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.34.6':
resolution: {integrity: sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==}
cpu: [arm]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.34.6':
resolution: {integrity: sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.34.6':
resolution: {integrity: sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-loongarch64-gnu@4.34.6':
resolution: {integrity: sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==}
cpu: [loong64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-powerpc64le-gnu@4.34.6':
resolution: {integrity: sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-riscv64-gnu@4.34.6':
resolution: {integrity: sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-s390x-gnu@4.34.6':
resolution: {integrity: sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.34.6':
resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.34.6':
resolution: {integrity: sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==}
cpu: [x64]
os: [linux]
libc: [musl]
'@rollup/rollup-win32-arm64-msvc@4.34.6':
resolution: {integrity: sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==}
@ -962,77 +992,81 @@ packages:
engines: {node: '>= 8.0.0'}
hasBin: true
'@tailwindcss/node@4.0.3':
resolution: {integrity: sha512-QsVJokOl0pJ4AbJV33D2npvLcHGPWi5MOSZtrtE0GT3tSx+3D0JE2lokLA8yHS1x3oCY/3IyRyy7XX6tmzid7A==}
'@tailwindcss/node@4.0.7':
resolution: {integrity: sha512-dkFXufkbRB2mu3FPsW5xLAUWJyexpJA+/VtQj18k3SUiJVLdpgzBd1v1gRRcIpEJj7K5KpxBKfOXlZxT3ZZRuA==}
'@tailwindcss/oxide-android-arm64@4.0.3':
resolution: {integrity: sha512-S8XOTQuMnpijZRlPm5HBzPJjZ28quB+40LSRHjRnQF6rRYKsvpr1qkY7dfwsetNdd+kMLOMDsvmuT8WnqqETvg==}
'@tailwindcss/oxide-android-arm64@4.0.7':
resolution: {integrity: sha512-5iQXXcAeOHBZy8ASfHFm1k0O/9wR2E3tKh6+P+ilZZbQiMgu+qrnfpBWYPc3FPuQdWiWb73069WT5D+CAfx/tg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
'@tailwindcss/oxide-darwin-arm64@4.0.3':
resolution: {integrity: sha512-smrY2DpzhXvgDhZtQlYAl8+vxJ04lv2/64C1eiRxvsRT2nkw/q+zA1/eAYKvUHat6cIuwqDku3QucmrUT6pCeg==}
'@tailwindcss/oxide-darwin-arm64@4.0.7':
resolution: {integrity: sha512-7yGZtEc5IgVYylqK/2B0yVqoofk4UAbkn1ygNpIJZyrOhbymsfr8uUFCueTu2fUxmAYIfMZ8waWo2dLg/NgLgg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@tailwindcss/oxide-darwin-x64@4.0.3':
resolution: {integrity: sha512-NTz8x/LcGUjpZAWUxz0ZuzHao90Wj9spoQgomwB+/hgceh5gcJDfvaBYqxLFpKzVglpnbDSq1Fg0p0zI4oa5Pg==}
'@tailwindcss/oxide-darwin-x64@4.0.7':
resolution: {integrity: sha512-tPQDV20fBjb26yWbPqT1ZSoDChomMCiXTKn4jupMSoMCFyU7+OJvIY1ryjqBuY622dEBJ8LnCDDWsnj1lX9nNQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@tailwindcss/oxide-freebsd-x64@4.0.3':
resolution: {integrity: sha512-yQc9Q0JCOp3kkAV8gKgDctXO60IkQhHpqGB+KgOccDtD5UmN6Q5+gd+lcsDyQ7N8dRuK1fAud51xQpZJgKfm7g==}
'@tailwindcss/oxide-freebsd-x64@4.0.7':
resolution: {integrity: sha512-sZqJpTyTZiknU9LLHuByg5GKTW+u3FqM7q7myequAXxKOpAFiOfXpY710FuMY+gjzSapyRbDXJlsTQtCyiTo5w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.3':
resolution: {integrity: sha512-e1ivVMLSnxTOU1O3npnxN16FEyWM/g3SuH2pP6udxXwa0/SnSAijRwcAYRpqIlhVKujr158S8UeHxQjC4fGl4w==}
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.7':
resolution: {integrity: sha512-PBgvULgeSswjd8cbZ91gdIcIDMdc3TUHV5XemEpxlqt9M8KoydJzkuB/Dt910jYdofOIaTWRL6adG9nJICvU4A==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
'@tailwindcss/oxide-linux-arm64-gnu@4.0.3':
resolution: {integrity: sha512-PLrToqQqX6sdJ9DmMi8IxZWWrfjc9pdi9AEEPTrtMts3Jm9HBi1WqEeF1VwZZ2aW9TXloE5OwA35zuuq1Bhb/Q==}
'@tailwindcss/oxide-linux-arm64-gnu@4.0.7':
resolution: {integrity: sha512-By/a2yeh+e9b+C67F88ndSwVJl2A3tcUDb29FbedDi+DZ4Mr07Oqw9Y1DrDrtHIDhIZ3bmmiL1dkH2YxrtV+zw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@tailwindcss/oxide-linux-arm64-musl@4.0.3':
resolution: {integrity: sha512-YlzRxx7N1ampfgSKzEDw0iwDkJXUInR4cgNEqmR4TzHkU2Vhg59CGPJrTI7dxOBofD8+O35R13Nk9Ytyv0JUFg==}
'@tailwindcss/oxide-linux-arm64-musl@4.0.7':
resolution: {integrity: sha512-WHYs3cpPEJb/ccyT20NOzopYQkl7JKncNBUbb77YFlwlXMVJLLV3nrXQKhr7DmZxz2ZXqjyUwsj2rdzd9stYdw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@tailwindcss/oxide-linux-x64-gnu@4.0.3':
resolution: {integrity: sha512-Xfc3z/li6XkuD7Hs+Uk6pjyCXnfnd9zuQTKOyDTZJ544xc2yoMKUkuDw6Et9wb31MzU2/c0CIUpTDa71lL9KHw==}
'@tailwindcss/oxide-linux-x64-gnu@4.0.7':
resolution: {integrity: sha512-7bP1UyuX9kFxbOwkeIJhBZNevKYPXB6xZI37v09fqi6rqRJR8elybwjMUHm54GVP+UTtJ14ueB1K54Dy1tIO6w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@tailwindcss/oxide-linux-x64-musl@4.0.3':
resolution: {integrity: sha512-ugKVqKzwa/cjmqSQG17aS9DYrEcQ/a5NITcgmOr3JLW4Iz64C37eoDlkC8tIepD3S/Td/ywKAolTQ8fKbjEL4g==}
'@tailwindcss/oxide-linux-x64-musl@4.0.7':
resolution: {integrity: sha512-gBQIV8nL/LuhARNGeroqzXymMzzW5wQzqlteVqOVoqwEfpHOP3GMird5pGFbnpY+NP0fOlsZGrxxOPQ4W/84bQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
'@tailwindcss/oxide-win32-arm64-msvc@4.0.3':
resolution: {integrity: sha512-qHPDMl+UUwsk1RMJMgAXvhraWqUUT+LR/tkXix5RA39UGxtTrHwsLIN1AhNxI5i2RFXAXfmFXDqZCdyQ4dWmAQ==}
'@tailwindcss/oxide-win32-arm64-msvc@4.0.7':
resolution: {integrity: sha512-aH530NFfx0kpQpvYMfWoeG03zGnRCMVlQG8do/5XeahYydz+6SIBxA1tl/cyITSJyWZHyVt6GVNkXeAD30v0Xg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@tailwindcss/oxide-win32-x64-msvc@4.0.3':
resolution: {integrity: sha512-+ujwN4phBGyOsPyLgGgeCyUm4Mul+gqWVCIGuSXWgrx9xVUnf6LVXrw0BDBc9Aq1S2qMyOTX4OkCGbZeoIo8Qw==}
'@tailwindcss/oxide-win32-x64-msvc@4.0.7':
resolution: {integrity: sha512-8Cva6bbJN7ZJx320k7vxGGdU0ewmpfS5A4PudyzUuofdi8MgeINuiiWiPQ0VZCda/GX88K6qp+6UpDZNVr8HMQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
'@tailwindcss/oxide@4.0.3':
resolution: {integrity: sha512-FFcp3VNvRjjmFA39ORM27g2mbflMQljhvM7gxBAujHxUy4LXlKa6yMF9wbHdTbPqTONiCyyOYxccvJyVyI/XBg==}
'@tailwindcss/oxide@4.0.7':
resolution: {integrity: sha512-yr6w5YMgjy+B+zkJiJtIYGXW+HNYOPfRPtSs+aqLnKwdEzNrGv4ZuJh9hYJ3mcA+HMq/K1rtFV+KsEr65S558g==}
engines: {node: '>= 10'}
'@tailwindcss/typography@0.5.16':
@ -1040,8 +1074,8 @@ packages:
peerDependencies:
tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
'@tailwindcss/vite@4.0.3':
resolution: {integrity: sha512-Qj6rSO+EvXnNDymloKZ11D54JJTnDrkRWJBzNHENDxjt0HtrCZJbSLIrcJ/WdaoU4othrel/oFqHpO/doxIS/Q==}
'@tailwindcss/vite@4.0.7':
resolution: {integrity: sha512-GYx5sxArfIMtdZCsxfya3S/efMmf4RvfqdiLUozkhmSFBNUFnYVodatpoO/en4/BsOIGvq/RB6HwcTLn9prFnQ==}
peerDependencies:
vite: ^5.2.0 || ^6
@ -2090,24 +2124,28 @@ packages:
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
lightningcss-linux-arm64-musl@1.29.1:
resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
lightningcss-linux-x64-gnu@1.29.1:
resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
lightningcss-linux-x64-musl@1.29.1:
resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
lightningcss-win32-arm64-msvc@1.29.1:
resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
@ -3181,11 +3219,8 @@ packages:
tailwind-merge@3.0.1:
resolution: {integrity: sha512-AvzE8FmSoXC7nC+oU5GlQJbip2UO7tmOhOfQyOmPhrStOGXHU08j8mZEHZ4BmCqY5dWTCo4ClWkNyRNx1wpT0g==}
tailwindcss@4.0.3:
resolution: {integrity: sha512-ImmZF0Lon5RrQpsEAKGxRvHwCvMgSC4XVlFRqmbzTEDb/3wvin9zfEZrMwgsa3yqBbPqahYcVI6lulM2S7IZAA==}
tailwindcss@4.0.4:
resolution: {integrity: sha512-/ezDLEkOLf1lXkr9F2iI5BHJbexJpty5zkV2B8bGHCqAdbc9vk85Jgdkq+ZOvNkNPa3yAaqJ8DjRt584Bc84kw==}
tailwindcss@4.0.7:
resolution: {integrity: sha512-yH5bPPyapavo7L+547h3c4jcBXcrKwybQRjwdEIVAd9iXRvy/3T1CC6XSQEgZtRySjKfqvo3Cc0ZF1DTheuIdA==}
tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
@ -4463,73 +4498,73 @@ snapshots:
fflate: 0.7.4
string.prototype.codepointat: 0.2.1
'@tailwindcss/node@4.0.3':
'@tailwindcss/node@4.0.7':
dependencies:
enhanced-resolve: 5.18.1
jiti: 2.4.2
tailwindcss: 4.0.3
tailwindcss: 4.0.7
'@tailwindcss/oxide-android-arm64@4.0.3':
'@tailwindcss/oxide-android-arm64@4.0.7':
optional: true
'@tailwindcss/oxide-darwin-arm64@4.0.3':
'@tailwindcss/oxide-darwin-arm64@4.0.7':
optional: true
'@tailwindcss/oxide-darwin-x64@4.0.3':
'@tailwindcss/oxide-darwin-x64@4.0.7':
optional: true
'@tailwindcss/oxide-freebsd-x64@4.0.3':
'@tailwindcss/oxide-freebsd-x64@4.0.7':
optional: true
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.3':
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.7':
optional: true
'@tailwindcss/oxide-linux-arm64-gnu@4.0.3':
'@tailwindcss/oxide-linux-arm64-gnu@4.0.7':
optional: true
'@tailwindcss/oxide-linux-arm64-musl@4.0.3':
'@tailwindcss/oxide-linux-arm64-musl@4.0.7':
optional: true
'@tailwindcss/oxide-linux-x64-gnu@4.0.3':
'@tailwindcss/oxide-linux-x64-gnu@4.0.7':
optional: true
'@tailwindcss/oxide-linux-x64-musl@4.0.3':
'@tailwindcss/oxide-linux-x64-musl@4.0.7':
optional: true
'@tailwindcss/oxide-win32-arm64-msvc@4.0.3':
'@tailwindcss/oxide-win32-arm64-msvc@4.0.7':
optional: true
'@tailwindcss/oxide-win32-x64-msvc@4.0.3':
'@tailwindcss/oxide-win32-x64-msvc@4.0.7':
optional: true
'@tailwindcss/oxide@4.0.3':
'@tailwindcss/oxide@4.0.7':
optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.0.3
'@tailwindcss/oxide-darwin-arm64': 4.0.3
'@tailwindcss/oxide-darwin-x64': 4.0.3
'@tailwindcss/oxide-freebsd-x64': 4.0.3
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.3
'@tailwindcss/oxide-linux-arm64-gnu': 4.0.3
'@tailwindcss/oxide-linux-arm64-musl': 4.0.3
'@tailwindcss/oxide-linux-x64-gnu': 4.0.3
'@tailwindcss/oxide-linux-x64-musl': 4.0.3
'@tailwindcss/oxide-win32-arm64-msvc': 4.0.3
'@tailwindcss/oxide-win32-x64-msvc': 4.0.3
'@tailwindcss/oxide-android-arm64': 4.0.7
'@tailwindcss/oxide-darwin-arm64': 4.0.7
'@tailwindcss/oxide-darwin-x64': 4.0.7
'@tailwindcss/oxide-freebsd-x64': 4.0.7
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.7
'@tailwindcss/oxide-linux-arm64-gnu': 4.0.7
'@tailwindcss/oxide-linux-arm64-musl': 4.0.7
'@tailwindcss/oxide-linux-x64-gnu': 4.0.7
'@tailwindcss/oxide-linux-x64-musl': 4.0.7
'@tailwindcss/oxide-win32-arm64-msvc': 4.0.7
'@tailwindcss/oxide-win32-x64-msvc': 4.0.7
'@tailwindcss/typography@0.5.16(tailwindcss@4.0.4)':
'@tailwindcss/typography@0.5.16(tailwindcss@4.0.7)':
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
tailwindcss: 4.0.4
tailwindcss: 4.0.7
'@tailwindcss/vite@4.0.3(vite@6.1.0(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(yaml@2.7.0))':
'@tailwindcss/vite@4.0.7(vite@6.1.0(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(yaml@2.7.0))':
dependencies:
'@tailwindcss/node': 4.0.3
'@tailwindcss/oxide': 4.0.3
'@tailwindcss/node': 4.0.7
'@tailwindcss/oxide': 4.0.7
lightningcss: 1.29.1
tailwindcss: 4.0.3
tailwindcss: 4.0.7
vite: 6.1.0(@types/node@22.10.5)(jiti@2.4.2)(lightningcss@1.29.1)(yaml@2.7.0)
'@trysound/sax@0.2.0': {}
@ -7294,9 +7329,7 @@ snapshots:
tailwind-merge@3.0.1: {}
tailwindcss@4.0.3: {}
tailwindcss@4.0.4: {}
tailwindcss@4.0.7: {}
tapable@2.2.1: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

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.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

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: 304 KiB

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

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.

After

Width:  |  Height:  |  Size: 735 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

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.

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.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

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.

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

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.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

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.

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.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

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.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

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.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -27,6 +27,16 @@ 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/@kazoottt4718",
name: "mdi:youtube",
},
{
friendlyName: "Photo",
link: "https://unsplash.com/@kazoottt",
@ -35,7 +45,7 @@ const socialLinks: {
{
friendlyName: "汇总",
link: "https://bento.me/KazooTTT",
name: "mdi:link",
name: "mdi:open-in-new",
},
];
---

View File

@ -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>
{

View File

@ -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,12 @@ 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>
</Tag>

View File

@ -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>
))

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 type { HTMLTag, Polymorphic } from "astro/types";
import GiscusComment from "@/components/componentsBefore/GiscusComment";
@ -7,8 +7,10 @@ import ArticleContainer from "../ArticleContainer.astro";
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;
@ -77,10 +79,19 @@ 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>
)
}
<Content />
</div>
</div>
{!isPreview && <ContentFooter />}
{!isPreview && <GiscusComment client:load />}
{
!isPreview && (
@ -89,6 +100,4 @@ if (modifiedDate && modifiedDate.toDateString() === date.toDateString()) {
</div>
)
}
{!isPreview && <ContentFooter />}
</ArticleContainer>

View File

@ -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,10 +34,20 @@ 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),
}),
});
@ -28,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(),
}),
});

View File

@ -1,19 +1,22 @@
---
title: 2023-02-11 星期六
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-01-22T05:39:24.000Z
date_created: 20250104
date_modified: 20250304
---
# 2023-02-11 星期六

View File

@ -1,19 +1,22 @@
---
title: 2023-09-08 星期五
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-01-22T05:39:24.000Z
date_created: 20250104
date_modified: 20250304
---
# 2023-09-08 星期五

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