-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
rss.xml
1736 lines (1695 loc) · 200 KB
/
rss.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Quick RSS Feed</title>
<link>https://wangchujiang.com/quick-rss/</link>
<description>Thank you for contributing and sharing valuable tech content!</description>
<lastBuildDate>Thu, 14 Nov 2024 12:26:32 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>Feed for Node.js</generator>
<language>en</language>
<image>
<title>Quick RSS Feed</title>
<url>https://wangchujiang.com/quick-rss/assets/logo.png</url>
<link>https://wangchujiang.com/quick-rss/</link>
</image>
<copyright>All rights reserved 2024, Kenny</copyright>
<atom:link href="https://wangchujiang.com/quick-rss/rss.xml" rel="self" type="application/rss+xml"/>
<item>
<title><![CDATA[UTM:在 macOS 上运行任何操作系统的终极解决方案]]></title>
<link>https://wangchujiang.com/quick-rss/issue/57.html</link>
<guid>57</guid>
<pubDate>Thu, 14 Nov 2024 12:11:09 GMT</pubDate>
<description><![CDATA[UTM 是一款专为 macOS 设计的虚拟化和仿真工具,让你在 Mac 上轻松运行各种操作系统。无论你使用的是 Apple Silicon 还是 Intel 芯片,UTM 都能让你体验从 Windows 到 Linux 甚至是经典操作系统的无限可能。 主要亮点: 强大的虚拟化性能 Apple Silicon 上的 ARM64 系统运行接近原生速度。 Intel Mac 可以虚拟化 x86/x64 ]]></description>
<content:encoded><![CDATA[<p><strong>UTM</strong> 是一款专为 macOS 设计的虚拟化和仿真工具,让你在 Mac 上轻松运行各种操作系统。无论你使用的是 Apple Silicon 还是 Intel 芯片,UTM 都能让你体验从 Windows 到 Linux 甚至是经典操作系统的无限可能。</p>
<p><img src="https://github.com/user-attachments/assets/11f75a38-3083-4daf-8ebc-21144d641c65" alt="image"></p>
<h3>主要亮点:</h3>
<h4>强大的虚拟化性能</h4>
<ul>
<li>Apple Silicon 上的 ARM64 系统运行接近原生速度。</li>
<li>Intel Mac 可以虚拟化 x86/x64 系统,甚至还能在 Apple Silicon 上模拟 x86/x64 系统。</li>
<li>支持 ARM32、MIPS、PPC 和 RISC-V 等多种处理器的仿真,满足开发者和爱好者的各种需求。</li>
</ul>
<h4>经典系统仿真</h4>
<p>想要重温经典操作系统?UTM 支持 PowerPC、SPARC 和 x86_64 系统,让你轻松体验老牌系统的风采。</p>
<p><img src="https://github.com/user-attachments/assets/77d0c7b4-4058-486e-b121-8efd8a269fad" alt="image"></p>
<h4>macOS 多实例支持</h4>
<p>在 Apple Silicon 设备上运行多个 macOS 实例,非常适合开发者和注重安全的用户。支持 ARM 架构的 macOS Monterey 及更高版本。</p>
<p><img src="https://github.com/user-attachments/assets/c6a0cffa-549e-424a-ae30-fb7eafc36cdd" alt="image"></p>
<h4>为 macOS 量身定制</h4>
<p>完全按照 macOS Big Sur 及更新版本的设计风格打造,UTM 看起来就是一款原生 Mac 应用,操作简单,界面友好。</p>
<p><img src="https://github.com/user-attachments/assets/34507c63-3e2a-4750-bcbe-5547b2b8e834" alt="image"></p>
<h4>QEMU 的强大支持,无需复杂配置</h4>
<p>UTM 基于开源的 QEMU,提供了强大的仿真和虚拟化功能。但与 QEMU 的复杂命令行配置不同,UTM 简化了操作,让用户无需深入研究配置文件即可轻松使用。</p>
<p><img src="https://github.com/user-attachments/assets/fa42aa8b-c689-4cd0-bdce-69582cfc33b7" alt="image"></p>
<h3>结语</h3>
<p>UTM 是一款集简易性与强大功能于一身的应用,特别适合希望在 Mac 上运行不同操作系统的用户。无论你是开发者、技术爱好者,还是想要体验不同系统的普通用户,UTM 都能满足你的需求。快来试试 UTM,解锁你的 Mac 新潜力吧!</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/57" target="_blank">#57</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/11f75a38-3083-4daf-8ebc-21144d641c65" length="0" type="image//user-attachments/assets/11f75a38-3083-4daf-8ebc-21144d641c65"/>
</item>
<item>
<title><![CDATA[Achico - 一款免费的 MacOS 本地文件压缩应用]]></title>
<link>https://wangchujiang.com/quick-rss/issue/56.html</link>
<guid>56</guid>
<pubDate>Tue, 12 Nov 2024 04:59:15 GMT</pubDate>
<description><![CDATA[Achico 是一款轻量级的原生 macOS 应用,它能够智能地压缩文件,同时保持文件的高质量。支持多种文件格式,包括 PDF、图片、视频等,简单、快速且高效! https://github.com/user-attachments/assets/0bf23ffb-ce09-4137-aade-982992f5e504 主要特点 文件支持 PDF 文件:智能压缩,保持可读性 图片:支持 JPEG、]]></description>
<content:encoded><![CDATA[<p>Achico 是一款轻量级的原生 macOS 应用,它能够智能地压缩文件,同时保持文件的高质量。支持多种文件格式,包括 PDF、图片、视频等,简单、快速且高效!</p>
<p><img src="https://github.com/user-attachments/assets/603e9ec5-8a50-45e7-8be5-f75d0ba9f4c9" alt="image"></p>
<p><a href="https://github.com/user-attachments/assets/0bf23ffb-ce09-4137-aade-982992f5e504">https://github.com/user-attachments/assets/0bf23ffb-ce09-4137-aade-982992f5e504</a></p>
<h3>主要特点</h3>
<p><strong>文件支持</strong></p>
<ul>
<li><strong>PDF 文件</strong>:智能压缩,保持可读性</li>
<li><strong>图片</strong>:支持 JPEG、PNG、HEIC、TIFF、GIF、BMP、WebP、SVG、RAW 和 ICO 等格式</li>
<li><strong>视频</strong>:支持 MP4、MOV、AVI 等常见格式</li>
<li><strong>音频</strong>:支持 M4V、WAV、MP3、AIFF 等音频格式</li>
<li><strong>文件调整大小</strong>:在压缩的同时可以选择调整图片和视频的尺寸</li>
</ul>
<p><strong>核心功能</strong></p>
<ul>
<li><strong>多种输入方式</strong>:支持拖拽或点击选择文件</li>
<li><strong>实时进度</strong>:实时显示文件压缩进度,清晰易懂</li>
<li><strong>压缩统计</strong>:即时查看节省的存储空间</li>
<li><strong>深色和浅色模式</strong>:自动与系统偏好设置无缝对接</li>
<li><strong>原生性能</strong>:使用 SwiftUI 开发,确保 macOS 系统的最佳集成</li>
</ul>
<p><strong>压缩选项</strong></p>
<ul>
<li><strong>质量控制</strong>:可调整压缩等级,以平衡文件大小和质量</li>
<li><strong>尺寸限制</strong>:可为图片和视频设置最大尺寸</li>
<li><strong>格式转换</strong>:自动将低效格式转换为更高效的格式</li>
<li><strong>元数据处理</strong>:可以选择保留或去除文件的元数据</li>
</ul>
<p><img src="https://github.com/user-attachments/assets/a256f126-8066-4a9b-b035-c205fd216624" alt="image"></p>
<p>Achico 让文件压缩变得更加简单、快速并且高效,是每个 macOS 用户的必备工具。无论是压缩文件节省存储空间,还是转换格式、调整大小,Achico 都能提供完美的解决方案。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/56" target="_blank">#56</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/603e9ec5-8a50-45e7-8be5-f75d0ba9f4c9" length="0" type="image//user-attachments/assets/603e9ec5-8a50-45e7-8be5-f75d0ba9f4c9"/>
</item>
<item>
<title><![CDATA[NeoHtop 一个现代化的跨平台系统监控工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/55.html</link>
<guid>55</guid>
<pubDate>Wed, 06 Nov 2024 09:09:34 GMT</pubDate>
<description><![CDATA[NeoHtop 是一个现代化的跨平台系统监控工具,基于 Svelte、Rust 和 Tauri 构建,旨在提供流畅的系统监控体验。 功能特色 🚀 实时进程监控:查看当前系统中所有正在运行的进程。 💻 CPU 和内存使用情况追踪:实时了解 CPU 和内存的使用情况,帮助优化系统性能。 🎨 美观的现代化 UI:提供深色/浅色主题,适应不同用户的视觉偏好。 🔍 进程搜索与过滤:快速找到并管理特定]]></description>
<content:encoded><![CDATA[<p>NeoHtop 是一个现代化的跨平台系统监控工具,基于 Svelte、Rust 和 Tauri 构建,旨在提供流畅的系统监控体验。</p>
<p><img src="https://github.com/user-attachments/assets/2e7d7a62-c34f-43eb-b451-e04d6292fdb5" alt="image"></p>
<h3>功能特色</h3>
<ul>
<li>🚀 <strong>实时进程监控</strong>:查看当前系统中所有正在运行的进程。</li>
<li>💻 <strong>CPU 和内存使用情况追踪</strong>:实时了解 CPU 和内存的使用情况,帮助优化系统性能。</li>
<li>🎨 <strong>美观的现代化 UI</strong>:提供深色/浅色主题,适应不同用户的视觉偏好。</li>
<li>🔍 <strong>进程搜索与过滤</strong>:快速找到并管理特定进程。</li>
<li>📌 <strong>重要进程固定</strong>:将关键进程固定在列表顶部,方便实时监控。</li>
<li>🛠 <strong>进程管理</strong>:支持终止不必要的进程,释放系统资源。</li>
<li>🎯 <strong>按任意列排序</strong>:按照不同指标对进程进行排序,便于查看和管理。</li>
<li>🔄 <strong>系统状态自动刷新</strong>:自动更新系统统计数据,实时显示最新情况。</li>
</ul>
<p>NeoHtop 通过先进的技术栈提供了丰富的功能和友好的用户界面,适合开发者和系统管理员实时监控和管理系统资源。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/55" target="_blank">#55</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/2e7d7a62-c34f-43eb-b451-e04d6292fdb5" length="0" type="image//user-attachments/assets/2e7d7a62-c34f-43eb-b451-e04d6292fdb5"/>
</item>
<item>
<title><![CDATA[app-menu: macOS中缺失的应用程序菜单]]></title>
<link>https://wangchujiang.com/quick-rss/issue/54.html</link>
<guid>54</guid>
<pubDate>Tue, 05 Nov 2024 12:47:17 GMT</pubDate>
<description><![CDATA[💻 macOS 上缺失的应用菜单工具来了!用 app-menu 快速访问和管理你的应用程序,轻松提升效率! 推荐用 Homebrew 安装👇 brew tap barseghyanartur/app-menu-tap brew install --cask app-menu 简单、方便,让你的 macOS 操作更顺手! #macOS #效率工具 #appmenu]]></description>
<content:encoded><![CDATA[<p>💻 macOS 上缺失的应用菜单工具来了!用 app-menu 快速访问和管理你的应用程序,轻松提升效率!</p>
<p><img src="https://github.com/user-attachments/assets/46166bd1-0859-4402-bcb1-536ca2269ecd" alt="image"></p>
<p>推荐用 Homebrew 安装👇</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">brew tap barseghyanartur/app-menu-tap
</span><span class="code-line line-number" line="2">brew <span class="token function">install</span> <span class="token parameter variable">--cask</span> app-menu
</span></code></pre>
<p>简单、方便,让你的 macOS 操作更顺手! #macOS #效率工具 #appmenu</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/54" target="_blank">#54</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/46166bd1-0859-4402-bcb1-536ca2269ecd" length="0" type="image//user-attachments/assets/46166bd1-0859-4402-bcb1-536ca2269ecd"/>
</item>
<item>
<title><![CDATA[DrawDB: 免费、简单、直观的数据库设计工具和 SQL 生成器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/53.html</link>
<guid>53</guid>
<pubDate>Mon, 04 Nov 2024 10:59:28 GMT</pubDate>
<description><![CDATA[DrawDB 是一个强大且易用的数据库实体关系编辑器,无需注册,直接在浏览器中操作。只需点击几下即可创建图表,导出 SQL 脚本,个性化编辑器,更多功能等你来体验!]]></description>
<content:encoded><![CDATA[<p>DrawDB 是一个强大且易用的数据库实体关系编辑器,无需注册,直接在浏览器中操作。只需点击几下即可创建图表,导出 SQL 脚本,个性化编辑器,更多功能等你来体验!</p>
<p><img src="https://github.com/user-attachments/assets/190fa13f-f294-4130-ae98-221373d769a9" alt="image"></p>
<p><img src="https://github.com/user-attachments/assets/33f569c7-8fe4-4dcb-ac20-95c9bce44bea" alt="drawdb"></p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/53" target="_blank">#53</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/190fa13f-f294-4130-ae98-221373d769a9" length="0" type="image//user-attachments/assets/190fa13f-f294-4130-ae98-221373d769a9"/>
</item>
<item>
<title><![CDATA[Swift Shift:一个简洁高效的 macOS 窗口管理工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/52.html</link>
<guid>52</guid>
<pubDate>Thu, 31 Oct 2024 03:00:05 GMT</pubDate>
<description><![CDATA[在 macOS 系统上管理窗口时,你是否常常为拖拽窗口到合适的位置而感到烦恼?或是在调节窗口尺寸时需要精确找到小小的边角,浪费了很多时间?Swift Shift 能够彻底简化这一过程,让你只需通过鼠标和快捷键即可高效管理窗口,让你的工作空间井井有条。 功能简介:鼠标操作让窗口管理更轻松 Swift Shift 是一个专注于窗口管理的小工具,设计简洁高效。不同于其他繁琐的窗口管理软件,Swift S]]></description>
<content:encoded><![CDATA[<p>在 macOS 系统上管理窗口时,你是否常常为拖拽窗口到合适的位置而感到烦恼?或是在调节窗口尺寸时需要精确找到小小的边角,浪费了很多时间?Swift Shift 能够彻底简化这一过程,让你只需通过鼠标和快捷键即可高效管理窗口,让你的工作空间井井有条。</p>
<h3>功能简介:鼠标操作让窗口管理更轻松</h3>
<p>Swift Shift 是一个专注于窗口管理的小工具,设计简洁高效。不同于其他繁琐的窗口管理软件,Swift Shift 通过最直接的鼠标操作,轻松实现窗口的移动和大小调整。你无需反复拖动窗口,或点击边缘微小的调整箭头,简单快捷的操作就能让你的工作区整洁有序。</p>
<video muted controls style="max-height:640px;" src="https://github.com/user-attachments/assets/0b17f4ad-4230-4f1f-b1b8-ec1faad65d14?rehype=video"></video>
<h3>灵活的鼠标快捷键支持</h3>
<p>Swift Shift 还允许你使用鼠标按键来辅助快捷键操作。这一特性模仿了部分 Linux 发行版的窗口管理风格。如果你喜欢将鼠标按键纳入窗口管理体验中,可以通过 Swift Shift 轻松实现,进一步提升工作效率。</p>
<p><img src="https://github.com/user-attachments/assets/4da099c4-a614-4ec6-89ff-104a0ccdd496" alt="image"></p>
<h3>一次设置,安心运行</h3>
<p><img src="https://github.com/user-attachments/assets/d72e9693-eb6a-4da4-89f7-4d0bf8e4120c" alt="image"></p>
<p>Swift Shift 专为后台运行设计,配置好快捷键后,无需反复启动。这个软件低调又高效,在后台默默为你服务,让你的操作体验更加流畅。无需反复打开设置,真正做到 “设定一次,安心使用”。</p>
<h3>智能窗口调整:从四角开始</h3>
<video muted controls style="max-height:640px;" src="https://github.com/user-attachments/assets/ad0db5b8-ee25-48e2-b0d5-564d955be816?rehype=video"></video>
<p>Swift Shift 的窗口调整功能也十分智能。默认情况下,窗口会从右下角开始调整。但它还提供了更为灵活的“象限”模式,会根据鼠标当前位置,选择距离最近的边缘或角落进行缩放调整。这种设计符合直觉,让你的窗口调整更加得心应手。</p>
<h3>开源且自由</h3>
<p>Swift Shift 是一个开源项目,完全免费。开发者本着自由和共享的精神设计了这个工具,且在自学 Swift 语言和 macOS API 的过程中,一步步实现了这款工具。正因如此,Swift Shift 拥有极好的自定义性,同时得益于社区的力量,不断改进和更新。</p>
<h3>结语:开启 Swift Shift,高效管理你的窗口</h3>
<p>总之,Swift Shift 是一个轻便、实用、开源的 macOS 窗口管理工具。对于每天需要频繁管理窗口的用户而言,它提供了更加高效的操作体验。如果你也在寻找一种快捷的窗口管理方式,不妨试试 Swift Shift,把更多时间留给工作和创造!</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/52" target="_blank">#52</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/4da099c4-a614-4ec6-89ff-104a0ccdd496" length="0" type="image//user-attachments/assets/4da099c4-a614-4ec6-89ff-104a0ccdd496"/>
</item>
<item>
<title><![CDATA[CodeFormer:基于代码查找转换器的盲脸修复工具,专为老照片和破损照片修复设计]]></title>
<link>https://wangchujiang.com/quick-rss/issue/51.html</link>
<guid>51</guid>
<pubDate>Tue, 22 Oct 2024 12:59:23 GMT</pubDate>
<description><![CDATA[CodeFormer 是一款利用离散代码本先验的创新盲脸修复模型。通过在小型代理空间中学习的代码本,CodeFormer 大大减少了修复过程中常见的不确定性和模糊性。该模型将脸部修复问题转换为代码预测任务,提供了丰富的视觉组件,用于生成高质量的脸部图像。 CodeFormer 采用了基于转换器的预测网络,能够建模低质量脸部图像的全局组成和上下文信息,即使在输入严重退化的情况下,也能够重构出自然的脸]]></description>
<content:encoded><![CDATA[<p>CodeFormer 是一款利用离散代码本先验的创新盲脸修复模型。通过在小型代理空间中学习的代码本,CodeFormer 大大减少了修复过程中常见的不确定性和模糊性。该模型将脸部修复问题转换为代码预测任务,提供了丰富的视觉组件,用于生成高质量的脸部图像。</p>
<p><img src="https://github.com/user-attachments/assets/5ab4ee5b-c612-4807-89be-91e9f59a6cb2" alt="image"></p>
<p><img src="https://github.com/user-attachments/assets/1c77a79b-96e7-4cfd-aa9f-4146c4e07e24" alt="image"></p>
<p>CodeFormer 采用了基于转换器的预测网络,能够建模低质量脸部图像的全局组成和上下文信息,即使在输入严重退化的情况下,也能够重构出自然的脸部特征,逼近目标图像。</p>
<p><img src="https://github.com/user-attachments/assets/e1db07ab-c938-433f-a0f2-86230715d88c" alt="image"></p>
<p>在线体验:<a href="https://huggingface.co/spaces/sczhou/CodeFormer">https://huggingface.co/spaces/sczhou/CodeFormer</a></p>
<p>为提升对不同退化程度的适应性,CodeFormer 还集成了可控特征变换模块,允许用户在保真度和图像质量之间灵活调节。凭借强大的代码本先验和全局建模能力,CodeFormer 在修复质量和保真度方面均超越了现有方法,展现了卓越的修复效果。</p>
<p>通过引入代码查找和全局转换器,CodeFormer 不仅提高了盲脸修复的精确性和自然性,还提供了极大的灵活性,简化了复杂的修复任务,使模型在鲁棒性和表现力上表现出色。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/51" target="_blank">#51</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/5ab4ee5b-c612-4807-89be-91e9f59a6cb2" length="0" type="image//user-attachments/assets/5ab4ee5b-c612-4807-89be-91e9f59a6cb2"/>
</item>
<item>
<title><![CDATA[Mythic:适用于 macOS 的开源游戏启动器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/50.html</link>
<guid>50</guid>
<pubDate>Mon, 21 Oct 2024 21:20:02 GMT</pubDate>
<description><![CDATA[Mythic 是一款独特的开源游戏启动器,专为 macOS 设计,能够运行 Windows 游戏。此外,它还是 Legendary 的图形用户界面前端,完美契合 macOS 的风格与一致性。 让 Windows 游戏在 Mac 上畅玩 Mythic 是最好的 Windows 游戏在 Mac 上运行的解决方案。它基于苹果的 Game Porting Toolkit 进行了自定义实现,支持多个平台,让]]></description>
<content:encoded><![CDATA[<p>Mythic 是一款独特的开源游戏启动器,专为 macOS 设计,能够运行 Windows 游戏。此外,它还是 Legendary 的图形用户界面前端,完美契合 macOS 的风格与一致性。</p>
<p><img src="https://github.com/user-attachments/assets/0d2d80c1-2b16-4490-90ff-55432071e789" alt="image"></p>
<h3>让 Windows 游戏在 Mac 上畅玩</h3>
<p>Mythic 是最好的 Windows 游戏在 Mac 上运行的解决方案。它基于苹果的 Game Porting Toolkit 进行了自定义实现,支持多个平台,让你轻松畅玩 Windows® 游戏。</p>
<h3>你的游戏库,由你掌控</h3>
<p><img src="https://github.com/user-attachments/assets/56d883e7-ef0f-4bc8-b31c-77087b0dd236" alt="image"></p>
<p>Mythic 提供美观且可定制的游戏库界面,帮助你轻松管理所有游戏。无论是 Windows® 游戏还是 macOS 原生游戏,都可以整合到一个地方进行管理。</p>
<h3>开源项目,人人参与</h3>
<p><img src="https://github.com/user-attachments/assets/f42dd491-dbb2-4a69-86ca-53d91c3068e3" alt="image"></p>
<p>Mythic 完全开源。如果你觉得某些功能还可以进一步优化,不妨深入代码,为这个项目贡献力量,共同让它变得更好。</p>
<h3>多个启动器,一站式管理</h3>
<p><img src="https://github.com/user-attachments/assets/ed1aeadf-00ca-4950-8199-aaf0fd6d7812" alt="image"></p>
<p>你可以通过 Mythic 安装、设置和启动来自不同启动器的游戏,甚至可以直接通过外部启动器启动你的游戏,实现多平台管理。</p>
<h3>自定义导入</h3>
<p><img src="https://github.com/user-attachments/assets/497d9ab0-aee4-4d8a-96fc-633db82a681d" alt="image"></p>
<p>Epic 游戏不够多?你可以直接将自己的 macOS 或 Windows® 游戏导入 Mythic,轻松管理。</p>
<h3>简单高效的游戏管理</h3>
<p><img src="https://github.com/user-attachments/assets/ce5c00bb-6b3b-43c5-9a16-0865fcf9a004" alt="image"></p>
<p>需要移动游戏文件?想要修改设置或添加启动参数?Mythic 都能轻松满足你的需求,提供无缝的管理体验。</p>
<h3>虚拟化?轻而易举</h3>
<p><img src="https://github.com/user-attachments/assets/9c1d56bf-1283-4191-ba1d-ffebba81476b" alt="image"></p>
<p>Mythic 还支持在应用内创建多个独立的 Windows® 环境。每个游戏都可以在一个独立的环境中运行,确保游戏之间互不干扰、安全隔离。</p>
<p>通过 Mythic,让你在 macOS 上玩 Windows 游戏变得更加简单直观,无论是游戏管理还是运行环境设置,它都能为你提供最佳体验。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/50" target="_blank">#50</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/0d2d80c1-2b16-4490-90ff-55432071e789" length="0" type="image//user-attachments/assets/0d2d80c1-2b16-4490-90ff-55432071e789"/>
</item>
<item>
<title><![CDATA[FSNotes:现代化的 macOS 和 iOS Markdown 笔记管理器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/49.html</link>
<guid>49</guid>
<pubDate>Sun, 20 Oct 2024 04:59:41 GMT</pubDate>
<description><![CDATA[在当今快节奏的工作和学习环境中,拥有一款轻量高效的笔记管理器至关重要。FSNotes 作为一款适用于 macOS 和 iOS 的现代笔记管理器,以其简洁强大的功能和灵活的使用体验脱颖而出,成为众多用户的首选工具。无论是开发者、作家还是学生,FSNotes 都能满足他们对笔记管理的需求。 FSNotes 的主要功能: 优先支持 Markdown FSNotes 专为 Markdown 爱好者设计,允]]></description>
<content:encoded><![CDATA[<p>在当今快节奏的工作和学习环境中,拥有一款轻量高效的笔记管理器至关重要。FSNotes 作为一款适用于 macOS 和 iOS 的现代笔记管理器,以其简洁强大的功能和灵活的使用体验脱颖而出,成为众多用户的首选工具。无论是开发者、作家还是学生,FSNotes 都能满足他们对笔记管理的需求。</p>
<p><img src="https://github.com/user-attachments/assets/24ecb8f3-d374-4b1d-918d-0e29660d9c67" alt="image"></p>
<h3>FSNotes 的主要功能:</h3>
<ol>
<li>优先支持 Markdown</li>
</ol>
<p>FSNotes 专为 Markdown 爱好者设计,允许用户使用纯文本格式进行笔记记录,同时保留了对任何纯文本文件的支持。用户可以轻松编写、编辑和查看 Markdown 笔记,使文档结构更加清晰。</p>
<ol start="2">
<li>快速且轻量</li>
</ol>
<p>无论您是拥有几十个还是成千上万个笔记,FSNotes 都能快速流畅地运行。它能够毫无压力地处理超过 10k 个文件,极大提升了多文件操作的效率。</p>
<ol start="3">
<li>随时随地访问</li>
</ol>
<p>FSNotes 支持与 iCloud Drive 或 Dropbox 的同步,让您的笔记无论是在手机、平板还是电脑上,都能保持一致,随时随地访问。</p>
<ol start="4">
<li>多文件夹存储</li>
</ol>
<p>您可以在多个文件夹中存储笔记,方便分类与管理,保持笔记系统的有序性。</p>
<ol start="5">
<li>键盘为中心</li>
</ol>
<p>FSNotes 受经典的 nvalt 启发,提供了键盘为中心的控制方式和快捷键,帮助用户快速切换和编辑笔记,减少鼠标的依赖,让工作流程更加顺畅。</p>
<ol start="6">
<li>代码块内语法高亮</li>
</ol>
<p>对于开发者来说,FSNotes 提供了超过 170 种编程语言的语法高亮功能,使代码笔记更加易读,提升了代码记录和分享的便利性。</p>
<ol start="7">
<li>内联图片支持</li>
</ol>
<p>FSNotes 支持在笔记中插入和查看图片,极大增强了文档的可视化效果,尤其适合需要图文结合的笔记。</p>
<ol start="8">
<li>使用标签和链接组织笔记</li>
</ol>
<p>通过标签进行分类管理,或使用 [[双括号]] 实现笔记之间的交叉链接,用户可以轻松构建一个高效的知识网络。</p>
<ol start="9">
<li>弹性两窗格视图</li>
</ol>
<p>FSNotes 提供垂直和水平布局的两窗格视图,用户可以根据个人喜好选择更加舒适的阅读和编辑界面。</p>
<ol start="10">
<li>支持外部编辑器</li>
</ol>
<p>FSNotes 支持外部编辑器的实时同步,您可以选择在喜欢的编辑器中进行修改,所有更改会即时反映在 FSNotes 中。</p>
<ol start="11">
<li>AES-256 加密</li>
</ol>
<p>安全性方面,FSNotes 提供了 AES-256 加密功能,确保敏感信息得到保护。</p>
<ol start="12">
<li>版本控制和备份</li>
</ol>
<p>FSNotes 提供了可选的 Git 版本控制和备份功能,帮助用户更好地管理历史版本,避免笔记丢失。</p>
<ol start="13">
<li>暗黑模式</li>
</ol>
<p>内置的暗黑模式能够为长时间使用的用户减轻视觉疲劳,提供更加舒适的体验。</p>
<p><img src="https://github.com/user-attachments/assets/d3eba015-8719-4bce-b202-3d76e5a1f349" alt="image"></p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/49" target="_blank">#49</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/24ecb8f3-d374-4b1d-918d-0e29660d9c67" length="0" type="image//user-attachments/assets/24ecb8f3-d374-4b1d-918d-0e29660d9c67"/>
</item>
<item>
<title><![CDATA[DeskPad: 一款用于屏幕共享的虚拟显示器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/48.html</link>
<guid>48</guid>
<pubDate>Fri, 18 Oct 2024 09:30:22 GMT</pubDate>
<description><![CDATA[在某些工作流程中,分享整个屏幕变得至关重要,尤其是在频繁切换多个应用时。然而,如果演示者的显示器比观众的显示器大得多,观众可能难以看清屏幕内容。DeskPad 正是为了解决这个问题而设计的,它可以创建一个虚拟显示器,并在应用程序窗口内进行镜像,帮助你建立一个专用的、易于共享的工作空间。 功能特点: 创建虚拟显示器: DeskPad 可像其他显示器一样工作。启动该应用程序相当于插入一台新显示器,ma]]></description>
<content:encoded><![CDATA[<p>在某些工作流程中,分享整个屏幕变得至关重要,尤其是在频繁切换多个应用时。然而,如果演示者的显示器比观众的显示器大得多,观众可能难以看清屏幕内容。DeskPad 正是为了解决这个问题而设计的,它可以创建一个虚拟显示器,并在应用程序窗口内进行镜像,帮助你建立一个专用的、易于共享的工作空间。</p>
<p><img src="https://github.com/user-attachments/assets/150e1868-21cc-48bd-b347-24e62c94c9e6" alt=""></p>
<h3>功能特点:</h3>
<ol>
<li>创建虚拟显示器:</li>
</ol>
<p>DeskPad 可像其他显示器一样工作。启动该应用程序相当于插入一台新显示器,macOS 会自动处理窗口的排列和配置。无论你切换了多少个应用程序,你都可以轻松管理你的工作空间。</p>
<ol start="2">
<li>轻松调整分辨率:</li>
</ol>
<p>你可以通过系统偏好设置更改虚拟显示器的分辨率,DeskPad 的应用程序窗口会根据分辨率自动调整,以确保最佳显示效果。</p>
<ol start="3">
<li>视觉提示:</li>
</ol>
<p>当你的鼠标光标移动到虚拟显示器时,DeskPad 会通过蓝色高亮标题栏来提醒你,同时将应用窗口移到最前面,让你随时知道鼠标的具体位置。</p>
<p><img src="https://github.com/user-attachments/assets/c9333d6c-e97e-4c86-9bf5-9d51d5392406" alt="1"></p>
<h3>使用场景:</h3>
<ul>
<li>屏幕共享: 适用于需要演示多个应用程序或窗口的情况,DeskPad 提供了一个简洁、易于管理的虚拟显示器,确保观众可以清晰地看到所有内容。</li>
<li>提高效率: 通过创建虚拟显示器,用户可以专注于重要的应用程序,而不会打乱现有的窗口配置,增强工作效率。</li>
</ul>
<p>DeskPad 是你进行高效屏幕共享的不二之选,无论是在会议、演示还是远程协作中,它都能让你的工作更加顺畅便捷。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/48" target="_blank">#48</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/150e1868-21cc-48bd-b347-24e62c94c9e6" length="0" type="image//user-attachments/assets/150e1868-21cc-48bd-b347-24e62c94c9e6"/>
</item>
<item>
<title><![CDATA[Cork: 一款使用 SwiftUI 开发的快速 Homebrew 图形界面工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/47.html</link>
<guid>47</guid>
<pubDate>Tue, 15 Oct 2024 06:57:24 GMT</pubDate>
<description><![CDATA[Cork 是一款专门为 macOS 用户打造的 Homebrew 图形界面应用,采用 SwiftUI 开发,提供了快速、直观的操作体验,让管理 Homebrew 包变得更加简单和高效。 Cork 的优势 Cork 不仅仅是 Homebrew 的图形界面,它提供了许多通过 Homebrew 本身难以实现,甚至无法完成的功能: 自动遵循系统代理设置 在使用 Homebrew 时,Cork 可以自动遵循]]></description>
<content:encoded><![CDATA[<p>Cork 是一款专门为 macOS 用户打造的 Homebrew 图形界面应用,采用 SwiftUI 开发,提供了快速、直观的操作体验,让管理 Homebrew 包变得更加简单和高效。</p>
<p><img src="https://github.com/user-attachments/assets/8297ba10-95e8-4b22-ad8c-1d784c153212" alt=""></p>
<h3>Cork 的优势</h3>
<p>Cork 不仅仅是 Homebrew 的图形界面,它提供了许多通过 Homebrew 本身难以实现,甚至无法完成的功能:</p>
<p><img src="https://github.com/user-attachments/assets/e1dbd4ab-70e0-44dd-ba13-2ab8f778f3b6" alt=""></p>
<ol>
<li>自动遵循系统代理设置</li>
</ol>
<p>在使用 Homebrew 时,Cork 可以自动遵循系统的代理设置,方便用户在受限网络环境中顺利使用。</p>
<ol start="2">
<li>清除缓存的下载文件</li>
</ol>
<p>Cork 让清理 Homebrew 缓存变得更加简单,只需点击几下,便可以轻松释放磁盘空间。</p>
<ol start="3">
<li>无需打开 Cork 即可通过菜单栏更新软件包</li>
</ol>
<p>用户可以直接在 macOS 菜单栏中进行 Homebrew 软件包的更新,而不必每次都启动 Cork 应用。</p>
<ol start="4">
<li>集中查看包的详细信息</li>
</ol>
<p>Cork 将包的各种详细信息集中呈现,帮助用户在一个便捷的界面中快速了解软件包的状态和信息。</p>
<ol start="5">
<li>软件包标签功能</li>
</ol>
<p>Cork 独有的软件包标记功能让用户可以对感兴趣或重要的软件包进行标记,方便日后跟踪和管理。</p>
<h3>总结</h3>
<p>Cork 不仅加速了 Homebrew 的操作,还带来了许多无法通过 Homebrew CLI 实现的便利功能。对于想要更好地管理软件包的 macOS 用户,Cork 是一个不可或缺的工具。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/47" target="_blank">#47</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/8297ba10-95e8-4b22-ad8c-1d784c153212" length="0" type="image//user-attachments/assets/8297ba10-95e8-4b22-ad8c-1d784c153212"/>
</item>
<item>
<title><![CDATA[macmon:为 Apple Silicon 提供无须 sudo 的实时性能监控]]></title>
<link>https://wangchujiang.com/quick-rss/issue/46.html</link>
<guid>46</guid>
<pubDate>Mon, 14 Oct 2024 20:49:37 GMT</pubDate>
<description><![CDATA[Apple Silicon 处理器以其出色的性能和能效广受欢迎,然而,想要查看设备的实时功耗、CPU/GPU 使用率等数据却不是一件简单的事情。大部分工具依赖 powermetrics 等系统命令,往往需要 sudo 权限运行。对于那些对硬件性能和系统资源高度敏感的用户来说,这显然不够方便。而现在,macmon 的出现为这一问题提供了优雅的解决方案。 brew install vladkens/t]]></description>
<content:encoded><![CDATA[<p>Apple Silicon 处理器以其出色的性能和能效广受欢迎,然而,想要查看设备的实时功耗、CPU/GPU 使用率等数据却不是一件简单的事情。大部分工具依赖 powermetrics 等系统命令,往往需要 sudo 权限运行。对于那些对硬件性能和系统资源高度敏感的用户来说,这显然不够方便。而现在,macmon 的出现为这一问题提供了优雅的解决方案。</p>
<p><img src="https://github.com/user-attachments/assets/7cc36014-d5ef-487a-a638-6faf38e8e3a4" alt=""></p>
<pre class="language-sh"><code class="language-sh code-highlight"><span class="code-line line-number" line="1">brew <span class="token function">install</span> vladkens/tap/macmon
</span></code></pre>
<pre class="language-sh"><code class="language-sh code-highlight"><span class="code-line line-number" line="1">Usage: macmon <span class="token punctuation">[</span>OPTIONS<span class="token punctuation">]</span> <span class="token punctuation">[</span>COMMAND<span class="token punctuation">]</span>
</span><span class="code-line line-number" line="2">
</span><span class="code-line line-number" line="3">Commands:
</span><span class="code-line line-number" line="4"> raw Print raw metrics data instead of TUI
</span><span class="code-line line-number" line="5"> <span class="token builtin class-name">help</span> Print this message or the <span class="token builtin class-name">help</span> of the given subcommand<span class="token punctuation">(</span>s<span class="token punctuation">)</span>
</span><span class="code-line line-number" line="6">
</span><span class="code-line line-number" line="7">Options:
</span><span class="code-line line-number" line="8"> -i, <span class="token parameter variable">--interval</span> <span class="token operator"><</span>INTERVAL<span class="token operator">></span> Update interval <span class="token keyword">in</span> milliseconds <span class="token punctuation">[</span>default: <span class="token number">1000</span><span class="token punctuation">]</span>
</span><span class="code-line line-number" line="9"> -h, <span class="token parameter variable">--help</span> Print <span class="token builtin class-name">help</span>
</span><span class="code-line line-number" line="10"> -V, <span class="token parameter variable">--version</span> Print version
</span><span class="code-line line-number" line="11">
</span><span class="code-line line-number" line="12">Controls:
</span><span class="code-line line-number" line="13"> c - change color
</span><span class="code-line line-number" line="14"> q - quit
</span></code></pre>
<h3>为什么选择 macmon?</h3>
<h4>1. 无须 sudo,简洁易用</h4>
<p>macmon 使用了 macOS 的私有 API 来读取系统性能指标,类似于 powermetrics 的数据,却不再需要 sudo 权限。这意味着你可以随时随地查看设备的实时状态,无需繁琐的授权或担心系统安全。</p>
<h4>2. 实时功耗监控</h4>
<p>macmon 可以实时显示 CPU、GPU 和 ANE(Apple Neural Engine)的功耗情况,帮助你了解设备在不同负载下的能源消耗,特别适合运行深度学习模型、图像处理或其他高性能任务时查看。</p>
<h4>3. 详细的 CPU 使用率</h4>
<p>macmon 能显示每个 CPU 集群的利用率,让你对高效能核心与高能效核心的工作情况一目了然。你可以清楚地看到不同任务如何分配到不同的 CPU 集群上,从而更好地理解系统性能。</p>
<h4>4. 内存和 Swap 使用</h4>
<p>对于开发者和专业用户来说,内存的使用情况是非常关键的。macmon 提供了详细的内存和交换分区使用情况,帮助你优化内存管理,提高应用性能。</p>
<h4>5. 温度监控</h4>
<p>macmon 提供 CPU 和 GPU 的实时温度监控,避免系统过热。对于长时间运行高强度任务的用户来说,温度监控尤为重要。</p>
<h4>6. 历史数据与统计</h4>
<p>不仅如此,macmon 还可以显示性能数据的历史趋势图,支持查看平均值和最大值。你可以轻松分析系统在一段时间内的表现,找出潜在的性能瓶颈。</p>
<h4>7. 丰富的定制选项</h4>
<p>macmon 提供六种配色方案,用户可以根据喜好切换 UI 颜色风格。它还支持在小窗口中显示,方便你边工作边查看系统状态。</p>
<h4>8. 基于 Rust 构建,高效可靠</h4>
<p>macmon 由 Rust 语言编写,运行高效,占用系统资源极少,确保你的监控工具不会对系统产生额外负担。</p>
<h3>结语</h3>
<p>macmon 是每一位 Apple Silicon 用户的必备工具,无论你是开发者、设计师,还是技术爱好者,它都可以帮助你深入了解系统性能,随时掌握设备的运行状态。无需 sudo 权限,高效便捷,macmon 将是你优化系统和应用的得力助手。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/46" target="_blank">#46</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/7cc36014-d5ef-487a-a638-6faf38e8e3a4" length="0" type="image//user-attachments/assets/7cc36014-d5ef-487a-a638-6faf38e8e3a4"/>
</item>
<item>
<title><![CDATA[Marta: 专为 macOS 打造的文件管理器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/45.html</link>
<guid>45</guid>
<pubDate>Mon, 14 Oct 2024 15:32:55 GMT</pubDate>
<description><![CDATA[Marta 是一款完全用 Swift 编写的原生 macOS 应用,为你提供流畅的原生体验,速度飞快。无论你喜欢使用键盘还是鼠标操作,Marta 都能让你轻松上手。 隐私至上 Marta 注重用户隐私,不会收集或出售你的数据。没有隐藏功能或后门,完全透明。 强大的归档支持 Marta 将归档文件当作文件夹一样处理。它可以打开和写入 ZIP 归档,并支持 RAR、7Z、XAR、TAR、ISO 等多种]]></description>
<content:encoded><![CDATA[<p>Marta 是一款完全用 Swift 编写的原生 macOS 应用,为你提供流畅的原生体验,速度飞快。无论你喜欢使用键盘还是鼠标操作,Marta 都能让你轻松上手。</p>
<p><img src="https://github.com/user-attachments/assets/fa97b927-566d-4c85-bff6-74ea1b7a6b79" alt="image"></p>
<h3>隐私至上</h3>
<p>Marta 注重用户隐私,不会收集或出售你的数据。没有隐藏功能或后门,完全透明。</p>
<h3>强大的归档支持</h3>
<p><img src="https://github.com/user-attachments/assets/a025d26a-8493-43fa-be90-2f41d832db32" alt=""></p>
<p>Marta 将归档文件当作文件夹一样处理。它可以打开和写入 ZIP 归档,并支持 RAR、7Z、XAR、TAR、ISO 等多种格式,甚至可以浏览和编辑嵌套归档中的文件。</p>
<h3>高度自定义</h3>
<p>Marta 为高级用户设计,提供广泛的配置选项。通过简洁的 DSL 配置语言,轻松编辑和分享配置文件,无需在繁琐的选项卡中迷失。</p>
<h3>主题支持</h3>
<p><img src="https://github.com/user-attachments/assets/b6ebbd24-271c-48a0-8995-8f67c6d89f46" alt=""></p>
<p>Marta 提供五种精美主题,支持浅色和深色模式,甚至还有经典的蓝底白字主题。你还可以根据个人喜好创建自己的主题。</p>
<h3>插件 API</h3>
<p>Marta 提供强大的 Lua API,让你可以快速编写插件,轻松适应你的个性化需求。</p>
<p><img src="https://github.com/user-attachments/assets/422ae0bb-90b6-4657-b026-91f7e54c57a0" alt=""></p>
<p>其他亮点功能:</p>
<ul>
<li>操作面板:快捷键 ⌘⇧P 打开操作面板,快速执行任何操作。</li>
<li>快速搜索:使用子字符串或正则表达式,瞬间定位文件。</li>
<li>系统全局文件搜索:借助 macOS 索引功能,快速找到任何文件。</li>
<li>多窗口与标签页支持:随心所欲打开多个窗口和标签页。</li>
<li>显示隐藏文件:按下快捷键,一键显示隐藏文件。</li>
<li>文件预览:按空格键,像 Finder 一样快速预览文件。</li>
<li>任务队列:管理所有正在进行的文件操作,随时暂停和恢复。</li>
<li>磁盘使用分析:轻松找出磁盘空间的占用情况。</li>
<li>内置终端:从文件面板直接打开同步目录的终端。</li>
</ul>
<p>无论是普通用户还是高级用户,Marta 都能为你提供极致的文件管理体验。立即下载,享受高效管理文件的乐趣!</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/45" target="_blank">#45</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/fa97b927-566d-4c85-bff6-74ea1b7a6b79" length="0" type="image//user-attachments/assets/fa97b927-566d-4c85-bff6-74ea1b7a6b79"/>
</item>
<item>
<title><![CDATA[Dokploy: 强大的开源自托管 PaaS 解决方案]]></title>
<link>https://wangchujiang.com/quick-rss/issue/44.html</link>
<guid>44</guid>
<pubDate>Sun, 13 Oct 2024 06:53:24 GMT</pubDate>
<description><![CDATA[随着云计算和应用托管的普及,越来越多的开发者和团队需要简化应用程序和数据库的部署与管理。传统平台如 Vercel、Netlify 和 Heroku 提供了托管解决方案,但很多用户希望能够获得更多的灵活性和自主管理。Dokploy,作为一个免费、开源且自托管的 Platform as a Service (PaaS),为此提供了理想的替代方案。 什么是 Dokploy? Dokploy 是一个自托管]]></description>
<content:encoded><![CDATA[<p>随着云计算和应用托管的普及,越来越多的开发者和团队需要简化应用程序和数据库的部署与管理。传统平台如 Vercel、Netlify 和 Heroku 提供了托管解决方案,但很多用户希望能够获得更多的灵活性和自主管理。Dokploy,作为一个免费、开源且自托管的 Platform as a Service (PaaS),为此提供了理想的替代方案。</p>
<p><img src="https://github.com/user-attachments/assets/c851af3e-c125-416b-a4a1-affe11c1e704" alt="image"></p>
<h3>什么是 Dokploy?</h3>
<p>Dokploy 是一个自托管的 PaaS 平台,允许开发者轻松部署和管理多种类型的应用程序和数据库。它支持 Node.js、PHP、Python、Go、Ruby 等主流编程语言,并且为 MySQL、PostgreSQL、MongoDB、MariaDB、Redis 等数据库提供了便捷的管理工具。无论是小型应用程序,还是需要高扩展性的大型应用,Dokploy 都能够应对。</p>
<p><img src="https://github.com/user-attachments/assets/bef89f97-4e4e-4c16-b53b-f1878e61c825" alt="image"></p>
<h3>主要功能</h3>
<ol>
<li>应用程序部署:Dokploy 支持部署几乎所有类型的应用程序,开发者可以快速启动并运行。</li>
<li>数据库管理:轻松创建和管理数据库,并自动化备份到外部存储。</li>
<li>Docker Compose 支持:原生支持 Docker Compose,简化复杂应用程序的管理。</li>
<li>多节点扩展:使用 Docker Swarm 进行多节点管理,让应用程序可以在多个服务器上扩展。</li>
<li>Traefik 集成:自动与 Traefik 路由和负载均衡集成,无需手动配置。</li>
<li>实时监控:用户可以实时监控 CPU、内存、存储、网络等资源的使用情况。</li>
<li>CLI 和 API 管理:通过命令行或 API,用户可以灵活管理应用程序和数据库。</li>
<li>通知系统:支持 Slack、Discord、Telegram 等工具,当部署成功或失败时,用户会实时收到通知。</li>
</ol>
<p><img src="https://github.com/user-attachments/assets/8c2609c3-71c6-48bc-9436-e77c238ab18c" alt="image"></p>
<h3>为什么选择 Dokploy?</h3>
<p>Dokploy 的亮点在于它的开源和自托管属性,这意味着用户可以完全掌控自己的基础设施。与 Vercel、Netlify 等受限于托管服务提供商的平台不同,Dokploy 允许用户在自己的 VPS 上部署,确保数据安全和灵活性。此外,Dokploy 的多节点支持和自动扩展功能,使其非常适合需要高可用性和横向扩展的项目。</p>
<p><img src="https://github.com/user-attachments/assets/5619e504-0105-49c4-90c3-4e68fd168a2e" alt="image"></p>
<p>对于需要管理复杂应用程序和数据库的开发者来说,Dokploy 提供了便捷而强大的功能集成,并且可以通过 Docker Compose 和 Docker Swarm 快速扩展和管理多节点集群。</p>
<p><img src="https://github.com/user-attachments/assets/f6a4fde6-e22a-4591-8c55-f239ae0a321c" alt="image"></p>
<h3>结语</h3>
<p>如果你正在寻找一个可以替代 Vercel、Netlify 和 Heroku 的解决方案,同时希望拥有完全的控制权,Dokploy 是一个值得探索的开源工具。它不仅简化了应用程序的部署和管理,还提供了灵活的扩展和高度自定义的自托管功能,为开发者提供了前所未有的便利和自由。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/44" target="_blank">#44</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/c851af3e-c125-416b-a4a1-affe11c1e704" length="0" type="image//user-attachments/assets/c851af3e-c125-416b-a4a1-affe11c1e704"/>
</item>
<item>
<title><![CDATA[PasteQuick:您的隐私专注剪贴板管理工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/43.html</link>
<guid>43</guid>
<pubDate>Mon, 07 Oct 2024 22:40:18 GMT</pubDate>
<description><![CDATA[在快节奏的数字世界中,高效管理临时数据至关重要。PasteQuick 是一款简单而强大的剪贴板管理工具,专注于隐私保护,帮助您轻松管理文本、链接、图片和代码等各种数据。 主要功能: 隐私保护:PasteQuick 优先考虑您的安全,所有剪贴板历史记录均存储在您的设备本地。您还可以选择排除特定应用程序的记录,确保您的数据始终保持私密和安全。 多媒体预览:该工具支持图片缩略图预览,允许您快速查看复制的]]></description>
<content:encoded><![CDATA[<p>在快节奏的数字世界中,高效管理临时数据至关重要。<strong>PasteQuick</strong> 是一款简单而强大的剪贴板管理工具,专注于隐私保护,帮助您轻松管理文本、链接、图片和代码等各种数据。</p>
<h3>主要功能:</h3>
<p><strong>隐私保护</strong>:PasteQuick 优先考虑您的安全,所有剪贴板历史记录均存储在您的设备本地。您还可以选择排除特定应用程序的记录,确保您的数据始终保持私密和安全。</p>
<p><img src="https://github.com/user-attachments/assets/41081eac-3d24-4887-b288-6a13a088b258" alt="screenshots-1-cn"></p>
<p><strong>多媒体预览</strong>:该工具支持图片缩略图预览,允许您快速查看复制的图片,无需打开其他应用程序。</p>
<p><img src="https://github.com/user-attachments/assets/7d088189-63b7-465a-982e-0a9488c4a71e" alt="screenshots-2-cn"></p>
<p><strong>自定义选项</strong>:通过可自定义的列表显示设置,您可以根据需要选择隐藏或显示特定内容,使其适应不同的使用场景。</p>
<p><img src="https://github.com/user-attachments/assets/addc1683-4c1c-4601-89bb-d95dfad382a9" alt="screenshots-3-cn"></p>
<p>PasteQuick 还在不断优化和开发中,旨在为您的日常工作带来更多便利。我们非常欢迎您的宝贵反馈和建议,帮助我们进一步完善应用!</p>
<p>体验 PasteQuick,让您的剪贴板管理更加高效!</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/43" target="_blank">#43</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/41081eac-3d24-4887-b288-6a13a088b258" length="0" type="image//user-attachments/assets/41081eac-3d24-4887-b288-6a13a088b258"/>
</item>
<item>
<title><![CDATA[MIST: 一款强大的 macOS 固件与安装包下载工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/42.html</link>
<guid>42</guid>
<pubDate>Sun, 06 Oct 2024 15:03:37 GMT</pubDate>
<description><![CDATA[MIST 是一款 macOS 工具,专为自动下载 macOS 固件和安装包设计。它可以列出所有可用的 macOS 固件和安装包,展示详细信息如名称、版本、构建号、发布日期和大小,还支持过滤与当前 Mac 兼容的版本。 MIST 支持下载 Apple Silicon 和 Intel Mac 的固件与安装包,可以生成 .app、.dmg、.iso 等格式,适用于虚拟化软件,还可以生成 macOS 安装]]></description>
<content:encoded><![CDATA[<p>MIST 是一款 macOS 工具,专为自动下载 macOS 固件和安装包设计。它可以列出所有可用的 macOS 固件和安装包,展示详细信息如名称、版本、构建号、发布日期和大小,还支持过滤与当前 Mac 兼容的版本。</p>
<p><img src="https://github.com/user-attachments/assets/7b8efe9c-92ac-4c7d-9fba-e1df8efe14d8" alt=""></p>
<p>MIST 支持下载 Apple Silicon 和 Intel Mac 的固件与安装包,可以生成 <code>.app</code>、<code>.dmg</code>、<code>.iso</code> 等格式,适用于虚拟化软件,还可以生成 macOS 安装包(.pkg)。此外,它支持自定义软件更新目录,缓存下载,并提供自动重试失败的下载操作。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/42" target="_blank">#42</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/7b8efe9c-92ac-4c7d-9fba-e1df8efe14d8" length="0" type="image//user-attachments/assets/7b8efe9c-92ac-4c7d-9fba-e1df8efe14d8"/>
</item>
<item>
<title><![CDATA[SwiftUI 的协调器父级的好奇案例]]></title>
<link>https://wangchujiang.com/quick-rss/issue/41.html</link>
<guid>41</guid>
<pubDate>Fri, 04 Oct 2024 22:15:04 GMT</pubDate>
<description><![CDATA[我在 SwiftUI 方面还是个初学者。我偶尔尝试过,但大部分时间我真的不知道自己在做什么。最近,我有机会再试一次。对于这个特定的实验,我想将一个现有的视图封装起来,以便我可以从 SwiftUI 访问它。这部分是相当标准的东西。然而,我遇到了一个有趣的问题,我敢打赌我不是唯一一个。 问题 当我学习一个新的 API 时,我喜欢从一个新的项目开始。这可以帮助我专注于任务,避免与更大项目集成时的复杂性。]]></description>
<content:encoded><![CDATA[<p>我在 SwiftUI 方面还是个初学者。我偶尔尝试过,但大部分时间我真的不知道自己在做什么。最近,我有机会再试一次。对于这个特定的实验,我想将一个现有的视图封装起来,以便我可以从 SwiftUI 访问它。这部分是相当标准的东西。然而,我遇到了一个有趣的问题,我敢打赌我不是唯一一个。</p>
<h3>问题</h3>
<p>当我学习一个新的 API 时,我喜欢从一个新的项目开始。这可以帮助我专注于任务,避免与更大项目集成时的复杂性。我的目标是将 <code>NSTableView</code> 包装起来,并将其嵌入到 SwiftUI 的视图层次结构中。所以,我创建了一个新项目,并根据苹果的 SwiftUI 教程 <a href="https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit">Interfacing with UIKit</a> 进行操作,按照需要将其适配为 AppKit 和我的问题。</p>
<p>我感觉挺不错的,因为我很快就实现了基本功能。这个实现遵循了 <code>View</code>-<code>NSView</code>-<code>Coordinator</code> 的模式,结构在仔细研究之后很容易理解。</p>
<p>以下是我编写的代码:</p>
<pre class="language-swift"><code class="language-swift code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">struct</span> <span class="token class-name">EventsTableView</span><span class="token punctuation">:</span> <span class="token class-name">NSViewRepresentable</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="2"> <span class="token keyword">var</span> events<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token class-name">String</span><span class="token punctuation">]</span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"> <span class="token keyword">func</span> <span class="token function-definition function">makeCoordinator</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">Coordinator</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="5"> <span class="token class-name">Coordinator</span><span class="token punctuation">(</span><span class="token keyword">self</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="7">
</span><span class="code-line line-number" line="8"> <span class="token keyword">func</span> <span class="token function-definition function">makeNSView</span><span class="token punctuation">(</span>context<span class="token punctuation">:</span> <span class="token class-name">Context</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">NSScrollView</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="9"> <span class="token keyword">let</span> column <span class="token operator">=</span> <span class="token class-name">NSTableColumn</span><span class="token punctuation">(</span>identifier<span class="token punctuation">:</span> <span class="token punctuation">.</span>exampleColumn<span class="token punctuation">)</span>
</span><span class="code-line line-number" line="10"> column<span class="token punctuation">.</span>width <span class="token operator">=</span> <span class="token number">100.0</span>
</span><span class="code-line line-number" line="11">
</span><span class="code-line line-number" line="12"> <span class="token keyword">let</span> tableView <span class="token operator">=</span> <span class="token class-name">NSTableView</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="13">
</span><span class="code-line line-number" line="14"> tableView<span class="token punctuation">.</span>headerView <span class="token operator">=</span> <span class="token nil constant">nil</span>
</span><span class="code-line line-number" line="15"> tableView<span class="token punctuation">.</span><span class="token function">addTableColumn</span><span class="token punctuation">(</span>column<span class="token punctuation">)</span>
</span><span class="code-line line-number" line="16"> tableView<span class="token punctuation">.</span>delegate <span class="token operator">=</span> context<span class="token punctuation">.</span>coordinator
</span><span class="code-line line-number" line="17"> tableView<span class="token punctuation">.</span>dataSource <span class="token operator">=</span> context<span class="token punctuation">.</span>coordinator
</span><span class="code-line line-number" line="18">
</span><span class="code-line line-number" line="19"> <span class="token keyword">let</span> view <span class="token operator">=</span> <span class="token class-name">NSScrollView</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="20">
</span><span class="code-line line-number" line="21"> view<span class="token punctuation">.</span>documentView <span class="token operator">=</span> tableView
</span><span class="code-line line-number" line="22">
</span><span class="code-line line-number" line="23"> <span class="token keyword">return</span> view
</span><span class="code-line line-number" line="24"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="25">
</span><span class="code-line line-number" line="26"> <span class="token keyword">func</span> <span class="token function-definition function">updateNSView</span><span class="token punctuation">(</span><span class="token omit keyword">_</span> nsView<span class="token punctuation">:</span> <span class="token class-name">NSScrollView</span><span class="token punctuation">,</span> context<span class="token punctuation">:</span> <span class="token class-name">Context</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="27"> <span class="token keyword">let</span> tableView <span class="token operator">=</span> nsView<span class="token punctuation">.</span>documentView <span class="token keyword">as</span><span class="token operator">!</span> <span class="token class-name">NSTableView</span>
</span><span class="code-line line-number" line="28">
</span><span class="code-line line-number" line="29"> tableView<span class="token punctuation">.</span><span class="token function">reloadData</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="30"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="31"><span class="token punctuation">}</span>
</span><span class="code-line line-number" line="32">
</span><span class="code-line line-number" line="33"><span class="token keyword">extension</span> <span class="token class-name">EventsTableView</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="34"> <span class="token keyword">final</span> <span class="token keyword">class</span> <span class="token class-name">Coordinator</span><span class="token punctuation">:</span> <span class="token class-name">NSObject</span><span class="token punctuation">,</span> <span class="token class-name">NSTableViewDataSource</span><span class="token punctuation">,</span> <span class="token class-name">NSTableViewDelegate</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="35"> <span class="token keyword">var</span> parent<span class="token punctuation">:</span> <span class="token class-name">EventsTableView</span>
</span><span class="code-line line-number" line="36">
</span><span class="code-line line-number" line="37"> <span class="token keyword">init</span><span class="token punctuation">(</span><span class="token omit keyword">_</span> parent<span class="token punctuation">:</span> <span class="token class-name">EventsTableView</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="38"> <span class="token keyword">self</span><span class="token punctuation">.</span>parent <span class="token operator">=</span> parent
</span><span class="code-line line-number" line="39"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="40">
</span><span class="code-line line-number" line="41"> <span class="token keyword">func</span> <span class="token function-definition function">numberOfRows</span><span class="token punctuation">(</span><span class="token keyword">in</span> tableView<span class="token punctuation">:</span> <span class="token class-name">NSTableView</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">Int</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="42"> <span class="token keyword">return</span> parent<span class="token punctuation">.</span>events<span class="token punctuation">.</span>count
</span><span class="code-line line-number" line="43"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="44">
</span><span class="code-line line-number" line="45"> <span class="token keyword">func</span> <span class="token function-definition function">tableView</span><span class="token punctuation">(</span><span class="token omit keyword">_</span> tableView<span class="token punctuation">:</span> <span class="token class-name">NSTableView</span><span class="token punctuation">,</span> viewFor tableColumn<span class="token punctuation">:</span> <span class="token class-name">NSTableColumn</span><span class="token operator">?</span><span class="token punctuation">,</span> row<span class="token punctuation">:</span> <span class="token class-name">Int</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">NSView</span><span class="token operator">?</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="46"> <span class="token keyword">let</span> reusedView <span class="token operator">=</span> tableView<span class="token punctuation">.</span><span class="token function">makeView</span><span class="token punctuation">(</span>withIdentifier<span class="token punctuation">:</span> <span class="token punctuation">.</span>exampleColumn<span class="token punctuation">,</span> owner<span class="token punctuation">:</span> <span class="token keyword">self</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="47"> <span class="token keyword">let</span> view <span class="token operator">=</span> reusedView <span class="token keyword">as</span><span class="token operator">?</span> <span class="token class-name">NSTextField</span> <span class="token operator">??</span> <span class="token class-name">NSTextField</span><span class="token punctuation">(</span>labelWithString<span class="token punctuation">:</span> <span class="token string-literal"><span class="token string">""</span></span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="48">
</span><span class="code-line line-number" line="49"> view<span class="token punctuation">.</span>stringValue <span class="token operator">=</span> parent<span class="token punctuation">.</span>events<span class="token punctuation">[</span>row<span class="token punctuation">]</span>
</span><span class="code-line line-number" line="50">
</span><span class="code-line line-number" line="51"> <span class="token keyword">return</span> view
</span><span class="code-line line-number" line="52"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="53"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="54"><span class="token punctuation">}</span>
</span></code></pre>
<p>我之前提到一切都在正常运行。但是,当我进一步实验时,很快发现即使我在更新时重新加载表视图,其内容也始终没有变化。</p>
<p>当然,事后看来,问题显而易见。你可能已经注意到了。如果没有发现,也别感到糟糕,因为我花了不少时间调试和思考,才完全明白问题出在哪里。</p>
<h3>父级?</h3>
<p>SwiftUI 的互操作性围绕着一个包装视图 <code>EventsTableView</code> 及其协调器 <code>Coordinator</code> 展开。这个协调器实例会在视图需要更改时作为上下文传递回去。包装视图和协调器之间的这种关系至关重要,理解它们的生命周期关系也同样重要。</p>
<p>SwiftUI 的视图在正常执行期间会非常频繁地被重新创建,这很正常。但你的协调器实例只会创建一次,并尽可能地被重用。这其实是非常标准的值类型/引用类型的行为。当协调器将包装视图作为初始化参数时,它会拷贝那个视图的第一次实例化的版本。而当 SwiftUI 包装视图被重新创建时,这个拷贝并不会更新。</p>
<p>我的问题在于,<code>Coordinator</code> 创建时,父级属性及其相关事件只被复制了一次,然后就再也没有更新过。当我意识到这一点时,我觉得自己有点蠢。视图是值类型,当然它不会更新!但我也不想对自己太苛刻,因为这种协调器捕获父级视图的模式非常普遍。许多关于这一主题的博客文章中都存在这种模式。包括苹果的(表面上是权威的)<a href="https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit">教程</a>,都使用了这种父级模式。我猜这就是问题的根源。</p>
<h3>捕获属性</h3>
<p>在我的案例中,解决方案其实很简单。关键是要在协调器实例中捕获并更新数据。</p>
<pre class="language-swift"><code class="language-swift code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">struct</span> <span class="token class-name">EventsTableView</span><span class="token punctuation">:</span> <span class="token class-name">NSViewRepresentable</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="2"> <span class="token keyword">var</span> events<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token class-name">String</span><span class="token punctuation">]</span>
</span><span class="code-line line-number" line="3">
</span><span class="code-line line-number" line="4"> <span class="token keyword">func</span> <span class="token function-definition function">makeCoordinator</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">-></span> <span class="token class-name">Coordinator</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="5"> <span class="token class-name">Coordinator</span><span class="token punctuation">(</span>events<span class="token punctuation">:</span> events<span class="token punctuation">)</span> <span class="token comment">// <- 这里!</span>
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="7">
</span><span class="code-line line-number" line="8"> <span class="token comment">// 省略部分代码...</span>
</span><span class="code-line line-number" line="9">
</span><span class="code-line line-number" line="10"> <span class="token keyword">func</span> <span class="token function-definition function">updateNSView</span><span class="token punctuation">(</span><span class="token omit keyword">_</span> nsView<span class="token punctuation">:</span> <span class="token class-name">NSScrollView</span><span class="token punctuation">,</span> context<span class="token punctuation">:</span> <span class="token class-name">Context</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="11"> context<span class="token punctuation">.</span>coordinator<span class="token punctuation">.</span>events <span class="token operator">=</span> events <span class="token comment">// <- 这里也是!</span>
</span><span class="code-line line-number" line="12">
</span><span class="code-line line-number" line="13"> <span class="token keyword">let</span> tableView <span class="token operator">=</span> nsView<span class="token punctuation">.</span>documentView <span class="token keyword">as</span><span class="token operator">!</span> <span class="token class-name">NSTableView</span>
</span><span class="code-line line-number" line="14"> tableView<span class="token punctuation">.</span><span class="token function">reloadData</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line line-number" line="15"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="16"><span class="token punctuation">}</span>
</span></code></pre>
<p>当我完全意识到协调器实例是长期存在的时,捕获父视图就毫无意义了。但是,它确实让我误以为我有一个引用类型的关系,而这种关系是可行的。如果这个属性被称为 <code>firstParent</code> 或者 <code>creatingView</code>,也许我就不会犯这个错误了。</p>
<h3>永远不要捕获父视图</h3>
<p>经历了这一切后,我不确定是否能想到任何一个你需要捕获 <code>Coordinator</code> 创建视图副本的理由。如果你知道这种父视图-协调器模式可能有用的原因,请告诉我。不过即便有一些合适的场景,我仍然认为这种模式太容易让人困惑,就像我一样,因此最好还是避免使用。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/41" target="_blank">#41</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mythic:在 Mac 上玩 Windows 游戏的最佳方式,一个开源的 macOS 游戏启动器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/40.html</link>
<guid>40</guid>
<pubDate>Thu, 03 Oct 2024 21:37:22 GMT</pubDate>
<description><![CDATA[Mythic 是一个开源的 macOS 游戏启动器,旨在通过我们对苹果游戏移植工具的实现来支持多种启动器,让您轻松玩 Windows 游戏。 在 Mac 上游戏从未如此简单 是时候抛弃所有虚拟机、Wine 和订阅服务了。 导入您自己的游戏 觉得 Epic 不够?直接将您的 macOS 或 Windows® 游戏导入 Mythic,其余的交给我们。 多个启动器,一站式管理 从外部启动器、Epic 或]]></description>
<content:encoded><![CDATA[<p>Mythic 是一个开源的 macOS 游戏启动器,旨在通过我们对苹果游戏移植工具的实现来支持多种启动器,让您轻松玩 Windows 游戏。</p>
<p><img src="https://github.com/user-attachments/assets/2d3be3f1-da53-4ade-8f3b-740e231686bb" alt="image"></p>
<h3>在 Mac 上游戏从未如此简单</h3>
<p>是时候抛弃所有虚拟机、Wine 和订阅服务了。</p>
<h3>导入您自己的游戏</h3>
<p><img src="https://github.com/user-attachments/assets/1a369693-7f3c-4aa4-87c9-a63b7ecf2c51" alt="image"></p>
<p>觉得 Epic 不够?直接将您的 macOS 或 Windows® 游戏导入 Mythic,其余的交给我们。</p>
<h3>多个启动器,一站式管理</h3>
<p><img src="https://github.com/user-attachments/assets/91beb868-0d41-4cda-9abe-4c080dd3b120" alt="image"></p>
<p>从外部启动器、Epic 或自行安装,轻松设置和启动所有游戏。</p>
<h3>虚拟化您的游戏环境</h3>
<p><img src="https://github.com/user-attachments/assets/500f32b0-be5a-46c1-85a2-bd1ddfc7a2dd" alt="image"></p>
<p>在 Mythic 中创建多个 Windows® 环境,确保所有游戏安全隔离,互不干扰。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/40" target="_blank">#40</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/2d3be3f1-da53-4ade-8f3b-740e231686bb" length="0" type="image//user-attachments/assets/2d3be3f1-da53-4ade-8f3b-740e231686bb"/>
</item>
<item>
<title><![CDATA[Nginx UI:轻松管理您的 Nginx 服务器的开源网页界面]]></title>
<link>https://wangchujiang.com/quick-rss/issue/39.html</link>
<guid>39</guid>
<pubDate>Thu, 03 Oct 2024 05:57:31 GMT</pubDate>
<description><![CDATA[Nginx UI 是一个功能强大的 Nginx 网页管理界面 具有以下特点: 在线统计:实时监控服务器指标,包括 CPU 使用率、内存使用率、负载平均值和磁盘使用情况。 在线 ChatGPT 助手:提供即时帮助。 一键部署和自动续期的 Let’s Encrypt 证书:简化 SSL 证书管理。 在线配置编辑:使用自定义的 NgxConfigEditor(用户友好的块编辑器)或 Ace 代码编辑器(]]></description>
<content:encoded><![CDATA[<p>Nginx UI 是一个功能强大的 Nginx 网页管理界面</p>
<p><img src="https://github.com/user-attachments/assets/db83fa88-6670-4683-a7b2-3784184cd03a" alt="image"></p>
<h3>具有以下特点:</h3>
<ul>
<li><strong>在线统计</strong>:实时监控服务器指标,包括 CPU 使用率、内存使用率、负载平均值和磁盘使用情况。</li>
<li><strong>在线 ChatGPT 助手</strong>:提供即时帮助。</li>
<li><strong>一键部署和自动续期的 Let’s Encrypt 证书</strong>:简化 SSL 证书管理。</li>
<li><strong>在线配置编辑</strong>:使用自定义的 NgxConfigEditor(用户友好的块编辑器)或 Ace 代码编辑器(支持 Nginx 配置语法高亮)进行配置编辑。</li>
<li><strong>在线查看 Nginx 日志</strong>:便于监控和调试。</li>
<li><strong>轻量级架构</strong>:使用 Go 和 Vue 编写,分发为单个可执行二进制文件。</li>
<li><strong>自动测试配置文件</strong>:在保存配置后自动重新加载 Nginx。</li>
<li><strong>Web 终端</strong>:提供命令行界面。</li>
<li><strong>暗模式和响应式设计</strong>:适配各种设备。</li>
</ul>
<h3>国际化支持</h3>
<p>Nginx UI 支持多种语言,包括:</p>
<ul>
<li>英语</li>
<li>简体中文</li>
<li>繁体中文</li>
</ul>
<h3>使用说明</h3>
<p>在首次运行 Nginx UI 时,请访问 <code>http://<your_server_ip>:<listen_port></code> 进行后续配置。可以通过终端运行 Nginx UI,支持在后台运行以及通过 systemd 管理服务。</p>
<h3>安装平台</h3>
<p>Nginx UI 支持以下平台:</p>
<ul>
<li>macOS 11 Big Sur 及更高版本(amd64 / arm64)</li>
<li>Linux 2.6.23 及更高版本(x86 / amd64 / arm64 / armv5 / armv6 / armv7)</li>
<li>FreeBSD、OpenBSD、Dragonfly BSD、Openwrt 等</li>
</ul>
<p>您可以访问最新发布页面下载最新版本或使用 Linux 安装脚本。</p>
<h3>使用 Docker 部署</h3>
<p>我们的 Docker 镜像 <code>uozi/nginx-ui:latest</code> 基于最新的 Nginx 镜像,可以用来替换主机上的 Nginx。通过将容器的 80 和 443 端口发布到主机,您可以轻松切换。</p>
<p><strong>注意</strong>:</p>
<ul>
<li>使用该容器时,请确保映射到 <code>/etc/nginx</code> 的卷为空。</li>
<li>如果您希望托管静态文件,可以映射目录到容器。</li>
</ul>
<p><strong>部署步骤</strong>:</p>
<ol>
<li>
<p>安装 Docker。</p>
</li>
<li>
<p>然后使用以下命令部署 Nginx UI:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token function">docker</span> run <span class="token parameter variable">-dit</span> <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="2"> <span class="token parameter variable">--name</span><span class="token operator">=</span>nginx-ui <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="3"> <span class="token parameter variable">--restart</span><span class="token operator">=</span>always <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="4"> <span class="token parameter variable">-e</span> <span class="token assign-left variable">TZ</span><span class="token operator">=</span>Asia/Shanghai <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="5"> <span class="token parameter variable">-v</span> /mnt/user/appdata/nginx:/etc/nginx <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="6"> <span class="token parameter variable">-v</span> /mnt/user/appdata/nginx-ui:/etc/nginx-ui <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="7"> <span class="token parameter variable">-p</span> <span class="token number">8080</span>:80 <span class="token parameter variable">-p</span> <span class="token number">8443</span>:443 <span class="token punctuation">\</span>
</span><span class="code-line line-number" line="8"> uozi/nginx-ui:latest
</span></code></pre>
</li>
<li>
<p>当您的 Docker 容器运行时,通过 <code>http://<your_server_ip>:8080/install</code> 登录 Nginx UI 面板。</p>
</li>
</ol>
<p>Nginx UI 使得 Nginx 的管理变得更加简单和直观,非常适合需要监控和配置 Nginx 的用户。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/39" target="_blank">#39</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/db83fa88-6670-4683-a7b2-3784184cd03a" length="0" type="image//user-attachments/assets/db83fa88-6670-4683-a7b2-3784184cd03a"/>
</item>
<item>
<title><![CDATA[轻松释放存储空间:使用 NPKILL 一键清理过时的 node_modules 文件夹]]></title>
<link>https://wangchujiang.com/quick-rss/issue/38.html</link>
<guid>38</guid>
<pubDate>Mon, 30 Sep 2024 05:12:23 GMT</pubDate>
<description><![CDATA[NPKILL 是一个非常实用的命令行工具,专门帮助开发者清理系统中的 node_modules 目录,从而释放大量空间。如果你经常在本地运行 Node.js 项目,你可能已经注意到这些 node_modules 文件夹会随着时间堆积,浪费了大量的存储空间。NPKILL 解决了这个问题,让你轻松找到并删除不再需要的 node_modules 文件夹。 工具亮点: 释放空间:NPKILL 能够列出你系]]></description>
<content:encoded><![CDATA[<p>NPKILL 是一个非常实用的命令行工具,专门帮助开发者清理系统中的 <code>node_modules</code> 目录,从而释放大量空间。如果你经常在本地运行 Node.js 项目,你可能已经注意到这些 <code>node_modules</code> 文件夹会随着时间堆积,浪费了大量的存储空间。NPKILL 解决了这个问题,让你轻松找到并删除不再需要的 <code>node_modules</code> 文件夹。</p>
<p><img src="https://github.com/user-attachments/assets/41b0ea83-c684-4be4-9798-3b7476c630a5" alt="image"></p>
<video muted controls style="max-height:640px;" src="https://github.com/user-attachments/assets/bfd81005-fe4a-4341-9ab7-3a489c98aa4c?rehype=video"></video>
<h3>工具亮点:</h3>
<ol>
<li><strong>释放空间</strong>:NPKILL 能够列出你系统中的所有 <code>node_modules</code> 文件夹,显示它们占用的空间,并让你选择删除,从而清理系统中的垃圾文件。</li>
<li><strong>高效快速</strong>:NPKILL 是用 TypeScript 编写的,搜索速度极快,优化了性能,让清理工作变得更为轻松。</li>
<li><strong>简易操作</strong>:只需简单几个按键即可删除文件夹。通过上下箭头移动选择,按 <code>Space</code> 或 <code>Del</code> 键删除选中的 <code>node_modules</code>,使用体验非常顺畅。</li>
<li><strong>多样化功能</strong>:NPKILL 支持按路径或大小排序,支持从指定目录开始扫描,还可以通过参数过滤不需要删除的文件夹。</li>
</ol>
<h3>安装与使用:</h3>
<p>你可以直接通过 <code>npx</code> 命令使用 NPKILL,甚至无需安装:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">npx npkill
</span></code></pre>
<p>当然,如果你更喜欢全局安装,也可以使用以下命令:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token function">npm</span> i <span class="token parameter variable">-g</span> npkill
</span></code></pre>
<h3>操作指南:</h3>
<p>运行命令后,NPKILL 会开始扫描当前目录中的 <code>node_modules</code> 文件夹。你可以通过上下箭头(或者 <code>j</code> 和 <code>k</code> 键)来移动选项,按下 <code>Space</code> 或 <code>Del</code> 键来删除选中的文件夹。按下 <code>o</code> 键可以打开当前选中文件夹的目录,按 <code>Q</code> 或 <code>Ctrl + C</code> 退出程序。</p>
<h3>注意事项:</h3>
<p>删除某些系统中的 <code>node_modules</code> 目录可能会导致应用无法正常工作。NPKILL 会通过 ⚠️ 警示符号标记这些重要文件夹,请在删除时保持谨慎。</p>
<h3>示例:</h3>
<p>删除项目目录中的所有 <code>node_modules</code>:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">npkill <span class="token parameter variable">-d</span> ~/projects
</span></code></pre>
<p>列出 <code>dist</code> 文件夹并显示错误信息:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">npkill <span class="token parameter variable">--target</span> dist <span class="token parameter variable">-e</span>
</span></code></pre>
<p>自动删除备份目录中的所有 <code>node_modules</code> 文件夹:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">npkill <span class="token parameter variable">-d</span> ~/backups/ --delete-all
</span></code></pre>
<h3>未来开发计划:</h3>
<p>NPKILL 未来还会推出更多功能,包括进一步提升性能、减少依赖、支持按使用时间筛选文件夹、展示树状目录等。</p>
<p>如果你想让你的系统更干净、更高效,NPKILL 是一款非常值得一试的工具!</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/38" target="_blank">#38</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/41b0ea83-c684-4be4-9798-3b7476c630a5" length="0" type="image//user-attachments/assets/41b0ea83-c684-4be4-9798-3b7476c630a5"/>
</item>
<item>
<title><![CDATA[个性化你的 macOS Big Sur:开源替换图标项目]]></title>
<link>https://wangchujiang.com/quick-rss/issue/37.html</link>
<guid>37</guid>
<pubDate>Sun, 29 Sep 2024 00:24:38 GMT</pubDate>
<description><![CDATA[这个开源项目为 macOS Big Sur 用户提供了替换应用图标的资源库,帮助用户自定义系统外观。项目的所有图标均符合 macOS Big Sur 的视觉风格,用户可以通过访问 macOSicons.com 查看图标库并提交自己设计的新图标。 更换图标的操作也非常简单,用户只需下载所需图标,并通过 Finder 中的 “获取简介” 功能,将新的图标文件拖拽替换原有图标。项目由 @elrumo 维]]></description>
<content:encoded><![CDATA[<p>这个开源项目为 macOS Big Sur 用户提供了替换应用图标的资源库,帮助用户自定义系统外观。项目的所有图标均符合 macOS Big Sur 的视觉风格,用户可以通过访问 macOSicons.com 查看图标库并提交自己设计的新图标。</p>
<p><img src="https://github.com/user-attachments/assets/9a815389-7ef1-4fc9-acd2-09216751b179" alt="image"></p>
<video muted controls style="max-height:640px;" src="https://github.com/user-attachments/assets/967a3ef2-5a9e-4f4e-a760-061c04297cfa?rehype=video"></video>
<p>更换图标的操作也非常简单,用户只需下载所需图标,并通过 Finder 中的 “获取简介” 功能,将新的图标文件拖拽替换原有图标。项目由 <a href="https://x.com/elrumo">@elrumo</a> 维护,支持社区互动和反馈。</p>
<p><img src="https://github.com/user-attachments/assets/bac552fd-9b06-447c-9be4-9da1ce5ecbee" alt="image"></p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/37" target="_blank">#37</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/9a815389-7ef1-4fc9-acd2-09216751b179" length="0" type="image//user-attachments/assets/9a815389-7ef1-4fc9-acd2-09216751b179"/>
</item>
<item>
<title><![CDATA[Copi:安全、轻量的 macOS 剪贴板替代工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/36.html</link>
<guid>36</guid>
<pubDate>Fri, 27 Sep 2024 07:13:19 GMT</pubDate>
<description><![CDATA[Copi 是一款开源、轻量且安全的 macOS 系统剪贴板替代工具。它不仅具备与系统剪贴板相同的复制粘贴功能,还通过独特的安全机制,确保您的剪贴板内容不会被第三方应用程序访问,从而有效保护您的隐私数据。 为什么需要 Copi? 如今,剪贴板攻击和内容泄露问题时有发生,尤其当用户需要复制和粘贴敏感信息时。Copi 提供了一个更安全的替代方案,避免剪贴板替换攻击及内容泄露。对于以下用户群体,Copi ]]></description>
<content:encoded><![CDATA[<p>Copi 是一款开源、轻量且安全的 macOS 系统剪贴板替代工具。它不仅具备与系统剪贴板相同的复制粘贴功能,还通过独特的安全机制,确保您的剪贴板内容不会被第三方应用程序访问,从而有效保护您的隐私数据。</p>
<p><img src="https://github.com/user-attachments/assets/b8e7d10c-d435-44e8-b103-66614618e806" alt="image"></p>
<h2>为什么需要 Copi?</h2>
<p>如今,剪贴板攻击和内容泄露问题时有发生,尤其当用户需要复制和粘贴敏感信息时。Copi 提供了一个更安全的替代方案,避免剪贴板替换攻击及内容泄露。对于以下用户群体,Copi 是一个理想的工具:</p>
<ul>
<li><strong>数字货币拥有者</strong>:频繁复制粘贴钱包地址和密钥的用户更容易遭受剪贴板攻击。</li>
<li><strong>敏感信息处理者</strong>:需要安全处理密码、个人身份信息等敏感数据的用户。</li>
<li><strong>系统剪贴板不信任者</strong>:不想让系统内其他应用程序获取剪贴板内容的用户。</li>
</ul>
<h2>Copi 的使用方式</h2>
<p>Copi 设计了多种便捷的使用方式,让用户可以轻松在日常操作中安全复制和粘贴内容:</p>
<h3>1. 快捷操作栏模式</h3>
<p><img src="https://github.com/user-attachments/assets/2e1e81bd-444c-4a56-955d-13bf0b29ad28" alt="image"></p>
<p>当您开启 Copi 的“Action Bar”后,选中文字时,文字上方会自动弹出用于安全复制和粘贴的快捷按钮。通过鼠标点击,您可以快速将文字复制到 Copi 剪贴板中,并进行后续操作。在输入框中长按还可显示粘贴选项,方便用户安全粘贴文字。</p>
<h3>2. 快捷键模式</h3>
<p><img src="https://github.com/user-attachments/assets/72ac1042-b056-41ff-a924-bcbca452126a" alt="image"></p>
<p>您可以为 Copi 设置专属的快捷键,用于安全复制和粘贴操作。无论是文件中的文本,还是浏览器中的内容,只需通过设定的快捷键,您便能使用 Copi 进行安全的剪贴板操作,提升工作效率。</p>
<h3>3. 覆盖系统快捷键</h3>
<p><img src="https://github.com/user-attachments/assets/899bf4f1-9c45-4607-8b95-e8be24377d48" alt="image"></p>
<p>Copi 还支持覆盖系统的默认复制粘贴快捷键。一旦启用此功能,所有的复制和粘贴操作将自动通过 Copi 的安全渠道进行,用户无需额外操作即可享受更高的安全性。</p>
<h2>安全性如何保障?</h2>
<p><img src="https://github.com/user-attachments/assets/2e0da110-0d12-47a3-8015-9b2135697ece" alt="image"></p>
<p>Copi 采用了系统的自定义“服务”功能来获取和粘贴文字,而不再通过系统剪贴板。这意味着,传统针对“系统剪贴板”的攻击行为将无法对 Copi 生效。同时,由于 Copi 是开源软件,用户可以查看其代码,确保没有任何恶意操作,进一步增强了信任度和安全性。</p>
<h2>为什么选择 Copi?</h2>
<ol>
<li><strong>开源</strong>:所有代码公开透明,用户可以随时审查。</li>
<li><strong>隐私保护</strong>:第三方应用无法访问 Copi 中的剪贴板内容,有效防止数据泄露。</li>
<li><strong>多种操作模式</strong>:便捷的操作栏、快捷键以及覆盖系统快捷键的功能,满足不同用户的使用习惯。</li>
</ol>
<p>总之,Copi 是一款致力于为 macOS 用户提供安全、便捷的剪贴板替代方案的工具。无论是个人隐私数据的保护,还是应对越来越复杂的剪贴板攻击,Copi 都能够为您提供全方位的保障。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/36" target="_blank">#36</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/b8e7d10c-d435-44e8-b103-66614618e806" length="0" type="image//user-attachments/assets/b8e7d10c-d435-44e8-b103-66614618e806"/>
</item>
<item>
<title><![CDATA[Xcodes 是一款简化 Xcode 安装与切换的工具,只需点击几下鼠标即可管理多个 Xcode 版本]]></title>
<link>https://wangchujiang.com/quick-rss/issue/35.html</link>
<guid>35</guid>
<pubDate>Thu, 26 Sep 2024 19:28:14 GMT</pubDate>
<description><![CDATA[Xcodes 是一款简化 Xcode 安装与切换的工具,只需点击几下鼠标即可管理多个 Xcode 版本。它支持从 Apple Developer 网站或 Xcode Releases 获取最新版本,并通过高速下载工具 aria2 提供更快的下载速度。Xcodes 还可自动处理网络中断,确保安装流程顺利完成。用户无需手动操作,只需点击按钮即可轻松激活所需的 Xcode 版本。应用支持深色和浅色模式,]]></description>
<content:encoded><![CDATA[<p>Xcodes 是一款简化 Xcode 安装与切换的工具,只需点击几下鼠标即可管理多个 Xcode 版本。它支持从 Apple Developer 网站或 Xcode Releases 获取最新版本,并通过高速下载工具 aria2 提供更快的下载速度。Xcodes 还可自动处理网络中断,确保安装流程顺利完成。用户无需手动操作,只需点击按钮即可轻松激活所需的 Xcode 版本。应用支持深色和浅色模式,方便用户查看发行说明、兼容性等详细信息,是开发者管理 Xcode 的高效助手。</p>
<p><img src="https://github.com/user-attachments/assets/c121cd89-9d2d-4225-bccc-f80e4bd54831" alt="image"></p>
<p>如果你正在寻找 Xcodes.app 的命令行版本,可以试试 xcodes。</p>
<p><strong>功能:</strong></p>
<ul>
<li>从 Xcode Releases 数据或 Apple Developer 网站列出所有可用的 Xcode 版本。</li>
<li>全自动安装任何版本的 Xcode,从开始到结束无需人工干预。Xcodes 使用 aria2,支持多达 16 个连接,比 URLSession 快 3-5 倍。</li>
<li>网络错误时自动恢复安装。</li>
<li>下载 Xcode 版本需要 Apple ID。</li>
<li>只需点击一个按钮,通过 xcode-select 激活所需版本。</li>
<li>查看 Xcode Releases 提供的发行说明、操作系统兼容性、包含的 SDK 和编译器。</li>
<li>支持深色/浅色模式。</li>
</ul>
<p><img src="https://github.com/user-attachments/assets/548fc213-7f50-4614-b624-378c4ac0046d" alt="image"></p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/35" target="_blank">#35</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/c121cd89-9d2d-4225-bccc-f80e4bd54831" length="0" type="image//user-attachments/assets/c121cd89-9d2d-4225-bccc-f80e4bd54831"/>
</item>
<item>
<title><![CDATA[Yorumi:为开发者打造的深海宁静配色方案 VIM 编辑器]]></title>
<link>https://wangchujiang.com/quick-rss/issue/34.html</link>
<guid>34</guid>
<pubDate>Thu, 26 Sep 2024 10:13:32 GMT</pubDate>
<description><![CDATA[对于长时间盯着代码的开发者来说,拥有一个舒适且赏心悦目的配色方案至关重要。现在向你介绍 Yorumi,一个深思熟虑设计的深海配色方案,旨在为你的编码环境带来平静与放松,同时保持高效、清晰的视觉体验。 深海般的宁静体验 Yorumi 以低对比度、柔和的色彩调和各类 UI 组件,营造出宁静的深海氛围。这不仅仅是另一个暗黑主题——它更像是一种提升专注力和放松感的体验,非常适合深夜的编码时光。深海色调带来]]></description>
<content:encoded><![CDATA[<p>对于长时间盯着代码的开发者来说,拥有一个舒适且赏心悦目的配色方案至关重要。现在向你介绍 <strong>Yorumi</strong>,一个深思熟虑设计的深海配色方案,旨在为你的编码环境带来平静与放松,同时保持高效、清晰的视觉体验。</p>
<p><img src="https://github.com/user-attachments/assets/2a2c563a-9a98-4c58-816d-649480be6054" alt="image"></p>
<h3>深海般的宁静体验</h3>
<p>Yorumi 以低对比度、柔和的色彩调和各类 UI 组件,营造出宁静的深海氛围。这不仅仅是另一个暗黑主题——它更像是一种提升专注力和放松感的体验,非常适合深夜的编码时光。深海色调带来的平和氛围让你在长时间编码时不再因刺眼的对比色感到疲惫。</p>
<h3>清晰易读的文本</h3>
<p>虽然 Yorumi 的背景和 UI 组件保持着低对比度,营造了宁静的效果,但在文本的处理上,它独具匠心。通过大约 8:1 的对比度,代码始终保持清晰锐利,即使在长时间编码中,也能确保良好的可读性。无论是浏览大块代码还是调试复杂函数,清晰的文本减少了眼睛的疲劳,提升了你的工作效率。</p>
<h3>深夜编码的最佳选择</h3>
<p>Yorumi 在深夜的编码马拉松中展现出它的独特优势。低对比度的配色方案减轻了眼睛的压力,让你能够长时间专注于工作。想象一下,在夜晚的宁静中,你像坐在一个舒适的小角落,代码在深海色调的柔和光芒下流畅地书写,这就是 Yorumi 的精髓所在。</p>
<h3>减少眼疲劳,增添代码魔力</h3>
<p>在众多开发者为眼部疲劳和视觉负担所困扰的世界里,Yorumi 提供了美学与功能性的完美平衡。它让你在保持高生产力的同时,体验舒适的视觉感受。不再需要在深夜对着刺眼的屏幕眯眼,也不再为看清代码而感到吃力。Yorumi 让你保持冷静、专注,并且在最佳状态下编码。</p>
<h3>潜入 Yorumi 的宁静世界</h3>
<p>如果你正在寻找一个能够为你的开发环境带来平静,同时确保代码清晰、高效的配色方案,Yorumi 将是你的不二选择。无论是通宵达旦地编码,还是在工作时追求舒适与专注,Yorumi 都能为你提供完美的宁静与清晰结合的体验。</p>
<p>现在就潜入 Yorumi 的宁静世界,让它为你的编码体验带来凉爽、平静与专注。你的眼睛——以及你的代码——都会感谢你。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/34" target="_blank">#34</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/2a2c563a-9a98-4c58-816d-649480be6054" length="0" type="image//user-attachments/assets/2a2c563a-9a98-4c58-816d-649480be6054"/>
</item>
<item>
<title><![CDATA[Transition.css:简化网页动画的开源工具]]></title>
<link>https://wangchujiang.com/quick-rss/issue/33.html</link>
<guid>33</guid>
<pubDate>Tue, 24 Sep 2024 19:29:25 GMT</pubDate>
<description><![CDATA[在现代网页设计中,动画效果不仅能提升用户体验,还能有效引导用户的注意力。Transition.css 是一个开源的 CSS 动画库,旨在简化网页中的过渡动画,使得开发者能够轻松地为网页元素添加动态效果。无论是设计师还是开发者,都能从中受益。 基本使用 要使用 Transition.css,首先需要引入 CSS 文件。可以通过 NPM 安装,也可以直接使用 CDN 链接。以下是基本的引入方式: 通过]]></description>
<content:encoded><![CDATA[<p>在现代网页设计中,动画效果不仅能提升用户体验,还能有效引导用户的注意力。Transition.css 是一个开源的 CSS 动画库,旨在简化网页中的过渡动画,使得开发者能够轻松地为网页元素添加动态效果。无论是设计师还是开发者,都能从中受益。</p>
<p><img src="https://github.com/user-attachments/assets/2d637a57-ee7f-4b81-af6e-0b6fc7b91d57" alt="kitchen-sink"></p>
<h3>基本使用</h3>
<p>要使用 Transition.css,首先需要引入 CSS 文件。可以通过 NPM 安装,也可以直接使用 CDN 链接。以下是基本的引入方式:</p>
<ol>
<li>
<p><strong>通过 NPM 安装</strong>:</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token function">npm</span> i transition-style
</span></code></pre>
<p>然后在 CSS 文件中导入:</p>
<pre class="language-css"><code class="language-css code-highlight"><span class="code-line line-number" line="1"><span class="token atrule"><span class="token rule">@import</span> <span class="token string">"transition-style"</span><span class="token punctuation">;</span></span>
</span></code></pre>
</li>
<li>
<p><strong>通过 CDN 引入</strong>:
直接在 HTML 中添加链接:</p>
<pre class="language-html"><code class="language-html code-highlight"><span class="code-line line-number" line="1"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>stylesheet<span class="token punctuation">"</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>https://unpkg.com/transition-style<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
</span></code></pre>
</li>
</ol>
<p>在添加了 Transition.css 之后,开发者只需在 HTML 元素上设置相应的 <code>transition-style</code> 属性,就可以实现动画效果。例如:</p>
<p><img src="https://github.com/user-attachments/assets/a0341d5f-6118-4a79-896b-836c9cee1027" alt="wipe-up"></p>
<pre class="language-html"><code class="language-html code-highlight"><span class="code-line line-number" line="1"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">transition-style</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>in:wipe:up<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
</span><span class="code-line line-number" line="2"> 👍
</span><span class="code-line line-number" line="3"><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span>
</span></code></pre>
<p>通过这种简单的方式,用户就可以看到精美的动画效果。</p>
<h3>版本更新与新功能</h3>
<p>Transition.css 最近推出了 2.0 版本,增加了许多新特性,包括 CSS Grid 布局、全新的 UI 设计和新的组件系统等。这些更新使得工具更加快速和易于访问,让开发者和设计师都能更加高效地工作。</p>
<h3>分类与定制</h3>
<p>Transition.css 提供了多个分类的样式包,用户可以根据需要引入特定的样式包。例如:</p>
<ul>
<li><strong>Circles</strong>:<code>https://unpkg.com/transition-style/transition.circles.min.css</code></li>
<li><strong>Squares</strong>:<code>https://unpkg.com/transition-style/transition.squares.min.css</code></li>
<li><strong>Polygons</strong>:<code>https://unpkg.com/transition-style/transition.polygons.min.css</code></li>
<li><strong>Wipes</strong>:<code>https://unpkg.com/transition-style/transition.wipes.min.css</code></li>
</ul>
<p>此外,还有一个名为“The Hackpack”的选项,允许开发者仅导入自定义属性和基本样式,从而实现更多的过渡组合和控制,适应不同的开发环境。</p>
<h3>快速测试功能</h3>
<p>为了让开发者能在几乎任何现有网站上尝试 Transition.css,提供了一个书签小工具。用户只需将以下代码复制到书签中,便可在浏览器中使用:</p>
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token literal-property property">javascript</span><span class="token operator">:</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span><span class="token keyword">var</span> a<span class="token operator">=</span><span class="token dom variable">document</span><span class="token punctuation">.</span><span class="token method function property-access">createElement</span><span class="token punctuation">(</span><span class="token string">"link"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>a<span class="token punctuation">.</span><span class="token property-access">rel</span><span class="token operator">=</span><span class="token string">"stylesheet"</span><span class="token punctuation">;</span>a<span class="token punctuation">.</span><span class="token property-access">href</span><span class="token operator">=</span><span class="token string">"https://unpkg.com/transition-style"</span><span class="token punctuation">;</span><span class="token dom variable">document</span><span class="token punctuation">.</span><span class="token property-access">head</span><span class="token punctuation">.</span><span class="token method function property-access">append</span><span class="token punctuation">(</span>a<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span></code></pre>
<p>使用这个书签后,用户可以在网页上快速体验 Transition.css 的效果,无需修改网站的原始代码。</p>
<h3>高级用法</h3>
<p>Transition.css 的设计思路是基于属性的方式,使得每次只能有一个动画状态。这种状态机的方法有效避免了类名冲突的问题。用户可以使用 <code>@keyframes</code> 来定义自定义动画,并通过 CSS 自定义属性来实现动画的持续时间、缓动效果和延迟等参数。例如:</p>
<p><img src="https://github.com/user-attachments/assets/d3fb4503-25d5-4bbe-880c-8c9a5ee87225" alt="opposing-corner-fold"></p>
<pre class="language-css"><code class="language-css code-highlight"><span class="code-line line-number" line="1"><span class="token selector"><span class="token class">.main--state-in</span></span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="2"> <span class="token property">animation</span><span class="token punctuation">:</span> wipe-in-left<span class="token punctuation">;</span>
</span><span class="code-line line-number" line="3"> <span class="token property">animation-duration</span><span class="token punctuation">:</span> <span class="token number">2</span><span class="token unit">s</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"> <span class="token property">animation-fill-mode</span><span class="token punctuation">:</span> both<span class="token punctuation">;</span>
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
</span></code></pre>
<p>对于想要进一步定制的用户,Transition.css 允许用户定义自定义过渡效果,例如:</p>
<pre class="language-css"><code class="language-css code-highlight"><span class="code-line line-number" line="1"><span class="token atrule"><span class="token rule">@keyframes</span> circle-swoop</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="2"> <span class="token selector">from</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="3"> <span class="token property">clip-path</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span><span class="token variable">--circle-top-right-out</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="5"> <span class="token selector">to</span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="6"> <span class="token property">clip-path</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span><span class="token variable">--circle-bottom-right-in</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="7"> <span class="token punctuation">}</span>
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
</span><span class="code-line line-number" line="9">
</span><span class="code-line line-number" line="10"><span class="token selector"><span class="token class">.--in-custom</span></span> <span class="token punctuation">{</span>
</span><span class="code-line line-number" line="11"> <span class="token variable">--transition__duration</span><span class="token punctuation">:</span> <span class="token number">1</span><span class="token unit">s</span><span class="token punctuation">;</span>
</span><span class="code-line line-number" line="12"> <span class="token variable">--transition__easing</span><span class="token punctuation">:</span> ease-in-out<span class="token punctuation">;</span>
</span><span class="code-line line-number" line="13"> <span class="token property">animation-name</span><span class="token punctuation">:</span> circle-swoop<span class="token punctuation">;</span>
</span><span class="code-line line-number" line="14"><span class="token punctuation">}</span>
</span></code></pre>
<p>使用这样的方式,开发者可以发挥创意,创建独特的动画效果。</p>
<h3>总结</h3>
<p>Transition.css 是一个强大的工具,旨在简化网页动画的实现过程。无论是简单的过渡效果还是复杂的自定义动画,Transition.css 都能为开发者提供所需的灵活性和控制力。通过简单的引入和使用方式,用户能够迅速提升网页的交互性和美观度。Transition.css 的开源特性也让其在开发者社区中得到了广泛的支持和应用,是现代网页设计中不可或缺的一部分。</p><br /><br />
<a href="https://github.com/jaywcjlove/quick-rss/issues/new/choose" target="_blank">投稿/推荐/自荐</a> •
<a href="https://wangchujiang.com/quick-rss/feeds/index.html" target="_blank">Quick RSS</a> •
<a href="https://github.com/jaywcjlove/quick-rss/issues/33" target="_blank">#33</a> •
<a href="https://github.com/jaywcjlove" target="_blank">@jaywcjlove</a>
]]></content:encoded>
<enclosure url="https://github.com/user-attachments/assets/2d637a57-ee7f-4b81-af6e-0b6fc7b91d57" length="0" type="image//user-attachments/assets/2d637a57-ee7f-4b81-af6e-0b6fc7b91d57"/>