Compare commits
79 Commits
1089b9b03f
...
renovate/m
Author | SHA1 | Date | |
---|---|---|---|
7f8197bda1 | |||
1b4be7d870 | |||
ba9b4a5ca1 | |||
15cf70fb50 | |||
b463143e63 | |||
740b2b8871 | |||
9eb9edd04a | |||
882efb7310 | |||
a1dfc43d67 | |||
c9e729bc7e | |||
46e0ef5443 | |||
c9ae7d673e | |||
adf39710da | |||
b7f0db51fe | |||
c99af98f7d | |||
2e96576084 | |||
17921854d3 | |||
f401c87bbf | |||
a9974dfd20 | |||
0fd9e8af65 | |||
9f2ad7a295 | |||
0c618e1c01 | |||
19e258c591 | |||
13701d39ee | |||
a5759ea2d3 | |||
0c78352ef7 | |||
5e5666d347 | |||
884e8dbeff | |||
e3dbd1b196 | |||
828afdad47 | |||
c99f3c8788 | |||
cec3255efc | |||
a0a957483c | |||
8ec4235082 | |||
6f95c250e6 | |||
792451b75f | |||
d57b60064c | |||
3ec25b8951 | |||
6d86d679f0 | |||
95d21e81a9 | |||
99c30d38fd | |||
7cb9f0e058 | |||
f945549091 | |||
229b4af4a5 | |||
b673ede608 | |||
2297475e5a | |||
03e52c1126 | |||
e544b8f7b3 | |||
a7b01e4ce0 | |||
ea4637c28f | |||
fe047b1e5a | |||
4c8694d784 | |||
61046b519b | |||
8af3950731 | |||
3f329c15ec | |||
485d80489b | |||
0eb3ac6165 | |||
869f3de520 | |||
da9780f4a7 | |||
8807e483fc | |||
d5d79d72c6 | |||
db215dcb2d | |||
7f4fd32453 | |||
81d60eacaf | |||
453a8b9a05 | |||
b00b74f695 | |||
21b8c17818 | |||
a54ceebf02 | |||
2771b42a96 | |||
579d1de673 | |||
daaa4c5f09 | |||
b414893b15 | |||
072ddcca73 | |||
5e773f0696 | |||
3bcb61d409 | |||
ad9aaf759e | |||
211809a177 | |||
e7b8958368 | |||
d7df8bc6fe |
@ -337,9 +337,9 @@ jobs:
|
||||
<a href="https://github.com/LesterChang0987" title="Steve Hartwell"><img src="https://avatars.githubusercontent.com/u/114913921?v=4" width="42;" alt="Steve Hartwell"/></a>
|
||||
<a href="https://github.com/h7ml" title="h7ml"><img src="https://avatars.githubusercontent.com/u/55233292?v=4" width="42;" alt="h7ml"/></a>
|
||||
<a href="https://github.com/nangongchengfeng" title="南宫乘风"><img src="https://avatars.githubusercontent.com/u/46562911?v=4" width="42;" alt="南宫乘风"/></a>
|
||||
<a href="https://github.com/aixcyi" title="砹小翼"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="砹小翼"/></a>
|
||||
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
|
||||
<a href="https://github.com/aixcyi" title="阿羽"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="阿羽"/></a>
|
||||
<a href="https://github.com/LufsX" title="LufsX"><img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/></a>
|
||||
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
|
||||
<a href="https://github.com/mailbaoer" title="baoer"><img src="https://avatars.githubusercontent.com/u/5282978?v=4" width="42;" alt="baoer"/></a>
|
||||
<a href="https://github.com/expoli" title="expoli"><img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/></a>
|
||||
<a href="https://github.com/k23223" title="k23223"><img src="https://avatars.githubusercontent.com/u/57606136?v=4" width="42;" alt="k23223"/></a>
|
||||
@ -351,40 +351,42 @@ jobs:
|
||||
<a href="https://github.com/MackDing" title="Blossom"><img src="https://avatars.githubusercontent.com/u/19878893?v=4" width="42;" alt="Blossom"/></a>
|
||||
<a href="https://github.com/1250422131" title="萌新杰少"><img src="https://avatars.githubusercontent.com/u/52126790?v=4" width="42;" alt="萌新杰少"/></a>
|
||||
<a href="https://github.com/richuff" title="richuff"><img src="https://avatars.githubusercontent.com/u/162144087?v=4" width="42;" alt="richuff"/></a>
|
||||
<a href="https://github.com/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
|
||||
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
|
||||
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"/></a>
|
||||
<a href="https://github.com/Harris-H" title="Hao He"><img src="https://avatars.githubusercontent.com/u/57698783?v=4" width="42;" alt="Hao He"/></a>
|
||||
<a href="https://github.com/LiuYuan-SHU" title="Yuan Liu"><img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Yuan Liu"/></a>
|
||||
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
|
||||
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
|
||||
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
|
||||
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
|
||||
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
|
||||
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
|
||||
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
|
||||
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
|
||||
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
|
||||
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
<a href="https://github.com/Willxup" title="Will"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Will"/></a>
|
||||
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
|
||||
<a href="https://github.com/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
|
||||
<a href="https://github.com/QinIndexCode" title="fault"><img src="https://avatars.githubusercontent.com/u/177287013?v=4" width="42;" alt="fault"/></a>
|
||||
<a href="https://github.com/wsypower" title="魏"><img src="https://avatars.githubusercontent.com/u/31298317?v=4" width="42;" alt="魏"/></a>
|
||||
<a href="https://github.com/buyfakett" title="buyfakett"><img src="https://avatars.githubusercontent.com/u/46560426?v=4" width="42;" alt="buyfakett"/></a>
|
||||
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
|
||||
<a href="https://github.com/wangdaodao" title="王叨叨"><img src="https://avatars.githubusercontent.com/u/2317442?v=4" width="42;" alt="王叨叨"/></a>
|
||||
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
|
||||
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
|
||||
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
|
||||
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
|
||||
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
|
||||
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
|
||||
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
|
||||
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
|
||||
<a href="https://github.com/qjksxy" title="Apin"><img src="https://avatars.githubusercontent.com/u/81305669?v=4" width="42;" alt="Apin"/></a>
|
||||
<a href="https://github.com/dadatom" title="Da Da"><img src="https://avatars.githubusercontent.com/u/33886943?v=4" width="42;" alt="Da Da"/></a>
|
||||
<a href="https://github.com/ljq" title="Jack Liu"><img src="https://avatars.githubusercontent.com/u/7278286?v=4" width="42;" alt="Jack Liu"/></a>
|
||||
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"><img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/></a>
|
||||
<a href="https://github.com/Jovins" title="Jovins"><img src="https://avatars.githubusercontent.com/u/17738992?v=4" width="42;" alt="Jovins"/></a>
|
||||
<a href="https://github.com/Kisa-Dong" title="Kisa-Dong"><img src="https://avatars.githubusercontent.com/u/84782008?v=4" width="42;" alt="Kisa-Dong"/></a>
|
||||
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
<a href="https://github.com/SuperDiscovery" title="SuperDiscovery"><img src="https://avatars.githubusercontent.com/u/49646863?v=4" width="42;" alt="SuperDiscovery"/></a>
|
||||
<a href="https://github.com/ThanatosXingYu" title="Thanatos"><img src="https://avatars.githubusercontent.com/u/53430376?v=4" width="42;" alt="Thanatos"/></a>
|
||||
<a href="https://github.com/XYZscratcher" title="XYZ"><img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/></a>
|
||||
<a href="https://github.com/izven" title="Zhang"><img src="https://avatars.githubusercontent.com/u/2149051?v=4" width="42;" alt="Zhang"/></a>
|
||||
<a href="https://github.com/findnr" title="findnr"><img src="https://avatars.githubusercontent.com/u/3909023?v=4" width="42;" alt="findnr"/></a>
|
||||
<a href="https://github.com/greyhao" title="greyhao"><img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/></a>
|
||||
<a href="https://github.com/infanx" title="infanx"><img src="https://avatars.githubusercontent.com/u/65985757?v=4" width="42;" alt="infanx"/></a>
|
||||
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
|
||||
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
|
||||
<a href="https://github.com/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></a>
|
||||
<a href="https://github.com/icer233" title="icer"><img src="https://avatars.githubusercontent.com/u/74440627?v=4" width="42;" alt="icer"/></a>
|
||||
<a href="https://github.com/auroraslot" title="irony"><img src="https://avatars.githubusercontent.com/u/48817882?v=4" width="42;" alt="irony"/></a>
|
||||
<a href="https://github.com/jlchen5" title="J.Chen"><img src="https://avatars.githubusercontent.com/u/61578993?v=4" width="42;" alt="J.Chen"/></a>
|
||||
<a href="https://github.com/jldxpm" title="jldxjldx"><img src="https://avatars.githubusercontent.com/u/128905630?v=4" width="42;" alt="jldxjldx"/></a>
|
||||
<a href="https://github.com/joyfully-W" title="joyfully-W"><img src="https://avatars.githubusercontent.com/u/32212924?v=4" width="42;" alt="joyfully-W"/></a>
|
||||
<a href="https://github.com/jqzhao7" title="jqzhao"><img src="https://avatars.githubusercontent.com/u/54694535?v=4" width="42;" alt="jqzhao"/></a>
|
||||
<a href="https://github.com/jussker" title="jussker"><img src="https://avatars.githubusercontent.com/u/33953356?v=4" width="42;" alt="jussker"/></a>
|
||||
@ -393,7 +395,10 @@ jobs:
|
||||
<a href="https://github.com/kubeme" title="kubernetes for me"><img src="https://avatars.githubusercontent.com/u/16346220?v=4" width="42;" alt="kubernetes for me"/></a>
|
||||
<a href="https://github.com/larry-xue" title="yujian(larry) xue"><img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="yujian(larry) xue"/></a>
|
||||
<a href="https://github.com/leauny" title="leauny"><img src="https://avatars.githubusercontent.com/u/42369176?v=4" width="42;" alt="leauny"/></a>
|
||||
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
|
||||
<a href="https://github.com/Zeng-qh" title="都一样"><img src="https://avatars.githubusercontent.com/u/40046415?v=4" width="42;" alt="都一样"/></a>
|
||||
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
|
||||
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
|
||||
<a href="https://github.com/gzttcydxx" title="gzttcydxx"><img src="https://avatars.githubusercontent.com/u/50025185?v=4" width="42;" alt="gzttcydxx"/></a>
|
||||
<a href="https://github.com/sunny0826" title="Xudong Guo"><img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="Xudong Guo"/></a>
|
||||
<a href="https://github.com/nodjoy" title="gowshwah"><img src="https://avatars.githubusercontent.com/u/145280043?v=4" width="42;" alt="gowshwah"/></a>
|
||||
@ -401,17 +406,16 @@ jobs:
|
||||
<a href="https://github.com/gi-b716" title="Gavin"><img src="https://avatars.githubusercontent.com/u/78394473?v=4" width="42;" alt="Gavin"/></a>
|
||||
<a href="https://github.com/fjqz177" title="fjqz177"><img src="https://avatars.githubusercontent.com/u/83070583?v=4" width="42;" alt="fjqz177"/></a>
|
||||
<a href="https://github.com/fakevn" title="fakevn"><img src="https://avatars.githubusercontent.com/u/11464386?v=4" width="42;" alt="fakevn"/></a>
|
||||
<a href="https://github.com/emoji-share" title="emoji-share🤪"><img src="https://avatars.githubusercontent.com/u/192275245?v=4" width="42;" alt="emoji-share🤪"/></a>
|
||||
<a href="https://github.com/cool9203" title="cool9203"><img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/></a>
|
||||
<a href="https://github.com/gaoxiaoduan" title="Coder Duan"><img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="Coder Duan"/></a>
|
||||
<a href="https://github.com/lijc210" title="cizai"><img src="https://avatars.githubusercontent.com/u/10651081?v=4" width="42;" alt="cizai"/></a>
|
||||
<a href="https://github.com/chyok" title="chyok"><img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/></a>
|
||||
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
|
||||
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
|
||||
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski"><img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/></a>
|
||||
<a href="https://github.com/binscor" title="Zheng Nai Bin"><img src="https://avatars.githubusercontent.com/u/37325821?v=4" width="42;" alt="Zheng Nai Bin"/></a>
|
||||
<a href="https://github.com/qwxingzhe" title="行者"><img src="https://avatars.githubusercontent.com/u/7071651?v=4" width="42;" alt="行者"/></a>
|
||||
<a href="https://github.com/lisheng741" title="芦荟柚子茶"><img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/></a>
|
||||
<a href="https://github.com/rainbowatcher" title="看彩虹的人"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="看彩虹的人"/></a>
|
||||
<a href="https://github.com/rainbowatcher" title="rainbowatcher"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="rainbowatcher"/></a>
|
||||
<a href="https://github.com/HChenX" title="焕晨HChen"><img src="https://avatars.githubusercontent.com/u/123531821?v=4" width="42;" alt="焕晨HChen"/></a>
|
||||
<a href="https://github.com/LebranceBW" title="落叶乌龟"><img src="https://avatars.githubusercontent.com/u/19501514?v=4" width="42;" alt="落叶乌龟"/></a>
|
||||
<a href="https://github.com/LongYinStudio" title="敬培全"><img src="https://avatars.githubusercontent.com/u/42208852?v=4" width="42;" alt="敬培全"/></a>
|
||||
@ -420,22 +424,24 @@ jobs:
|
||||
<a href="https://github.com/LuckyJie12" title="夜未央"><img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/></a>
|
||||
<a href="https://github.com/kele527" title="吹衣轻飏"><img src="https://avatars.githubusercontent.com/u/345445?v=4" width="42;" alt="吹衣轻飏"/></a>
|
||||
<a href="https://github.com/lvzhenbo" title="无聊波波"><img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="无聊波波"/></a>
|
||||
<a href="https://github.com/zxx457" title="zxx457"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx457"/></a>
|
||||
<a href="https://github.com/zxx457" title="Xianxin Zeng"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="Xianxin Zeng"/></a>
|
||||
<a href="https://github.com/zhouhw0306" title="zhouhw0306"><img src="https://avatars.githubusercontent.com/u/82752681?v=4" width="42;" alt="zhouhw0306"/></a>
|
||||
<a href="https://github.com/hiyms" title="yms"><img src="https://avatars.githubusercontent.com/u/84654050?v=4" width="42;" alt="yms"/></a>
|
||||
<a href="https://github.com/giteeking" title="xunjian"><img src="https://avatars.githubusercontent.com/u/166626162?v=4" width="42;" alt="xunjian"/></a>
|
||||
<a href="https://github.com/xing133" title="xing133"><img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/></a>
|
||||
<a href="https://github.com/wjjwkwindy" title="Hudson Alen"><img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="Hudson Alen"/></a>
|
||||
<a href="https://github.com/wannima66" title="tmen"><img src="https://avatars.githubusercontent.com/u/26410255?v=4" width="42;" alt="tmen"/></a>
|
||||
<a href="https://github.com/swift-fs" title="swift-fs"><img src="https://avatars.githubusercontent.com/u/77133741?v=4" width="42;" alt="swift-fs"/></a>
|
||||
<a href="https://github.com/suyangzuo" title="suyangzuo"><img src="https://avatars.githubusercontent.com/u/50766353?v=4" width="42;" alt="suyangzuo"/></a>
|
||||
<a href="https://github.com/Mowmowj" title="nexo"><img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="nexo"/></a>
|
||||
<a href="https://github.com/shanhai1024" title="shanhai1024"><img src="https://avatars.githubusercontent.com/u/56210461?v=4" width="42;" alt="shanhai1024"/></a>
|
||||
<a href="https://github.com/ri-fumo" title="ri-fumo"><img src="https://avatars.githubusercontent.com/u/190000479?v=4" width="42;" alt="ri-fumo"/></a>
|
||||
<a href="https://github.com/phygerr" title="phygerr"><img src="https://avatars.githubusercontent.com/u/42068889?v=4" width="42;" alt="phygerr"/></a>
|
||||
<a href="https://github.com/openapphub" title="openapphub"><img src="https://avatars.githubusercontent.com/u/175949671?v=4" width="42;" alt="openapphub"/></a>
|
||||
<a href="https://github.com/onewesong" title="onewesong"><img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/></a>
|
||||
<a href="https://github.com/miclon-dev" title="miclon-dev"><img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/></a>
|
||||
<a href="https://github.com/lykjjj" title="lykjjj"><img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/></a>
|
||||
<a href="https://github.com/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></a>
|
||||
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
|
||||
<a href="https://github.com/isecret" title="Mao Wang"><img src="https://avatars.githubusercontent.com/u/15724152?v=4" width="42;" alt="Mao Wang"/></a>
|
||||
<a href="https://github.com/lvelvee" title="Lve Lvee"><img src="https://avatars.githubusercontent.com/u/25785753?v=4" width="42;" alt="Lve Lvee"/></a>
|
||||
<a href="https://github.com/likeadmin-likeshop" title="likeadmin通过管理后台-likeshop全开源商城"><img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="likeadmin通过管理后台-likeshop全开源商城"/></a>
|
||||
@ -446,12 +452,14 @@ jobs:
|
||||
<a href="https://github.com/JavaZeroo" title="JavaZero"><img src="https://avatars.githubusercontent.com/u/71128095?v=4" width="42;" alt="JavaZero"/></a>
|
||||
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma"><img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/></a>
|
||||
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu"><img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/></a>
|
||||
<a href="https://github.com/Furry-Monster" title="Furry-Monster"><img src="https://avatars.githubusercontent.com/u/158404543?v=4" width="42;" alt="Furry-Monster"/></a>
|
||||
<a href="https://github.com/Fuku-L" title="Foozi"><img src="https://avatars.githubusercontent.com/u/38535911?v=4" width="42;" alt="Foozi"/></a>
|
||||
<a href="https://github.com/sirius-fan" title="Fan"><img src="https://avatars.githubusercontent.com/u/25720015?v=4" width="42;" alt="Fan"/></a>
|
||||
<a href="https://github.com/eeeeeio" title="EEEEE"><img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/></a>
|
||||
<a href="https://github.com/demigodliu" title="DemigodLiu"><img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/></a>
|
||||
<a href="https://github.com/dasferco" title="Dasferco"><img src="https://avatars.githubusercontent.com/u/92622404?v=4" width="42;" alt="Dasferco"/></a>
|
||||
<a href="https://github.com/Damao2250" title="Damao"><img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/></a>
|
||||
<a href="https://github.com/daining810" title="dain"><img src="https://avatars.githubusercontent.com/u/125986872?v=4" width="42;" alt="dain"/></a>
|
||||
<a href="https://github.com/DEEMO101" title="DEEMO101"><img src="https://avatars.githubusercontent.com/u/35123091?v=4" width="42;" alt="DEEMO101"/></a>
|
||||
<a href="https://github.com/ohto-ai" title="Choo"><img src="https://avatars.githubusercontent.com/u/46275725?v=4" width="42;" alt="Choo"/></a>
|
||||
<a href="https://github.com/CharlotteZeng" title="hanchZ"><img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="hanchZ"/></a>
|
||||
@ -464,6 +472,8 @@ jobs:
|
||||
<a href="https://github.com/dousha0w0" title="dousha0w0"><img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha0w0"/></a>
|
||||
<a href="https://github.com/JinchuanL" title="ANDY"><img src="https://avatars.githubusercontent.com/u/68026794?v=4" width="42;" alt="ANDY"/></a>
|
||||
<a href="https://github.com/13812700839" title="花殇"><img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/></a>
|
||||
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
|
||||
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
|
||||
<a href="https://github.com/y52y" title="Zyj"><img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/></a>
|
||||
<a href="https://github.com/Leaderzhangyi" title="ZinkCas"><img src="https://avatars.githubusercontent.com/u/46915666?v=4" width="42;" alt="ZinkCas"/></a>
|
||||
<a href="https://github.com/zhu0629" title="zhucong"><img src="https://avatars.githubusercontent.com/u/13188450?v=4" width="42;" alt="zhucong"/></a>
|
||||
@ -475,19 +485,19 @@ jobs:
|
||||
<a href="https://github.com/BATTLEHAWK00" title="While True: learn()"><img src="https://avatars.githubusercontent.com/u/45313304?v=4" width="42;" alt="While True: learn()"/></a>
|
||||
<a href="https://github.com/dwgeneral" title="Happy-Engineer"><img src="https://avatars.githubusercontent.com/u/8654993?v=4" width="42;" alt="Happy-Engineer"/></a>
|
||||
<a href="https://github.com/whb1998a" title="Wafer"><img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="Wafer"/></a>
|
||||
<a href="https://github.com/ThanatosXingYu" title="Thanatos"><img src="https://avatars.githubusercontent.com/u/53430376?v=4" width="42;" alt="Thanatos"/></a>
|
||||
<a href="https://github.com/YLee9527" title="Terry Young"><img src="https://avatars.githubusercontent.com/u/18697332?v=4" width="42;" alt="Terry Young"/></a>
|
||||
<a href="https://github.com/TRDSCSH" title="TRDSCSH"><img src="https://avatars.githubusercontent.com/u/125717891?v=4" width="42;" alt="TRDSCSH"/></a>
|
||||
<a href="https://github.com/Xiwin" title="Xiwin"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="Xiwin"/></a>
|
||||
<a href="https://github.com/DataEraserC" title="Sacabambaspis"><img src="https://avatars.githubusercontent.com/u/102341238?v=4" width="42;" alt="Sacabambaspis"/></a>
|
||||
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"><img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/></a>
|
||||
<a href="https://github.com/RivailleF" title="RivailleF"><img src="https://avatars.githubusercontent.com/u/93083015?v=4" width="42;" alt="RivailleF"/></a>
|
||||
<a href="https://github.com/Qliangw" title="Qliangw"><img src="https://avatars.githubusercontent.com/u/22791711?v=4" width="42;" alt="Qliangw"/></a>
|
||||
<a href="https://github.com/QDelta" title="QDelta"><img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/></a>
|
||||
<a href="https://github.com/sevenleave" title="Poirot Hercule"><img src="https://avatars.githubusercontent.com/u/24411140?v=4" width="42;" alt="Poirot Hercule"/></a>
|
||||
<a href="https://github.com/PipecraftNet" title="Pipecraft"><img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/></a>
|
||||
<a href="https://github.com/Perzch" title="Perzch"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/></a>
|
||||
<a href="https://github.com/Perzch" title="ZhaoChunhuan"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="ZhaoChunhuan"/></a>
|
||||
<a href="https://github.com/PILIHU2022" title="PILIHU2022"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="PILIHU2022"/></a>
|
||||
<a href="https://github.com/HanaNoryu" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
|
||||
<a href="https://github.com/Noryu-01" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
|
||||
<a href="https://github.com/NianwenDan" title="NianwenDan"><img src="https://avatars.githubusercontent.com/u/74407127?v=4" width="42;" alt="NianwenDan"/></a>
|
||||
<a href="https://github.com/mo3et" title="Monet Lee"><img src="https://avatars.githubusercontent.com/u/34803812?v=4" width="42;" alt="Monet Lee"/></a>
|
||||
<a href="https://github.com/Moeyuuko" title="Moeyuuko"><img src="https://avatars.githubusercontent.com/u/14266681?v=4" width="42;" alt="Moeyuuko"/></a>
|
||||
|
99
README.md
@ -181,6 +181,7 @@ Quick Reference
|
||||
[Tmux](./docs/tmux.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Taskset](./docs/taskset.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[tar](./docs/tar.md)<!--rehype:style=background: rgb(215 89 62);&class=tag&data-lang=解压缩-->
|
||||
[Yazi](./docs/yazi.md)<!--rehype:style=background: rgb(255 165 0);&class=tag&data-lang=文件管理器;&class=contributing-->
|
||||
[Zip](./docs/zip.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=解压缩-->
|
||||
[FTP](./docs/ftp.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
<!--rehype:class=home-card-->
|
||||
@ -273,6 +274,7 @@ Quick Reference
|
||||
[Emoji](./docs/emoji.md)<!--rehype:style=\-\-bg\-opacity: 0.75;background-image: linear-gradient(to left, rgba(74 222 128 / var(\-\-bg\-opacity)), rgba(59 130 246 / var(\-\-bg\-opacity)));-->
|
||||
[MIME types](./docs/mime.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Resolutions](./docs/resolutions.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[时区列表](./docs/time-zones.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[常见端口对照](./docs/ports.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
@ -300,9 +302,9 @@ Quick Reference
|
||||
<a href="https://github.com/LesterChang0987" title="Steve Hartwell"><img src="https://avatars.githubusercontent.com/u/114913921?v=4" width="42;" alt="Steve Hartwell"/></a>
|
||||
<a href="https://github.com/h7ml" title="h7ml"><img src="https://avatars.githubusercontent.com/u/55233292?v=4" width="42;" alt="h7ml"/></a>
|
||||
<a href="https://github.com/nangongchengfeng" title="南宫乘风"><img src="https://avatars.githubusercontent.com/u/46562911?v=4" width="42;" alt="南宫乘风"/></a>
|
||||
<a href="https://github.com/aixcyi" title="砹小翼"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="砹小翼"/></a>
|
||||
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
|
||||
<a href="https://github.com/aixcyi" title="阿羽"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="阿羽"/></a>
|
||||
<a href="https://github.com/LufsX" title="LufsX"><img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/></a>
|
||||
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
|
||||
<a href="https://github.com/mailbaoer" title="baoer"><img src="https://avatars.githubusercontent.com/u/5282978?v=4" width="42;" alt="baoer"/></a>
|
||||
<a href="https://github.com/expoli" title="expoli"><img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/></a>
|
||||
<a href="https://github.com/k23223" title="k23223"><img src="https://avatars.githubusercontent.com/u/57606136?v=4" width="42;" alt="k23223"/></a>
|
||||
@ -314,40 +316,42 @@ Quick Reference
|
||||
<a href="https://github.com/MackDing" title="Blossom"><img src="https://avatars.githubusercontent.com/u/19878893?v=4" width="42;" alt="Blossom"/></a>
|
||||
<a href="https://github.com/1250422131" title="萌新杰少"><img src="https://avatars.githubusercontent.com/u/52126790?v=4" width="42;" alt="萌新杰少"/></a>
|
||||
<a href="https://github.com/richuff" title="richuff"><img src="https://avatars.githubusercontent.com/u/162144087?v=4" width="42;" alt="richuff"/></a>
|
||||
<a href="https://github.com/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
|
||||
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
|
||||
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"/></a>
|
||||
<a href="https://github.com/Harris-H" title="Hao He"><img src="https://avatars.githubusercontent.com/u/57698783?v=4" width="42;" alt="Hao He"/></a>
|
||||
<a href="https://github.com/LiuYuan-SHU" title="Yuan Liu"><img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Yuan Liu"/></a>
|
||||
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
|
||||
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
|
||||
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
|
||||
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
|
||||
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
|
||||
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
|
||||
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
|
||||
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
|
||||
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
|
||||
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
<a href="https://github.com/Willxup" title="Will"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Will"/></a>
|
||||
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
|
||||
<a href="https://github.com/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
|
||||
<a href="https://github.com/QinIndexCode" title="fault"><img src="https://avatars.githubusercontent.com/u/177287013?v=4" width="42;" alt="fault"/></a>
|
||||
<a href="https://github.com/wsypower" title="魏"><img src="https://avatars.githubusercontent.com/u/31298317?v=4" width="42;" alt="魏"/></a>
|
||||
<a href="https://github.com/buyfakett" title="buyfakett"><img src="https://avatars.githubusercontent.com/u/46560426?v=4" width="42;" alt="buyfakett"/></a>
|
||||
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
|
||||
<a href="https://github.com/wangdaodao" title="王叨叨"><img src="https://avatars.githubusercontent.com/u/2317442?v=4" width="42;" alt="王叨叨"/></a>
|
||||
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
|
||||
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
|
||||
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
|
||||
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
|
||||
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
|
||||
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
|
||||
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
|
||||
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
|
||||
<a href="https://github.com/qjksxy" title="Apin"><img src="https://avatars.githubusercontent.com/u/81305669?v=4" width="42;" alt="Apin"/></a>
|
||||
<a href="https://github.com/dadatom" title="Da Da"><img src="https://avatars.githubusercontent.com/u/33886943?v=4" width="42;" alt="Da Da"/></a>
|
||||
<a href="https://github.com/ljq" title="Jack Liu"><img src="https://avatars.githubusercontent.com/u/7278286?v=4" width="42;" alt="Jack Liu"/></a>
|
||||
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"><img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/></a>
|
||||
<a href="https://github.com/Jovins" title="Jovins"><img src="https://avatars.githubusercontent.com/u/17738992?v=4" width="42;" alt="Jovins"/></a>
|
||||
<a href="https://github.com/Kisa-Dong" title="Kisa-Dong"><img src="https://avatars.githubusercontent.com/u/84782008?v=4" width="42;" alt="Kisa-Dong"/></a>
|
||||
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
<a href="https://github.com/SuperDiscovery" title="SuperDiscovery"><img src="https://avatars.githubusercontent.com/u/49646863?v=4" width="42;" alt="SuperDiscovery"/></a>
|
||||
<a href="https://github.com/ThanatosXingYu" title="Thanatos"><img src="https://avatars.githubusercontent.com/u/53430376?v=4" width="42;" alt="Thanatos"/></a>
|
||||
<a href="https://github.com/XYZscratcher" title="XYZ"><img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/></a>
|
||||
<a href="https://github.com/izven" title="Zhang"><img src="https://avatars.githubusercontent.com/u/2149051?v=4" width="42;" alt="Zhang"/></a>
|
||||
<a href="https://github.com/findnr" title="findnr"><img src="https://avatars.githubusercontent.com/u/3909023?v=4" width="42;" alt="findnr"/></a>
|
||||
<a href="https://github.com/greyhao" title="greyhao"><img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/></a>
|
||||
<a href="https://github.com/infanx" title="infanx"><img src="https://avatars.githubusercontent.com/u/65985757?v=4" width="42;" alt="infanx"/></a>
|
||||
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
|
||||
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
|
||||
<a href="https://github.com/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></a>
|
||||
<a href="https://github.com/icer233" title="icer"><img src="https://avatars.githubusercontent.com/u/74440627?v=4" width="42;" alt="icer"/></a>
|
||||
<a href="https://github.com/auroraslot" title="irony"><img src="https://avatars.githubusercontent.com/u/48817882?v=4" width="42;" alt="irony"/></a>
|
||||
<a href="https://github.com/jlchen5" title="J.Chen"><img src="https://avatars.githubusercontent.com/u/61578993?v=4" width="42;" alt="J.Chen"/></a>
|
||||
<a href="https://github.com/jldxpm" title="jldxjldx"><img src="https://avatars.githubusercontent.com/u/128905630?v=4" width="42;" alt="jldxjldx"/></a>
|
||||
<a href="https://github.com/joyfully-W" title="joyfully-W"><img src="https://avatars.githubusercontent.com/u/32212924?v=4" width="42;" alt="joyfully-W"/></a>
|
||||
<a href="https://github.com/jqzhao7" title="jqzhao"><img src="https://avatars.githubusercontent.com/u/54694535?v=4" width="42;" alt="jqzhao"/></a>
|
||||
<a href="https://github.com/jussker" title="jussker"><img src="https://avatars.githubusercontent.com/u/33953356?v=4" width="42;" alt="jussker"/></a>
|
||||
@ -356,7 +360,10 @@ Quick Reference
|
||||
<a href="https://github.com/kubeme" title="kubernetes for me"><img src="https://avatars.githubusercontent.com/u/16346220?v=4" width="42;" alt="kubernetes for me"/></a>
|
||||
<a href="https://github.com/larry-xue" title="yujian(larry) xue"><img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="yujian(larry) xue"/></a>
|
||||
<a href="https://github.com/leauny" title="leauny"><img src="https://avatars.githubusercontent.com/u/42369176?v=4" width="42;" alt="leauny"/></a>
|
||||
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
|
||||
<a href="https://github.com/Zeng-qh" title="都一样"><img src="https://avatars.githubusercontent.com/u/40046415?v=4" width="42;" alt="都一样"/></a>
|
||||
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
|
||||
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
|
||||
<a href="https://github.com/gzttcydxx" title="gzttcydxx"><img src="https://avatars.githubusercontent.com/u/50025185?v=4" width="42;" alt="gzttcydxx"/></a>
|
||||
<a href="https://github.com/sunny0826" title="Xudong Guo"><img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="Xudong Guo"/></a>
|
||||
<a href="https://github.com/nodjoy" title="gowshwah"><img src="https://avatars.githubusercontent.com/u/145280043?v=4" width="42;" alt="gowshwah"/></a>
|
||||
@ -364,17 +371,16 @@ Quick Reference
|
||||
<a href="https://github.com/gi-b716" title="Gavin"><img src="https://avatars.githubusercontent.com/u/78394473?v=4" width="42;" alt="Gavin"/></a>
|
||||
<a href="https://github.com/fjqz177" title="fjqz177"><img src="https://avatars.githubusercontent.com/u/83070583?v=4" width="42;" alt="fjqz177"/></a>
|
||||
<a href="https://github.com/fakevn" title="fakevn"><img src="https://avatars.githubusercontent.com/u/11464386?v=4" width="42;" alt="fakevn"/></a>
|
||||
<a href="https://github.com/emoji-share" title="emoji-share🤪"><img src="https://avatars.githubusercontent.com/u/192275245?v=4" width="42;" alt="emoji-share🤪"/></a>
|
||||
<a href="https://github.com/cool9203" title="cool9203"><img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/></a>
|
||||
<a href="https://github.com/gaoxiaoduan" title="Coder Duan"><img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="Coder Duan"/></a>
|
||||
<a href="https://github.com/lijc210" title="cizai"><img src="https://avatars.githubusercontent.com/u/10651081?v=4" width="42;" alt="cizai"/></a>
|
||||
<a href="https://github.com/chyok" title="chyok"><img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/></a>
|
||||
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
|
||||
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
|
||||
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski"><img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/></a>
|
||||
<a href="https://github.com/binscor" title="Zheng Nai Bin"><img src="https://avatars.githubusercontent.com/u/37325821?v=4" width="42;" alt="Zheng Nai Bin"/></a>
|
||||
<a href="https://github.com/qwxingzhe" title="行者"><img src="https://avatars.githubusercontent.com/u/7071651?v=4" width="42;" alt="行者"/></a>
|
||||
<a href="https://github.com/lisheng741" title="芦荟柚子茶"><img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/></a>
|
||||
<a href="https://github.com/rainbowatcher" title="看彩虹的人"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="看彩虹的人"/></a>
|
||||
<a href="https://github.com/rainbowatcher" title="rainbowatcher"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="rainbowatcher"/></a>
|
||||
<a href="https://github.com/HChenX" title="焕晨HChen"><img src="https://avatars.githubusercontent.com/u/123531821?v=4" width="42;" alt="焕晨HChen"/></a>
|
||||
<a href="https://github.com/LebranceBW" title="落叶乌龟"><img src="https://avatars.githubusercontent.com/u/19501514?v=4" width="42;" alt="落叶乌龟"/></a>
|
||||
<a href="https://github.com/LongYinStudio" title="敬培全"><img src="https://avatars.githubusercontent.com/u/42208852?v=4" width="42;" alt="敬培全"/></a>
|
||||
@ -383,22 +389,24 @@ Quick Reference
|
||||
<a href="https://github.com/LuckyJie12" title="夜未央"><img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/></a>
|
||||
<a href="https://github.com/kele527" title="吹衣轻飏"><img src="https://avatars.githubusercontent.com/u/345445?v=4" width="42;" alt="吹衣轻飏"/></a>
|
||||
<a href="https://github.com/lvzhenbo" title="无聊波波"><img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="无聊波波"/></a>
|
||||
<a href="https://github.com/zxx457" title="zxx457"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx457"/></a>
|
||||
<a href="https://github.com/zxx457" title="Xianxin Zeng"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="Xianxin Zeng"/></a>
|
||||
<a href="https://github.com/zhouhw0306" title="zhouhw0306"><img src="https://avatars.githubusercontent.com/u/82752681?v=4" width="42;" alt="zhouhw0306"/></a>
|
||||
<a href="https://github.com/hiyms" title="yms"><img src="https://avatars.githubusercontent.com/u/84654050?v=4" width="42;" alt="yms"/></a>
|
||||
<a href="https://github.com/giteeking" title="xunjian"><img src="https://avatars.githubusercontent.com/u/166626162?v=4" width="42;" alt="xunjian"/></a>
|
||||
<a href="https://github.com/xing133" title="xing133"><img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/></a>
|
||||
<a href="https://github.com/wjjwkwindy" title="Hudson Alen"><img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="Hudson Alen"/></a>
|
||||
<a href="https://github.com/wannima66" title="tmen"><img src="https://avatars.githubusercontent.com/u/26410255?v=4" width="42;" alt="tmen"/></a>
|
||||
<a href="https://github.com/swift-fs" title="swift-fs"><img src="https://avatars.githubusercontent.com/u/77133741?v=4" width="42;" alt="swift-fs"/></a>
|
||||
<a href="https://github.com/suyangzuo" title="suyangzuo"><img src="https://avatars.githubusercontent.com/u/50766353?v=4" width="42;" alt="suyangzuo"/></a>
|
||||
<a href="https://github.com/Mowmowj" title="nexo"><img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="nexo"/></a>
|
||||
<a href="https://github.com/shanhai1024" title="shanhai1024"><img src="https://avatars.githubusercontent.com/u/56210461?v=4" width="42;" alt="shanhai1024"/></a>
|
||||
<a href="https://github.com/ri-fumo" title="ri-fumo"><img src="https://avatars.githubusercontent.com/u/190000479?v=4" width="42;" alt="ri-fumo"/></a>
|
||||
<a href="https://github.com/phygerr" title="phygerr"><img src="https://avatars.githubusercontent.com/u/42068889?v=4" width="42;" alt="phygerr"/></a>
|
||||
<a href="https://github.com/openapphub" title="openapphub"><img src="https://avatars.githubusercontent.com/u/175949671?v=4" width="42;" alt="openapphub"/></a>
|
||||
<a href="https://github.com/onewesong" title="onewesong"><img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/></a>
|
||||
<a href="https://github.com/miclon-dev" title="miclon-dev"><img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/></a>
|
||||
<a href="https://github.com/lykjjj" title="lykjjj"><img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/></a>
|
||||
<a href="https://github.com/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></a>
|
||||
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
|
||||
<a href="https://github.com/isecret" title="Mao Wang"><img src="https://avatars.githubusercontent.com/u/15724152?v=4" width="42;" alt="Mao Wang"/></a>
|
||||
<a href="https://github.com/lvelvee" title="Lve Lvee"><img src="https://avatars.githubusercontent.com/u/25785753?v=4" width="42;" alt="Lve Lvee"/></a>
|
||||
<a href="https://github.com/likeadmin-likeshop" title="likeadmin通过管理后台-likeshop全开源商城"><img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="likeadmin通过管理后台-likeshop全开源商城"/></a>
|
||||
@ -409,12 +417,14 @@ Quick Reference
|
||||
<a href="https://github.com/JavaZeroo" title="JavaZero"><img src="https://avatars.githubusercontent.com/u/71128095?v=4" width="42;" alt="JavaZero"/></a>
|
||||
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma"><img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/></a>
|
||||
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu"><img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/></a>
|
||||
<a href="https://github.com/Furry-Monster" title="Furry-Monster"><img src="https://avatars.githubusercontent.com/u/158404543?v=4" width="42;" alt="Furry-Monster"/></a>
|
||||
<a href="https://github.com/Fuku-L" title="Foozi"><img src="https://avatars.githubusercontent.com/u/38535911?v=4" width="42;" alt="Foozi"/></a>
|
||||
<a href="https://github.com/sirius-fan" title="Fan"><img src="https://avatars.githubusercontent.com/u/25720015?v=4" width="42;" alt="Fan"/></a>
|
||||
<a href="https://github.com/eeeeeio" title="EEEEE"><img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/></a>
|
||||
<a href="https://github.com/demigodliu" title="DemigodLiu"><img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/></a>
|
||||
<a href="https://github.com/dasferco" title="Dasferco"><img src="https://avatars.githubusercontent.com/u/92622404?v=4" width="42;" alt="Dasferco"/></a>
|
||||
<a href="https://github.com/Damao2250" title="Damao"><img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/></a>
|
||||
<a href="https://github.com/daining810" title="dain"><img src="https://avatars.githubusercontent.com/u/125986872?v=4" width="42;" alt="dain"/></a>
|
||||
<a href="https://github.com/DEEMO101" title="DEEMO101"><img src="https://avatars.githubusercontent.com/u/35123091?v=4" width="42;" alt="DEEMO101"/></a>
|
||||
<a href="https://github.com/ohto-ai" title="Choo"><img src="https://avatars.githubusercontent.com/u/46275725?v=4" width="42;" alt="Choo"/></a>
|
||||
<a href="https://github.com/CharlotteZeng" title="hanchZ"><img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="hanchZ"/></a>
|
||||
@ -427,6 +437,8 @@ Quick Reference
|
||||
<a href="https://github.com/dousha0w0" title="dousha0w0"><img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha0w0"/></a>
|
||||
<a href="https://github.com/JinchuanL" title="ANDY"><img src="https://avatars.githubusercontent.com/u/68026794?v=4" width="42;" alt="ANDY"/></a>
|
||||
<a href="https://github.com/13812700839" title="花殇"><img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/></a>
|
||||
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
|
||||
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
|
||||
<a href="https://github.com/y52y" title="Zyj"><img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/></a>
|
||||
<a href="https://github.com/Leaderzhangyi" title="ZinkCas"><img src="https://avatars.githubusercontent.com/u/46915666?v=4" width="42;" alt="ZinkCas"/></a>
|
||||
<a href="https://github.com/zhu0629" title="zhucong"><img src="https://avatars.githubusercontent.com/u/13188450?v=4" width="42;" alt="zhucong"/></a>
|
||||
@ -438,19 +450,19 @@ Quick Reference
|
||||
<a href="https://github.com/BATTLEHAWK00" title="While True: learn()"><img src="https://avatars.githubusercontent.com/u/45313304?v=4" width="42;" alt="While True: learn()"/></a>
|
||||
<a href="https://github.com/dwgeneral" title="Happy-Engineer"><img src="https://avatars.githubusercontent.com/u/8654993?v=4" width="42;" alt="Happy-Engineer"/></a>
|
||||
<a href="https://github.com/whb1998a" title="Wafer"><img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="Wafer"/></a>
|
||||
<a href="https://github.com/ThanatosXingYu" title="Thanatos"><img src="https://avatars.githubusercontent.com/u/53430376?v=4" width="42;" alt="Thanatos"/></a>
|
||||
<a href="https://github.com/YLee9527" title="Terry Young"><img src="https://avatars.githubusercontent.com/u/18697332?v=4" width="42;" alt="Terry Young"/></a>
|
||||
<a href="https://github.com/TRDSCSH" title="TRDSCSH"><img src="https://avatars.githubusercontent.com/u/125717891?v=4" width="42;" alt="TRDSCSH"/></a>
|
||||
<a href="https://github.com/Xiwin" title="Xiwin"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="Xiwin"/></a>
|
||||
<a href="https://github.com/DataEraserC" title="Sacabambaspis"><img src="https://avatars.githubusercontent.com/u/102341238?v=4" width="42;" alt="Sacabambaspis"/></a>
|
||||
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"><img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/></a>
|
||||
<a href="https://github.com/RivailleF" title="RivailleF"><img src="https://avatars.githubusercontent.com/u/93083015?v=4" width="42;" alt="RivailleF"/></a>
|
||||
<a href="https://github.com/Qliangw" title="Qliangw"><img src="https://avatars.githubusercontent.com/u/22791711?v=4" width="42;" alt="Qliangw"/></a>
|
||||
<a href="https://github.com/QDelta" title="QDelta"><img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/></a>
|
||||
<a href="https://github.com/sevenleave" title="Poirot Hercule"><img src="https://avatars.githubusercontent.com/u/24411140?v=4" width="42;" alt="Poirot Hercule"/></a>
|
||||
<a href="https://github.com/PipecraftNet" title="Pipecraft"><img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/></a>
|
||||
<a href="https://github.com/Perzch" title="Perzch"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/></a>
|
||||
<a href="https://github.com/Perzch" title="ZhaoChunhuan"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="ZhaoChunhuan"/></a>
|
||||
<a href="https://github.com/PILIHU2022" title="PILIHU2022"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="PILIHU2022"/></a>
|
||||
<a href="https://github.com/HanaNoryu" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
|
||||
<a href="https://github.com/Noryu-01" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
|
||||
<a href="https://github.com/NianwenDan" title="NianwenDan"><img src="https://avatars.githubusercontent.com/u/74407127?v=4" width="42;" alt="NianwenDan"/></a>
|
||||
<a href="https://github.com/mo3et" title="Monet Lee"><img src="https://avatars.githubusercontent.com/u/34803812?v=4" width="42;" alt="Monet Lee"/></a>
|
||||
<a href="https://github.com/Moeyuuko" title="Moeyuuko"><img src="https://avatars.githubusercontent.com/u/14266681?v=4" width="42;" alt="Moeyuuko"/></a>
|
||||
@ -562,6 +574,12 @@ Quick Reference
|
||||
[afetera.top](https://note.afetera.top)<!--rehype:target=_blank-->
|
||||
[trtuaazz.com](https://reference.trtuaazz.com)<!--rehype:target=_blank-->
|
||||
[anhaoyang.com](http://dev-doc.anhaoyang.com/)<!--rehype:target=_blank-->
|
||||
[xxcxx.lat](https://xxcxx.lat/)<!--rehype:target=_blank-->
|
||||
[fishlee.net](https://cr.fishlee.net/)<!--rehype:target=_blank-->
|
||||
[lideshan.top](https://dev.lideshan.top/)<!--rehype:target=_blank-->
|
||||
[yunshangmanyou.com](https://quick.yunshangmanyou.com)<!--rehype:target=_blank-->
|
||||
[xiaokaixuan.com](https://xiaokaixuan.com/xkx/rq/index.html)<!--rehype:target=_blank-->
|
||||
[opzz.top](https://reference.opzz.top)<!--rehype:target=_blank-->
|
||||
<!--rehype:class=home-card home-links-->
|
||||
|
||||
如果你有资源,可以很方便[部署 web 版](https://github.com/jaywcjlove/reference/issues/102#issue-1451649637),这非常简单,只需要克隆 [gh-pages](https://github.com/jaywcjlove/reference/tree/gh-pages) 分支代码到你的静态服务就可以了,还可以使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版。
|
||||
@ -572,6 +590,35 @@ Quick Reference
|
||||
|
||||
- [Quick Reference for VSCode](https://marketplace.visualstudio.com/items?itemName=jackiotyu.quick-reference) 由 [jackiotyu](https://github.com/jackiotyu/vscode-quick-reference) 提供
|
||||
|
||||
## 赞助支持
|
||||
<!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;&class=home-title-reset-->
|
||||
|
||||
非常感谢那些一直支持我开源工作的朋友们。如果您对我的工作感到满意,可以选择在[这里进行赞助](https://wangchujiang.com/#/sponsor)<!--rehype:target=_blank-->。也可以通过下载并使用我开发的 [macOS 应用](https://wangchujiang.com/#/app)<!--rehype:target=_blank-->来支持我。以下是我个人开发的 macOS 应用:
|
||||
|
||||
<p style="display: inline-block">
|
||||
<a target="_blank" href="https://wangchujiang.com/focus-cursor/" title="FocusCursor for macOS"><img align="center" alt="FocusCursor" height="52" width="52" src="./appicon/focus-cursor.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/videoer/" title="Videoer for macOS"><img align="center" alt="Videoer" height="52" width="52" src="./appicon/videoer.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/key-clicker/" title="KeyClicker for macOS"><img align="center" alt="KeyClicker" height="50" width="50" src="./appicon/key-clicker.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/daybar/" title="DayBar for macOS"><img align="center" alt="DayBar" height="50" width="50" src="./appicon/daybar.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/iconed/" title="Iconed for macOS"><img align="center" alt="Iconed" height="50" width="50" src="./appicon/iconed.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/rightmenu-master/" title="RightMenu Master for macOS"><img align="center" alt="RightMenu Master" height="50" width="50" src="./appicon/rightmenu-master.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/paste-quick/" title="Paste Quick for macOS"><img align="center" alt="Paste Quick" height="50" width="50" src="./appicon/paste-quick.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/quick-rss/" title="Quick RSS for macOS/iOS"><img align="center" alt="Quick RSS" height="50" width="50" src="./appicon/quick-rss.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/web-serve/" title="Web Serve for macOS"><img align="center" alt="Web Serve" height="50" width="50" src="./appicon/web-serve.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/copybook-generator/" title="Copybook Generator for macOS/iOS"><img align="center" alt="Copybook Generator" height="50" width="50" src="./appicon/copybook-generator.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/devtutor/" title="DevTutor for macOS/iOS"><img align="center" alt="DevTutor for SwiftUI" height="50" width="50" src="./appicon/devtutor.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/regex-mate/" title="RegexMate for macOS/iOS"><img align="center" alt="RegexMate" height="50" width="50" src="./appicon/regex-mate.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/time-passage/" title="Time Passage for macOS/iOS"><img align="center" alt="Time Passage" height="50" width="50" src="./appicon/time-passage.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/IconizeFolder/" title="IconizeFolder for macOS"><img align="center" alt="Iconize Folder" height="50" width="50" src="./appicon/iconize-folder.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/TextSoundSaver/" title="Textsound Saver for macOS/iOS"><img align="center" alt="Textsound Saver" height="50" width="50" src="./appicon/textsound-saver.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/create-custom-symbols/" title="Create Custom Symbols for macOS"><img align="center" alt="Create Custom Symbols" height="50" width="50" src="./appicon/create-custom-symbols.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/DevHub/" title="DevHub for macOS"><img align="center" alt="DevHub" height="50" width="50" src="./appicon/devhub.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/ResumeRevise/" title="Resume Revise for macOS"><img align="center" alt="Resume Revise" height="50" width="50" src="./appicon/resume-revise.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/palette-genius/" title="Palette Genius for macOS"><img align="center" alt="Palette Genius" height="50" width="50" src="./appicon/palette-genius.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/symbol-scribe/" title="Symbol Scribe for macOS"><img align="center" alt="Symbol Scribe" height="50" width="50" src="./appicon/symbol-scribe.png"></a>
|
||||
</p>
|
||||
<!--rehype:style=padding-top:1rem;max-width: 520px;margin: 0 auto;-->
|
||||
|
||||
<!--rehype:ignore:start-->
|
||||
## 开发
|
||||
|
||||
|
BIN
appicon/copybook-generator.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
appicon/create-custom-symbols.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
appicon/daybar.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
appicon/devhub.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
appicon/devtutor.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
appicon/focus-cursor.png
Executable file
After Width: | Height: | Size: 92 KiB |
BIN
appicon/hosts-editor.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
appicon/iconed.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
appicon/iconize-folder.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
appicon/key-clicker.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
appicon/npmd.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
appicon/palette-genius.png
Normal file
After Width: | Height: | Size: 249 KiB |
BIN
appicon/paste-quick.png
Normal file
After Width: | Height: | Size: 136 KiB |
BIN
appicon/quick-rss.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
appicon/regex-mate.png
Normal file
After Width: | Height: | Size: 314 KiB |
BIN
appicon/resume-revise.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
appicon/rightmenu-master.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
appicon/symbol-scribe.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
appicon/textsound-saver.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
appicon/time-passage.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
appicon/videoer.png
Executable file
After Width: | Height: | Size: 52 KiB |
BIN
appicon/web-serve.png
Normal file
After Width: | Height: | Size: 141 KiB |
4
assets/time-zones.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg viewBox="0 0 1024 1024" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<path d="M945 412H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h256c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM811 548H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h122c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM477.3 322.5H434c-6.2 0-11.2 5-11.2 11.2v248c0 3.6 1.7 6.9 4.6 9l148.9 108.6c5 3.6 12 2.6 15.6-2.4l25.7-35.1v-.1c3.6-5 2.5-12-2.5-15.6l-126.7-91.6V333.7c.1-6.2-5-11.2-11.1-11.2z"/>
|
||||
<path d="M804.8 673.9H747c-5.6 0-10.9 2.9-13.9 7.7-12.7 20.1-27.5 38.7-44.5 55.7-29.3 29.3-63.4 52.3-101.3 68.3-39.3 16.6-81 25-124 25-43.1 0-84.8-8.4-124-25-37.9-16-72-39-101.3-68.3s-52.3-63.4-68.3-101.3c-16.6-39.2-25-80.9-25-124 0-43.1 8.4-84.7 25-124 16-37.9 39-72 68.3-101.3 29.3-29.3 63.4-52.3 101.3-68.3 39.2-16.6 81-25 124-25 43.1 0 84.8 8.4 124 25 37.9 16 72 39 101.3 68.3 17 17 31.8 35.6 44.5 55.7 3 4.8 8.3 7.7 13.9 7.7h57.8c6.9 0 11.3-7.2 8.2-13.3-65.2-129.7-197.4-214-345-215.7-216.1-2.7-395.6 174.2-396 390.1C71.6 727.5 246.9 903 463.2 903c149.5 0 283.9-84.6 349.8-215.8 3.1-6.1-1.4-13.3-8.2-13.3z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
582
docs/c.md
@ -7,7 +7,6 @@ C 备忘清单
|
||||
----
|
||||
|
||||
### hello.c
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
@ -35,40 +34,51 @@ $ ./hello
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```c
|
||||
int myNum = 15;
|
||||
int myNum = 15; // 定义并初始化变量 myNum
|
||||
int myNum2; // 声明变量 myNum2
|
||||
myNum2 = 15; // 初始化变量 myNum2
|
||||
|
||||
int myNum2; // 声明变量 myNum2
|
||||
// 变量声明后第一次赋值我们称为初始化
|
||||
// 如果 初始化 和 赋值 在同一行
|
||||
// 那么我们可以直接称为 定义变量 myNum2
|
||||
myNum2 = 15;
|
||||
int myNum3 = 15; // 定义并初始化变量 myNum3
|
||||
myNum3 = 10; // 重新赋值 myNum3
|
||||
```
|
||||
|
||||
int myNum3 = 15; // myNum3 值为 15
|
||||
myNum3 = 10; // 现在 myNum3 值为 10
|
||||
定义不同类型的变量
|
||||
|
||||
float myFloatNum = 5.99; // 浮点数
|
||||
char myLetter = 'D'; // 字符
|
||||
```c
|
||||
// 定义并初始化浮点数变量
|
||||
float myFloatNum = 5.99;
|
||||
// 定义并初始化字符变量
|
||||
char myLetter = 'D';
|
||||
```
|
||||
|
||||
int x = 5;
|
||||
int y = 6;
|
||||
int sum = x + y; // 添加变量相加
|
||||
// 声明多个变量
|
||||
变量相加
|
||||
|
||||
```c
|
||||
int x = 5, y = 6;
|
||||
int sum = x + y; // 变量相加
|
||||
```
|
||||
|
||||
声明并初始化多个变量
|
||||
|
||||
```c
|
||||
int x = 5, y = 6, z = 50;
|
||||
int a, b, c = 10;
|
||||
```
|
||||
|
||||
//仅声明变量不初始化
|
||||
仅声明变量不初始化
|
||||
|
||||
```c
|
||||
int result;
|
||||
// 如果未初始化,变量的值是未定义的,使用它会导致错误的结果。
|
||||
// 此时,变量的值是随机的,因此在使用该变量之前必须进行初始化。
|
||||
result = result + 10; // 错误:未初始化的变量 result 会导致不可预测的结果
|
||||
|
||||
// 部分编译器会输出 Warning,警告未初始化的变量可能导致未定义行为。
|
||||
// 未初始化的变量 result 会导致不可预测的结果
|
||||
|
||||
result = result + 10; // 错误:未初始化的变量
|
||||
// 部分编译器会警告未初始化的变量可能导致未定义行为
|
||||
```
|
||||
|
||||
### 常量 Constants
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
常量在 C 语言中我们一般理解为不能被改变的值,活用常量与符号常量,可以使代码更加清晰和安全
|
||||
常量是不能被改变的值,使用常量可以使代码更清晰和安全。
|
||||
|
||||
```c
|
||||
const int minutesPerHour = 60;
|
||||
@ -81,37 +91,53 @@ const float PI = 3.14;
|
||||
const int BIRTHYEAR = 1980;
|
||||
```
|
||||
|
||||
说明与补充:
|
||||
1. **常量命名规范**:常量通常使用全大写字母,多个单词之间用下划线分隔(例如 BIRTHYEAR、MAX_LENGTH)。
|
||||
#### **命名规范**
|
||||
<!--rehype:style=text-align: left;-->
|
||||
|
||||
2. **`#define` 与 `const`**:
|
||||
- **`#define`**:宏常量通常在预处理阶段进行替换,不进行类型检查;
|
||||
- **`const`**:类型安全的常量,编译器可以检查类型,一般更推荐使用 `const`
|
||||
常量通常使用全大写字母,单词间用下划线分隔(如 BIRTHYEAR、MAX_LENGTH)。
|
||||
|
||||
3. **数组大小**:可以使用 `const` 来定义数组的常量大小,这样编译器会将其作为编译时常量处理
|
||||
#### **数组大小**
|
||||
<!--rehype:style=text-align: left;-->
|
||||
|
||||
使用 `const` 定义数组大小,编译器将其作为编译时常量处理。
|
||||
|
||||
#### **`#define` 与 `const`**
|
||||
<!--rehype:style=text-align: left;-->
|
||||
|
||||
- `#define`:宏常量在预处理阶段替换,不进行类型检查
|
||||
- `const`:类型安全的常量,编译器可检查类型,推荐使用
|
||||
|
||||
#### **注意事项**
|
||||
|
||||
- `const` 常量在定义时必须初始化,否则会导致编译错误。
|
||||
- `const` 常量的值不能被修改,任何尝试修改 `const` 常量的操作都会导致编译错误。
|
||||
- 使用 `const` 常量可以提高代码的可读性和可维护性,避免魔法数字的使用。
|
||||
|
||||
### 注释
|
||||
|
||||
```c
|
||||
// 这是一个注释
|
||||
printf("Hello World!"); // 这是一个注释
|
||||
// 这是一个单行注释
|
||||
printf("Hello World!"); // 行内注释
|
||||
|
||||
/*
|
||||
多行注释:用于注释跨多行的内容
|
||||
上面的代码将打印出 Hello World! 到屏幕上
|
||||
多行注释:
|
||||
用于注释跨多行的内容
|
||||
注意:多行注释不能嵌套,否则会导致编译错误
|
||||
*/
|
||||
```
|
||||
**注意**:
|
||||
单行注释`//`可以嵌套,`////////这种注释也是对的`
|
||||
但行内注释应避免过长,以免影响代码可读性
|
||||
|
||||
多行注释不能嵌套,否则会导致编译错误(详见下文 [### Warning 和 Error](#warning-和-error) )
|
||||
**注意**:
|
||||
|
||||
- 单行注释 `//` 可以嵌套,如 `/////`。
|
||||
- 行内注释应避免过长,以免影响代码可读性。
|
||||
- 多行注释不能嵌套,否则会导致编译错误。
|
||||
|
||||
```c
|
||||
/* 这是一个多行注释的开始
|
||||
/* 这是嵌套的多行注释,C语言不支持 */
|
||||
/* 嵌套的多行注释,C语言不支持 */
|
||||
*/
|
||||
```
|
||||
<!--rehype:style=background:#ff000030;-->
|
||||
|
||||
### 打印文本
|
||||
|
||||
@ -126,21 +152,34 @@ printf("Value = %f", f);
|
||||
short a = 0b1010110; // 2 进制数字
|
||||
int b = 02713; // 8 进制数字
|
||||
long c = 0X1DAB83; // 16 进制数字
|
||||
//变量a和c分别为short和long型,所以输出必须加上对应的修饰符h和l
|
||||
```
|
||||
|
||||
// 以 8 进制形式输出
|
||||
变量a和c分别为 `short` 和 `long` 型,所以输出必须加上对应的修饰符 `h` 和 `l`
|
||||
|
||||
#### 以 8 进制形式输出
|
||||
|
||||
```c
|
||||
printf("a=%ho, b=%o, c=%lo\n", a, b, c);
|
||||
// 输出 => a=126, b=2713, c=7325603
|
||||
```
|
||||
|
||||
// 以 10 进制形式输出
|
||||
#### 以 10 进制形式输出
|
||||
|
||||
```c
|
||||
printf("a=%hd, b=%d, c=%ld\n", a, b, c);
|
||||
// 输出 => a=86, b=1483, c=1944451
|
||||
```
|
||||
|
||||
// 以 16 进制形式输出(字母小写)
|
||||
#### 以 16 进制形式输出(字母小写)
|
||||
|
||||
```c
|
||||
printf("a=%hx, b=%x, c=%lx\n", a, b, c);
|
||||
// 输出 => a=56, b=5cb, c=1dab83
|
||||
```
|
||||
|
||||
// 以 16 进制形式输出(字母大写)
|
||||
#### 以 16 进制形式输出(字母大写)
|
||||
|
||||
```c
|
||||
printf("a=%hX, b=%X, c=%lX\n", a, b, c);
|
||||
// 输出 => a=56, b=5CB, c=1DAB83
|
||||
```
|
||||
@ -169,67 +208,75 @@ printf("%-9d %-9d %-9d\n", d1, d2, d3);
|
||||
34 0 23
|
||||
```
|
||||
|
||||
`%-9d` 中,`d` 表示以 `10` 进制输出,`9` 表示最少占 `9` 个字符的宽度,宽度不足以空格补齐,`-` 表示左对齐,如果不使用左对齐则默认右对齐
|
||||
解释:`%-9d`:`d` 表示十进制输出,`9` 表示最少占 9 个字符宽度,`-` 表示左对齐,不使用 `-` 则默认右对齐。
|
||||
|
||||
对于整型数据:
|
||||
|
||||
对于整型数据,假设:
|
||||
```c
|
||||
int a = 12345;
|
||||
printf(“%md”,a);
|
||||
printf("%md", a);
|
||||
```
|
||||
1. 若 m <= 实际数据的宽度,则按实际情况输出
|
||||
2. 若 m > 实际数据的宽度,则在实际数据的左边用空格补齐
|
||||
3. `printf(“%0md”,a);` 则实际的结果不够 m 位的在数据的左边用0补齐
|
||||
|
||||
对于浮点型数据,宽度=整数部分的位数+小数点+小数部分的宽度
|
||||
假设:
|
||||
- 若 `m <=` 实际数据宽度,则按实际情况输出。
|
||||
- 若 `m >` 实际数据宽度,则在左边用空格补齐。
|
||||
- `printf("%0md", a);` 则在左边用 `0` 补齐。
|
||||
|
||||
对于浮点型数据:
|
||||
|
||||
```c
|
||||
float a = 1.2345;
|
||||
printf(“%m.nf”,a); //m --整个数据的宽度,n--小数位数
|
||||
printf("%m.nf", a);
|
||||
// m -- 整个数据宽度,n -- 小数位数
|
||||
```
|
||||
1. 实际小数位数>n,截去小数右边多余的小数,截去的第一位要注意四舍五入
|
||||
2. 实际小数位数< n,在小数的最后补0
|
||||
3. 若m省略则写作%.n ,整数部分按照实际输出,小数部分按照以上两个规则进行
|
||||
4. m < n+1,自动突破宽度为m的限制,按照实际数据进行输出
|
||||
5. m > n+1,整个数据的最左边补空格
|
||||
|
||||
- 实际小数位数 `> n`,截去多余小数,注意四舍五入。
|
||||
- 实际小数位数 `< n`,在小数最后补 `0`。
|
||||
- 若 `m` 省略则写作 `%.n`,整数部分按实际输出,小数部分按以上规则。
|
||||
- 若 `m < n+1`,自动突破宽度限制,按实际数据输出。
|
||||
- 若 `m > n+1`,左边补空格。
|
||||
|
||||
### 字符串 Strings
|
||||
### 字符串 (Strings)
|
||||
|
||||
在 C 语言中,字符串是以 `\0` 结尾的字符数组,而不是一种单独的数据类型。可以通过字符数组来表示字符串。
|
||||
|
||||
#### 定义并打印字符串
|
||||
|
||||
```c
|
||||
char greetings[] = "Hello World!";
|
||||
printf("%s", greetings);
|
||||
```
|
||||
|
||||
访问字符串
|
||||
#### 访问字符串中的字符
|
||||
|
||||
```c
|
||||
char greetings[] = "Hello World!";
|
||||
printf("%c", greetings[0]);
|
||||
```
|
||||
|
||||
修改字符串
|
||||
访问字符串 `greetings` 的第一个字符 `H`
|
||||
|
||||
#### 修改字符串中的字符
|
||||
|
||||
```c
|
||||
char greetings[] = "Hello World!";
|
||||
greetings[0] = 'J';
|
||||
greetings[0] = 'J'; // 修改第一个字符为 'J'
|
||||
|
||||
printf("%s", greetings);
|
||||
// 输出 "Jello World!"
|
||||
```
|
||||
|
||||
另一种创建字符串的方法
|
||||
#### 另一种创建字符串的方法
|
||||
|
||||
```c
|
||||
char greetings[] = {'H','e','l','l','\0'};
|
||||
|
||||
printf("%s", greetings);
|
||||
// 输出 "Hell!"
|
||||
// 输出 "Hell"
|
||||
```
|
||||
|
||||
`C` **没有** String 类型,使用 `char` 类型并创建一个字符 `array`
|
||||
**注意**:C 语言中没有 `String` 类型,字符串是由字符数组 `char[]` 表示的,且必须以 `\0` 结尾以标识字符串的结束。
|
||||
|
||||
### 条件判断
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```c
|
||||
int time = 20;
|
||||
@ -239,6 +286,7 @@ if (time < 18) {
|
||||
printf("晚上好!");
|
||||
}
|
||||
// 输出 -> "晚上好!"
|
||||
|
||||
int time = 22;
|
||||
if (time < 10) {
|
||||
printf("早上好!");
|
||||
@ -259,25 +307,40 @@ if (time > 8) {
|
||||
// 输出 -> "中午好!"
|
||||
```
|
||||
|
||||
#### 说明
|
||||
|
||||
- `if` 语句用于根据条件执行代码块。
|
||||
- `else` 语句在 `if` 条件不满足时执行。
|
||||
- `else if` 语句用于检查多个条件。
|
||||
- 可以嵌套 `if` 语句以检查多个条件。
|
||||
|
||||
### 三元运算符
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
三元运算符(? :)是一种简洁的条件判断方式,常用于根据条件选择表达式的值,由三个部分组成:
|
||||
- 一个条件表达式
|
||||
- 条件为真时的结果
|
||||
- 条件为假时的结果
|
||||
基本语法:`(condition) ? expression1 : expression2;`
|
||||
如果`condition`为真,则返回`expression1`否则返回`expression2`。
|
||||
|
||||
三元运算符(`? :`)是一种简洁的条件判断方式,用于根据条件选择表达式的值。由三个部分组成:
|
||||
|
||||
- 条件表达式
|
||||
- 条件为真时的结果
|
||||
- 条件为假时的结果
|
||||
|
||||
基本语法:`(条件) ? 表达式1 : 表达式2;`
|
||||
如果 `条件` 为真,则返回 `表达式1`,否则返回 `表达式2`。
|
||||
|
||||
#### 示例
|
||||
|
||||
```c
|
||||
int time = 20;
|
||||
(time < 18) ? printf("再会!") : printf("晚上好!");
|
||||
(time < 18) ? printf("再会!")
|
||||
: printf("晚上好!");
|
||||
// 输出 -> "晚上好!"
|
||||
```
|
||||
|
||||
三元运算符可以嵌套使用,但嵌套层级太多会导致代码可读性下降,不建议在实际场景使用
|
||||
嵌套使用示例(不建议过多嵌套):
|
||||
|
||||
```c
|
||||
int time = 22;
|
||||
printf((time < 10) ? "早上好!" : (time < 20) ? "再会!" : "晚上好!");
|
||||
printf((time < 10) ? "早上好!"
|
||||
: (time < 20) ? "再会!"
|
||||
: "晚上好!");
|
||||
// 输出 -> "晚上好!"
|
||||
```
|
||||
|
||||
@ -289,10 +352,36 @@ int day = 4;
|
||||
switch (day) {
|
||||
case 3: printf("周三"); break;
|
||||
case 4: printf("周四"); break;
|
||||
default:
|
||||
printf("期待周末");
|
||||
default: printf("期待周末");
|
||||
}
|
||||
// 输出 -> "周四" (day 4)
|
||||
// 输出 -> "周四"
|
||||
```
|
||||
|
||||
#### 说明
|
||||
|
||||
- `switch` 语句根据表达式的值跳转到匹配的 `case` 标签。
|
||||
- 匹配到 `case` 后执行相应代码,并通过 `break` 跳出 `switch`。
|
||||
- 如果没有匹配到任何 `case`,则执行 `default` 语句(如果存在)。
|
||||
|
||||
#### 注意事项
|
||||
|
||||
- `switch` 表达式可以是整型、字符型和枚举型。
|
||||
- `case` 后的常量表达式值不能相同。
|
||||
- `case` 后可以有多个语句,不需要 `{ }` 括起来。
|
||||
- `case` 和 `default` 语句的顺序不影响程序执行结果。
|
||||
- `break` 语句用于结束 `switch`,如果没有 `break`,程序会继续执行下一个 `case`。
|
||||
|
||||
#### 示例
|
||||
|
||||
```c
|
||||
int day = 3;
|
||||
|
||||
switch (day) {
|
||||
case 3: printf("周三");
|
||||
case 4: printf("周四"); break;
|
||||
default: printf("期待周末");
|
||||
}
|
||||
// 输出 -> "周三周四"
|
||||
```
|
||||
|
||||
### While 循环
|
||||
@ -304,9 +393,53 @@ while (i < 5) {
|
||||
printf("%d\n", i);
|
||||
i++;
|
||||
}
|
||||
// 输出 -> 0 1 2 3 4
|
||||
```
|
||||
|
||||
**注意**:不要忘记增加条件中使用的变量,否则循环永远不会结束,成为“死循环”!
|
||||
#### 解释
|
||||
|
||||
- `while` 循环首先检查条件 `i < 5` 是否为真。
|
||||
- 如果为真,程序进入循环体,执行打印操作并增加 `i` 的值。
|
||||
- 循环会继续进行,直到 `i` 达到 5,此时条件 `i < 5` 不再为真,循环结束。
|
||||
|
||||
#### 打印 1 到 10 的数字
|
||||
|
||||
```c
|
||||
int i = 1;
|
||||
|
||||
while (i <= 10) {
|
||||
printf("%d\n", i);
|
||||
i++;
|
||||
}
|
||||
// 输出 -> 1 2 3 4 5 6 7 8 9 10
|
||||
```
|
||||
|
||||
#### 打印偶数
|
||||
|
||||
```c
|
||||
int i = 0;
|
||||
|
||||
while (i <= 10) {
|
||||
if (i % 2 == 0) {
|
||||
printf("%d\n", i);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
// 输出 -> 0 2 4 6 8 10
|
||||
```
|
||||
|
||||
#### 无限循环(需手动终止)
|
||||
|
||||
```c
|
||||
int i = 0;
|
||||
|
||||
while (1) {
|
||||
printf("无限循环\n");
|
||||
i++;
|
||||
if (i == 5) break; // 添加条件以退出循环
|
||||
}
|
||||
// 输出 -> 无限循环 (打印 5 次)
|
||||
```
|
||||
|
||||
### Do/While 循环
|
||||
|
||||
@ -317,20 +450,83 @@ do {
|
||||
printf("%d\n", i);
|
||||
i++;
|
||||
} while (i < 5);
|
||||
// 输出 -> 0 1 2 3 4
|
||||
```
|
||||
|
||||
#### 解释
|
||||
|
||||
- `do/while` 循环至少执行一次循环体,因为条件检查在循环体执行之后进行。
|
||||
- 首先执行 `do` 中的代码,然后检查条件 `i < 5` 是否为真。
|
||||
- 如果为真,继续执行循环;如果为假,则退出循环。
|
||||
|
||||
#### 打印从 5 开始的数字,直到条件不满足
|
||||
|
||||
```c
|
||||
int i = 5;
|
||||
|
||||
do {
|
||||
printf("%d\n", i); // 输出 5
|
||||
i++;
|
||||
} while (i < 5);
|
||||
// 输出 -> 5
|
||||
```
|
||||
|
||||
#### 计算 1 到 10 的和
|
||||
|
||||
```c
|
||||
int i = 1;
|
||||
int sum = 0;
|
||||
|
||||
do {
|
||||
sum += i;
|
||||
i++;
|
||||
} while (i <= 10);
|
||||
|
||||
printf("Sum: %d\n", sum);
|
||||
// 输出 -> Sum: 55
|
||||
```
|
||||
|
||||
### For 循环
|
||||
|
||||
```c
|
||||
for (表达式1; 表达式2; 表达式3) {
|
||||
循环体语句;
|
||||
}
|
||||
```
|
||||
|
||||
- 表达式1:设置初始条件,只执行一次。
|
||||
- 表达式2:循环条件表达式,每次循环前检查。
|
||||
- 表达式3:循环体执行后的调整操作。
|
||||
|
||||
示例:
|
||||
|
||||
```c
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
printf("%d\n", i);
|
||||
}
|
||||
// 输出 -> 0 1 2 3 4
|
||||
```
|
||||
|
||||
### 跳出循环 Break/Continue
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
#### 注意事项
|
||||
|
||||
- `for` 语句的三个表达式不是必须的。
|
||||
- 当条件表达式(表达式2)为假时,`for` 循环结束。
|
||||
- 可以在循环体内使用 `break`、`continue`、`goto` 语句。
|
||||
- 如果表达式2为空,则表示无限循环,如 `for(;;)` 相当于 `while(1)`。
|
||||
|
||||
#### 变体
|
||||
|
||||
- `for (i = m; i < n; i++)` 从 `i = m` 开始到 `i = n-1`,循环 `n - m` 次。
|
||||
- `for (i = m; i <= n; i++)` 从 `i = m` 到 `i = n`,循环 `n - m + 1` 次。
|
||||
|
||||
### 跳出循环 (Break/Continue/Goto)
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
|
||||
#### `break` 语句
|
||||
|
||||
跳出当前循环或 `switch` 语句,执行后续代码。
|
||||
|
||||
```c
|
||||
int i;
|
||||
@ -341,9 +537,12 @@ for (i = 0; i < 10; i++) {
|
||||
}
|
||||
printf("%d\n", i);
|
||||
}
|
||||
// 输出 -> 0 1 2 3
|
||||
```
|
||||
|
||||
在 `i` 等于 `4` 时跳出循环
|
||||
#### `continue` 语句
|
||||
|
||||
跳过当前循环的剩余语句,直接进入下一次循环。
|
||||
|
||||
```c
|
||||
int i;
|
||||
@ -354,72 +553,40 @@ for (i = 0; i < 10; i++) {
|
||||
}
|
||||
printf("%d\n", i);
|
||||
}
|
||||
// 输出 -> 0 1 2 3 5 6 7 8 9
|
||||
```
|
||||
|
||||
示例跳过 `4` 的值
|
||||
#### `goto` 语句
|
||||
|
||||
### While Break 示例
|
||||
无条件跳转到指定标签位置。
|
||||
|
||||
```c
|
||||
int i = 0;
|
||||
|
||||
while (i < 10) {
|
||||
if (i == 4) {
|
||||
break;
|
||||
goto skip; // 跳转到 skip 标签
|
||||
}
|
||||
printf("%d\n", i);
|
||||
i++;
|
||||
}
|
||||
|
||||
skip:
|
||||
printf("Exited the loop at i = %d\n", i);
|
||||
// 输出 -> 0 1 2 3 Exited the loop at i = 4
|
||||
```
|
||||
|
||||
### While continue 示例
|
||||
#### 注意事项
|
||||
|
||||
- 标签必须在当前函数内定义,命名规则与变量相同。
|
||||
- `goto` 语句应慎用,避免代码逻辑混乱,通常使用循环或条件语句代替。
|
||||
|
||||
#### 设置数组大小
|
||||
|
||||
```c
|
||||
int i = 0;
|
||||
|
||||
while (i < 10) {
|
||||
i++;
|
||||
if (i == 4) {
|
||||
continue;
|
||||
}
|
||||
printf("%d\n", i);
|
||||
}
|
||||
```
|
||||
|
||||
### 数组 Arrays
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
printf("%d", myNumbers[0]);
|
||||
// 输出 25
|
||||
```
|
||||
|
||||
更改数组元素
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
myNumbers[0] = 33;
|
||||
|
||||
printf("%d", myNumbers[0]);
|
||||
```
|
||||
|
||||
循环遍历数组
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
printf("%d\n", myNumbers[i]);
|
||||
}
|
||||
```
|
||||
|
||||
设置数组大小
|
||||
|
||||
```c
|
||||
// 声明一个由四个整数组成的数组:
|
||||
// 声明一个由四个整数组成的数组
|
||||
int myNumbers[4];
|
||||
|
||||
// 添加元素
|
||||
myNumbers[0] = 25;
|
||||
myNumbers[1] = 50;
|
||||
@ -467,6 +634,35 @@ switch(day){
|
||||
}
|
||||
```
|
||||
|
||||
### 数组 Arrays
|
||||
|
||||
#### 定义和访问数组元素
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
printf("%d", myNumbers[0]); // 输出 25
|
||||
```
|
||||
|
||||
#### 更改数组元素
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
myNumbers[0] = 33;
|
||||
printf("%d", myNumbers[0]); // 输出 33
|
||||
```
|
||||
|
||||
#### 循环遍历数组
|
||||
|
||||
```c
|
||||
int myNumbers[] = {25, 50, 75, 100};
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
printf("%d\n", myNumbers[i]);
|
||||
}
|
||||
// 输出 -> 25 50 75 100
|
||||
```
|
||||
|
||||
### 用户输入
|
||||
|
||||
```c
|
||||
@ -498,39 +694,27 @@ printf("Hello %s.", firstName);
|
||||
|
||||
### 内存地址
|
||||
|
||||
创建变量时,会为该变量分配一个内存地址
|
||||
创建变量时,会为该变量分配一个内存地址。
|
||||
|
||||
```c
|
||||
int myAge = 43;
|
||||
|
||||
printf("%p", &myAge);
|
||||
// 输出:0x7ffe5367e044
|
||||
// 输出 myAge 的内存地址,例如:0x7ffe5367e044
|
||||
```
|
||||
|
||||
要访问它,请使用引用运算符 (`&`)
|
||||
要访问变量的内存地址,请使用引用运算符 (`&`)。
|
||||
|
||||
### 创建指针
|
||||
|
||||
```c
|
||||
int myAge = 43; // 一个 int 变量
|
||||
printf("%d", myAge); // 输出 myAge(43)的值
|
||||
|
||||
// 输出 myAge 的内存地址(0x7ffe5367e044)
|
||||
printf("%p", &myAge);
|
||||
```
|
||||
|
||||
### 指针变量
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
```c
|
||||
int myAge = 43; // 一个 int 变量
|
||||
int* ptr = &myAge; // 名为 ptr 的指针变量,用于存储 myAge 的地址
|
||||
int myAge = 43; // 一个 int 变量
|
||||
int *ptr = &myAge; // 创建指向 myAge 的指针
|
||||
|
||||
printf("%d\n", myAge); // 输出 myAge (43) 的值
|
||||
|
||||
printf("%p\n", &myAge); // 输出 myAge 的内存地址(0x7ffe5367e044)
|
||||
|
||||
printf("%p\n", ptr); // 用指针(0x7ffe5367e044)输出myAge的内存地址
|
||||
printf("%d\n", myAge); // 输出 myAge 的值 -> 43
|
||||
printf("%p\n", &myAge); // 输出 myAge 的内存地址,例如:0x7ffe5367e044
|
||||
printf("%p\n", ptr); // 输出指针 ptr 的值(即 myAge 的内存地址)
|
||||
printf("%d\n", *ptr); // 通过指针访问 myAge 的值 -> 43
|
||||
```
|
||||
|
||||
### 取消引用
|
||||
@ -546,6 +730,18 @@ printf("%p\n", ptr);
|
||||
printf("%d\n", *ptr);
|
||||
```
|
||||
|
||||
### 指针变量
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
```c
|
||||
int myAge = 43; // 一个 int 变量
|
||||
int* ptr = &myAge; // 名为 ptr 的指针变量,用于存储 myAge 的地址
|
||||
|
||||
printf("%d\n", myAge); // 输出 myAge (43) 的值
|
||||
printf("%p\n", &myAge); // 输出 myAge 的内存地址(0x7ffe5367e044)
|
||||
printf("%p\n", ptr); // 用指针(0x7ffe5367e044)输出myAge的内存地址
|
||||
```
|
||||
|
||||
运算符
|
||||
---
|
||||
|
||||
@ -888,46 +1084,78 @@ int main(void) {
|
||||
### Warning 和 Error
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
在 C 语言中,警告(Warning)和错误(Error)是编译器用于标识代码潜在问题或阻止代码编译的两种机制
|
||||
在 C 语言中,警告(Warning)和错误(Error)是编译器用于标识代码潜在问题或阻止代码编译的机制。
|
||||
|
||||
#### 警告
|
||||
|
||||
**警告**:
|
||||
警告提示代码中可能存在的问题,但不会阻止代码编译。处理警告可以提升代码质量和可移植性。
|
||||
|
||||
**常见警告示例**:
|
||||
1. 未使用的变量
|
||||
`int x; printf("%d",x);`
|
||||
2. 类型隐式转换(可能导致数据丢失)
|
||||
`int x = 3.14; //浮点数被隐式转换`
|
||||
`int a = 2147483647 + 1; //可能溢出`
|
||||
3. 函数声明与定义不匹配
|
||||
#### **常见警告示例**
|
||||
|
||||
**错误**:
|
||||
警告提示代码中可能存在的问题,但不会阻止代码编译。处理警告可以提升代码质量和可移植性。
|
||||
未使用的变量
|
||||
|
||||
```c
|
||||
int x; printf("%d", x);
|
||||
```
|
||||
|
||||
类型隐式转换(可能导致数据丢失)
|
||||
|
||||
```c
|
||||
int x = 3.14; // 浮点数被隐式转换
|
||||
int a = 2147483647 + 1; // 可能溢出
|
||||
```
|
||||
|
||||
函数声明与定义不匹配
|
||||
|
||||
#### 错误
|
||||
|
||||
错误会阻止代码编译,必须修复才能继续编译。
|
||||
|
||||
**常见错误示例**:
|
||||
1. 语法错误(如缺少分号)
|
||||
`int x=1 `
|
||||
2. 函数定义冲突
|
||||
```C
|
||||
|
||||
语法错误(如缺少分号)
|
||||
|
||||
```c
|
||||
int x = 1
|
||||
```
|
||||
|
||||
函数定义冲突
|
||||
|
||||
```c
|
||||
void func(int);
|
||||
void func(double);
|
||||
```
|
||||
3. 函数或变量未定义
|
||||
`y = 10; printf("%d",y);`
|
||||
4. 头文件缺失或冲突
|
||||
`#include <unknown.h>`
|
||||
|
||||
**使用编译器指令控制警告和错误**:
|
||||
1. 抑制警告
|
||||
函数或变量未定义
|
||||
|
||||
```c
|
||||
y = 10; printf("%d", y);
|
||||
```
|
||||
|
||||
头文件缺失或冲突
|
||||
|
||||
```c
|
||||
#include <unknown.h>
|
||||
```
|
||||
|
||||
### 使用编译器指令控制警告和错误
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
#### 抑制警告
|
||||
|
||||
可以使用编译器选项来关闭特定的警告,例如在 GCC 中:
|
||||
```GCC
|
||||
|
||||
```sh
|
||||
gcc -w file.c # 禁用所有警告
|
||||
gcc -Wall file.c # 启用所有常见警告
|
||||
gcc -Werror file.c # 将警告视为错误
|
||||
```
|
||||
2. 使用 #pragma 控制警告
|
||||
在某些编译器中,可以使用`#pragma`指令启用或禁用警告
|
||||
```C
|
||||
|
||||
#### 使用 `#pragma` 控制警告
|
||||
|
||||
在某些编译器中,可以使用 `#pragma` 指令启用或禁用警告:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
#pragma warning(disable : 4996) // 禁用警告(适用于 MSVC 编译器)
|
||||
|
||||
@ -937,7 +1165,8 @@ int main() {
|
||||
}
|
||||
```
|
||||
|
||||
**总结**
|
||||
#### 总结
|
||||
|
||||
| 区别点 | Warning(警告) | Error(错误) |
|
||||
|------------------|----------------------------------------|----------------------------------------|
|
||||
| 严重程度 | 程序可继续编译,但可能存在隐患 | 编译无法完成,必须修复 |
|
||||
@ -946,7 +1175,6 @@ int main() {
|
||||
| 修复必要性 | 可选择修复,但建议修复以避免潜在问题 | 必须修复才能继续编译 |
|
||||
| 编译器选项调整 | 可以忽略或转换为错误(如 `-Werror`) | 无法调整,必须修复 |
|
||||
|
||||
|
||||
函数
|
||||
----
|
||||
|
||||
|
154
docs/cpp.md
@ -30,7 +30,7 @@ Hello Quick Reference
|
||||
int number = 5; // 整数
|
||||
float f = 0.95; // 浮点数
|
||||
double PI = 3.14159; // 浮点数
|
||||
char yes = 'Y'; // 特点
|
||||
char yes = 'Y'; // 字符
|
||||
std::string s = "ME"; // 字符串(文本)
|
||||
bool isRight = true; // 布尔值
|
||||
// 常量
|
||||
@ -322,19 +322,19 @@ else
|
||||
| Example | Meaning |
|
||||
|----------------|------------------------|
|
||||
| `exp1 && exp2` | Both are true _(AND)_ |
|
||||
| `exp1 || exp2` | Either is true _(OR)_ |
|
||||
| <code>exp1 || exp2</code> | Either is true _(OR)_ |
|
||||
| `!exp` | `exp` is false _(NOT)_ |
|
||||
|
||||
#### 位运算符
|
||||
|
||||
| Operator | Description |
|
||||
|----------|-------------------------|
|
||||
| `a & b` | Binary AND |
|
||||
| `a | b` | Binary OR |
|
||||
| `a ^ b` | Binary XOR |
|
||||
| `a ~ b` | Binary One's Complement |
|
||||
| `a << b` | Binary Shift Left |
|
||||
| `a >> b` | Binary Shift Right |
|
||||
| 运算符 | 描述 |
|
||||
|--------|------|
|
||||
| `a & b` | 按位与 |
|
||||
| <code>a | b</code> | 按位或 |
|
||||
| `a ^ b` | 按位异或 |
|
||||
| `~a` | 按位取反 |
|
||||
| `a << b` | 左移 |
|
||||
| `a >> b` | 右移 |
|
||||
|
||||
### 三元运算符
|
||||
|
||||
@ -614,14 +614,14 @@ auto func = []() -> return_type { };
|
||||
```cpp
|
||||
int val1 = 123, val2 = 456;
|
||||
string str1("123"), str2(456);
|
||||
|
||||
|
||||
auto func1 = [=, &str1]() -> int
|
||||
{
|
||||
return val1 == std::stoi(str1)
|
||||
? val1 : val2;
|
||||
};
|
||||
|
||||
auto func2 = [&, val1]() -> int
|
||||
|
||||
auto func2 = [&, val1]() -> string
|
||||
{
|
||||
return str1 == std::to_string(val1)
|
||||
? str1 : str2;
|
||||
@ -646,6 +646,128 @@ std::for_each(vec.begin(), vec.end(),
|
||||
});
|
||||
```
|
||||
|
||||
## C++智能指针
|
||||
|
||||
### 智能指针基础
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```cpp
|
||||
#include <memory>
|
||||
|
||||
// 创建独占所有权的指针
|
||||
std::unique_ptr<int> p1 = std::make_unique<int>(42);
|
||||
// 不能复制,只能移动
|
||||
std::unique_ptr<int> p2 = std::move(p1);
|
||||
// p1 现在为 nullptr
|
||||
|
||||
// 创建共享所有权的指针
|
||||
std::shared_ptr<int> sp1 = std::make_shared<int>(42);
|
||||
// 可以复制,引用计数增加
|
||||
std::shared_ptr<int> sp2 = sp1;
|
||||
// 获取引用计数
|
||||
std::cout << sp1.use_count(); // 输出: 2
|
||||
|
||||
// 创建弱引用,不增加引用计数
|
||||
std::weak_ptr<int> wp = sp1;
|
||||
```
|
||||
|
||||
### unique_ptr
|
||||
|
||||
```cpp
|
||||
// 创建方式1:使用 make_unique (C++14)
|
||||
auto p1 = std::make_unique<int>(42);
|
||||
|
||||
// 创建方式2:直接构造
|
||||
std::unique_ptr<int> p2(new int(42));
|
||||
|
||||
// 访问资源
|
||||
std::cout << *p1 << std::endl;
|
||||
*p1 = 100;
|
||||
|
||||
// 获取原始指针(不转移所有权)
|
||||
int* raw = p1.get();
|
||||
|
||||
// 释放所有权并返回原始指针
|
||||
int* released = p1.release();
|
||||
// p1 现在为 nullptr
|
||||
|
||||
// 替换管理的对象
|
||||
p1.reset(new int(50));
|
||||
```
|
||||
|
||||
### shared_ptr
|
||||
|
||||
```cpp
|
||||
// 创建方式1:使用 make_shared
|
||||
auto sp1 = std::make_shared<int>(42);
|
||||
|
||||
// 创建方式2:直接构造
|
||||
std::shared_ptr<int> sp2(new int(42));
|
||||
|
||||
// 复制和共享所有权
|
||||
std::shared_ptr<int> sp3 = sp1;
|
||||
std::cout << sp1.use_count(); // 输出: 2
|
||||
|
||||
// 访问资源
|
||||
std::cout << *sp1 << std::endl;
|
||||
*sp1 = 100; // 所有指向该资源的shared_ptr都会看到这个修改
|
||||
|
||||
// 重置指针
|
||||
sp1.reset(); // sp1变为nullptr,引用计数减1
|
||||
```
|
||||
|
||||
### weak_ptr
|
||||
|
||||
```cpp
|
||||
std::shared_ptr<int> sp = std::make_shared<int>(42);
|
||||
std::weak_ptr<int> wp = sp;
|
||||
|
||||
// 检查引用对象是否存在
|
||||
if (auto locked = wp.lock()) {
|
||||
std::cout << *locked << std::endl; // 输出: 42
|
||||
} else {
|
||||
std::cout << "对象已被销毁" << std::endl;
|
||||
}
|
||||
|
||||
// 检查是否过期
|
||||
bool is_expired = wp.expired(); // false
|
||||
|
||||
// 获取引用计数
|
||||
std::cout << wp.use_count(); // 输出: 1
|
||||
|
||||
// 当所有shared_ptr都被销毁时
|
||||
sp.reset();
|
||||
if (wp.expired()) {
|
||||
std::cout << "对象已被销毁" << std::endl;
|
||||
}
|
||||
```
|
||||
|
||||
### 循环引用问题
|
||||
|
||||
```cpp
|
||||
struct Node {
|
||||
std::string name;
|
||||
std::shared_ptr<Node> next;
|
||||
// 使用weak_ptr避免循环引用
|
||||
std::weak_ptr<Node> parent;
|
||||
|
||||
Node(const std::string& n) : name(n) {}
|
||||
~Node() { std::cout << "销毁: " << name << std::endl; }
|
||||
};
|
||||
|
||||
// 创建循环引用
|
||||
void createCycle() {
|
||||
auto node1 = std::make_shared<Node>("Node1");
|
||||
auto node2 = std::make_shared<Node>("Node2");
|
||||
|
||||
node1->next = node2;
|
||||
node2->parent = node1; // 使用weak_ptr避免循环引用
|
||||
|
||||
// 函数结束时,node1和node2会被正确销毁
|
||||
// 如果parent也是shared_ptr,则会造成内存泄漏
|
||||
}
|
||||
```
|
||||
|
||||
## C++多线程
|
||||
|
||||
### 多线程介绍
|
||||
@ -926,7 +1048,7 @@ int val = result.get();
|
||||
extern double foo(int val) {}
|
||||
|
||||
std::future<double> result =
|
||||
async(foo, 5);
|
||||
std::async(foo, 5);
|
||||
|
||||
//返回值类型
|
||||
std::future_status status;
|
||||
@ -935,7 +1057,7 @@ status = result.wait_for(
|
||||
std::chrono::seconds(1)
|
||||
);
|
||||
// 等待到某一时间点
|
||||
status = result.wait_for(
|
||||
status = result.wait_until(
|
||||
std::chrono::now() +
|
||||
std::chrono::seconds(1)
|
||||
);
|
||||
@ -1108,7 +1230,7 @@ C++ 预处理器
|
||||
|
||||
```cpp
|
||||
#ifdef DEBUG
|
||||
console.log('hi');
|
||||
std::cout << "hi" << std::endl;
|
||||
#elif defined VERBOSE
|
||||
...
|
||||
#else
|
||||
|
255
docs/cs.md
@ -1321,6 +1321,261 @@ var result = students
|
||||
["Charlie","Damon","David"]
|
||||
```
|
||||
|
||||
事件和委托
|
||||
----
|
||||
|
||||
### 介绍
|
||||
|
||||
在 .NET 中,委托支持后期绑定,允许调用方在运行时提供方法的一部分,而不是在创建委托时定义完整算法,从而增强了灵活性和扩展性。
|
||||
|
||||
### 多播委托
|
||||
<!--rehype:wrap-class=col-span-2 row-span-6-->
|
||||
|
||||
我们预先提供这些可用的方法
|
||||
|
||||
```cs
|
||||
public void Sub(int x, int y)
|
||||
{
|
||||
Console.WriteLine("x-y=" + (x - y));
|
||||
}
|
||||
|
||||
public void Mul(int x, int y)
|
||||
{
|
||||
Console.WriteLine("x*y=" + (x * y));
|
||||
}
|
||||
```
|
||||
|
||||
定义一个委托类型
|
||||
|
||||
```cs
|
||||
public delegate void MyDelegate3(int x, int y);
|
||||
```
|
||||
|
||||
定义一个方法,接收委托作为参数
|
||||
|
||||
```cs
|
||||
public void MyMethod3(int x, int y, MyDelegate3 myDelegate)
|
||||
{
|
||||
myDelegate(x, y);
|
||||
}
|
||||
```
|
||||
|
||||
定义另一个委托类型
|
||||
|
||||
```cs
|
||||
public delegate void MyDelegate4(int x, int y);
|
||||
```
|
||||
|
||||
定义一个方法,接收委托作为参数
|
||||
|
||||
```cs
|
||||
public void MyMethod4(int x, int y, MyDelegate4 myDelegate)
|
||||
{
|
||||
myDelegate(x, y);
|
||||
}
|
||||
```
|
||||
|
||||
定义一个方法,接收委托作为参数
|
||||
|
||||
```cs
|
||||
public void MyMethod5(int x, int y, MyDelegate3 myDelegate, MyDelegate4 myDelegate2)
|
||||
{
|
||||
myDelegate(x, y);
|
||||
myDelegate2(x, y);
|
||||
}
|
||||
```
|
||||
|
||||
#### 多播委托
|
||||
|
||||
```cs
|
||||
MyDelegate3 myDelegate31 = new MyDelegate3(Sub);
|
||||
MyDelegate4 myDelegate41 = new MyDelegate4(Mul);
|
||||
```
|
||||
|
||||
调用 MyMethod3 方法,并传入委托作为参数
|
||||
|
||||
```cs
|
||||
MyMethod3(10, 5, myDelegate31);
|
||||
// output:
|
||||
// x-y=5
|
||||
```
|
||||
|
||||
调用 MyMethod4 方法,并传入委托作为参数
|
||||
|
||||
```cs
|
||||
MyMethod4(10, 5, myDelegate41);
|
||||
// output:
|
||||
// x*y=50
|
||||
```
|
||||
|
||||
调用 MyMethod5 方法,并传入委托作为参数
|
||||
|
||||
```cs
|
||||
MyMethod5(10, 5, myDelegate31, myDelegate41);
|
||||
// output:
|
||||
// x-y=5
|
||||
// x*y=50
|
||||
```
|
||||
|
||||
### 定义委托类型
|
||||
|
||||
使用 `delegate` 关键字定义委托
|
||||
|
||||
```cs
|
||||
public delegate void MyDelegate(
|
||||
int x, string y
|
||||
);
|
||||
```
|
||||
|
||||
上述委托对应的函数实现应该类似:
|
||||
|
||||
```cs
|
||||
public void MyMethod(int x, string y);
|
||||
```
|
||||
|
||||
### 创建委托实例
|
||||
|
||||
```cs
|
||||
// 创建委托实例
|
||||
MyDelegate myDelegate = new MyDelegate(
|
||||
MyMethod
|
||||
);
|
||||
```
|
||||
|
||||
### 调用委托
|
||||
|
||||
```cs
|
||||
// 调用委托,传入对应类型的参数
|
||||
myDelegate(10, "Hello");
|
||||
```
|
||||
|
||||
### 委托作为参数
|
||||
|
||||
```cs
|
||||
// 定义另一个委托类型
|
||||
public delegate int MyDelegate2(
|
||||
int x, int y
|
||||
);
|
||||
|
||||
// 定义一个方法,接收委托作为参数
|
||||
public int MyMethod2(
|
||||
int x, int y, MyDelegate2 myDelegate
|
||||
)
|
||||
{
|
||||
return myDelegate(x, y);
|
||||
}
|
||||
|
||||
// 创建委托实例
|
||||
MyDelegate2 myDelegate2 = new MyDelegate2(
|
||||
Add
|
||||
);
|
||||
|
||||
// 调用 MyMethod2 方法,并传入委托作为参数
|
||||
int result = MyMethod2(
|
||||
10, 20, myDelegate2
|
||||
);
|
||||
```
|
||||
|
||||
### Action 委托
|
||||
|
||||
Action 委托的变体最多可包含 16 个参数,且返回类型为 `void`
|
||||
|
||||
```cs
|
||||
// 创建一个Action
|
||||
public Action<int, string> myAction;
|
||||
|
||||
// 给Action赋值
|
||||
myAction = (x, y) => Console.WriteLine(
|
||||
"x+y=" + (x + y)
|
||||
);
|
||||
|
||||
// 直接调用Action
|
||||
myAction(10, "Hello");
|
||||
|
||||
// 使用 null 合并运算符调用Action
|
||||
myAction?.Invoke(10, "Hello");
|
||||
```
|
||||
|
||||
### Func 委托
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
Func 委托的变体可包含最多16个参数,返回类型可以是任意类型 T
|
||||
|
||||
```cs
|
||||
// 创建一个Func,最后一个参数是返回类型
|
||||
public Func<int, int, string> myFunc;
|
||||
|
||||
// 给Func赋值
|
||||
myFunc = (x, y) => "x+y=" + (x + y);
|
||||
|
||||
// 调用Func
|
||||
string result = myFunc(10, 20);
|
||||
|
||||
// 使用 null 合并运算符调用Func
|
||||
string result2 = myFunc?.Invoke(10, 20);
|
||||
```
|
||||
|
||||
事件与委托类似,都是后期绑定机制。实际上,事件是建立在委托基础上的一种语言支持,它是 C# 对委托的封装,提供了更面向对象的编程模型,并实现了观察者模式。
|
||||
|
||||
### 事件定义
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
```cs
|
||||
// 使用 event 关键字定义事件
|
||||
public event EventHandler<EventArgs> MyEvent;
|
||||
```
|
||||
|
||||
### 事件订阅
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
我们实现定义一个方法作为事件处理器,并订阅事件
|
||||
|
||||
```cs
|
||||
public void MyEventHandler(object sender, EventArgs e)
|
||||
{
|
||||
// 事件处理逻辑
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
```cs
|
||||
// 订阅事件
|
||||
MyEvent += MyEventHandler;
|
||||
|
||||
// 取消订阅事件
|
||||
MyEvent -= MyEventHandler;
|
||||
```
|
||||
|
||||
### 事件触发
|
||||
|
||||
```cs
|
||||
// 触发事件
|
||||
MyEvent?.Invoke(this, new EventArgs());
|
||||
```
|
||||
|
||||
### 事件参数
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
```cs
|
||||
// 定义事件参数
|
||||
public class MyEventArgs : EventArgs
|
||||
{
|
||||
public int Value { get; set; }
|
||||
}
|
||||
|
||||
// 新的Handler
|
||||
public void MyEventHandler2(object sender, MyEventArgs e)
|
||||
{
|
||||
// 事件处理逻辑,这里可以获取到事件参数
|
||||
Console.WriteLine("事件参数的值:" + e.Value);
|
||||
}
|
||||
|
||||
// 触发事件
|
||||
// output:
|
||||
// 事件参数的值:10
|
||||
MyEvent?.Invoke(this, new MyEventArgs { Value = 10 });
|
||||
```
|
||||
|
||||
语法糖
|
||||
----
|
||||
|
||||
|
@ -985,6 +985,7 @@ Github emoji 图标标记
|
||||
--------
|
||||
|
||||
- [Emoji searcher](https://emoji.muan.co/) _(muan.co)_
|
||||
- [Share Emojis-With Your 🥺Fiends With An Great Way And Unique✅ |copy & download|](https://emoji-share.com/) _(emoji-share.com)_
|
||||
- [Get Emoji — All Emojis to ✂️ Copy and 📋 Paste](https://getemoji.com/) _(getemoji.com)_
|
||||
- [Emoji Guide – 🔥 The Ultimate Emoji Guide: 🌈 Meanings, 🍎 Platforms, 🆘 Codes and 😍 More](https://emojiguide.com/) _(emojiguide.com)_
|
||||
- [Full Emoji List, v15.0](https://unicode.org/emoji/charts/full-emoji-list.html) _(unicode.org)_
|
||||
|
49
docs/git.md
@ -1287,6 +1287,55 @@ Conventional Commmits
|
||||
| `test:` | 添加测试代码或修正已有的测试 |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
|
||||
patch 补丁的使用
|
||||
----
|
||||
|
||||
### 简单创建
|
||||
|
||||
```bash
|
||||
$ git diff commit_id > my.patch
|
||||
```
|
||||
|
||||
### 简单应用
|
||||
|
||||
- **检查**补丁
|
||||
|
||||
```bash
|
||||
# 检查下这个补丁能否被正常应用
|
||||
$ git apply --check path/to/my.patch
|
||||
```
|
||||
|
||||
- **使用**补丁
|
||||
|
||||
```
|
||||
# 检查通过使用该补丁
|
||||
$ git apply < path/to/my.patch
|
||||
```
|
||||
|
||||
- 若有冲突则**解决**
|
||||
|
||||
```
|
||||
# 检查不通过可以自动合入patch不冲突的代码,同时保留冲突部分
|
||||
$ git apply --reject path/to/my.patch
|
||||
```
|
||||
|
||||
<!--rehype:className=style-timeline-->
|
||||
|
||||
### Email patch 方式
|
||||
|
||||
```bash
|
||||
# 创建指定 commit sha1 id 之前的 n 次提交补丁
|
||||
$ git format-patch commit_id -n
|
||||
# 创建 300f59991f22826c8478f0c019387c4ca815b085 这个提交的patch
|
||||
$ git format-patch commit_id -1
|
||||
# 提取当前分支最上面的3次提交,生成补丁
|
||||
$ git format-patch -3
|
||||
# 发送者可使用 git-send-email 发送 git format-patch 的结果给接收者
|
||||
# 接收者保存邮件到文件 email.txt,然后应用补丁创建一个提交,会自动包含作者的信息
|
||||
$ git am < email.txt
|
||||
```
|
||||
|
||||
另见
|
||||
---
|
||||
|
||||
|
@ -851,6 +851,54 @@ ch <- 3
|
||||
|
||||
参见:[缓冲通道](https://tour.golang.org/concurrency/3)
|
||||
|
||||
### Context
|
||||
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 创建根 context
|
||||
ctx := context.Background() // 空 context,通常作为根 context
|
||||
todo := context.TODO() // 当不确定使用哪个 context 时使用
|
||||
|
||||
// 创建带取消功能的 context
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel() // 确保所有路径都调用取消函数
|
||||
|
||||
// 创建带超时的 context
|
||||
ctx, cancel = context.WithTimeout(context.Background(), 100*time.Millisecond)
|
||||
defer cancel()
|
||||
|
||||
// 创建带截止时间的 context
|
||||
deadline := time.Now().Add(200 * time.Millisecond)
|
||||
ctx, cancel = context.WithDeadline(context.Background(), deadline)
|
||||
defer cancel()
|
||||
|
||||
// 创建带值的 context
|
||||
ctx = context.WithValue(context.Background(), "key", "value")
|
||||
|
||||
// 从 context 获取值
|
||||
value := ctx.Value("key")
|
||||
fmt.Println(value)
|
||||
|
||||
// 检查 context 是否已取消
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
fmt.Println("Context canceled:", ctx.Err())
|
||||
default:
|
||||
fmt.Println("Context still valid")
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Golang 错误控制
|
||||
--------
|
||||
|
||||
|
30
docs/java.md
@ -242,10 +242,12 @@ sb.append("!");
|
||||
### 比较
|
||||
|
||||
```java
|
||||
String s1 = new String("QuickRef");
|
||||
String s1 = "QuickRef";
|
||||
String s2 = new String("QuickRef");
|
||||
s1 == s2 // false
|
||||
s1.equals(s2) // true
|
||||
s1 == s2 // false
|
||||
s1.equals(s2) // true
|
||||
// intern 方法获得字符串常量池中的惟一引用
|
||||
s1 == s2.intern() // true
|
||||
"AB".equalsIgnoreCase("ab") // true
|
||||
```
|
||||
|
||||
@ -310,7 +312,7 @@ int[] a3 = new int[]{1, 2, 3};
|
||||
int[] a4 = new int[3];
|
||||
a4[0] = 1;
|
||||
a4[2] = 2;
|
||||
a4[3] = 3;
|
||||
a4[3] = 3; // 会出现索引越界异常
|
||||
```
|
||||
|
||||
### 修改 Modify
|
||||
@ -347,16 +349,16 @@ for (int a: arr) {
|
||||
### 二维数组 Multidimensional Arrays
|
||||
|
||||
```java
|
||||
int[][] matrix = { {1, 2, 3}, {4, 5} };
|
||||
int[][] matrix = {{1, 2, 3}, {4, 5}, {6}};
|
||||
int x = matrix[1][0]; // 4
|
||||
// [[1, 2, 3], [4, 5]]
|
||||
Arrays.deepToString(matrix)
|
||||
for (int i = 0; i < a.length; ++i) {
|
||||
for(int j = 0; j < a[i].length; ++j) {
|
||||
System.out.println(a[i][j]);
|
||||
}
|
||||
System.out.Println(Arrays.deepToString(matrix));
|
||||
// 输出: [[1, 2, 3], [4, 5], [6]]
|
||||
for (int i = 0; i < matrix.length; ++i) {
|
||||
for(int j = 0; j < matrix[i].length; ++j) {
|
||||
System.out.println(matrix[i][j]);
|
||||
}
|
||||
}
|
||||
// 输出: 1 2 3 4 5 6 7
|
||||
// 输出: 1 2 3 4 5 6
|
||||
```
|
||||
|
||||
### 排序 Sort
|
||||
@ -561,7 +563,7 @@ do {
|
||||
// 输出: 01234
|
||||
```
|
||||
|
||||
### 继续声明
|
||||
### 继续语句
|
||||
|
||||
```java
|
||||
for (int i = 0; i < 5; i++) {
|
||||
@ -570,7 +572,7 @@ for (int i = 0; i < 5; i++) {
|
||||
}
|
||||
System.out.print(i);
|
||||
}
|
||||
// 输出: 01245
|
||||
// 输出: 0124
|
||||
```
|
||||
|
||||
### 中断语句
|
||||
|
@ -11,17 +11,18 @@ LaTeX 备忘清单
|
||||
[LaTeX](https://www.latex-project.org/) 基于 TEX 的排版系统,适用于生成高印刷质量的科技和数学、物理文档。
|
||||
|
||||
- [LaTeX 官网](https://www.latex-project.org/) _(latex-project.org)_
|
||||
- [KaTeX 官网](https://katex.org/) _(katex.org)_
|
||||
|
||||
而 [KaTeX](https://katex.org/) 只处理 LaTeX 的数学符号的一个更小的子集,用于 web 上展示
|
||||
|
||||
- [KaTeX 官网](https://katex.org/) _(katex.org)_
|
||||
|
||||
### 示例
|
||||
|
||||
```KaTeX
|
||||
% \f is defined as #1f(#2) using the macro
|
||||
f\relax(x) = \int_{-\infty}^\infty
|
||||
f\hat\xi\,e^{2 \pi i \xi x}
|
||||
\,d\xi
|
||||
\,\mathrm{d}\xi
|
||||
```
|
||||
|
||||
---
|
||||
@ -30,7 +31,7 @@ f\relax(x) = \int_{-\infty}^\infty
|
||||
% \f is defined as #1f(#2) using the macro
|
||||
f\relax(x) = \int_{-\infty}^\infty
|
||||
f\hat\xi\,e^{2 \pi i \xi x}
|
||||
\,d\xi
|
||||
\,\mathrm{d}\xi
|
||||
```
|
||||
|
||||
### 行内展示
|
||||
@ -42,10 +43,10 @@ f\relax(x) = \int_{-\infty}^\infty
|
||||
|
||||
基于 KaTeX 在一行展示示例: `KaTeX:\int_0^\infty x^2 dx`
|
||||
|
||||
Supported Functions
|
||||
支持的语法
|
||||
---
|
||||
|
||||
### Accents
|
||||
### 标注符号
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
:- | :- | :-
|
||||
@ -74,7 +75,7 @@ Supported Functions
|
||||
`KaTeX:\^{a}` <pur>`\^{a}`</pur> | `KaTeX:\u{a}` <pur>`\u{a}`</pur> |
|
||||
`KaTeX:\r{a}` <pur>`\r{a}`</pur> |
|
||||
|
||||
### Delimiter Sizing
|
||||
### 定界符大小调整
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
@ -90,7 +91,7 @@ Supported Functions
|
||||
`\right` | `\bigg` | `\biggl` | `\biggm` | `\biggr`
|
||||
`\` | `\Bigg` | `\Biggl` | `\Biggm` | `\Biggr`
|
||||
|
||||
### 希腊和希伯来字母 Greek and Hebrew letters
|
||||
### 希腊和希伯来字母
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
预览 | 方法 | 预览 | 方法 | 预览 | 方法 | 预览| 方法 | 预览 | 方法 | 预览 | 方法
|
||||
@ -193,7 +194,7 @@ Supported Functions
|
||||
\sum_{\mathclap{1\le i\le j\le n}} x_{ij}
|
||||
```
|
||||
|
||||
### `KaTex:\LaTeX` math constructs
|
||||
### `KaTex:\LaTeX` 数学结构
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
预览 | 方法 | 预览 | 方法 | 预览 | 方法
|
||||
@ -203,7 +204,7 @@ Supported Functions
|
||||
| `KaTex:\sqrt{abc}` | <pur>`\sqrt{abc}`</pur> | `KaTex:\widehat{abc}` | <pur>`\widehat{abc}`</pur> | `KaTex:\overbrace{abc}` | <pur>`\overbrace{abc}`</pur> |
|
||||
| `KaTex:\sqrt[n]{abc}` | <pur>`\sqrt[n]{abc}`</pur> | `KaTex:\widetilde{abc}` | <pur>`\widetilde{abc}`</pur> | `KaTex:\underbrace{abc}` | <pur>`\underbrace{abc}`</pur> |
|
||||
|
||||
### 分隔符 Delimiters
|
||||
### 分隔符
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
预览 | 方法 | 预览 | 方法 | 预览 | 方法 | 预览| 方法 | 预览 | 方法
|
||||
@ -547,10 +548,10 @@ Supported Functions
|
||||
`KaTex:\circledS` | <pur>`\circledS`</pur> | `KaTex:\spadesuit` | <pur>`\spadesuit`</pur> | `KaTex:\spades` | <pur>`\spades`</pur> |
|
||||
`KaTex:\text{\textcircled a}` | <pur>`\text{\textcircled a}`</pur> | `KaTex:\maltese` | <pur>`\maltese`</pur> | `KaTex:\minuso` | <pur>`\minuso`</pur> |
|
||||
|
||||
Environments
|
||||
环境
|
||||
---
|
||||
|
||||
### Environments 1
|
||||
### 环境 1
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -569,7 +570,7 @@ Environments
|
||||
```
|
||||
<!--rehype:style=flex:1;-->
|
||||
|
||||
### Environments 2
|
||||
### 环境 2
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -587,7 +588,7 @@ Environments
|
||||
\end{array}
|
||||
```
|
||||
|
||||
### Environments 3
|
||||
### 环境 3
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -606,7 +607,7 @@ Environments
|
||||
```
|
||||
<!--rehype:style=flex:1;-->
|
||||
|
||||
### Environments 4
|
||||
### 环境 4
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -623,7 +624,7 @@ Environments
|
||||
\end{bmatrix}
|
||||
```
|
||||
|
||||
### Environments 5
|
||||
### 环境 5
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -642,7 +643,7 @@ Environments
|
||||
```
|
||||
<!--rehype:style=flex:1;-->
|
||||
|
||||
### Environments 6
|
||||
### 环境 6
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -661,7 +662,7 @@ Environments
|
||||
```
|
||||
<!--rehype:style=flex:1;-->
|
||||
|
||||
### Environments 7
|
||||
### 环境 7
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -678,7 +679,7 @@ Environments
|
||||
\end{Bmatrix}
|
||||
```
|
||||
|
||||
### Environments 8
|
||||
### 环境 8
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -702,7 +703,7 @@ Environments
|
||||
\end{array}
|
||||
```
|
||||
|
||||
### Environments 9
|
||||
### 环境 9
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -719,7 +720,7 @@ x = \begin{cases}
|
||||
\end{cases}
|
||||
```
|
||||
|
||||
### Environments 10
|
||||
### 环境 10
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -736,7 +737,7 @@ x = \begin{cases}
|
||||
\end{rcases}⇒…
|
||||
```
|
||||
|
||||
### Environments 11
|
||||
### 环境 11
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -754,7 +755,7 @@ x = \begin{cases}
|
||||
\end{smallmatrix}
|
||||
```
|
||||
|
||||
### Environments 12
|
||||
### 环境 12
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -774,7 +775,7 @@ x = \begin{cases}
|
||||
\end{subarray}}
|
||||
```
|
||||
|
||||
### Environments 13
|
||||
### 环境 13
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -794,7 +795,7 @@ x = \begin{cases}
|
||||
\end{equation}
|
||||
```
|
||||
|
||||
### Environments 14
|
||||
### 环境 14
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -812,7 +813,7 @@ x = \begin{cases}
|
||||
\end{align}
|
||||
```
|
||||
|
||||
### Environments 15
|
||||
### 环境 15
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -830,7 +831,7 @@ x = \begin{cases}
|
||||
\end{gather}
|
||||
```
|
||||
|
||||
### Environments 16
|
||||
### 环境 16
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -848,7 +849,7 @@ x = \begin{cases}
|
||||
\end{alignat}
|
||||
```
|
||||
|
||||
### Environments 17
|
||||
### 环境 17
|
||||
<!--rehype:body-style=display: flex;flex-direction: row;justify-content: flex-start;-->
|
||||
|
||||
```KaTeX
|
||||
@ -881,7 +882,7 @@ x = \begin{cases}
|
||||
`KaTex:\colorbox{aqua}{$F=ma$}` | <pur>`\colorbox{aqua}{$F=ma$}`</pur>
|
||||
`KaTex:\fcolorbox{red}{aqua}{$F=ma$}` | <pur>`\fcolorbox{red}{aqua}{$F=ma$}`</pur>
|
||||
|
||||
### Font 字体
|
||||
### 字体
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
:- | :- | :- | :- | :- | :-
|
||||
@ -892,7 +893,7 @@ x = \begin{cases}
|
||||
`KaTex:\Large AB` | <pur>`\Large AB`</pur> | `KaTex:\Large AB` | <pur>`\Large AB`</pur> | `KaTex:\scriptsize AB` | <pur>\scriptsize AB</pur>
|
||||
`KaTex:\large AB` | <pur>`\large AB`</pur> | `KaTex:\large AB` | <pur>`\large AB`</pur> | `KaTex:\tiny AB` | <pur>\tiny AB</pur>
|
||||
|
||||
### Style 样式
|
||||
### 样式
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
:- | :- | :- | :-
|
||||
|
@ -115,6 +115,17 @@ mysqldump -u user -p db_name --no-data=true --add-drop-table=false > db.sql
|
||||
mysql -u user -p db_name < db.sql
|
||||
```
|
||||
|
||||
### 错误处理 Error Handling
|
||||
|
||||
| 语句 | 描述 |
|
||||
| :----------------------- | :----------------------------- |
|
||||
| `SHOW ERRORS;` | 显示最近的错误信息 |
|
||||
| `SHOW WARNINGS;` | 显示最近的警告信息 |
|
||||
| `SHOW COUNT(*) ERRORS;` | 返回最近语句的错误数量 |
|
||||
| `SHOW COUNT(*) WARNINGS;`| 返回最近语句的警告数量 |
|
||||
| `EXPLAIN` | 分析 SQL 查询的执行计划,排查问题 |
|
||||
| `SHOW ENGINE INNODB STATUS;` | 显示 InnoDB 引擎状态,包括死锁等错误信息 |
|
||||
|
||||
MySQL 示例
|
||||
------
|
||||
|
||||
@ -613,6 +624,7 @@ MySQL 数据类型
|
||||
| `COUNT()` | 计算行数,可选择性地忽略NULL值 |
|
||||
| `MAX()` | 找出一列的最大值 |
|
||||
| `MIN()` | 找出一列的最小值 |
|
||||
| `GROUP_CONCAT()` | 将一组值连接成单一字符串,可指定分隔符,常用于分组。|
|
||||
|
||||
### 数学函数
|
||||
|
||||
|
@ -1817,7 +1817,7 @@ finally: # 在所有情况下执行
|
||||
### pyenv & pipenv
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
pvenv 用于管理python版本,pipenv 用于管理项目包版本
|
||||
pyenv 用于管理python版本,pipenv 用于管理项目包版本
|
||||
|
||||
#### pyenv
|
||||
|
||||
@ -1829,13 +1829,21 @@ curl https://pyenv.run | bash
|
||||
[更多安装方式](https://github.com/pyenv/pyenv#installation)
|
||||
|
||||
```shell
|
||||
# 查看 pyenv 可以安装的 python 版本列表
|
||||
pyenv install -l
|
||||
# 按照 3.10 的前缀显示 python 的最新版本
|
||||
pyenv latest 3.10
|
||||
|
||||
# 安装 python 版本
|
||||
pyenv install 3.10.12
|
||||
pyenv install 3.10.14
|
||||
|
||||
# 查看已安装的 python 版本
|
||||
pyenv versions
|
||||
|
||||
# 设置 python 版本
|
||||
pyenv global 3.10.12 # 全局设置
|
||||
pyenv shell 3.10.12 # 针对当前 shell session
|
||||
pyenv local 3.10.12 # 针对当前目录
|
||||
pyenv global 3.10.14 # 全局设置
|
||||
pyenv shell 3.10.14 # 针对当前 shell session
|
||||
pyenv local 3.10.14 # 针对当前目录
|
||||
```
|
||||
|
||||
#### pipenv
|
||||
|
439
docs/time-zones.md
Normal file
@ -0,0 +1,439 @@
|
||||
时区列表 备忘清单
|
||||
===
|
||||
|
||||
全部时区列表帮助用户快速查看和管理世界各地时区的备忘参考清单
|
||||
|
||||
全部时区列表
|
||||
----
|
||||
|
||||
### 完整代码
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
UTC (协调世界时) | 时区 | 国家 | 时区主要城市
|
||||
---|---|---|---
|
||||
UTC-11 | Pacific/Midway | United States Minor Outlying Islands |
|
||||
UTC-11 | Pacific/Niue | Niue | Alofi
|
||||
UTC-11 | Pacific/Pago_Pago | American Samoa | Pago Pago, Tāfuna, Ta`ū, Taulaga
|
||||
UTC-10 | America/Adak | United States |
|
||||
UTC-10 | Pacific/Honolulu | United States | Honolulu, East Honolulu, Pearl City, Hilo, Kailua
|
||||
UTC-10 | Pacific/Rarotonga | Cook Islands | Avarua
|
||||
UTC-10 | Pacific/Tahiti | French Polynesia | Faaa, Papeete, Punaauia, Pirae, Mahina
|
||||
UTC-9:30 | Pacific/Marquesas | French Polynesia | Taiohae
|
||||
UTC-9 | America/Anchorage | United States | Anchorage, Fairbanks, Eagle River, Badger, Knik-Fairview
|
||||
UTC-9 | America/Juneau | United States | Juneau
|
||||
UTC-9 | America/Metlakatla | United States |
|
||||
UTC-9 | America/Nome | United States |
|
||||
UTC-9 | America/Sitka | United States | Sitka, Ketchikan
|
||||
UTC-9 | America/Yakutat | United States |
|
||||
UTC-9 | Pacific/Gambier | French Polynesia |
|
||||
UTC-8 | America/Los_Angeles | United States | Los Angeles, San Diego, San Jose, San Francisco, Seattle
|
||||
UTC-8 | America/Tijuana | Mexico | Tijuana, Mexicali, Ensenada, Rosarito, Tecate
|
||||
UTC-8 | America/Vancouver | Canada | Vancouver, Surrey, Okanagan, Victoria, Burnaby
|
||||
UTC-8 | Pacific/Pitcairn | Pitcairn | Adamstown
|
||||
UTC-7 | America/Boise | United States | Boise, Meridian, Nampa, Idaho Falls, Pocatello
|
||||
UTC-7 | America/Cambridge_Bay | Canada |
|
||||
UTC-7 | America/Ciudad_Juarez | Mexico | Ciudad Juárez, Ascensión, Ascención, Puerto Palomas
|
||||
UTC-7 | America/Creston | Canada | Creston
|
||||
UTC-7 | America/Dawson | Canada |
|
||||
UTC-7 | America/Dawson_Creek | Canada | Fort St. John, Dawson Creek
|
||||
UTC-7 | America/Denver | United States | Denver, El Paso, Albuquerque, Colorado Springs, Aurora
|
||||
UTC-7 | America/Edmonton | Canada | Calgary, Edmonton, Shaughnessy, Red Deer, Sherwood Park
|
||||
UTC-7 | America/Fort_Nelson | Canada |
|
||||
UTC-7 | America/Hermosillo | Mexico | Hermosillo, Ciudad Obregón, Nogales, San Luis Río Colorado, Navojoa
|
||||
UTC-7 | America/Inuvik | Canada |
|
||||
UTC-7 | America/Mazatlan | Mexico | Culiacán, Mazatlán, Tepic, Los Mochis, La Paz
|
||||
UTC-7 | America/Phoenix | United States | Phoenix, Tucson, Mesa, Chandler, Gilbert
|
||||
UTC-7 | America/Whitehorse | Canada | Whitehorse
|
||||
UTC-7 | America/Yellowknife | Canada | Yellowknife
|
||||
UTC-6 | America/Bahia_Banderas | Mexico | Mezcales, San Vicente, Bucerías, Valle de Banderas
|
||||
UTC-6 | America/Belize | Belize | Belize City, San Ignacio, San Pedro, Orange Walk, Corozal
|
||||
UTC-6 | America/Chicago | United States | Chicago, Houston, San Antonio, Dallas, Austin
|
||||
UTC-6 | America/Chihuahua | Mexico | Chihuahua, Ciudad Delicias, Cuauhtémoc, Parral, Nuevo Casas Grandes
|
||||
UTC-6 | America/Costa_Rica | Costa Rica | San José, Limón, San Francisco, Alajuela, Liberia
|
||||
UTC-6 | America/El_Salvador | El Salvador | San Salvador, Soyapango, San Miguel, Santa Ana, Mejicanos
|
||||
UTC-6 | America/Guatemala | Guatemala | Guatemala City, Villa Nueva, Mixco, Cobán, Quetzaltenango
|
||||
UTC-6 | America/Indiana/Knox | United States |
|
||||
UTC-6 | America/Indiana/Tell_City | United States | Tell City
|
||||
UTC-6 | America/Managua | Nicaragua | Managua, León, Masaya, Chinandega, Matagalpa
|
||||
UTC-6 | America/Matamoros | Mexico | Reynosa, Heroica Matamoros, Nuevo Laredo, Piedras Negras, Ciudad Acuña
|
||||
UTC-6 | America/Menominee | United States | Menominee, Iron Mountain, Kingsford, Ironwood
|
||||
UTC-6 | America/Merida | Mexico | Mérida, Campeche, Ciudad del Carmen, Kanasín, Valladolid
|
||||
UTC-6 | America/Mexico_City | Mexico | Mexico City, Iztapalapa, León de los Aldama, Puebla, Ecatepec de Morelos
|
||||
UTC-6 | America/Monterrey | Mexico | Monterrey, Torreón, Saltillo, Guadalupe, Victoria de Durango
|
||||
UTC-6 | America/North_Dakota/Beulah | United States |
|
||||
UTC-6 | America/North_Dakota/Center | United States |
|
||||
UTC-6 | America/North_Dakota/New_Salem | United States | Mandan
|
||||
UTC-6 | America/Ojinaga | Mexico | Manuel Ojinaga, Ojinaga
|
||||
UTC-6 | America/Rankin_Inlet | Canada |
|
||||
UTC-6 | America/Regina | Canada | Saskatoon, Regina, Prince Albert, Moose Jaw, North Battleford
|
||||
UTC-6 | America/Resolute | Canada |
|
||||
UTC-6 | America/Swift_Current | Canada | Swift Current
|
||||
UTC-6 | America/Tegucigalpa | Honduras | Tegucigalpa, San Pedro Sula, La Ceiba, Choloma, El Progreso
|
||||
UTC-6 | America/Winnipeg | Canada | Winnipeg, Brandon, Steinbach, Kenora, Thompson
|
||||
UTC-6 | Pacific/Easter | Chile | Hanga Roa
|
||||
UTC-6 | Pacific/Galapagos | Ecuador | Puerto Ayora, Puerto Baquerizo Moreno
|
||||
UTC-5 | America/Atikokan | Canada |
|
||||
UTC-5 | America/Bogota | Colombia | Bogotá, Cali, Medellín, Barranquilla, Cartagena
|
||||
UTC-5 | America/Cancun | Mexico | Cancún, Chetumal, Playa del Carmen, Cozumel, Felipe Carrillo Puerto
|
||||
UTC-5 | America/Cayman | Cayman Islands | George Town, West Bay, Bodden Town, North Side, East End
|
||||
UTC-5 | America/Detroit | United States | Detroit, Grand Rapids, Warren, Sterling Heights, Ann Arbor
|
||||
UTC-5 | America/Eirunepe | Brazil | Eirunepé, Benjamin Constant, Envira
|
||||
UTC-5 | America/Grand_Turk | Turks and Caicos Islands | Cockburn Town
|
||||
UTC-5 | America/Guayaquil | Ecuador | Quito, Guayaquil, Cuenca, Santo Domingo de los Colorados, Ambato
|
||||
UTC-5 | America/Havana | Cuba | Havana, Santiago de Cuba, Camagüey, Holguín, Guantánamo
|
||||
UTC-5 | America/Indiana/Indianapolis | United States | Indianapolis, Fort Wayne, South Bend, Carmel, Bloomington
|
||||
UTC-5 | America/Indiana/Marengo | United States |
|
||||
UTC-5 | America/Indiana/Petersburg | United States |
|
||||
UTC-5 | America/Indiana/Vevay | United States |
|
||||
UTC-5 | America/Indiana/Vincennes | United States | Jasper, Washington, Huntingburg
|
||||
UTC-5 | America/Indiana/Winamac | United States |
|
||||
UTC-5 | America/Iqaluit | Canada | Iqaluit
|
||||
UTC-5 | America/Jamaica | Jamaica | Kingston, New Kingston, Spanish Town, Portmore, Montego Bay
|
||||
UTC-5 | America/Kentucky/Louisville | United States | Louisville, Jeffersonville, New Albany, Jeffersontown, Pleasure Ridge Park
|
||||
UTC-5 | America/Kentucky/Monticello | United States | Monticello
|
||||
UTC-5 | America/Lima | Peru | Lima, Callao, Arequipa, Trujillo, Chiclayo
|
||||
UTC-5 | America/Nassau | Bahamas | Nassau, Lucaya, Freeport, West End, Cooper’s Town
|
||||
UTC-5 | America/New_York | United States | New York City, Brooklyn, Queens, Philadelphia, Manhattan
|
||||
UTC-5 | America/Panama | Panama | Panamá, San Miguelito, Juan Díaz, David, Arraiján
|
||||
UTC-5 | America/Port-au-Prince | Haiti | Port-au-Prince, Carrefour, Delmas 73, Port-de-Paix, Pétionville
|
||||
UTC-5 | America/Rio_Branco | Brazil | Rio Branco, Cruzeiro do Sul, Senador Guiomard, Sena Madureira, Tarauacá
|
||||
UTC-5 | America/Toronto | Canada | Toronto, Montréal, Ottawa, Mississauga, Brampton
|
||||
UTC-4 | America/Anguilla | Anguilla | The Valley, Blowing Point Village, Sandy Ground Village, The Quarter, Sandy Hill
|
||||
UTC-4 | America/Antigua | Antigua and Barbuda | Saint John’s, Piggotts, Bolands, Codrington, Parham
|
||||
UTC-4 | America/Aruba | Aruba | Oranjestad, Tanki Leendert, San Nicolas, Santa Cruz, Paradera
|
||||
UTC-4 | America/Asuncion | Paraguay | Asunción, Ciudad del Este, San Lorenzo, Capiatá, Lambaré
|
||||
UTC-4 | America/Barbados | Barbados | Bridgetown, Speightstown, Oistins, Bathsheba, Holetown
|
||||
UTC-4 | America/Blanc-Sablon | Canada |
|
||||
UTC-4 | America/Boa_Vista | Brazil | Boa Vista
|
||||
UTC-4 | America/Campo_Grande | Brazil | Campo Grande, Dourados, Corumbá, Três Lagoas, Ponta Porã
|
||||
UTC-4 | America/Caracas | Venezuela | Caracas, Maracaibo, Maracay, Valencia, Barquisimeto
|
||||
UTC-4 | America/Cuiaba | Brazil | Cuiabá, Várzea Grande, Rondonópolis, Sinop, Barra do Garças
|
||||
UTC-4 | America/Curacao | Curacao | Willemstad, Sint Michiel Liber
|
||||
UTC-4 | America/Dominica | Dominica | Roseau, Portsmouth, Berekua, Saint Joseph, Wesley
|
||||
UTC-4 | America/Glace_Bay | Canada | Sydney, Glace Bay, Sydney Mines
|
||||
UTC-4 | America/Goose_Bay | Canada | Happy Valley-Goose Bay, Labrador City
|
||||
UTC-4 | America/Grenada | Grenada | Saint George's, Gouyave, Grenville, Victoria, Saint David’s
|
||||
UTC-4 | America/Guadeloupe | Guadeloupe | Les Abymes, Baie-Mahault, Le Gosier, Petit-Bourg, Sainte-Anne
|
||||
UTC-4 | America/Guyana | Guyana | Georgetown, Linden, New Amsterdam, Anna Regina, Bartica
|
||||
UTC-4 | America/Halifax | Canada | Halifax, Dartmouth, Charlottetown, Lower Sackville, Cole Harbour
|
||||
UTC-4 | America/Kralendijk | Bonaire, Saint Eustatius and Saba | Kralendijk, Oranjestad, The Bottom
|
||||
UTC-4 | America/La_Paz | Bolivia | La Paz, Santa Cruz de la Sierra, Cochabamba, Sucre, Oruro
|
||||
UTC-4 | America/Lower_Princes | Sint Maarten | Cul de Sac, Lower Prince’s Quarter, Koolbaai, Philipsburg
|
||||
UTC-4 | America/Manaus | Brazil | Manaus, Itacoatiara, Parintins, Manacapuru, Coari
|
||||
UTC-4 | America/Marigot | Saint Martin | Marigot
|
||||
UTC-4 | America/Martinique | Martinique | Fort-de-France, Le Lamentin, Le Robert, Sainte-Marie, Le François
|
||||
UTC-4 | America/Moncton | Canada | Moncton, Saint John, Fredericton, Dieppe, Miramichi
|
||||
UTC-4 | America/Montserrat | Montserrat | Brades, Saint Peters, Plymouth
|
||||
UTC-4 | America/Porto_Velho | Brazil | Porto Velho, Ji Paraná, Vilhena, Ariquemes, Cacoal
|
||||
UTC-4 | America/Port_of_Spain | Trinidad and Tobago | Chaguanas, Mon Repos, San Fernando, Port of Spain, Rio Claro
|
||||
UTC-4 | America/Puerto_Rico | Puerto Rico | San Juan, Bayamón, Carolina, Ponce, Arecibo
|
||||
UTC-4 | America/Santiago | Chile | Santiago, Puente Alto, Antofagasta, Viña del Mar, Valparaíso
|
||||
UTC-4 | America/Santo_Domingo | Dominican Republic | Santo Domingo, Santiago de los Caballeros, Santo Domingo Oeste, Santo Domingo Este, San Pedro de Macorís
|
||||
UTC-4 | America/St_Barthelemy | Saint Barthelemy | Gustavia
|
||||
UTC-4 | America/St_Kitts | Saint Kitts and Nevis | Basseterre, Fig Tree, Market Shop, Saint Paul’s, Middle Island
|
||||
UTC-4 | America/St_Lucia | Saint Lucia | Castries, Bisee, Vieux Fort, Micoud, Soufrière
|
||||
UTC-4 | America/St_Thomas | U.S. Virgin Islands | Saint Croix, Charlotte Amalie, Cruz Bay
|
||||
UTC-4 | America/St_Vincent | Saint Vincent and the Grenadines | Kingstown, Georgetown, Barrouallie, Port Elizabeth, Chateaubelair
|
||||
UTC-4 | America/Thule | Greenland |
|
||||
UTC-4 | America/Tortola | British Virgin Islands | Road Town
|
||||
UTC-4 | Atlantic/Bermuda | Bermuda | Hamilton
|
||||
UTC-3:30 | America/St_Johns | Canada | St. John's, Mount Pearl, Corner Brook, Conception Bay South, Grand Falls-Windsor
|
||||
UTC-3 | America/Araguaina | Brazil | Palmas, Araguaína, Gurupi, Miracema do Tocantins, Taguatinga
|
||||
UTC-3 | America/Argentina/Buenos_Aires | Argentina | Buenos Aires, Mar del Plata, Bahía Blanca, Merlo, Quilmes
|
||||
UTC-3 | America/Argentina/Catamarca | Argentina | Catamarca, Comodoro Rivadavia, Trelew, Puerto Madryn, Esquel
|
||||
UTC-3 | America/Argentina/Cordoba | Argentina | Córdoba, Rosario, Santa Fe, Corrientes, Posadas
|
||||
UTC-3 | America/Argentina/Jujuy | Argentina | San Salvador de Jujuy, San Pedro de Jujuy, Libertador General San Martín, Palpalá, La Quiaca
|
||||
UTC-3 | America/Argentina/La_Rioja | Argentina | La Rioja, Chilecito, Arauco, Chamical
|
||||
UTC-3 | America/Argentina/Mendoza | Argentina | San Rafael, Mendoza, San Martín
|
||||
UTC-3 | America/Argentina/Rio_Gallegos | Argentina | Río Gallegos, Caleta Olivia, Pico Truncado, Puerto Deseado, Las Heras
|
||||
UTC-3 | America/Argentina/Salta | Argentina | Salta, Neuquén, Santa Rosa, San Carlos de Bariloche, Cipolletti
|
||||
UTC-3 | America/Argentina/San_Juan | Argentina | San Juan, Chimbas, Santa Lucía, Pocito, Caucete
|
||||
UTC-3 | America/Argentina/San_Luis | Argentina | San Luis, Villa Mercedes, La Punta, Merlo, Justo Daract
|
||||
UTC-3 | America/Argentina/Tucuman | Argentina | San Miguel de Tucumán, Yerba Buena, Tafí Viejo, Alderetes, Aguilares
|
||||
UTC-3 | America/Argentina/Ushuaia | Argentina | Ushuaia, Río Grande
|
||||
UTC-3 | America/Bahia | Brazil | Salvador, Feira de Santana, Vitória da Conquista, Itabuna, Camaçari
|
||||
UTC-3 | America/Belem | Brazil | Belém, Macapá, Ananindeua, Parauapebas, Marabá
|
||||
UTC-3 | America/Cayenne | French Guiana | Cayenne, Matoury, Saint-Laurent-du-Maroni, Kourou, Rémire-Montjoly
|
||||
UTC-3 | America/Fortaleza | Brazil | Fortaleza, São Luís, Natal, Teresina, João Pessoa
|
||||
UTC-3 | America/Maceio | Brazil | Maceió, Aracaju, Arapiraca, Nossa Senhora do Socorro, São Cristóvão
|
||||
UTC-3 | America/Miquelon | Saint Pierre and Miquelon | Saint-Pierre, Miquelon
|
||||
UTC-3 | America/Montevideo | Uruguay | Montevideo, Salto, Paysandú, Las Piedras, Rivera
|
||||
UTC-3 | America/Paramaribo | Suriname | Paramaribo, Lelydorp, Brokopondo, Nieuw Nickerie, Meerzorg
|
||||
UTC-3 | America/Punta_Arenas | Chile | Punta Arenas, Puerto Natales
|
||||
UTC-3 | America/Recife | Brazil | Recife, Jaboatão, Jaboatão dos Guararapes, Olinda, Paulista
|
||||
UTC-3 | America/Santarem | Brazil | Santarém, Altamira, Itaituba, Óbidos, Oriximiná
|
||||
UTC-3 | America/Sao_Paulo | Brazil | São Paulo, Rio de Janeiro, Belo Horizonte, Brasília, Curitiba
|
||||
UTC-3 | Antarctica/Palmer | Antarctica |
|
||||
UTC-3 | Antarctica/Rothera | Antarctica |
|
||||
UTC-3 | Atlantic/Stanley | Falkland Islands | Stanley
|
||||
UTC-2 | America/Noronha | Brazil |
|
||||
UTC-2 | America/Nuuk | Greenland | Nuuk, Sisimiut, Ilulissat, Qaqortoq, Aasiaat
|
||||
UTC-2 | Atlantic/South_Georgia | South Georgia and the South Sandwich Islands | Grytviken
|
||||
UTC-1 | America/Scoresbysund | Greenland |
|
||||
UTC-1 | Atlantic/Azores | Portugal | Ponta Delgada, Lagoa, Angra do Heroísmo, Rosto de Cão, Rabo de Peixe
|
||||
UTC-1 | Atlantic/Cape_Verde | Cabo Verde | Praia, Mindelo, Espargos, Assomada, Tarrafal
|
||||
UTC+0 | Africa/Abidjan | Ivory Coast | Abidjan, Abobo, Bouaké, Korhogo, Daloa
|
||||
UTC+0 | Africa/Accra | Ghana | Kumasi, Accra, Tamale, Takoradi, Sekondi
|
||||
UTC+0 | Africa/Bamako | Mali | Bamako, Ségou, Sikasso, Mopti, Koutiala
|
||||
UTC+0 | Africa/Banjul | Gambia | Serekunda, Brikama, Bununka Kunda, Sukuta, Talinding
|
||||
UTC+0 | Africa/Bissau | Guinea-Bissau | Bissau, Gabú, Bafatá, Canchungo, Bissorã
|
||||
UTC+0 | Africa/Casablanca | Morocco | Casablanca, Rabat, Fès, Sale, Marrakesh
|
||||
UTC+0 | Africa/Conakry | Guinea | Conakry, Camayenne, Nzérékoré, Kankan, Manéah
|
||||
UTC+0 | Africa/Dakar | Senegal | Dakar, Pikine, Touba, Thiès, Thiès Nones
|
||||
UTC+0 | Africa/El_Aaiun | Western Sahara | Laayoune, Dakhla, Boujdour, Laayoune Plage
|
||||
UTC+0 | Africa/Freetown | Sierra Leone | Freetown, Bo, Kenema, Koidu, Makeni
|
||||
UTC+0 | Africa/Lome | Togo | Lomé, Sokodé, Kara, Atakpamé, Kpalimé
|
||||
UTC+0 | Africa/Monrovia | Liberia | Monrovia, Gbarnga, Buchanan, Kakata, Zwedru
|
||||
UTC+0 | Africa/Nouakchott | Mauritania | Nouakchott, Nouadhibou, Dar Naim, Néma, Kaédi
|
||||
UTC+0 | Africa/Ouagadougou | Burkina Faso | Ouagadougou, Bobo-Dioulasso, Koudougou, Saaba, Ouahigouya
|
||||
UTC+0 | Africa/Sao_Tome | Sao Tome and Principe | São Tomé, Santo António
|
||||
UTC+0 | America/Danmarkshavn | Greenland |
|
||||
UTC+0 | Antarctica/Troll | Antarctica |
|
||||
UTC+0 | Atlantic/Canary | Spain | Las Palmas de Gran Canaria, Santa Cruz de Tenerife, La Laguna, Telde, Arona
|
||||
UTC+0 | Atlantic/Faroe | Faroe Islands | Tórshavn, Klaksvík, Fuglafjørður, Miðvágur, Tvøroyri
|
||||
UTC+0 | Atlantic/Madeira | Portugal | Funchal, Câmara de Lobos, São Martinho, Caniço, Machico
|
||||
UTC+0 | Atlantic/Reykjavik | Iceland | Reykjavík, Kópavogur, Hafnarfjörður, Reykjanesbær, Akureyri
|
||||
UTC+0 | Atlantic/St_Helena | Saint Helena | Jamestown, Georgetown, Edinburgh of the Seven Seas
|
||||
UTC+0 | Europe/Dublin | Ireland | Dublin, South Dublin, Cork, Limerick, Galway
|
||||
UTC+0 | Europe/Guernsey | Guernsey | Saint Peter Port, Saint Sampson, St Martin, St Anne, Saint Saviour
|
||||
UTC+0 | Europe/Isle_of_Man | Isle of Man | Douglas, Ramsey, Peel, Port Erin, Castletown
|
||||
UTC+0 | Europe/Jersey | Jersey | Saint Helier, Le Hocq
|
||||
UTC+0 | Europe/Lisbon | Portugal | Lisbon, Porto, Amadora, Braga, Setúbal
|
||||
UTC+0 | Europe/London | United Kingdom | London, Birmingham, Liverpool, Glasgow, Sheffield
|
||||
UTC+1 | Africa/Algiers | Algeria | Algiers, Oran, Constantine, Annaba, Blida
|
||||
UTC+1 | Africa/Bangui | Central African Republic | Bangui, Bimbo, Bégoua, Carnot, Berbérati
|
||||
UTC+1 | Africa/Brazzaville | Republic of the Congo | Brazzaville, Pointe-Noire, Dolisie, Nkayi, Kayes
|
||||
UTC+1 | Africa/Ceuta | Spain | Melilla
|
||||
UTC+1 | Africa/Douala | Cameroon | Douala, Yaoundé, Bamenda, Bafoussam, Maroua
|
||||
UTC+1 | Africa/Kinshasa | Democratic Republic of the Congo | Kinshasa, Kikwit, Masina, Mbandaka, Matadi
|
||||
UTC+1 | Africa/Lagos | Nigeria | Lagos, Kano, Ibadan, Port Harcourt, Benin City
|
||||
UTC+1 | Africa/Libreville | Gabon | Libreville, Port-Gentil, Franceville, Owendo, Oyem
|
||||
UTC+1 | Africa/Luanda | Angola | Luanda, Lubango, Huambo, Benguela, Cabinda
|
||||
UTC+1 | Africa/Malabo | Equatorial Guinea | Bata, Malabo, Ebebiyin, Aconibe, Añisoc
|
||||
UTC+1 | Africa/Ndjamena | Chad | N'Djamena, Moundou, Abéché, Sarh, Kelo
|
||||
UTC+1 | Africa/Niamey | Niger | Niamey, Zinder, Maradi, Agadez, Alaghsas
|
||||
UTC+1 | Africa/Porto-Novo | Benin | Cotonou, Abomey-Calavi, Porto-Novo, Parakou, Godomè
|
||||
UTC+1 | Africa/Tunis | Tunisia | Tunis, Sfax, Sousse, Kairouan, Bizerte
|
||||
UTC+1 | Africa/Windhoek | Namibia | Windhoek, Rundu, Walvis Bay, Oshakati, Swakopmund
|
||||
UTC+1 | Arctic/Longyearbyen | Svalbard and Jan Mayen | Longyearbyen, Olonkinbyen
|
||||
UTC+1 | Europe/Amsterdam | The Netherlands | Amsterdam, Rotterdam, The Hague, Utrecht, Groningen
|
||||
UTC+1 | Europe/Andorra | Andorra | Andorra la Vella, les Escaldes, Encamp, Sant Julià de Lòria, la Massana
|
||||
UTC+1 | Europe/Belgrade | Serbia | Belgrade, Pristina, Niš, Novi Sad, Prizren
|
||||
UTC+1 | Europe/Berlin | Germany | Berlin, Hamburg, Munich, Köln, Frankfurt am Main
|
||||
UTC+1 | Europe/Bratislava | Slovakia | Bratislava, Košice, Nitra, Prešov, Žilina
|
||||
UTC+1 | Europe/Brussels | Belgium | Brussels, Antwerpen, Gent, Charleroi, Liège
|
||||
UTC+1 | Europe/Budapest | Hungary | Budapest, Debrecen, Szeged, Miskolc, Pécs
|
||||
UTC+1 | Europe/Copenhagen | Denmark | Copenhagen, Århus, Odense, Aalborg, Frederiksberg
|
||||
UTC+1 | Europe/Gibraltar | Gibraltar | Gibraltar
|
||||
UTC+1 | Europe/Ljubljana | Slovenia | Ljubljana, Maribor, Kranj, Celje, Koper
|
||||
UTC+1 | Europe/Luxembourg | Luxembourg | Luxembourg, Esch-sur-Alzette, Dudelange, Schifflange, Bettembourg
|
||||
UTC+1 | Europe/Madrid | Spain | Madrid, Barcelona, Valencia, Sevilla, Zaragoza
|
||||
UTC+1 | Europe/Malta | Malta | San Pawl il-Baħar, Birkirkara, Mosta, Sliema, Qormi
|
||||
UTC+1 | Europe/Monaco | Monaco | Monaco, Monte-Carlo, La Condamine
|
||||
UTC+1 | Europe/Oslo | Norway | Oslo, Bergen, Trondheim, Stavanger, Drammen
|
||||
UTC+1 | Europe/Paris | France | Paris, Marseille, Lyon, Toulouse, Nice
|
||||
UTC+1 | Europe/Podgorica | Montenegro | Podgorica, Nikšić, Herceg Novi, Pljevlja, Budva
|
||||
UTC+1 | Europe/Prague | Czechia | Prague, Brno, Ostrava, Pilsen, Liberec
|
||||
UTC+1 | Europe/Rome | Italy | Rome, Milan, Naples, Turin, Palermo
|
||||
UTC+1 | Europe/San_Marino | San Marino | Serravalle, Borgo Maggiore, San Marino, Domagnano, Fiorentino
|
||||
UTC+1 | Europe/Sarajevo | Bosnia and Herzegovina | Sarajevo, Banja Luka, Zenica, Tuzla, Mostar
|
||||
UTC+1 | Europe/Skopje | North Macedonia | Skopje, Kumanovo, Prilep, Bitola, Čair
|
||||
UTC+1 | Europe/Stockholm | Sweden | Stockholm, Göteborg, Malmö, Uppsala, Linköping
|
||||
UTC+1 | Europe/Tirane | Albania | Tirana, Durrës, Elbasan, Vlorë, Shkodër
|
||||
UTC+1 | Europe/Vaduz | Liechtenstein | Schaan, Vaduz, Triesen, Balzers, Eschen
|
||||
UTC+1 | Europe/Vatican | Vatican | Vatican City
|
||||
UTC+1 | Europe/Vienna | Austria | Vienna, Graz, Linz, Favoriten, Donaustadt
|
||||
UTC+1 | Europe/Warsaw | Poland | Warsaw, Łódź, Kraków, Wrocław, Poznań
|
||||
UTC+1 | Europe/Zagreb | Croatia | Zagreb, Split, Rijeka, Osijek, Zadar
|
||||
UTC+1 | Europe/Zurich | Switzerland | Zürich, Genève, Basel, Lausanne, Bern
|
||||
UTC+2 | Africa/Blantyre | Malawi | Lilongwe, Blantyre, Mzuzu, Zomba, Kasungu
|
||||
UTC+2 | Africa/Bujumbura | Burundi | Bujumbura, Gitega, Ngozi, Rumonge, Cibitoke
|
||||
UTC+2 | Africa/Cairo | Egypt | Cairo, Alexandria, Giza, Shubrā al Khaymah, Port Said
|
||||
UTC+2 | Africa/Gaborone | Botswana | Gaborone, Francistown, Mogoditshane, Maun, Molepolole
|
||||
UTC+2 | Africa/Harare | Zimbabwe | Harare, Bulawayo, Chitungwiza, Mutare, Gweru
|
||||
UTC+2 | Africa/Johannesburg | South Africa | Johannesburg, Cape Town, Durban, Soweto, Pretoria
|
||||
UTC+2 | Africa/Juba | South Sudan | Juba, Winejok, Yei, Malakal, Wau
|
||||
UTC+2 | Africa/Khartoum | Sudan | Khartoum, Omdurman, Nyala, Port Sudan, Kassala
|
||||
UTC+2 | Africa/Kigali | Rwanda | Kigali, Gisenyi, Butare, Gitarama, Musanze
|
||||
UTC+2 | Africa/Lubumbashi | Democratic Republic of the Congo | Lubumbashi, Mbuji-Mayi, Kananga, Kisangani, Bukavu
|
||||
UTC+2 | Africa/Lusaka | Zambia | Lusaka, Ndola, Kitwe, Chipata, Kabwe
|
||||
UTC+2 | Africa/Maputo | Mozambique | Maputo, Matola, Nampula, Beira, Chimoio
|
||||
UTC+2 | Africa/Maseru | Lesotho | Maseru, Maputsoe, Mohale's Hoek, Mafeteng, Hlotse
|
||||
UTC+2 | Africa/Mbabane | Eswatini | Manzini, Mbabane, Big Bend, Malkerns, Nhlangano
|
||||
UTC+2 | Africa/Tripoli | Libya | Tripoli, Benghazi, Misratah, Zliten, Al Khums
|
||||
UTC+2 | Asia/Beirut | Lebanon | Beirut, Ra’s Bayrūt, Tripoli, Sidon, Tyre
|
||||
UTC+2 | Asia/Famagusta | Cyprus | Famagusta, Kyrenia, Égkomi, Protaras, Paralímni
|
||||
UTC+2 | Asia/Gaza | Palestinian Territory | Gaza, Khān Yūnis, Jabālyā, Rafaḩ, Dayr al Balaḩ
|
||||
UTC+2 | Asia/Hebron | Palestinian Territory | East Jerusalem, Hebron, Nablus, Ţūlkarm, Qalqīlyah
|
||||
UTC+2 | Asia/Jerusalem | Israel | Jerusalem, Tel Aviv, West Jerusalem, Haifa, Rishon LeTsiyyon
|
||||
UTC+2 | Asia/Nicosia | Cyprus | Nicosia, Limassol, Larnaca, Stróvolos, Káto Lakatámeia
|
||||
UTC+2 | Europe/Athens | Greece | Athens, Thessaloníki, Pátra, Piraeus, Lárisa
|
||||
UTC+2 | Europe/Bucharest | Romania | Bucharest, Sector 3, Iaşi, Sector 6, Sector 2
|
||||
UTC+2 | Europe/Chisinau | Moldova | Chisinau, Tiraspol, Bălţi, Bender, Rîbniţa
|
||||
UTC+2 | Europe/Helsinki | Finland | Helsinki, Espoo, Tampere, Oulu, Turku
|
||||
UTC+2 | Europe/Kaliningrad | Russia | Kaliningrad, Chernyakhovsk, Sovetsk, Baltiysk, Gusev
|
||||
UTC+2 | Europe/Kyiv | Ukraine | Kyiv, Kharkiv, Odesa, Dnipro, Donetsk
|
||||
UTC+2 | Europe/Mariehamn | Aland Islands | Mariehamn
|
||||
UTC+2 | Europe/Riga | Latvia | Riga, Daugavpils, Liepāja, Jelgava, Jūrmala
|
||||
UTC+2 | Europe/Sofia | Bulgaria | Sofia, Plovdiv, Varna, Burgas, Stara Zagora
|
||||
UTC+2 | Europe/Tallinn | Estonia | Tallinn, Tartu, Narva, Pärnu, Nõmme
|
||||
UTC+2 | Europe/Vilnius | Lithuania | Vilnius, Kaunas, Klaipėda, Šiauliai, Panevėžys
|
||||
UTC+3 | Africa/Addis_Ababa | Ethiopia | Addis Ababa, Jijiga, Gonder, Mek'ele, Nazrēt
|
||||
UTC+3 | Africa/Asmara | Eritrea | Asmara, Keren, Himora, Massawa, Assab
|
||||
UTC+3 | Africa/Dar_es_Salaam | Tanzania | Dar es Salaam, Mwanza, Arusha, Mbeya, Morogoro
|
||||
UTC+3 | Africa/Djibouti | Djibouti | Djibouti, Ali Sabih, Dikhil, Tadjoura, Arta
|
||||
UTC+3 | Africa/Kampala | Uganda | Kampala, Gulu, Lira, Mbarara, Jinja
|
||||
UTC+3 | Africa/Mogadishu | Somalia | Mogadishu, Borama, Hargeysa, Berbera, Kismayo
|
||||
UTC+3 | Africa/Nairobi | Kenya | Nairobi, Kakamega, Mombasa, Nakuru, Ruiru
|
||||
UTC+3 | Antarctica/Syowa | Antarctica |
|
||||
UTC+3 | Asia/Aden | Yemen | Sanaa, Aden, Al Ḩudaydah, Taiz, Mukalla
|
||||
UTC+3 | Asia/Amman | Jordan | Amman, Zarqa, Irbid, Russeifa, Wādī as Sīr
|
||||
UTC+3 | Asia/Baghdad | Iraq | Baghdad, Al Mawşil al Jadīdah, Al Başrah al Qadīmah, Mosul, Erbil
|
||||
UTC+3 | Asia/Bahrain | Bahrain | Ar Rifā‘, Manama, Al Muharraq, Dār Kulayb, Madīnat Ḩamad
|
||||
UTC+3 | Asia/Damascus | Syria | Aleppo, Damascus, Homs, Latakia, Ar Raqqah
|
||||
UTC+3 | Asia/Kuwait | Kuwait | Al Aḩmadī, Ḩawallī, As Sālimīyah, Şabāḩ as Sālim, Al Farwānīyah
|
||||
UTC+3 | Asia/Qatar | Qatar | Doha, Ar Rayyān, Umm Şalāl Muḩammad, Al Wakrah, Al Khawr
|
||||
UTC+3 | Asia/Riyadh | Saudi Arabia | Jeddah, Riyadh, Mecca, Medina, Dammam
|
||||
UTC+3 | Europe/Istanbul | Turkey | Istanbul, Ankara, Bursa, İzmir, Gaziantep
|
||||
UTC+3 | Europe/Kirov | Russia | Kirov, Kirovo-Chepetsk, Vyatskiye Polyany, Slobodskoy, Kotel’nich
|
||||
UTC+3 | Europe/Minsk | Belarus | Minsk, Homyel', Hrodna, Mahilyow, Brest
|
||||
UTC+3 | Europe/Moscow | Russia | Moscow, Saint Petersburg, Nizhniy Novgorod, Kazan, Rostov-na-Donu
|
||||
UTC+3 | Europe/Simferopol | Ukraine | Sevastopol, Simferopol, Kerch, Yevpatoriya, Yalta
|
||||
UTC+3 | Europe/Volgograd | Russia | Volgograd, Volzhsky, Kamyshin, Mikhaylovka, Uryupinsk
|
||||
UTC+3 | Indian/Antananarivo | Madagascar | Antananarivo, Toamasina, Antsirabe, Mahajanga, Fianarantsoa
|
||||
UTC+3 | Indian/Comoro | Comoros | Moroni, Moutsamoudou, Fomboni, Tsimbeo, Domoni
|
||||
UTC+3 | Indian/Mayotte | Mayotte | Mamoudzou, Koungou, Dzaoudzi, Dembeni, Sada
|
||||
UTC+3:30 | Asia/Tehran | Iran | Tehran, Mashhad, Isfahan, Karaj, Tabriz
|
||||
UTC+4 | Asia/Baku | Azerbaijan | Baku, Sumqayıt, Ganja, Lankaran, Tovuz
|
||||
UTC+4 | Asia/Dubai | United Arab Emirates | Dubai, Abu Dhabi, Sharjah, Al Ain City, Ajman City
|
||||
UTC+4 | Asia/Muscat | Oman | Muscat, Seeb, Bawshar, ‘Ibrī, Şalālah
|
||||
UTC+4 | Asia/Tbilisi | Georgia | Tbilisi, Batumi, Kutaisi, Rustavi, Sokhumi
|
||||
UTC+4 | Asia/Yerevan | Armenia | Yerevan, Gyumri, Vanadzor, Vagharshapat, Hrazdan
|
||||
UTC+4 | Europe/Astrakhan | Russia | Astrakhan, Akhtubinsk, Znamensk, Kharabali, Kamyzyak
|
||||
UTC+4 | Europe/Samara | Russia | Samara, Tolyatti, Izhevsk, Syzran, Novokuybyshevsk
|
||||
UTC+4 | Europe/Saratov | Russia | Saratov, Balakovo, Engels, Balashov, Vol’sk
|
||||
UTC+4 | Europe/Ulyanovsk | Russia | Ulyanovsk, Dimitrovgrad, Inza, Barysh, Novoul’yanovsk
|
||||
UTC+4 | Indian/Mahe | Seychelles | Victoria, Anse Boileau, Bel Ombre, Beau Vallon, Cascade
|
||||
UTC+4 | Indian/Mauritius | Mauritius | Port Louis, Vacoas, Beau Bassin-Rose Hill, Curepipe, Quatre Bornes
|
||||
UTC+4 | Indian/Reunion | Reunion | Saint-Denis, Saint-Paul, Le Tampon, Saint-Pierre, Saint-André
|
||||
UTC+4:30 | Asia/Kabul | Afghanistan | Kabul, Herāt, Mazār-e Sharīf, Kandahār, Jalālābād
|
||||
UTC+5 | Antarctica/Mawson | Antarctica |
|
||||
UTC+5 | Asia/Aqtau | Kazakhstan | Shevchenko, Zhanaozen, Beyneu, Shetpe, Kuryk
|
||||
UTC+5 | Asia/Aqtobe | Kazakhstan | Aktobe, Kandyagash, Shalqar, Khromtau, Embi
|
||||
UTC+5 | Asia/Ashgabat | Turkmenistan | Ashgabat, Türkmenabat, Daşoguz, Mary, Balkanabat
|
||||
UTC+5 | Asia/Atyrau | Kazakhstan | Atyrau, Qulsary, Shalkar, Balykshi, Maqat
|
||||
UTC+5 | Asia/Dushanbe | Tajikistan | Dushanbe, Isfara, Istaravshan, Kŭlob, Konibodom
|
||||
UTC+5 | Asia/Karachi | Pakistan | Karachi, Lahore, Faisalabad, Rawalpindi, Multan
|
||||
UTC+5 | Asia/Oral | Kazakhstan | Oral, Aqsay, Zhanibek, Tasqala, Zhumysker
|
||||
UTC+5 | Asia/Qyzylorda | Kazakhstan | Kyzylorda, Novokazalinsk, Aral, Shiyeli, Zhangaqorghan
|
||||
UTC+5 | Asia/Samarkand | Uzbekistan | Samarkand, Nukus, Bukhara, Qarshi, Tirmiz
|
||||
UTC+5 | Asia/Tashkent | Uzbekistan | Tashkent, Namangan, Andijon, Fergana, Qo‘qon
|
||||
UTC+5 | Asia/Yekaterinburg | Russia | Yekaterinburg, Chelyabinsk, Ufa, Perm, Tyumen
|
||||
UTC+5 | Indian/Kerguelen | French Southern Territories | Port-aux-Français
|
||||
UTC+5 | Indian/Maldives | Maldives | Male, Fuvahmulah, Hithadhoo, Kulhudhuffushi, Thinadhoo
|
||||
UTC+5:30 | Asia/Colombo | Sri Lanka | Colombo, Dehiwala-Mount Lavinia, Maharagama, Jaffna, Moratuwa
|
||||
UTC+5:30 | Asia/Kolkata | India | Mumbai, Delhi, Bengaluru, Hyderābād, Ahmedabad
|
||||
UTC+5:45 | Asia/Kathmandu | Nepal | Kathmandu, Bharatpur, Pātan, Birgañj, Biratnagar
|
||||
UTC+6 | Antarctica/Vostok | Antarctica |
|
||||
UTC+6 | Asia/Almaty | Kazakhstan | Almaty, Shymkent, Karagandy, Taraz, Astana
|
||||
UTC+6 | Asia/Bishkek | Kyrgyzstan | Bishkek, Osh, Jalal-Abad, Karakol, Tokmok
|
||||
UTC+6 | Asia/Dhaka | Bangladesh | Dhaka, Chattogram, Khulna, Rangpur, Comilla
|
||||
UTC+6 | Asia/Omsk | Russia | Omsk, Tara, Kalachinsk, Znamenskoye, Tavricheskoye
|
||||
UTC+6 | Asia/Qostanay | Kazakhstan | Kostanay, Rudnyy, Baikonur, Zhitikara, Arkalyk
|
||||
UTC+6 | Asia/Thimphu | Bhutan | Thimphu, Phuntsholing, Tsirang, Punākha, Pemagatshel
|
||||
UTC+6 | Asia/Urumqi | China | Ürümqi, Shihezi, Korla, Aksu, Kashgar
|
||||
UTC+6 | Indian/Chagos | British Indian Ocean Territory |
|
||||
UTC+6:30 | Asia/Yangon | Myanmar | Yangon, Mandalay, Nay Pyi Taw, Mawlamyine, Kyain Seikgyi Township
|
||||
UTC+6:30 | Indian/Cocos | Cocos Islands | West Island
|
||||
UTC+7 | Antarctica/Davis | Antarctica |
|
||||
UTC+7 | Asia/Bangkok | Thailand | Hanoi, Bangkok, Haiphong, Samut Prakan, Huế
|
||||
UTC+7 | Asia/Barnaul | Russia | Barnaul, Biysk, Rubtsovsk, Gorno-Altaysk, Novoaltaysk
|
||||
UTC+7 | Asia/Hovd | Mongolia | Ulaangom, Khovd, Ölgii, Altai, Uliastay
|
||||
UTC+7 | Asia/Ho_Chi_Minh | Vietnam | Ho Chi Minh City, Da Nang, Biên Hòa, Cần Thơ, Thuận An
|
||||
UTC+7 | Asia/Jakarta | Indonesia | Jakarta, Surabaya, Bekasi, Bandung, Medan
|
||||
UTC+7 | Asia/Krasnoyarsk | Russia | Krasnoyarsk, Abakan, Norilsk, Achinsk, Kyzyl
|
||||
UTC+7 | Asia/Novokuznetsk | Russia | Kemerovo, Novokuznetsk, Prokop’yevsk, Leninsk-Kuznetsky, Kiselëvsk
|
||||
UTC+7 | Asia/Novosibirsk | Russia | Novosibirsk, Berdsk, Iskitim, Akademgorodok, Kuybyshev
|
||||
UTC+7 | Asia/Phnom_Penh | Cambodia | Phnom Penh, Takeo, Siem Reap, Battambang, Paoy Paet
|
||||
UTC+7 | Asia/Pontianak | Indonesia | Pontianak, Palangkaraya, Singkawang, Sampit, Sungai Raya
|
||||
UTC+7 | Asia/Tomsk | Russia | Tomsk, Seversk, Strezhevoy, Kolpashevo, Asino
|
||||
UTC+7 | Asia/Vientiane | Laos | Vientiane, Savannakhet, Pakse, Thakhèk, Luang Prabang
|
||||
UTC+7 | Indian/Christmas | Christmas Island | Flying Fish Cove
|
||||
UTC+8 | Asia/Brunei | Brunei | Bandar Seri Begawan, Kuala Belait, Seria, Tutong, Bangar
|
||||
UTC+8 | Asia/Choibalsan | Mongolia | Baruun-Urt, Choibalsan
|
||||
UTC+8 | Asia/Hong_Kong | Hong Kong | Hong Kong, Kowloon, Victoria, Tuen Mun, Sha Tin
|
||||
UTC+8 | Asia/Irkutsk | Russia | Irkutsk, Ulan-Ude, Bratsk, Angarsk, Ust’-Ilimsk
|
||||
UTC+8 | Asia/Kuala_Lumpur | Malaysia | Kuala Lumpur, Petaling Jaya, Klang, Johor Bahru, Ipoh
|
||||
UTC+8 | Asia/Kuching | Malaysia | Kota Kinabalu, Sandakan, Kuching, Tawau, Miri
|
||||
UTC+8 | Asia/Macau | Macao | Macau, Taipa
|
||||
UTC+8 | Asia/Makassar | Indonesia | Makassar, Samarinda, Denpasar, Balikpapan, Banjarmasin
|
||||
UTC+8 | Asia/Manila | Philippines | Quezon City, Davao, Manila, Caloocan City, Budta
|
||||
UTC+8 | Asia/Shanghai | China | Shanghai, Beijing, Shenzhen, Guangzhou, Chengdu
|
||||
UTC+8 | Asia/Singapore | Singapore | Singapore, Jurong Town, Woodlands, Punggol, Kampong Pasir Ris
|
||||
UTC+8 | Asia/Taipei | Taiwan | Taipei, Kaohsiung, Taichung, Tainan, Banqiao
|
||||
UTC+8 | Asia/Ulaanbaatar | Mongolia | Ulan Bator, Erdenet, Darhan, Mörön, Bayanhongor
|
||||
UTC+8 | Australia/Perth | Australia | Perth, Mandurah, Bunbury, Baldivis, Geraldton
|
||||
UTC+8:45 | Australia/Eucla | Australia |
|
||||
UTC+9 | Asia/Chita | Russia | Chita, Krasnokamensk, Borzya, Petrovsk-Zabaykal’skiy, Aginskoye
|
||||
UTC+9 | Asia/Dili | Timor Leste | Dili, Maliana, Suai, Likisá, Aileu
|
||||
UTC+9 | Asia/Jayapura | Indonesia | Jayapura, Ambon, Sorong, Ternate, Manokwari
|
||||
UTC+9 | Asia/Khandyga | Russia |
|
||||
UTC+9 | Asia/Pyongyang | North Korea | Pyongyang, Hamhŭng, Namp’o, Sunch’ŏn, Hŭngnam
|
||||
UTC+9 | Asia/Seoul | South Korea | Seoul, Busan, Incheon, Daegu, Gwangju
|
||||
UTC+9 | Asia/Tokyo | Japan | Tokyo, Yokohama, Osaka, Nagoya, Sapporo
|
||||
UTC+9 | Asia/Yakutsk | Russia | Yakutsk, Blagoveshchensk, Belogorsk, Neryungri, Svobodnyy
|
||||
UTC+9 | Pacific/Palau | Palau | Koror, Koror Town, Kloulklubed, Ulimang, Mengellang
|
||||
UTC+9:30 | Australia/Adelaide | Australia | Adelaide, Adelaide Hills, Mount Gambier, Morphett Vale, Gawler
|
||||
UTC+9:30 | Australia/Broken_Hill | Australia | Broken Hill
|
||||
UTC+9:30 | Australia/Darwin | Australia | Darwin, Alice Springs, Palmerston, Howard Springs
|
||||
UTC+10 | Antarctica/DumontDUrville | Antarctica |
|
||||
UTC+10 | Antarctica/Macquarie | Australia |
|
||||
UTC+10 | Asia/Ust-Nera | Russia |
|
||||
UTC+10 | Asia/Vladivostok | Russia | Khabarovsk, Vladivostok, Khabarovsk Vtoroy, Komsomolsk-on-Amur, Ussuriysk
|
||||
UTC+10 | Australia/Brisbane | Australia | Brisbane, Gold Coast, Logan City, Townsville, Cairns
|
||||
UTC+10 | Australia/Hobart | Australia | Hobart, Launceston, Burnie, Devonport, Sandy Bay
|
||||
UTC+10 | Australia/Lindeman | Australia |
|
||||
UTC+10 | Australia/Melbourne | Australia | Melbourne, Geelong, Ballarat, Bendigo, Point Cook
|
||||
UTC+10 | Australia/Sydney | Australia | Sydney, Canberra, Newcastle, Wollongong, Maitland
|
||||
UTC+10 | Pacific/Chuuk | Micronesia | Weno, Colonia
|
||||
UTC+10 | Pacific/Guam | Guam | Dededo Village, Yigo Village, Tamuning, Tamuning-Tumon-Harmon Village, Mangilao Village
|
||||
UTC+10 | Pacific/Port_Moresby | Papua New Guinea | Port Moresby, Lae, Mount Hagen, Popondetta, Madang
|
||||
UTC+10 | Pacific/Saipan | Northern Mariana Islands | Saipan, San Jose Village
|
||||
UTC+10:30 | Australia/Lord_Howe | Australia |
|
||||
UTC+11 | Antarctica/Casey | Antarctica |
|
||||
UTC+11 | Asia/Magadan | Russia | Magadan, Ust-Nera, Susuman, Ola
|
||||
UTC+11 | Asia/Sakhalin | Russia | Yuzhno-Sakhalinsk, Korsakov, Kholmsk, Okha, Nevel’sk
|
||||
UTC+11 | Asia/Srednekolymsk | Russia |
|
||||
UTC+11 | Pacific/Bougainville | Papua New Guinea | Arawa, Buka
|
||||
UTC+11 | Pacific/Efate | Vanuatu | Port-Vila, Luganville, Isangel, Sola, Lakatoro
|
||||
UTC+11 | Pacific/Guadalcanal | Solomon Islands | Honiara, Malango, Auki, Gizo, Kirakira
|
||||
UTC+11 | Pacific/Kosrae | Micronesia | Tofol
|
||||
UTC+11 | Pacific/Norfolk | Norfolk Island | Kingston
|
||||
UTC+11 | Pacific/Noumea | New Caledonia | Nouméa, Mont-Dore, Dumbéa, Païta, Wé
|
||||
UTC+11 | Pacific/Pohnpei | Micronesia | Kolonia, Kolonia Town, Palikir - National Government Center
|
||||
UTC+12 | Antarctica/McMurdo | Antarctica |
|
||||
UTC+12 | Asia/Anadyr | Russia | Anadyr, Bilibino
|
||||
UTC+12 | Asia/Kamchatka | Russia | Petropavlovsk-Kamchatsky, Yelizovo, Vilyuchinsk, Klyuchi, Mil’kovo
|
||||
UTC+12 | Pacific/Auckland | New Zealand | Auckland, Wellington, Christchurch, Manukau City, North Shore
|
||||
UTC+12 | Pacific/Fiji | Fiji | Nasinu, Suva, Lautoka, Nadi, Labasa
|
||||
UTC+12 | Pacific/Funafuti | Tuvalu | Funafuti, Savave Village, Tanrake Village, Toga Village, Asau Village
|
||||
UTC+12 | Pacific/Kwajalein | Marshall Islands | Ebaye, Jabat
|
||||
UTC+12 | Pacific/Majuro | Marshall Islands | Majuro, Arno, Jabor, Wotje, Mili
|
||||
UTC+12 | Pacific/Nauru | Nauru | Yaren, Baiti, Anabar, Uaboe, Ijuw
|
||||
UTC+12 | Pacific/Tarawa | Kiribati | Tarawa, Betio Village, Bikenibeu Village
|
||||
UTC+12 | Pacific/Wake | United States Minor Outlying Islands |
|
||||
UTC+12 | Pacific/Wallis | Wallis and Futuna | Mata-Utu, Leava, Alo
|
||||
UTC+12:45 | Pacific/Chatham | New Zealand | Waitangi
|
||||
UTC+13 | Pacific/Apia | Samoa | Apia, Asau, Mulifanua, Afega, Leulumoega
|
||||
UTC+13 | Pacific/Fakaofo | Tokelau | Atafu Village, Nukunonu, Fale old settlement
|
||||
UTC+13 | Pacific/Kanton | Kiribati |
|
||||
UTC+13 | Pacific/Tongatapu | Tonga | Nuku‘alofa, Lapaha, Neiafu, Pangai, ‘Ohonua
|
||||
UTC+14 | Pacific/Kiritimati | Kiribati |
|
||||
<!--rehype:className=left-align show-header-->
|
||||
|
||||
另见
|
||||
---
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
- [时区列表](https://help.aliyun.com/zh/maxcompute/user-guide/time-zones) _(aliyun.com)_
|
||||
- [全部时区列表](https://www.zeitverschiebung.net/cn/all-time-zones.html) _(zeitverschiebung.net)_
|
348
docs/vue.md
@ -1529,10 +1529,356 @@ declare module 'vue' {
|
||||
from: Route,
|
||||
next: () => void
|
||||
): void
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 介绍
|
||||
|
||||
性能优化是构建高效 Vue 应用的关键。以下是一些特殊的优化策略,结合 Vue 的特性,可以大幅减少渲染开销、提升加载速度和用户体验。这些方法不仅限于单一 API,而是从整体架构和开发实践出发,提供通用的性能提升思路。
|
||||
|
||||
### 条件渲染与缓存结合
|
||||
|
||||
通过结合 `v-if` 和 `<KeepAlive>`,可以避免频繁销毁和重建组件,尤其是在切换视图或路由时。搭配 `defineAsyncComponent` 实现懒加载,进一步减少初次加载的开销。
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div>
|
||||
<button @click="toggle">Toggle View</button>
|
||||
<keep-alive>
|
||||
<component :is="currentView" />
|
||||
</keep-alive>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, defineAsyncComponent } from 'vue';
|
||||
|
||||
const currentView = ref('ViewA');
|
||||
const toggle = () => {
|
||||
currentView.value = currentView.value === 'ViewA' ? 'ViewB' : 'ViewA';
|
||||
};
|
||||
|
||||
const ViewA = defineAsyncComponent(() => import('./ViewA.vue'));
|
||||
const ViewB = defineAsyncComponent(() => import('./ViewB.vue'));
|
||||
</script>
|
||||
//<KeepAlive> 缓存动态组件,防止重复创建和销毁。
|
||||
//defineAsyncComponent 实现组件懒加载,仅在需要时加载模块。
|
||||
//效果:减少 DOM 操作和组件初始化的性能消耗,特别适合复杂组件切换或路由场景。
|
||||
```
|
||||
|
||||
### 路由前置优化(beforeRouteEnter)
|
||||
|
||||
在路由进入前执行数据预取或条件检查,可以避免不必要的渲染和请求,提升页面加载效率。
|
||||
|
||||
```html
|
||||
<script>
|
||||
import { defineComponent } from 'vue';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Profile',
|
||||
beforeRouteEnter(to, from, next) {
|
||||
// 模拟数据预取
|
||||
fetchUserData(to.params.id).then((user) => {
|
||||
next((vm) => {
|
||||
vm.user = user; // 将数据传递给组件实例
|
||||
});
|
||||
}).catch(() => {
|
||||
next(false); // 阻止路由进入
|
||||
});
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
user: null,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div v-if="user">
|
||||
<h1>{{ user.name }}</h1>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
### 响应式对象的精简
|
||||
|
||||
避免将大型对象直接用 reactive 包裹,而是按需拆分,使用 ref 或 toRef 精细控制响应式范围,减少依赖追踪的开销。
|
||||
|
||||
```html
|
||||
<script setup>
|
||||
import { ref, toRef, reactive } from 'vue';
|
||||
|
||||
const largeData = {
|
||||
user: { name: 'Alice', age: 25 },
|
||||
settings: { theme: 'dark', fontSize: 16 },
|
||||
items: Array(1000).fill({ id: 0, value: 'test' }),
|
||||
};
|
||||
|
||||
// 仅将需要的部分设为响应式
|
||||
const userName = ref(largeData.user.name);
|
||||
const settings = reactive(largeData.settings);
|
||||
const firstItem = toRef(largeData.items[0], 'value');
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<input v-model="userName" />
|
||||
<p>Theme: {{ settings.theme }}</p>
|
||||
<p>First Item: {{ firstItem }}</p>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
### 计算属性的延迟执行
|
||||
|
||||
通过封装计算属性并结合 watchEffect,实现按需计算,避免不必要的开销。
|
||||
|
||||
```html
|
||||
<script setup>
|
||||
import { ref, computed, watchEffect } from 'vue';
|
||||
|
||||
const items = ref([]);
|
||||
const filterText = ref('');
|
||||
const filteredItems = computed(() => {
|
||||
return items.value.filter((item) => item.includes(filterText.value));
|
||||
});
|
||||
|
||||
watchEffect(() => {
|
||||
if (filterText.value) {
|
||||
// 仅在 filterText 不为空时触发计算
|
||||
filteredItems.value;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<input v-model="filterText" placeholder="Filter items" />
|
||||
<ul>
|
||||
<li v-for="item in filteredItems" :key="item">{{ item }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
```
|
||||
|
||||
### v-memo 缓存子树
|
||||
|
||||
v-memo 用于缓存模板子树,仅在依赖项变化时更新,常用于优化列表或静态内容。
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div v-for="item in items" :key="item.id" v-memo="[item.updated]">
|
||||
{{ item.name }} - {{ expensiveComputation(item) }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
const items = ref([
|
||||
{ id: 1, name: 'Item 1', updated: false },
|
||||
{ id: 2, name: 'Item 2', updated: false },
|
||||
]);
|
||||
|
||||
const expensiveComputation = (item) => {
|
||||
return item.name.toUpperCase(); // 模拟复杂计算
|
||||
};
|
||||
</script>
|
||||
```
|
||||
|
||||
### 事件节流与防抖
|
||||
|
||||
通过在事件处理中引入节流(throttle)或防抖(debounce),减少高频事件的触发频率。
|
||||
|
||||
```html
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import { debounce } from 'lodash-es';
|
||||
|
||||
const searchText = ref('');
|
||||
const search = debounce((value) => {
|
||||
console.log('Search:', value); // 模拟搜索请求
|
||||
}, 300);
|
||||
|
||||
const handleInput = (e) => {
|
||||
searchText.value = e.target.value;
|
||||
search(searchText.value);
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<input
|
||||
:value="searchText"
|
||||
@input="handleInput"
|
||||
placeholder="Type to search"
|
||||
/>
|
||||
</template>
|
||||
```
|
||||
|
||||
### 虚拟列表(Virtual Scrolling)
|
||||
|
||||
对于长列表(如包含数千条数据的列表),可以使用虚拟列表技术,只渲染可视区域内的元素,减少 DOM 节点数量。
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div class="list-container" ref="list">
|
||||
<div class="list-viewport" :style="{ height: totalHeight + 'px' }">
|
||||
<div
|
||||
class="list-content"
|
||||
:style="{ transform: `translateY(${scrollTop}px)` }"
|
||||
>
|
||||
<div
|
||||
v-for="item in visibleItems"
|
||||
:key="item.id"
|
||||
class="list-item"
|
||||
>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, onMounted, onUnmounted } from 'vue';
|
||||
|
||||
const items = ref(
|
||||
Array.from({ length: 10000 }, (_, i) => ({
|
||||
id: i,
|
||||
name: `Item ${i}`,
|
||||
}))
|
||||
);
|
||||
const itemHeight = 40; // 每项高度
|
||||
const viewportHeight = 400; // 视口高度
|
||||
const totalHeight = computed(() => items.value.length * itemHeight);
|
||||
const scrollTop = ref(0);
|
||||
const visibleCount = Math.ceil(viewportHeight / itemHeight) + 2; // 多渲染2项作为缓冲
|
||||
|
||||
const visibleItems = computed(() => {
|
||||
const start = Math.floor(scrollTop.value / itemHeight);
|
||||
const end = Math.min(start + visibleCount, items.value.length);
|
||||
return items.value.slice(start, end);
|
||||
});
|
||||
|
||||
const list = ref(null);
|
||||
const onScroll = () => {
|
||||
scrollTop.value = list.value.scrollTop;
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
list.value.addEventListener('scroll', onScroll);
|
||||
});
|
||||
onUnmounted(() => {
|
||||
list.value.removeEventListener('scroll', onScroll);
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.list-container {
|
||||
height: 400px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.list-item {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
</style>
|
||||
|
||||
```
|
||||
|
||||
### 按需加载资源(Lazy Loading Resources)
|
||||
|
||||
通过动态导入(Dynamic Import)按需加载非关键资源(如图片、第三方库),可以减少初次加载的开销,提升首屏渲染速度。
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div>
|
||||
<button @click="loadChart">Load Chart</button>
|
||||
<div v-if="ChartComponent">
|
||||
<ChartComponent :data="chartData" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
const ChartComponent = ref(null);
|
||||
const chartData = ref([10, 20, 30, 40]);
|
||||
|
||||
const loadChart = async () => {
|
||||
// 动态导入第三方库(如 Chart.js)
|
||||
const { default: Chart } = await import('chart.js/auto');
|
||||
// 模拟动态加载的图表组件
|
||||
ChartComponent.value = {
|
||||
props: ['data'],
|
||||
template: `<canvas ref="chart"></canvas>`,
|
||||
mounted() {
|
||||
new Chart(this.$refs.chart, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ['A', 'B', 'C', 'D'],
|
||||
datasets: [{ data: this.data }],
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
};
|
||||
</script>
|
||||
```
|
||||
|
||||
### 优化事件监听(Event Delegation)
|
||||
|
||||
通过事件委托(Event Delegation)将事件监听器绑定到父元素,减少直接绑定到每个子元素的事件监听器数量,适合动态列表或大量元素场景。
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div class="item-list" @click="handleItemClick">
|
||||
<div
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:data-id="item.id"
|
||||
class="item"
|
||||
>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
const items = ref([
|
||||
{ id: 1, name: 'Item 1' },
|
||||
{ id: 2, name: 'Item 2' },
|
||||
{ id: 3, name: 'Item 3' },
|
||||
]);
|
||||
|
||||
const handleItemClick = (event) => {
|
||||
const itemId = event.target.dataset.id;
|
||||
if (itemId) {
|
||||
console.log(`Clicked item with ID: ${itemId}`);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.item-list {
|
||||
padding: 10px;
|
||||
}
|
||||
.item {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
```
|
||||
|
||||
API 参考
|
||||
---
|
||||
|
||||
|
253
docs/yazi.md
Normal file
@ -0,0 +1,253 @@
|
||||
Yazi 备忘清单
|
||||
===
|
||||
|
||||
这份快速参考备忘单提供了Yazi 快速的终端文件管理的简要概述,以及 Yazi的基本操作
|
||||
|
||||
入门
|
||||
----
|
||||
|
||||
### 功能特点
|
||||
|
||||
- <code>**跨平台支持**</code>:Yazi 支持 Linux、macOS 和 Windows,提供一致的跨平台体验
|
||||
- <code>**轻量高效**</code>:简洁设计,启动和操作快速,资源消耗低
|
||||
- <code>**插件扩展**</code>:支持插件安装,灵活扩展功能
|
||||
- <code>**文件操作**</code>:支持复制、剪切、粘贴、删除、重命名等操作,且支持批量和多选功能,提升效率
|
||||
|
||||
### 安装
|
||||
|
||||
| 系统 | 安装方法 |
|
||||
| ----- | ----- |
|
||||
| 使用 Cargo 安装 | `cargo install yazi` |
|
||||
| Arch Linux | `yay -S yazi` |
|
||||
| Debian/Ubuntu | 可以使用 `Cargo` 进行安装 |
|
||||
| macOS (使用 Homebrew) | `brew install yazi` |
|
||||
| Windows (使用 Carg) | `cargo install yazi` |
|
||||
| Windows (使用 Scoop) | `scoop install yazi` |
|
||||
|
||||
### 使用方法
|
||||
|
||||
#### 命令启动 Yazi
|
||||
|
||||
```sh
|
||||
yazi
|
||||
```
|
||||
|
||||
#### 查看 Yazi 的帮助文档
|
||||
|
||||
```sh
|
||||
yazi --help
|
||||
```
|
||||
|
||||
## 常用的快捷键
|
||||
<!--rehype:body-class=cols-2-->
|
||||
|
||||
### 导航
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `h` | 返回上一级目录 |
|
||||
| `j` | 向下移动选中项 |
|
||||
| `k` | 向上移动选中项 |
|
||||
| `l` | 进入选中的目录或打开文件 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
### 文件操作
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `y` | 复制选中的文件或目录 |
|
||||
| `d` | 剪切选中的文件或目录 |
|
||||
| `p` | 粘贴文件或目录 |
|
||||
| `x` | 删除选中的文件或目录 |
|
||||
| `r` | 重命名选中的文件或目录 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
### 搜索与过滤
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `/` | 开始搜索模式 |
|
||||
| `n` | 在搜索模式中跳到下一个匹配项 |
|
||||
| `N` | 在搜索模式中跳到上一个匹配项 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
### 视图操作
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `gg` | 跳到列表的顶部 |
|
||||
| `G` | 跳到列表的底部 |
|
||||
| `Ctrl+f` | 向下滚动一页 |
|
||||
| `Ctrl+b` | 向上滚动一页 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
## 自定义配置
|
||||
|
||||
### 自定义配置
|
||||
|
||||
通过编辑配置文件来自定义 `Yazi`,配置文件通常位于 `$HOME/.config/yazi/xxx.toml`,可修改默认设置如快捷键、主题等。
|
||||
|
||||
- `yazi.toml` - 常规配置
|
||||
- `keymap.toml` - 快捷键绑定
|
||||
- `theme.toml` - 主题配置
|
||||
|
||||
### 配置文件示例:yazi.toml
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```toml
|
||||
[general]
|
||||
# 设置主界面主题为 dark 或 light
|
||||
theme = "dark"
|
||||
|
||||
# 启动时的默认路径
|
||||
default_path = "~"
|
||||
|
||||
# 是否启用自动保存配置
|
||||
auto_save_config = true
|
||||
|
||||
[keybindings]
|
||||
# 自定义快捷键绑定
|
||||
quit = "q" # 退出
|
||||
copy = "y" # 复制文件
|
||||
paste = "p" # 粘贴文件
|
||||
delete = "d" # 删除文件
|
||||
|
||||
[ui]
|
||||
# 界面相关配置
|
||||
preview_enabled = true # 是否启用文件预览
|
||||
show_hidden_files = true # 显示隐藏文件
|
||||
columns = 2 # 文件列表列数
|
||||
|
||||
[search]
|
||||
# 搜索行为配置
|
||||
case_sensitive = false # 搜索是否区分大小写
|
||||
search_timeout = 30 # 搜索超时时间(秒)
|
||||
|
||||
[sorting]
|
||||
# 排序规则配置
|
||||
sort_by = "name" # 排序方式: name,size,date
|
||||
reverse_sort = false # 是否反向排序
|
||||
|
||||
[plugins]
|
||||
# 插件加载配置
|
||||
enabled_plugins = ["git", "archive"]
|
||||
```
|
||||
|
||||
### keymap.toml 配置示例
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
```toml
|
||||
# 全局快捷键配置
|
||||
[global]
|
||||
# 全局退出应用程序
|
||||
quit = "Ctrl+Q"
|
||||
# 打开文件或目录
|
||||
open = "Enter"
|
||||
# 返回上级目录
|
||||
back = "Backspace"
|
||||
# 搜索功能触发
|
||||
search = "/"
|
||||
# 复制路径
|
||||
copy_path = "Ctrl+C"
|
||||
|
||||
# 窗口控制快捷键
|
||||
[window]
|
||||
# 切换窗口
|
||||
switch_window = "Tab"
|
||||
# 新建窗口
|
||||
new_window = "Ctrl+N"
|
||||
# 关闭窗口
|
||||
close_window = "Ctrl+W"
|
||||
|
||||
# 文件操作快捷键
|
||||
[file]
|
||||
# 删除文件
|
||||
delete_file = "D"
|
||||
# 重命名文件
|
||||
rename_file = "R"
|
||||
# 复制文件
|
||||
copy_file = "Y"
|
||||
# 粘贴文件
|
||||
paste_file = "P"
|
||||
# 移动文件
|
||||
move_file = "M"
|
||||
|
||||
# 文件选择快捷键
|
||||
[selection]
|
||||
# 全选
|
||||
select_all = "Ctrl+A"
|
||||
# 取消所有选择
|
||||
deselect_all = "Ctrl+D"
|
||||
# 反选
|
||||
invert_selection = "Ctrl+I"
|
||||
# 选择当前文件/目录
|
||||
select_item = "Space"
|
||||
|
||||
# 页面导航快捷键
|
||||
[navigation]
|
||||
# 向上移动光标
|
||||
move_up = "K"
|
||||
# 向下移动光标
|
||||
move_down = "J"
|
||||
# 向左切换标签
|
||||
move_left = "H"
|
||||
# 向右切换标签
|
||||
move_right = "L"
|
||||
|
||||
# 自定义命令触发键
|
||||
[custom]
|
||||
# 触发自定义功能
|
||||
custom_action_1 = "Ctrl+1"
|
||||
custom_action_2 = "Ctrl+2"
|
||||
custom_action_3 = "Ctrl+3"
|
||||
```
|
||||
|
||||
### theme.toml 配置示例
|
||||
|
||||
```toml
|
||||
[general]
|
||||
# 设置主界面配色方案
|
||||
background_color = "#1e1e2e" # 背景颜色
|
||||
foreground_color = "#cdd6f4" # 文本颜色
|
||||
cursor_color = "#89dceb" # 光标颜色
|
||||
selection_color = "#585b70" # 选中项背景颜色
|
||||
highlight_color = "#fab387" # 高亮颜色
|
||||
|
||||
# 字体设置
|
||||
font_family = "FiraCode" # 字体名称
|
||||
font_size = 14 # 字体大小
|
||||
|
||||
[ui]
|
||||
# 界面边框与间距
|
||||
border_color = "#45475a" # 边框颜色
|
||||
padding = 4 # 界面内容的内边距
|
||||
|
||||
[file_browser]
|
||||
# 文件浏览器颜色配置
|
||||
directory_color = "#89b4fa" # 目录名称颜色
|
||||
file_color = "#cdd6f4" # 普通文件颜色
|
||||
symlink_color = "#f5c2e7" # 符号链接颜色
|
||||
hidden_file_color = "#6c7086" # 隐藏文件颜色
|
||||
|
||||
[status_bar]
|
||||
# 状态栏颜色
|
||||
background_color = "#313244" # 状态栏背景
|
||||
foreground_color = "#a6adc8" # 状态栏文字
|
||||
error_color = "#f38ba8" # 状态栏错误信息
|
||||
|
||||
[search]
|
||||
# 搜索结果配色
|
||||
match_color = "#a6e3a1" # 搜索结果的匹配高亮
|
||||
current_match_color = "#fab387" # 当前匹配项的高亮
|
||||
|
||||
[progress_bar]
|
||||
# 进度条的配色
|
||||
filled_color = "#89dceb" # 已填充部分
|
||||
empty_color = "#313244" # 未填充部分
|
||||
```
|
||||
|
||||
另见
|
||||
----
|
||||
|
||||
- [Yazi 官方文档](https://yazi-rs.github.io/) _(yazi-rs.github.io)_
|
||||
- [Yazi Github](https://github.com/sxyazi/yazi) _(github.com)_
|
14
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wcj/reference",
|
||||
"version": "1.45.0",
|
||||
"version": "1.46.0",
|
||||
"description": "为开发人员分享快速参考备忘单(主要是方便自己)。",
|
||||
"author": "jaywcjlove",
|
||||
"license": "MIT",
|
||||
@ -8,9 +8,10 @@
|
||||
"funding": "https://jaywcjlove.github.io/#/sponsor",
|
||||
"private": false,
|
||||
"scripts": {
|
||||
"prepare": "husky",
|
||||
"build": "refs-cli",
|
||||
"prepare": "husky && cpy",
|
||||
"build": "refs-cli && cpy",
|
||||
"start": "refs-cli --watch",
|
||||
"cpy": "cpy 'appicon/*.png' dist/appicon",
|
||||
"prettier": "prettier --write '**/*.{mjs,css,json,prettierrc,lintstagedrc}'",
|
||||
"markdownlint": "npx markdownlint-cli --fix ./docs/*.md"
|
||||
},
|
||||
@ -28,12 +29,13 @@
|
||||
"docs/*.md": "markdownlint --fix"
|
||||
},
|
||||
"devDependencies": {
|
||||
"cpy-cli": "^5.0.0",
|
||||
"husky": "^9.0.0",
|
||||
"lint-staged": "^15.0.0",
|
||||
"prettier": "^3.0.0",
|
||||
"refs-cli": "^1.8.0",
|
||||
"markdownlint": "^0.33.0",
|
||||
"markdownlint-cli": "^0.39.0"
|
||||
"markdownlint-cli": "^0.44.0",
|
||||
"prettier": "^3.0.0",
|
||||
"refs-cli": "^1.8.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
|