mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-25 00:11:30 +08:00
Compare commits
52 Commits
0cb2ec73cc
...
main
Author | SHA1 | Date | |
---|---|---|---|
28872d3391 | |||
d243e4261b | |||
dd0cdb393d | |||
cb3b1b89c5 | |||
721b876dea | |||
1cd3c369ea | |||
e15d66956c | |||
32862fe194 | |||
626e70a666 | |||
47cf42deff | |||
55ee13ad5f | |||
3a106842b3 | |||
0feb5644c9 | |||
139d107454 | |||
7011e08a95 | |||
d48cf7d4ec | |||
b833cb0981 | |||
e97857cb7e | |||
faed604ead | |||
6b8fdb3366 | |||
78f60f418c | |||
9e66decded | |||
4e2bc83644 | |||
d2585a431c | |||
1abd69f13f | |||
13ce84c95a | |||
43effcf0cb | |||
5cdd5d8d89 | |||
4ab24ae284 | |||
102b0862b9 | |||
0b9af04f70 | |||
68b804b7f5 | |||
ce0b7c6cd0 | |||
007394b051 | |||
3577721578 | |||
e0b540d174 | |||
7650bbac40 | |||
ffb15d6542 | |||
4a9e2d0ed7 | |||
3e732813c8 | |||
4381fe820e | |||
1c866c011f | |||
856094374d | |||
4ca8110520 | |||
cb8d9dfb45 | |||
fb3e277fed | |||
c2454acd73 | |||
3301d5a7ee | |||
d37f9c6442 | |||
4661fdc6b9 | |||
3f064a5457 | |||
582d26a6d9 |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -30,6 +30,7 @@ jobs:
|
||||
uses: jaywcjlove/github-action-modify-file-content@main
|
||||
with:
|
||||
path: CONTRIBUTING.md
|
||||
trim_whitespace: false
|
||||
body: |
|
||||
${{steps.contributors.outputs.htmlList}}
|
||||
|
||||
@ -37,6 +38,7 @@ jobs:
|
||||
uses: jaywcjlove/github-action-modify-file-content@main
|
||||
with:
|
||||
path: README.md
|
||||
trim_whitespace: false
|
||||
body: |
|
||||
${{steps.contributors.outputs.htmlList}}
|
||||
|
||||
|
@ -328,7 +328,8 @@ jobs:
|
||||
|
||||
请参阅[贡献指南](./CONTRIBUTING.md)了解如何开始。一如既往,感谢我们出色的贡献者!
|
||||
|
||||
<!--GAMFC--><a href="https://github.com/jaywcjlove" title="小弟调调"><img src="https://avatars.githubusercontent.com/u/1680273?v=4" width="42;" alt="小弟调调"/></a>
|
||||
<!--GAMFC-->
|
||||
<a href="https://github.com/jaywcjlove" title="小弟调调"><img src="https://avatars.githubusercontent.com/u/1680273?v=4" width="42;" alt="小弟调调"/></a>
|
||||
<a href="https://github.com/fwqaaq" title="fwqaaq"><img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fwqaaq"/></a>
|
||||
<a href="https://github.com/zhangymPerson" title="zhangym"><img src="https://avatars.githubusercontent.com/u/40376181?v=4" width="42;" alt="zhangym"/></a>
|
||||
<a href="https://github.com/mofelee" title="mofelee"><img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/></a>
|
||||
@ -350,7 +351,7 @@ jobs:
|
||||
<a href="https://github.com/qyl27" title="雨落"><img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="雨落"/></a>
|
||||
<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/zine0" title="zine yu"><img src="https://avatars.githubusercontent.com/u/46991452?v=4" width="42;" alt="zine yu"/></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/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
@ -358,10 +359,11 @@ jobs:
|
||||
<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/richuff" title="richuff"><img src="https://avatars.githubusercontent.com/u/162144087?v=4" width="42;" alt="richuff"/></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/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></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/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>
|
||||
@ -382,6 +384,7 @@ jobs:
|
||||
<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/XYZscratcher" title="XYZ"><img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/></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/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>
|
||||
@ -397,7 +400,6 @@ jobs:
|
||||
<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/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></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/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></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>
|
||||
@ -406,6 +408,7 @@ jobs:
|
||||
<a href="https://github.com/godot42x" title="godot42"><img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godot42"/></a>
|
||||
<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/fenglielie" title="fenglielie (风猎猎)"><img src="https://avatars.githubusercontent.com/u/51266402?v=4" width="42;" alt="fenglielie (风猎猎)"/></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>
|
||||
@ -425,6 +428,7 @@ 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/ChuwuYo" title="初五"><img src="https://avatars.githubusercontent.com/u/141227996?v=4" width="42;" alt="初五"/></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>
|
||||
@ -442,6 +446,7 @@ jobs:
|
||||
<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/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></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/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>
|
||||
@ -473,7 +478,6 @@ 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>
|
||||
@ -481,6 +485,7 @@ jobs:
|
||||
<a href="https://github.com/yikuaibro" title="yikuaibro"><img src="https://avatars.githubusercontent.com/u/44493045?v=4" width="42;" alt="yikuaibro"/></a>
|
||||
<a href="https://github.com/HeZephyr" title="Zephyr He"><img src="https://avatars.githubusercontent.com/u/67893254?v=4" width="42;" alt="Zephyr He"/></a>
|
||||
<a href="https://github.com/dfshizhiqiang" title="Zech"><img src="https://avatars.githubusercontent.com/u/7030019?v=4" width="42;" alt="Zech"/></a>
|
||||
<a href="https://github.com/zkassing" title="You Kuan Zhang"><img src="https://avatars.githubusercontent.com/u/13414184?v=4" width="42;" alt="You Kuan Zhang"/></a>
|
||||
<a href="https://github.com/Yo-gurts" title="Yogurt"><img src="https://avatars.githubusercontent.com/u/44612841?v=4" width="42;" alt="Yogurt"/></a>
|
||||
<a href="https://github.com/hi-liyan" title="李李李"><img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="李李李"/></a>
|
||||
<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>
|
||||
@ -488,7 +493,7 @@ jobs:
|
||||
<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/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/Xiwin" title="shawing"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="shawing"/></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>
|
||||
@ -497,13 +502,16 @@ jobs:
|
||||
<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="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/PILIHU2022" title="Spark"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="Spark"/></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>
|
||||
<a href="https://github.com/malcolmyu" title="Minghao Yu"><img src="https://avatars.githubusercontent.com/u/3203962?v=4" width="42;" alt="Minghao Yu"/></a>
|
||||
<a href="https://github.com/Mieriki" title="Mieriki"><img src="https://avatars.githubusercontent.com/u/142009318?v=4" width="42;" alt="Mieriki"/></a><!--GAMFC-END-->
|
||||
<a href="https://github.com/Mieriki" title="Mieriki"><img src="https://avatars.githubusercontent.com/u/142009318?v=4" width="42;" alt="Mieriki"/></a>
|
||||
|
||||
|
||||
<!--GAMFC-END-->
|
||||
|
||||
上图贡献者列表,由 [contributors](https://github.com/jaywcjlove/github-action-contributors) 自动生成贡献者图片。
|
||||
|
||||
|
645
README.md
645
README.md
@ -15,268 +15,318 @@ Quick Reference
|
||||
|
||||
为了方便开发人员查阅技术栈,分享这份快速参考备忘清单【速查表】。这是英文版 [Reference](https://github.com/Randy8080/reference) 的中文翻译,旨在帮助自己更好地使用相关技术。如果您有自己的清单,也欢迎提供,我会抽时间搬运并立刻实现 :)。如果您发现这份备忘单中的内容不合适,可以通过提交 [PR](https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md) 来修复或提供更好的备忘清单,主要面向【中文】用户。以下是一些开源天使提供的备忘清单和快速参考 :)。
|
||||
|
||||
## 赞助支持
|
||||
<!--rehype: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/mousio-hint/" title="Mousio Hint for macOS"><img align="center" alt="Mousio Hint" height="52" width="52" src="./appicon/mousio-hint.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6746747327" title="Mousio for macOS"><img align="center" alt="Mousio" height="52" width="52" src="./appicon/mousio.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6745227444" title="Musicer for macOS"><img align="center" alt="Musicer" height="52" width="52" src="./appicon/musicer.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6743841447" title="Audioer for macOS"><img align="center" alt="Audioer" height="52" width="52" src="./appicon/audioer.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6744690194" title="FileSentinel for macOS"><img align="center" alt="FileSentinel" height="52" width="52" src="./appicon/file-sentinel.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6743495172" title="FocusCursor for macOS"><img align="center" alt="FocusCursor" height="52" width="52" src="./appicon/focus-cursor.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6742680573" title="Videoer for macOS"><img align="center" alt="Videoer" height="52" width="52" src="./appicon/videoer.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6740425504" title="KeyClicker for macOS"><img align="center" alt="KeyClicker" height="50" width="50" src="./appicon/key-clicker.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6739052447" title="DayBar for macOS"><img align="center" alt="DayBar" height="50" width="50" src="./appicon/daybar.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6739444407" title="Iconed for macOS"><img align="center" alt="Iconed" height="50" width="50" src="./appicon/iconed.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6737160756" 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://apps.apple.com/app/6723903021" 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://apps.apple.com/app/6670696072" 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://apps.apple.com/app/6670167443" 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://apps.apple.com/app/6503953628" 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://apps.apple.com/app/6471227008" 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://apps.apple.com/app/6479819388" 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://apps.apple.com/app/6479194014" 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://apps.apple.com/app/6478772538" 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://apps.apple.com/app/6478511402" 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://apps.apple.com/app/6476924627" 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://apps.apple.com/app/6476452351" title="DevHub for macOS"><img align="center" alt="DevHub" height="50" width="50" src="./appicon/devhub.png"></a>
|
||||
<a target="_blank" href="https://apps.apple.com/app/6476400184" 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://apps.apple.com/app/6472593276" 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://apps.apple.com/app/6470879005" 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;-->
|
||||
|
||||
## 正在建设中...
|
||||
|
||||
坑已挖,需要您的参与完善和[贡献](./docs/quickreference.md)!🙏
|
||||
<!--rehype:style=padding-bottom: 23px;-->
|
||||
|
||||
[Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=RedHat&data-info=👆看看还缺点儿什么?-->
|
||||
[CMake](./docs/cmake.md)<!--rehype:style=background: rgb(92 107 192);&class=contributing-->
|
||||
[C#](./docs/cs.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
|
||||
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9);&class=contributing-->
|
||||
[Flask](./docs/flask.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[FastAPI](./docs/fastapi.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[Flutter](./docs/flutter.md)<!--rehype:style=background: rgb(150 220 254);&class=contributing tag&data-lang=Dart-->
|
||||
[Gitlab CI/CD](./docs/gitlab-ci.md)<!--rehype:style=background: rgb(226 67 41);&class=contributing-->
|
||||
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing-->
|
||||
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(3 3 128);&class=contributing-->
|
||||
[NestJS](./docs/nestjs.md)<!--rehype:style=background: rgb(237 21 67);&class=contributing-->
|
||||
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168);&class=contributing-->
|
||||
[Oracle](./docs/oracle.md)<!--rehype:style=background: rgb(255 0 0);&class=contributing tag&data-lang=SQL-->
|
||||
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(238 76 44);&class=contributing tag&data-lang=Python&data-info=👆看看还缺点儿什么?-->
|
||||
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131);&class=contributing-->
|
||||
[Github Copilot](./docs/github-copilot.md)<!--rehype:style=background: rgb(125 45 220);&class=tag contributing&data-lang=AI&data-info=👆看看还缺点儿什么?-->
|
||||
[Chown](./docs/chown.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=contributing-->
|
||||
[R 语言](./docs/r.md)<!--rehype:style=background: rgb(39 108 192);&class=contributing-->
|
||||
[Elixir](./docs/elixir.md)<!--rehype:style=background: rgb(124 26 156);&class=contributing tag&data-lang=Elixir-->
|
||||
[Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=RedHat&data-info=👆看看还缺点儿什么?-->
|
||||
[CMake](./docs/cmake.md)<!--rehype:style=background: rgb(92 107 192);&class=contributing-->
|
||||
[C#](./docs/cs.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
|
||||
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9);&class=contributing-->
|
||||
[Flask](./docs/flask.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[FastAPI](./docs/fastapi.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[Flutter](./docs/flutter.md)<!--rehype:style=background: rgb(150 220 254);&class=contributing tag&data-lang=Dart-->
|
||||
[Gitlab CI/CD](./docs/gitlab-ci.md)<!--rehype:style=background: rgb(226 67 41);&class=contributing-->
|
||||
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing-->
|
||||
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(3 3 128);&class=contributing-->
|
||||
[NestJS](./docs/nestjs.md)<!--rehype:style=background: rgb(237 21 67);&class=contributing-->
|
||||
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168);&class=contributing-->
|
||||
[Oracle](./docs/oracle.md)<!--rehype:style=background: rgb(255 0 0);&class=contributing tag&data-lang=SQL-->
|
||||
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(238 76 44);&class=contributing tag&data-lang=Python&data-info=👆看看还缺点儿什么?-->
|
||||
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131);&class=contributing-->
|
||||
[Github Copilot](./docs/github-copilot.md)<!--rehype:style=background: rgb(125 45 220);&class=tag contributing&data-lang=AI&data-info=👆看看还缺点儿什么?-->
|
||||
[Chown](./docs/chown.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=contributing-->
|
||||
[R 语言](./docs/r.md)<!--rehype:style=background: rgb(39 108 192);&class=contributing-->
|
||||
[Elixir](./docs/elixir.md)<!--rehype:style=background: rgb(124 26 156);&class=contributing tag&data-lang=Elixir-->
|
||||
[Tauri](./docs/tauri.md)<!--rehype:style=background: rgb(103 214 237);&class=contributing-->
|
||||
[Docker Compose](./docs/docker-compose.md)<!--rehype:style=background: rgb(72 143 223);&class=contributing tag&data-lang=Docker-->
|
||||
[Docker Compose](./docs/docker-compose.md)<!--rehype:style=background: rgb(72 143 223);&class=contributing tag&data-lang=Docker-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 编程
|
||||
|
||||
[Bash](./docs/bash.md)<!--rehype:style=background: rgb(72 143 223);-->
|
||||
[Powershell](./docs/powershell.md)<!--rehype:style=background: rgb(0 81 197);-->
|
||||
[C 语言](./docs/c.md)<!--rehype:style=background: rgb(92 107 192);-->
|
||||
[C#](./docs/cs.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[C++](./docs/cpp.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[Dart](./docs/dart.md)<!--rehype:style=background: rgb(64 196 255);-->
|
||||
[Docker](./docs/docker.md)<!--rehype:style=background: rgb(72 143 223);-->
|
||||
[Docker Compose](./docs/docker-compose.md)<!--rehype:style=background: rgb(72 143 223);&class=contributing tag&data-lang=Docker-->
|
||||
[Dockerfile](./docs/dockerfile.md)<!--rehype:style=background: rgb(0 72 153);&class=tag&data-lang=Docker-->
|
||||
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
|
||||
[Elixir](./docs/elixir.md)<!--rehype:style=background: rgb(124 26 156);&class=contributing tag&data-lang=Elixir-->
|
||||
[Erlang](./docs/erlang.md)<!--rehype:style=background: rgb(206 55 97);&class=contributing-->
|
||||
[Flask](./docs/flask.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[FastAPI](./docs/fastapi.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[Flutter](./docs/flutter.md)<!--rehype:style=background: rgb(150 220 254);&class=contributing tag&data-lang=Dart-->
|
||||
[Golang](./docs/golang.md)<!--rehype:style=background: rgb(39 160 193);-->
|
||||
[GraphQL](./docs/graphql.md)<!--rehype:style=background: rgb(214 66 146);-->
|
||||
[Hook](./docs/hook.md)<!--rehype:style=background: rgb(211 55 49);-->
|
||||
[Java](./docs/java.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Julia](./docs/julia.md)<!--rehype:style=background: rgb(26 188 156);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Kotlin](./docs/kotlin.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Kubernetes](./docs/kubernetes.md)<!--rehype:style=background: rgb(51 113 227);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing-->
|
||||
[Laravel 8](./docs/laravel.md)<!--rehype:style=background: rgb(249 50 44);&class=contributing tag&data-lang=PHP-->
|
||||
[Markdown](./docs/markdown.md)<!--rehype:style=background: rgb(103 61 156);-->
|
||||
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168);&class=contributing-->
|
||||
[PHP](./docs/php.md)<!--rehype:style=background: rgb(79 91 147);-->
|
||||
[Python](./docs/python.md)<!--rehype:style=background: rgb(43 91 132);-->
|
||||
[R 语言](./docs/r.md)<!--rehype:style=background: rgb(39 108 192);&class=contributing&data-info-->
|
||||
[Ruby](./docs/ruby.md)<!--rehype:style=background: rgb(204 52 45);-->
|
||||
[Rust](./docs/rust.md)<!--rehype:style=background: rgb(71 71 71);-->
|
||||
[Scala](./docs/scala.md)<!--rehype:style=background: rgb(34 82 94);-->
|
||||
[Swift](./docs/swift.md)<!--rehype:style=background: rgb(240 81 57);-->
|
||||
[SwiftUI](./docs/swiftui.md)<!--rehype:style=background: rgb(10 127 247);&class=tag&data-lang=swift-->
|
||||
[Spring Boot](./docs/springboot.md)<!--rehype:style=background: rgb(0 149 0);&class=tag&data-lang=Java-->
|
||||
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(3 3 128);-->
|
||||
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(238 76 44);&class=contributing tag&data-lang=Python&data-info=👆看看还缺点儿什么?-->
|
||||
[Jupyter](./docs/jupyter.md)<!--rehype:style=background: rgb(0 72 153);&class=tag&data-lang=Python-->
|
||||
[Minio](./docs/minio.md)<!--rehype:style=background: rgb(3 3 128);-->
|
||||
[Bash](./docs/bash.md)<!--rehype:style=background: rgb(72 143 223);-->
|
||||
[Powershell](./docs/powershell.md)<!--rehype:style=background: rgb(0 81 197);-->
|
||||
[C 语言](./docs/c.md)<!--rehype:style=background: rgb(92 107 192);-->
|
||||
[C#](./docs/cs.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[C++](./docs/cpp.md)<!--rehype:style=background: rgb(6 147 13);&class=contributing-->
|
||||
[Dart](./docs/dart.md)<!--rehype:style=background: rgb(64 196 255);-->
|
||||
[Elixir](./docs/elixir.md)<!--rehype:style=background: rgb(124 26 156);&class=contributing tag&data-lang=Elixir-->
|
||||
[Erlang](./docs/erlang.md)<!--rehype:style=background: rgb(206 55 97);&class=contributing-->
|
||||
[Flutter](./docs/flutter.md)<!--rehype:style=background: rgb(150 220 254);&class=contributing tag&data-lang=Dart-->
|
||||
[Golang](./docs/golang.md)<!--rehype:style=background: rgb(39 160 193);-->
|
||||
[GraphQL](./docs/graphql.md)<!--rehype:style=background: rgb(214 66 146);-->
|
||||
[Hook](./docs/hook.md)<!--rehype:style=background: rgb(211 55 49);-->
|
||||
[Java](./docs/java.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Julia](./docs/julia.md)<!--rehype:style=background: rgb(26 188 156);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Kotlin](./docs/kotlin.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[Kubernetes](./docs/kubernetes.md)<!--rehype:style=background: rgb(51 113 227);&class=contributing&data-info=👆看看还缺点儿什么?-->
|
||||
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing-->
|
||||
[Laravel 8](./docs/laravel.md)<!--rehype:style=background: rgb(249 50 44);&class=contributing tag&data-lang=PHP-->
|
||||
[Markdown](./docs/markdown.md)<!--rehype:style=background: rgb(103 61 156);-->
|
||||
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168);&class=contributing-->
|
||||
[PHP](./docs/php.md)<!--rehype:style=background: rgb(79 91 147);-->
|
||||
[R 语言](./docs/r.md)<!--rehype:style=background: rgb(39 108 192);&class=contributing&data-info-->
|
||||
[Ruby](./docs/ruby.md)<!--rehype:style=background: rgb(204 52 45);-->
|
||||
[Rust](./docs/rust.md)<!--rehype:style=background: rgb(71 71 71);-->
|
||||
[Scala](./docs/scala.md)<!--rehype:style=background: rgb(34 82 94);-->
|
||||
[Swift](./docs/swift.md)<!--rehype:style=background: rgb(240 81 57);-->
|
||||
[SwiftUI](./docs/swiftui.md)<!--rehype:style=background: rgb(10 127 247);&class=tag&data-lang=swift-->
|
||||
[Spring Boot](./docs/springboot.md)<!--rehype:style=background: rgb(0 149 0);&class=tag&data-lang=Java-->
|
||||
[Lua](./docs/lua.md)<!--rehype:style=background: rgb(3 3 128);-->
|
||||
[Minio](./docs/minio.md)<!--rehype:style=background: rgb(3 3 128);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## Docker
|
||||
|
||||
[Docker](./docs/docker.md)<!--rehype:style=background: rgb(72 143 223);-->
|
||||
[Docker Compose](./docs/docker-compose.md)<!--rehype:style=background: rgb(72 143 223);&class=contributing tag&data-lang=Docker-->
|
||||
[Dockerfile](./docs/dockerfile.md)<!--rehype:style=background: rgb(0 72 153);&class=tag&data-lang=Docker-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 配置
|
||||
|
||||
[INI](./docs/ini.md)<!--rehype:style=background: rgb(57 59 60);-->
|
||||
[JSON](./docs/json.md)<!--rehype:style=background: rgb(57 59 60);-->
|
||||
[TOML](./docs/toml.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[YAML](./docs/yaml.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[INI](./docs/ini.md)<!--rehype:style=background: rgb(57 59 60);-->
|
||||
[JSON](./docs/json.md)<!--rehype:style=background: rgb(57 59 60);-->
|
||||
[TOML](./docs/toml.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[YAML](./docs/yaml.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 前端
|
||||
|
||||
[前端导航](./docs/feds.md)<!--rehype:style=background: rgb(35 115 205);&class=tag&data-lang=导航-->
|
||||
[Electron](./docs/electron.md)<!--rehype:style=background: rgb(0 72 153);-->
|
||||
[Emmet](./docs/emmet.md)<!--rehype:style=background: rgb(122 203 23);-->
|
||||
[ES 6](./docs/es6.md)<!--rehype:style=background: rgb(122 203 23);&class=tag&data-lang=JS-->
|
||||
[HTML](./docs/html.md)<!--rehype:style=background: rgb(228 77 39);-->
|
||||
[HTML Canvas](./docs/canvas.md)<!--rehype:style=background: rgb(228 77 39);-->
|
||||
[JavaScript](./docs/javascript.md)<!--rehype:style=background: rgb(203 183 31);-->
|
||||
[jQuery](./docs/jquery.md)<!--rehype:style=background: rgb(203 183 31);-->
|
||||
[Next.js](./docs/nextjs.md)<!--rehype:style=background: rgb(0 0 0);&class=tag&data-lang=React-->
|
||||
[RxJS](./docs/rxjs.md)<!--rehype:style=background: rgb(151 0 81);-->
|
||||
[React](./docs/react.md)<!--rehype:style=background: rgb(34 143 173);-->
|
||||
[React Router](./docs/reactrouter.md)<!--rehype:style=background: rgb(244 66 79);&class=tag&data-lang=React-->
|
||||
[React Native](./docs/react-native.md)<!--rehype:style=background: rgb(34 143 173);&class=tag&data-lang=React-->
|
||||
[TypeScript](./docs/typescript.md)<!--rehype:style=background: rgb(49 120 198);-->
|
||||
[Tauri](./docs/tauri.md)<!--rehype:style=background: rgb(103 214 237);&class=contributing-->
|
||||
[Vue 2](./docs/vue2.md)<!--rehype:style=background: rgb(64 184 131);&class=tag&data-lang=Vue-->
|
||||
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131);&class=tag&class=contributing tag&data-lang=Vue-->
|
||||
[</> htmx](./docs/htmx.md)<!--rehype:style=background: rgb(52 101 164);&class=contributing-->
|
||||
[Pinia](./docs/pinia.md)<!--rehype:style=background: rgb(44 136 50);&class=tag&data-lang=Vue-->
|
||||
[前端导航](./docs/feds.md)<!--rehype:style=background: rgb(35 115 205);&class=tag&data-lang=导航-->
|
||||
[Emmet](./docs/emmet.md)<!--rehype:style=background: rgb(122 203 23);-->
|
||||
[ES 6](./docs/es6.md)<!--rehype:style=background: rgb(122 203 23);&class=tag&data-lang=JS-->
|
||||
[HTML](./docs/html.md)<!--rehype:style=background: rgb(228 77 39);-->
|
||||
[HTML Canvas](./docs/canvas.md)<!--rehype:style=background: rgb(228 77 39);-->
|
||||
[JavaScript](./docs/javascript.md)<!--rehype:style=background: rgb(203 183 31);-->
|
||||
[jQuery](./docs/jquery.md)<!--rehype:style=background: rgb(203 183 31);-->
|
||||
[Next.js](./docs/nextjs.md)<!--rehype:style=background: rgb(0 0 0);&class=tag&data-lang=React-->
|
||||
[RxJS](./docs/rxjs.md)<!--rehype:style=background: rgb(151 0 81);-->
|
||||
[React](./docs/react.md)<!--rehype:style=background: rgb(34 143 173);-->
|
||||
[React Router](./docs/reactrouter.md)<!--rehype:style=background: rgb(244 66 79);&class=tag&data-lang=React-->
|
||||
[TypeScript](./docs/typescript.md)<!--rehype:style=background: rgb(49 120 198);-->
|
||||
[Vue 2](./docs/vue2.md)<!--rehype:style=background: rgb(64 184 131);&class=tag&data-lang=Vue-->
|
||||
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131);&class=tag&class=contributing tag&data-lang=Vue-->
|
||||
[</> htmx](./docs/htmx.md)<!--rehype:style=background: rgb(52 101 164);&class=contributing-->
|
||||
[Pinia](./docs/pinia.md)<!--rehype:style=background: rgb(44 136 50);&class=tag&data-lang=Vue-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## CSS
|
||||
|
||||
[CSS 3](./docs/css.md)<!--rehype:style=background: rgb(35 115 205);&class=tag&data-lang=CSS-->
|
||||
[Styled Components](./docs/styled-components.md)<!--rehype:style=background: rgb(221 60 184);&class=tag&data-lang=CSS-->
|
||||
[Stylus](./docs/stylus.md)<!--rehype:style=background: rgb(109 161 63);&class=tag&data-lang=CSS-->
|
||||
[Sass](./docs/sass.md)<!--rehype:style=background: rgb(207 100 154);&class=tag&data-lang=CSS-->
|
||||
[Less.js](./docs/lessjs.md)<!--rehype:style=background: rgb(29 54 93);&class=tag&data-lang=CSS-->
|
||||
[Tailwind CSS](./docs/tailwindcss.md)<!--rehype:style=background: rgb(49 120 198);&class=tag&data-lang=CSS-->
|
||||
[StyleX](./docs/stylex.md)<!--rehype:style=background: rgb(91 79 163);&class=tag&data-lang=CSS-->
|
||||
[CSS 3](./docs/css.md)<!--rehype:style=background: rgb(35 115 205);&class=tag&data-lang=CSS-->
|
||||
[Styled Components](./docs/styled-components.md)<!--rehype:style=background: rgb(221 60 184);&class=tag&data-lang=CSS-->
|
||||
[Stylus](./docs/stylus.md)<!--rehype:style=background: rgb(109 161 63);&class=tag&data-lang=CSS-->
|
||||
[Sass](./docs/sass.md)<!--rehype:style=background: rgb(207 100 154);&class=tag&data-lang=CSS-->
|
||||
[Less.js](./docs/lessjs.md)<!--rehype:style=background: rgb(29 54 93);&class=tag&data-lang=CSS-->
|
||||
[Tailwind CSS](./docs/tailwindcss.md)<!--rehype:style=background: rgb(49 120 198);&class=tag&data-lang=CSS-->
|
||||
[StyleX](./docs/stylex.md)<!--rehype:style=background: rgb(91 79 163);&class=tag&data-lang=CSS-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 客户端
|
||||
|
||||
[Electron](./docs/electron.md)<!--rehype:style=background: rgb(0 72 153);-->
|
||||
[React Native](./docs/react-native.md)<!--rehype:style=background: rgb(34 143 173);&class=tag&data-lang=React-->
|
||||
[Tauri](./docs/tauri.md)<!--rehype:style=background: rgb(103 214 237);&class=contributing-->
|
||||
[Wails](./docs/wails.md)<!--rehype:style=background: rgb(194 106 107);&class=contributing-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## Nodejs
|
||||
|
||||
[Express.js](./docs/expressjs.md)<!--rehype:style=background: rgb(95 151 206);-->
|
||||
[Ejs](./docs/ejs.md)<!--rehype:style=background: rgb(169 30 80);&class=tag&data-lang=JavaScript-->
|
||||
[Jest](./docs/jest.md)<!--rehype:style=background: rgb(153 66 91);-->
|
||||
[Koa.js](./docs/koajs.md)<!--rehype:style=background: rgb(95 151 206);-->
|
||||
[Lerna](./docs/lerna.md)<!--rehype:style=background: rgb(192 132 252);-->
|
||||
[npm](./docs/npm.md)<!--rehype:style=background: rgb(203 2 0);-->
|
||||
[NestJS](./docs/nestjs.md)<!--rehype:style=background: rgb(237 21 67);&class=contributing-->
|
||||
[PM2](./docs/pm2.md)<!--rehype:style=background: rgb(73 117 241);&class=contributing-->
|
||||
[package.json](./docs/package.json.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[Yarn](./docs/yarn.md)<!--rehype:style=background: rgb(33 136 182);-->
|
||||
[nvm](./docs/nvm.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[pnpm](./docs/pnpm.md)<!--rehype:style=background: rgb(191 133 0);-->
|
||||
[Bun](./docs/bun.md)<!--rehype:style=background: rgb(157 49 81);-->
|
||||
[Express.js](./docs/expressjs.md)<!--rehype:style=background: rgb(95 151 206);-->
|
||||
[Ejs](./docs/ejs.md)<!--rehype:style=background: rgb(169 30 80);&class=tag&data-lang=JavaScript-->
|
||||
[Jest](./docs/jest.md)<!--rehype:style=background: rgb(153 66 91);-->
|
||||
[Koa.js](./docs/koajs.md)<!--rehype:style=background: rgb(95 151 206);-->
|
||||
[Lerna](./docs/lerna.md)<!--rehype:style=background: rgb(192 132 252);-->
|
||||
[npm](./docs/npm.md)<!--rehype:style=background: rgb(203 2 0);-->
|
||||
[NestJS](./docs/nestjs.md)<!--rehype:style=background: rgb(237 21 67);&class=contributing-->
|
||||
[PM2](./docs/pm2.md)<!--rehype:style=background: rgb(73 117 241);&class=contributing-->
|
||||
[package.json](./docs/package.json.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[Yarn](./docs/yarn.md)<!--rehype:style=background: rgb(33 136 182);-->
|
||||
[nvm](./docs/nvm.md)<!--rehype:style=background: rgb(132 132 132);-->
|
||||
[pnpm](./docs/pnpm.md)<!--rehype:style=background: rgb(191 133 0);-->
|
||||
[Bun](./docs/bun.md)<!--rehype:style=background: rgb(157 49 81);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## Python
|
||||
|
||||
[Python](./docs/python.md)<!--rehype:style=background: rgb(43 91 132);-->
|
||||
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
|
||||
[Flask](./docs/flask.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[FastAPI](./docs/fastapi.md)<!--rehype:style=background: rgb(210 168 255);&class=contributing tag&data-lang=Python-->
|
||||
[Pytorch](./docs/pytorch.md)<!--rehype:style=background: rgb(238 76 44);&class=contributing tag&data-lang=Python&data-info=👆看看还缺点儿什么?-->
|
||||
[Jupyter](./docs/jupyter.md)<!--rehype:style=background: rgb(0 72 153);&class=tag&data-lang=Python-->
|
||||
[Conda](./docs/conda.md)<!--rehype:style=background: rgb(68 168 51);&class=tag&data-lang=Python-->
|
||||
[pip](./docs/pip.md)<!--rehype:style=background: rgb(24 147 209);&class=tag contributing&data-lang=Python-->
|
||||
[uv](./docs/uv.md)<!--rehype:style=background: rgb(26 35 126);&class=tag contributing&data-lang=Python-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 命令
|
||||
|
||||
[ADB, Android Debug Bridge](./docs/adb.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=Android&data-info=👆看看还缺点儿什么?-->
|
||||
[Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=RedHat&data-info=👆看看还缺点儿什么?-->
|
||||
[Awk](./docs/awk.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Curl](./docs/curl.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Chmod](./docs/chmod.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[ADB, Android Debug Bridge](./docs/adb.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=Android&data-info=👆看看还缺点儿什么?-->
|
||||
[Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0);&class=contributing tag&data-lang=RedHat&data-info=👆看看还缺点儿什么?-->
|
||||
[Awk](./docs/awk.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Curl](./docs/curl.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Chmod](./docs/chmod.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Chown](./docs/chown.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=contributing-->
|
||||
[Cron](./docs/cron.md)<!--rehype:style=background: rgb(239 68 68);-->
|
||||
[CMake](./docs/cmake.md)<!--rehype:style=background: rgb(92 107 192);&class=contributing-->
|
||||
[CMD](./docs/cmd.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Find](./docs/find.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9);&class=contributing-->
|
||||
[Gdb](./docs/gdb.md)<!--rehype:style=background: rgb(215 89 62);-->
|
||||
[Glances](./docs/glances.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Grep](./docs/grep.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Htop](./docs/htop.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[iptables](./docs/iptables.md)<!--rehype:style=background: rgb(32 74 135);-->
|
||||
[jq](./docs/jq.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=JSON-->
|
||||
[Justfile](./docs/justfile.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Lsof](./docs/lsof.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Make](./docs/make.md)<!--rehype:style=background: rgb(99 99 99);&class=contributing-->
|
||||
[Netstat](./docs/netstat.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Netcat](./docs/netcat.md)<!--rehype:style=background: rgb(4 92 135);-->
|
||||
[OpenSSL](./docs/openssl.md)<!--rehype:style=background: rgb(114 20 18);-->
|
||||
[ps](./docs/ps.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Pandoc](./docs/pandoc.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=文档转换器-->
|
||||
[Sed](./docs/sed.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Systemd](./docs/systemd.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[SSH](./docs/ssh.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Screen](./docs/screen.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Sysdig](./docs/sysdig.md)<!--rehype:style=background: rgb(1 171 199);-->
|
||||
[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);-->
|
||||
[Cron](./docs/cron.md)<!--rehype:style=background: rgb(239 68 68);-->
|
||||
[CMake](./docs/cmake.md)<!--rehype:style=background: rgb(92 107 192);&class=contributing-->
|
||||
[CMD](./docs/cmd.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[.NET CLI](./docs/dotnet-cli.md)<!--rehype:style=background: rgb(16 185 129);&class=contributing tag&data-lang=#C-->
|
||||
[Find](./docs/find.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[FFmpeg](./docs/ffmpeg.md)<!--rehype:style=background: rgb(0 193 9);&class=contributing-->
|
||||
[FTP](./docs/ftp.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Gdb](./docs/gdb.md)<!--rehype:style=background: rgb(215 89 62);-->
|
||||
[Glances](./docs/glances.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Grep](./docs/grep.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Htop](./docs/htop.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[iptables](./docs/iptables.md)<!--rehype:style=background: rgb(32 74 135);-->
|
||||
[jq](./docs/jq.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=JSON-->
|
||||
[Justfile](./docs/justfile.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Lsof](./docs/lsof.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Make](./docs/make.md)<!--rehype:style=background: rgb(99 99 99);&class=contributing-->
|
||||
[Netstat](./docs/netstat.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Netcat](./docs/netcat.md)<!--rehype:style=background: rgb(4 92 135);-->
|
||||
[OpenSSL](./docs/openssl.md)<!--rehype:style=background: rgb(114 20 18);-->
|
||||
[ps](./docs/ps.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Pandoc](./docs/pandoc.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=文档转换器-->
|
||||
[Sed](./docs/sed.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Systemd](./docs/systemd.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[SSH](./docs/ssh.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Screen](./docs/screen.md)<!--rehype:style=background: rgb(99 99 99);-->
|
||||
[Sysdig](./docs/sysdig.md)<!--rehype:style=background: rgb(1 171 199);-->
|
||||
[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=解压缩-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 工具
|
||||
|
||||
[ChatGPT](./docs/chatgpt.md)<!--rehype:style=background: rgb(74, 161, 129);&class=tag&data-lang=AI-->
|
||||
[Emacs](./docs/emacs.md)<!--rehype:style=background: rgb(98 36 134);-->
|
||||
[Linux Command](./docs/linux-command.md)<!--rehype:style=background: rgb(215 89 62);&class=tag&data-lang=命令速查-->
|
||||
[Mitmproxy](./docs/mitmproxy.md)<!--rehype:style=background: rgb(4 92 135);-->
|
||||
[nginx](./docs/nginx.md)<!--rehype:style=background: rgb(0 153 0);-->
|
||||
[RegEx 正则表达式](./docs/regex.md)<!--rehype:style=background: rgb(149 36 155);-->
|
||||
[Semver 语义化版本](./docs/semver.md)<!--rehype:style=background: rgb(106 111 141);-->
|
||||
[Vim](./docs/vim.md)<!--rehype:style=background: rgb(9 150 8);-->
|
||||
[XPath](./docs/xpath.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[Emacs](./docs/emacs.md)<!--rehype:style=background: rgb(98 36 134);-->
|
||||
[Linux Command](./docs/linux-command.md)<!--rehype:style=background: rgb(215 89 62);&class=tag&data-lang=命令速查-->
|
||||
[Mitmproxy](./docs/mitmproxy.md)<!--rehype:style=background: rgb(4 92 135);-->
|
||||
[nginx](./docs/nginx.md)<!--rehype:style=background: rgb(0 153 0);-->
|
||||
[RegEx 正则表达式](./docs/regex.md)<!--rehype:style=background: rgb(149 36 155);-->
|
||||
[Semver 语义化版本](./docs/semver.md)<!--rehype:style=background: rgb(106 111 141);-->
|
||||
[Vim](./docs/vim.md)<!--rehype:style=background: rgb(9 150 8);-->
|
||||
[XPath](./docs/xpath.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 软件包管理器
|
||||
|
||||
[APT](./docs/apt.md)<!--rehype:style=background: rgb(30 144 255);-->
|
||||
[Conan](./docs/conan.md)<!--rehype:style=background: rgb(0 193 9);&class=tag&data-lang=C/C++-->
|
||||
[Conda](./docs/conda.md)<!--rehype:style=background: rgb(68 168 51);&class=tag&data-lang=Python-->
|
||||
[CocoaPods](./docs/cocoapods.md)<!--rehype:style=background: rgb(251 0 6);&class=tag&data-lang=C/C++-->
|
||||
[Cargo](./docs/cargo.md)<!--rehype:style=background: rgb(71 71 71);&class=tag&data-lang=Rust-->
|
||||
[Homebrew](./docs/homebrew.md)<!--rehype:style=background: rgb(252 185 87);&class=tag&data-lang=macOS-->
|
||||
[Pacman](./docs/pacman.md)<!--rehype:style=background: rgb(24 147 209);&class=tag&data-lang=archlinux&class=contributing-->
|
||||
[YUM](./docs/yum.md)<!--rehype:style=background: rgb(86 86 123);-->
|
||||
[SDKMAN](./docs/sdkman.md)<!--rehype:style=background: rgb(0 118 198);-->
|
||||
[APT](./docs/apt.md)<!--rehype:style=background: rgb(30 144 255);-->
|
||||
[Conan](./docs/conan.md)<!--rehype:style=background: rgb(0 193 9);&class=tag&data-lang=C/C++-->
|
||||
[CocoaPods](./docs/cocoapods.md)<!--rehype:style=background: rgb(251 0 6);&class=tag&data-lang=C/C++-->
|
||||
[Cargo](./docs/cargo.md)<!--rehype:style=background: rgb(71 71 71);&class=tag&data-lang=Rust-->
|
||||
[Homebrew](./docs/homebrew.md)<!--rehype:style=background: rgb(252 185 87);&class=tag&data-lang=macOS-->
|
||||
[Pacman](./docs/pacman.md)<!--rehype:style=background: rgb(24 147 209);&class=tag contributing&data-lang=Linux-->
|
||||
[YUM](./docs/yum.md)<!--rehype:style=background: rgb(86 86 123);-->
|
||||
[SDKMAN](./docs/sdkman.md)<!--rehype:style=background: rgb(0 118 198);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## Git 版本控制
|
||||
|
||||
[Git](./docs/git.md)<!--rehype:style=background: rgb(215 89 62);&class=tag&data-lang=版本控制-->
|
||||
[Github](./docs/github.md)<!--rehype:style=background: rgb(36 41 47);-->
|
||||
[Github Copilot](./docs/github-copilot.md)<!--rehype:style=background: rgb(125 45 220);&class=tag contributing&data-lang=AI&data-info=👆看看还缺点儿什么?-->
|
||||
[Github CLI](./docs/github-cli.md)<!--rehype:style=background: rgb(36 41 47);-->
|
||||
[Github Actions](./docs/github-actions.md)<!--rehype:style=background: rgb(121 184 255);-->
|
||||
[Gitlab CI/CD](./docs/gitlab-ci.md)<!--rehype:style=background: rgb(226 67 41);&class=contributing-->
|
||||
[Subversion (SVN)](./docs/subversion.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=版本控制-->
|
||||
[Git](./docs/git.md)<!--rehype:style=background: rgb(215 89 62);&class=tag&data-lang=版本控制-->
|
||||
[Github](./docs/github.md)<!--rehype:style=background: rgb(36 41 47);-->
|
||||
[Github Copilot](./docs/github-copilot.md)<!--rehype:style=background: rgb(125 45 220);&class=tag contributing&data-lang=AI&data-info=👆看看还缺点儿什么?-->
|
||||
[Github CLI](./docs/github-cli.md)<!--rehype:style=background: rgb(36 41 47);-->
|
||||
[Github Actions](./docs/github-actions.md)<!--rehype:style=background: rgb(121 184 255);-->
|
||||
[Gitlab CI/CD](./docs/gitlab-ci.md)<!--rehype:style=background: rgb(226 67 41);&class=contributing-->
|
||||
[Subversion (SVN)](./docs/subversion.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=版本控制-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 数据库
|
||||
|
||||
[MySQL](./docs/mysql.md)<!--rehype:style=background: rgb(1 117 143);&class=tag&data-lang=SQL-->
|
||||
[MongoDB](./docs/mongodb.md)<!--rehype:style=background: rgb(0 237 100);-->
|
||||
[Oracle](./docs/oracle.md)<!--rehype:style=background: rgb(255 0 0);&class=tag&data-lang=SQL-->
|
||||
[PostgreSQL](./docs/postgres.md)<!--rehype:style=background: rgb(43 109 163);&class=tag&data-lang=SQL-->
|
||||
[Redis](./docs/redis.md)<!--rehype:style=background: rgb(198 47 44);-->
|
||||
[Elasticsearch](./docs/elasticsearch.md)<!--rehype:style=background: rgb(36 187 177);-->
|
||||
[MySQL](./docs/mysql.md)<!--rehype:style=background: rgb(1 117 143);&class=tag&data-lang=SQL-->
|
||||
[MongoDB](./docs/mongodb.md)<!--rehype:style=background: rgb(0 237 100);-->
|
||||
[Oracle](./docs/oracle.md)<!--rehype:style=background: rgb(255 0 0);&class=tag&data-lang=SQL-->
|
||||
[PostgreSQL](./docs/postgres.md)<!--rehype:style=background: rgb(43 109 163);&class=tag&data-lang=SQL-->
|
||||
[Redis](./docs/redis.md)<!--rehype:style=background: rgb(198 47 44);-->
|
||||
[Elasticsearch](./docs/elasticsearch.md)<!--rehype:style=background: rgb(36 187 177);-->
|
||||
[Neo4j](./docs/neo4j.md)<!--rehype:style=background: rgb(86 86 123);-->
|
||||
[SQLite](./docs/sqlite.md)<!--rehype:style=background: rgb(0 59 90);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 快捷键
|
||||
|
||||
[Adobe Lightroom](./docs/adobe-lightroom.md)<!--rehype:style=background: rgb(49 168 255);-->
|
||||
[Adobe Photoshop](./docs/adobe-photoshop.md)<!--rehype:style=background: rgb(49 168 255);-->
|
||||
[Adobe XD](./docs/adobe-xd.md)<!--rehype:style=background: rgb(255 97 246);-->
|
||||
[Android Studio](./docs/android-studio.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Blender](./docs/blender.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Firefox](./docs/firefox.md)<!--rehype:style=background: rgb(253 53 76);-->
|
||||
[Finder](./docs/finder.md)<!--rehype:style=background: rgb(253 53 76);&class=tag&data-lang=macOS-->
|
||||
[Figma](./docs/figma.md)<!--rehype:style=background: rgb(147 90 238);-->
|
||||
[Gmail](./docs/gmail.md)<!--rehype:style=background: rgb(234 67 54);-->
|
||||
[Gitlab](./docs/gitlab.md)<!--rehype:style=background: rgb(226 67 41);-->
|
||||
[Google Chrome](./docs/google-chrome.md)<!--rehype:style=background: rgb(29 116 232);-->
|
||||
[IntelliJ IDEA](./docs/intelli-j-idea.md)<!--rehype:style=background: rgb(223 148 0);&class=tag&data-lang=Java-->
|
||||
[PyCharm](./docs/pycharm.md)<!--rehype:style=background: rgb(36 215 137);&class=tag&data-lang=Python-->
|
||||
[PhpStorm](./docs/phpstorm.md)<!--rehype:style=\-\-bg\-opacity: 0.75;background-image: linear-gradient(to left, rgba(255 106 172 / var(\-\-bg\-opacity)), rgba(183 173 255 / var(\-\-bg\-opacity)));-->
|
||||
[Sketch](./docs/sketch.md)<!--rehype:style=background: rgb(223 148 0);&class=tag&data-lang=macOS-->
|
||||
[Sublime Text](./docs/sublime-text.md)<!--rehype:style=background: rgb(223 148 0);-->
|
||||
[Adobe Lightroom](./docs/adobe-lightroom.md)<!--rehype:style=background: rgb(49 168 255);-->
|
||||
[Adobe Photoshop](./docs/adobe-photoshop.md)<!--rehype:style=background: rgb(49 168 255);-->
|
||||
[Adobe XD](./docs/adobe-xd.md)<!--rehype:style=background: rgb(255 97 246);-->
|
||||
[Android Studio](./docs/android-studio.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Blender](./docs/blender.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Firefox](./docs/firefox.md)<!--rehype:style=background: rgb(253 53 76);-->
|
||||
[Finder](./docs/finder.md)<!--rehype:style=background: rgb(253 53 76);&class=tag&data-lang=macOS-->
|
||||
[Figma](./docs/figma.md)<!--rehype:style=background: rgb(147 90 238);-->
|
||||
[Gmail](./docs/gmail.md)<!--rehype:style=background: rgb(234 67 54);-->
|
||||
[Gitlab](./docs/gitlab.md)<!--rehype:style=background: rgb(226 67 41);-->
|
||||
[Google Chrome](./docs/google-chrome.md)<!--rehype:style=background: rgb(29 116 232);-->
|
||||
[IntelliJ IDEA](./docs/intelli-j-idea.md)<!--rehype:style=background: rgb(223 148 0);&class=tag&data-lang=Java-->
|
||||
[PyCharm](./docs/pycharm.md)<!--rehype:style=background: rgb(36 215 137);&class=tag&data-lang=Python-->
|
||||
[PhpStorm](./docs/phpstorm.md)<!--rehype:style=\-\-bg\-opacity: 0.75;background-image: linear-gradient(to left, rgba(255 106 172 / var(\-\-bg\-opacity)), rgba(183 173 255 / var(\-\-bg\-opacity)));-->
|
||||
[Sketch](./docs/sketch.md)<!--rehype:style=background: rgb(223 148 0);&class=tag&data-lang=macOS-->
|
||||
[Sublime Text](./docs/sublime-text.md)<!--rehype:style=background: rgb(223 148 0);-->
|
||||
[Vimium](./docs/vimium.md)<!--rehype:style=background: rgb(49 168 255);&class=contributing&class=tag&data-lang=浏览器插件-->
|
||||
[VSCode](./docs/vscode.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[Twitter(X)](./docs/twitter.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[WebStorm](./docs/webstorm.md)<!--rehype:style=background: rgb(32 148 220);-->
|
||||
[Xcode](./docs/xcode.md)<!--rehype:style=background: rgb(24 151 233);&class=tag&data-lang=macOS-->
|
||||
[Zed](./docs/zed.md)<!--rehype:style=background: rgb(71 71 71);-->
|
||||
[VSCode](./docs/vscode.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[Twitter(X)](./docs/twitter.md)<!--rehype:style=background: rgb(91 163 230);-->
|
||||
[WebStorm](./docs/webstorm.md)<!--rehype:style=background: rgb(32 148 220);-->
|
||||
[Xcode](./docs/xcode.md)<!--rehype:style=background: rgb(24 151 233);&class=tag&data-lang=macOS-->
|
||||
[Zed](./docs/zed.md)<!--rehype:style=background: rgb(71 71 71);-->
|
||||
<!--rehype:class=home-card-->
|
||||
|
||||
## 其它
|
||||
|
||||
[Quick Reference](./docs/quickreference.md)<!--rehype:style=background: rgb(0 182 122);&class=tag&data-lang=排版说明-->
|
||||
[Aspect Ratio](./docs/aspect-ratio.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[ASCII Code](./docs/ascii-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Symbol Code](./docs/symbol-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Colors Named](./docs/colors-named.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=CSS-->
|
||||
[HTTP 状态码](./docs/http-status-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[HTML 字符实体](./docs/html-char.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=HTML-->
|
||||
[ISO-3166 国家代码](./docs/iso-3166-1.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[ISO-639 语言代码](./docs/iso-639-1.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[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);-->
|
||||
[Quick Reference](./docs/quickreference.md)<!--rehype:style=background: rgb(0 182 122);&class=tag&data-lang=排版说明-->
|
||||
[Aspect Ratio](./docs/aspect-ratio.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[ASCII Code](./docs/ascii-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Symbol Code](./docs/symbol-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[Colors Named](./docs/colors-named.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=CSS-->
|
||||
[HTTP 状态码](./docs/http-status-code.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[HTML 字符实体](./docs/html-char.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=HTML-->
|
||||
[ISO-3166 国家代码](./docs/iso-3166-1.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[ISO-639 语言代码](./docs/iso-639-1.md)<!--rehype:style=background: rgb(16 185 129);-->
|
||||
[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-->
|
||||
|
||||
## 看到缺少什么了吗?
|
||||
@ -284,7 +334,7 @@ Quick Reference
|
||||
|
||||
上面的列表没有看到你想要的? 您是否正在寻找一些备忘清单或参考资料,或者您有一些片段备忘清单要分享,这是一个最好的机会!
|
||||
|
||||
[`请求添加备忘单(速查表)`](https://github.com/jaywcjlove/reference/issues/new?title=【备忘清单】+请求%3A+&labels=request&template=cheatsheet-request.md&assignee=)<!--rehype:class=home-button&style=margin-top:2rem&target=__blank-->
|
||||
[`请求添加备忘单(速查表)`](https://github.com/jaywcjlove/reference/issues/new?template=cheatsheet-request.yml)<!--rehype:class=home-button&style=margin-top:2rem&target=__blank-->
|
||||
[`我有一张备忘单(速查表)`](https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md)<!--rehype:class=home-button text-grey&target=__blank-->
|
||||
<!--rehype:style=margin-top:3rem-->
|
||||
|
||||
@ -294,7 +344,8 @@ Quick Reference
|
||||
请参阅 [Quick Reference](./docs/quickreference.md) 了解如何开始。一如既往,感谢我们出色的[贡献者](https://github.com/jaywcjlove/reference/graphs/contributors)!
|
||||
<!--rehype:style=padding-bottom:1rem;-->
|
||||
|
||||
<!--GAMFC--><a href="https://github.com/jaywcjlove" title="小弟调调"><img src="https://avatars.githubusercontent.com/u/1680273?v=4" width="42;" alt="小弟调调"/></a>
|
||||
<!--GAMFC-->
|
||||
<a href="https://github.com/jaywcjlove" title="小弟调调"><img src="https://avatars.githubusercontent.com/u/1680273?v=4" width="42;" alt="小弟调调"/></a>
|
||||
<a href="https://github.com/fwqaaq" title="fwqaaq"><img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fwqaaq"/></a>
|
||||
<a href="https://github.com/zhangymPerson" title="zhangym"><img src="https://avatars.githubusercontent.com/u/40376181?v=4" width="42;" alt="zhangym"/></a>
|
||||
<a href="https://github.com/mofelee" title="mofelee"><img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/></a>
|
||||
@ -316,7 +367,7 @@ Quick Reference
|
||||
<a href="https://github.com/qyl27" title="雨落"><img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="雨落"/></a>
|
||||
<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/zine0" title="zine yu"><img src="https://avatars.githubusercontent.com/u/46991452?v=4" width="42;" alt="zine yu"/></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/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
|
||||
@ -324,10 +375,11 @@ Quick Reference
|
||||
<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/richuff" title="richuff"><img src="https://avatars.githubusercontent.com/u/162144087?v=4" width="42;" alt="richuff"/></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/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></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/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>
|
||||
@ -348,6 +400,7 @@ Quick Reference
|
||||
<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/XYZscratcher" title="XYZ"><img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/></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/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>
|
||||
@ -363,7 +416,6 @@ Quick Reference
|
||||
<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/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></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/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></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>
|
||||
@ -372,6 +424,7 @@ Quick Reference
|
||||
<a href="https://github.com/godot42x" title="godot42"><img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godot42"/></a>
|
||||
<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/fenglielie" title="fenglielie (风猎猎)"><img src="https://avatars.githubusercontent.com/u/51266402?v=4" width="42;" alt="fenglielie (风猎猎)"/></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>
|
||||
@ -391,6 +444,7 @@ 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/ChuwuYo" title="初五"><img src="https://avatars.githubusercontent.com/u/141227996?v=4" width="42;" alt="初五"/></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>
|
||||
@ -408,6 +462,7 @@ Quick Reference
|
||||
<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/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></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/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>
|
||||
@ -439,7 +494,6 @@ 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>
|
||||
@ -447,6 +501,7 @@ Quick Reference
|
||||
<a href="https://github.com/yikuaibro" title="yikuaibro"><img src="https://avatars.githubusercontent.com/u/44493045?v=4" width="42;" alt="yikuaibro"/></a>
|
||||
<a href="https://github.com/HeZephyr" title="Zephyr He"><img src="https://avatars.githubusercontent.com/u/67893254?v=4" width="42;" alt="Zephyr He"/></a>
|
||||
<a href="https://github.com/dfshizhiqiang" title="Zech"><img src="https://avatars.githubusercontent.com/u/7030019?v=4" width="42;" alt="Zech"/></a>
|
||||
<a href="https://github.com/zkassing" title="You Kuan Zhang"><img src="https://avatars.githubusercontent.com/u/13414184?v=4" width="42;" alt="You Kuan Zhang"/></a>
|
||||
<a href="https://github.com/Yo-gurts" title="Yogurt"><img src="https://avatars.githubusercontent.com/u/44612841?v=4" width="42;" alt="Yogurt"/></a>
|
||||
<a href="https://github.com/hi-liyan" title="李李李"><img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="李李李"/></a>
|
||||
<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>
|
||||
@ -454,7 +509,7 @@ Quick Reference
|
||||
<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/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/Xiwin" title="shawing"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="shawing"/></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>
|
||||
@ -463,13 +518,16 @@ Quick Reference
|
||||
<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="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/PILIHU2022" title="Spark"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="Spark"/></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>
|
||||
<a href="https://github.com/malcolmyu" title="Minghao Yu"><img src="https://avatars.githubusercontent.com/u/3203962?v=4" width="42;" alt="Minghao Yu"/></a>
|
||||
<a href="https://github.com/Mieriki" title="Mieriki"><img src="https://avatars.githubusercontent.com/u/142009318?v=4" width="42;" alt="Mieriki"/></a><!--GAMFC-END-->
|
||||
<a href="https://github.com/Mieriki" title="Mieriki"><img src="https://avatars.githubusercontent.com/u/142009318?v=4" width="42;" alt="Mieriki"/></a>
|
||||
|
||||
|
||||
<!--GAMFC-END-->
|
||||
|
||||
[贡献者](https://github.com/jaywcjlove/reference/graphs/contributors)列表,由 [contributors](https://github.com/jaywcjlove/github-action-contributors) 根据提交次数的先后顺序自动生成
|
||||
<!--rehype:style=padding-top:1rem;-->
|
||||
@ -479,98 +537,72 @@ Quick Reference
|
||||
|
||||
由于中国国内访问,时常打不开,你可以访问下面镜像网站(国内打不开的不再收录)。推荐自己的[镜像网站](https://github.com/jaywcjlove/reference/discussions/206#discussion-4625735)
|
||||
|
||||
[dev.bi](https://dev.bi)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[docflow.cn](https://ref.docflow.cn)<!--rehype:target=_blank-->
|
||||
[quickref.cn](https://quickref.cn)<!--rehype:target=_blank-->
|
||||
[aibk.cn](https://quickref.aibk.cn)<!--rehype:target=_blank-->
|
||||
[ecdata.cn](http://ref.ecdata.cn)<!--rehype:target=_blank-->
|
||||
[quickref.hestudio.net](https://quickref.hestudio.net)<!--rehype:target=_blank&class=contributing&data-info=👆整点自动同步-->
|
||||
[qiubit.cc](http://ref.qiubit.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[78888889.xyz](https://reference.78888889.xyz)<!--rehype:target=_blank-->
|
||||
[pusukeji.com](https://reference.pusukeji.com/)<!--rehype:target=_blank-->
|
||||
[magese.com](https://ref.magese.com)<!--rehype:target=_blank-->
|
||||
[doraemon.press](https://reference.doraemon.press/)<!--rehype:target=_blank-->
|
||||
[foreverlink.love](https://reference.foreverlink.love)<!--rehype:target=_blank-->
|
||||
[xod.cc](https://ref.xod.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[jhao.me](http://reference.jhao.me/)<!--rehype:target=_blank-->
|
||||
[maoo.me](https://note.maoo.me)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[luckyits.com](https://ref.luckyits.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[9up.dev](https://devref.9up.dev)<!--rehype:target=_blank-->
|
||||
[ylmty.cc](https://docs.ylmty.cc)<!--rehype:target=_blank-->
|
||||
[mingming.dev](https://ref.mingming.dev)<!--rehype:target=_blank-->
|
||||
[itzcy.com](https://reference.itzcy.com/)<!--rehype:target=_blank-->
|
||||
[ref.v-ta.com](https://ref.v-ta.com)<!--rehype:target=_blank-->
|
||||
[eryajf.net](https://ref.eryajf.net/)<!--rehype:target=_blank-->
|
||||
[isteed.cc](https://ref.isteed.cc/)<!--rehype:target=_blank-->
|
||||
[666666.dev](https://cheat.666666.dev)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[srebro.cn](https://ref.srebro.cn)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[guoxudong.io](https://reference.guoxudong.io/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[moeyuuko.com](https://ref.moeyuuko.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[terryyoung.cn](http://ref.terryyoung.cn/)<!--rehype:target=_blank&class=contributing&data-info=👆每周一三五自动同步-->
|
||||
[quickref.binscor.top](https://quickref.binscor.top)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[srebro.cn](https://ref.srebro.cn)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[zone.id](https://cyref.zone.id/)<!--rehype:target=_blank-->
|
||||
[aibk.cn](https://quickref.aibk.cn)<!--rehype:target=_blank-->
|
||||
[docflow.cn](https://ref.docflow.cn)<!--rehype:target=_blank-->
|
||||
[quickref.hestudio.net](https://quickref.hestudio.net)<!--rehype:target=_blank&class=contributing&data-info=👆整点自动同步-->
|
||||
[qiubit.cc](http://ref.qiubit.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[moeyuuko.com](https://ref.moeyuuko.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[haah.net](https://ref.haah.net)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[xiechengqi.top](https://ref.xiechengqi.top)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[ownit.top](https://memo.ownit.top)<!--rehype:target=_blank&data-info=👆每十分钟自动同步-->
|
||||
[666666.dev](https://cheat.666666.dev)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[mmoke.com](https://ref.mmoke.com)<!--rehype:target=_blank&data-info=👆每天自动同步-->
|
||||
[laoleng.vip](http://bbs.laoleng.vip/reference/)<!--rehype:target=_blank-->
|
||||
[dbyun.net](https://www.dbyun.net/reference/index.html)<!--rehype:target=_blank-->
|
||||
[if010.com](https://quickref.if010.com/)<!--rehype:target=_blank-->
|
||||
[isteed.cc](https://ref.isteed.cc/)<!--rehype:target=_blank-->
|
||||
[xushanxiang.com](https://xushanxiang.com/ref/)<!--rehype:target=_blank-->
|
||||
[surcode.cn](https://ref.surcode.cn)<!--rehype:target=_blank-->
|
||||
[cms.im](https://quickref.cms.im/)<!--rehype:target=_blank-->
|
||||
[eryajf.net](https://ref.eryajf.net/)<!--rehype:target=_blank-->
|
||||
[kjchmc.cn](https://ref.kjchmc.cn/)<!--rehype:target=_blank-->
|
||||
[quickreference.pages.dev](https://quickreference.pages.dev/)<!--rehype:target=_blank-->
|
||||
[btaw.cn](https://btaw.cn/qr)<!--rehype:target=_blank&class=contributing-->
|
||||
[lzw.me](https://lzw.me/x/reference/)<!--rehype:target=_blank-->
|
||||
[itcent.cn](https://code.itcent.cn/)<!--rehype:target=_blank-->
|
||||
[coolxy.top](https://refer.coolxy.top)<!--rehype:target=_blank-->
|
||||
[notes-bin.top](https://notes-bin.top)<!--rehype:target=_blank-->
|
||||
[lzzzt.cn](https://ref.lzzzt.cn)<!--rehype:target=_blank-->
|
||||
[kclouder.cn](https://www.kclouder.cn/reference)<!--rehype:target=_blank-->
|
||||
[longdada.me](https://ref.longdada.me)<!--rehype:target=_blank-->
|
||||
[xalaok.top](https://ref.xalaok.top)<!--rehype:target=_blank-->
|
||||
[chenze.cloud](https://quick.chenze.cloud)<!--rehype:target=_blank-->
|
||||
[ref.v-ta.com](https://ref.v-ta.com)<!--rehype:target=_blank-->
|
||||
[hao.kim](https://ref.hao.kim)<!--rehype:target=_blank-->
|
||||
[tool.sakura.vin](https://tool.sakura.vin/ref/)<!--rehype:target=_blank-->
|
||||
[chenchen.site](https://img.chenchen.site/reference/)<!--rehype:target=_blank-->
|
||||
[jgeek.cn](http://reference.jgeek.cn/)<!--rehype:target=_blank-->
|
||||
[itzcy.com](https://reference.itzcy.com/)<!--rehype:target=_blank-->
|
||||
[fifo.site](https://ref.fifo.site)<!--rehype:target=_blank-->
|
||||
[gaojs.com.cn](https://study.gaojs.com.cn)<!--rehype:target=_blank-->
|
||||
[15926.tech](https://ref.15926.tech)<!--rehype:target=_blank-->
|
||||
[jeffjade.com](https://codehelp.jeffjade.com)<!--rehype:target=_blank-->
|
||||
[okhk.net](https://ref.okhk.net)<!--rehype:target=_blank-->
|
||||
[wdft.com](https://ref.wdft.com)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[xiaopa.cc](https://reference.xiaopa.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[zsccodelnc.cn](https://zsccodelnc.cn/coderef/)<!--rehype:target=_blank-->
|
||||
[chanlun.pro](https://ref.chanlun.pro)<!--rehype:target=_blank-->
|
||||
[wdft.com](https://ref.wdft.com)<!--rehype:target=_blank-->
|
||||
[likui.info](https://r.likui.info)<!--rehype:target=_blank-->
|
||||
[ruiange.work](https://code.ruiange.work/)<!--rehype:target=_blank-->
|
||||
[denganliang.com](https://ref.denganliang.com)<!--rehype:target=_blank-->
|
||||
[ivanz.cc](https://ref.ivanz.cc)<!--rehype:target=_blank-->
|
||||
[dev6.site](https://ref.dev6.site/)<!--rehype:target=_blank-->
|
||||
[mingming.dev](https://ref.mingming.dev)<!--rehype:target=_blank-->
|
||||
[zishu.me](https://ref.zishu.me/)<!--rehype:target=_blank-->
|
||||
[sucan2233.cn](http://reference.sucan2233.cn)<!--rehype:target=_blank-->
|
||||
[pages.dev](https://reference-bk9.pages.dev/)<!--rehype:target=_blank&class=contributing&data-info=👆自动实时同步-->
|
||||
[hrzweb.xyz](https://r.hrzweb.xyz)<!--rehype:target=_blank-->
|
||||
[bobh.cool](https://quickref.bobh.cool)<!--rehype:target=_blank-->
|
||||
[tangwudi.com](https://doc.tangwudi.com)<!--rehype:target=_blank-->
|
||||
[alomerry.com](https://ref.alomerry.com)<!--rehype:target=_blank-->
|
||||
[osz.icu](https://ref.osz.icu/)<!--rehype:target=_blank-->
|
||||
[ylmty.cc](https://docs.ylmty.cc)<!--rehype:target=_blank-->
|
||||
[kfele.asia](https://ref.kfele.asia/)<!--rehype:target=_blank-->
|
||||
[9up.dev](https://devref.9up.dev)<!--rehype:target=_blank-->
|
||||
[cizai.io](https://reference.cizai.io)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[docs.willxup.top](https://docs.willxup.top)<!--rehype:target=_blank-->
|
||||
[wangchunfei.com](https://ref.wangchunfei.com/)<!--rehype:target=_blank-->
|
||||
[object.cool](https://r.object.cool)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[luckyits.com](https://ref.luckyits.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[jeremyjone.com](https://ref.jeremyjone.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[object.cool](https://r.object.cool)<!--rehype:target=_blank-->
|
||||
[jeremyjone.com](https://ref.jeremyjone.com/)<!--rehype:target=_blank-->
|
||||
[gistudy.net](https://reference.gistudy.net/)<!--rehype:target=_blank-->
|
||||
[maoo.me](https://note.maoo.me)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[deyout.com](https://ref.deyout.com)<!--rehype:target=_blank-->
|
||||
[xod.cc](https://ref.xod.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[const.team](https://reference.const.team)<!--rehype:target=_blank-->
|
||||
[jhao.me](http://reference.jhao.me/)<!--rehype:target=_blank-->
|
||||
[7yueee.cn](https://memo.7yueee.cn/)<!--rehype:target=_blank-->
|
||||
[liamng.top](https://refer.liamng.top/)<!--rehype:target=_blank-->
|
||||
[maisblog.cn](https://reference.maisblog.cn/)<!--rehype:target=_blank-->
|
||||
[ruochen.net](https://dev.ruochen.net/)<!--rehype:target=_blank-->
|
||||
[liamng.de](https://refer.liamng.de)<!--rehype:target=_blank-->
|
||||
[zcsk18.cn](https://reference.zcsk18.cn/)<!--rehype:target=_blank-->
|
||||
[doraemon.press](https://reference.doraemon.press/)<!--rehype:target=_blank-->
|
||||
[foreverlink.love](https://reference.foreverlink.love)<!--rehype:target=_blank-->
|
||||
[94vessel.com](https://book.94vessel.com)<!--rehype:target=_blank-->
|
||||
[hhxyrk.icu](http://hhxy.hhxyrk.icu/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
|
||||
[hhxyrk.icu](http://hhxy.hhxyrk.icu/)<!--rehype:target=_blank-->
|
||||
[vhcffh.com](https://docs.vhcffh.com)<!--rehype:target=_blank-->
|
||||
[magese.com](https://ref.magese.com)<!--rehype:target=_blank-->
|
||||
[childish.vip](https://reference.childish.vip)<!--rehype:target=_blank-->
|
||||
[hackshen.com](https://reference.hackshen.com)<!--rehype:target=_blank-->
|
||||
[afetera.top](https://note.afetera.top)<!--rehype:target=_blank-->
|
||||
@ -578,13 +610,52 @@ Quick Reference
|
||||
[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-->
|
||||
[pusukeji.com](https://reference.pusukeji.com/)<!--rehype:target=_blank-->
|
||||
[songbaixin.xin](https://home.songbaixin.xin:26009/)<!--rehype:target=_blank-->
|
||||
[78888889.xyz](https://reference.78888889.xyz)<!--rehype:target=_blank-->
|
||||
[dev.bi](https://dev.bi)<!--rehype:target=_blank-->
|
||||
[ecdata.cn](http://ref.ecdata.cn)<!--rehype:target=_blank-->
|
||||
[cnxiaobai.com](https://quickref.cnxiaobai.com)<!--rehype:target=_blank-->
|
||||
[web.app](https://reference-f1cf1.web.app)<!--rehype:target=_blank-->
|
||||
[OneNAS.space](https://ref.onenas.space)<!--rehype:target=_blank-->
|
||||
[leonus.cn](https://ref.leonus.cn/)<!--rehype:target=_blank-->
|
||||
[taotaome.com](http://www.taotaome.com/)<!--rehype:target=_blank-->
|
||||
[hurcaguari.top](https://help.hurcaguari.top)<!--rehype:target=_blank-->
|
||||
<!--rehype:class=home-card home-links-->
|
||||
|
||||
下面网站暂时飞走了
|
||||
|
||||
[lideshan.top](https://dev.lideshan.top/)<!--rehype:target=_blank-->
|
||||
[94vessel.com](https://book.94vessel.com)<!--rehype:target=_blank-->
|
||||
[7yueee.cn](https://memo.7yueee.cn/)<!--rehype:target=_blank-->
|
||||
[maisblog.cn](https://reference.maisblog.cn/)<!--rehype:target=_blank-->
|
||||
[ruochen.net](https://dev.ruochen.net/)<!--rehype:target=_blank-->
|
||||
[cizai.io](https://reference.cizai.io)<!--rehype:target=_blank-->
|
||||
[alomerry.com](https://ref.alomerry.com)<!--rehype:target=_blank-->
|
||||
[kfele.asia](https://ref.kfele.asia/)<!--rehype:target=_blank-->
|
||||
[pages.dev](https://reference-bk9.pages.dev/)<!--rehype:target=_blank-->
|
||||
[hrzweb.xyz](https://r.hrzweb.xyz)<!--rehype:target=_blank-->
|
||||
[zsccodelnc.cn](https://zsccodelnc.cn/coderef/)<!--rehype:target=_blank-->
|
||||
[jeffjade.com](https://codehelp.jeffjade.com)<!--rehype:target=_blank-->
|
||||
[chanlun.pro](https://ref.chanlun.pro)<!--rehype:target=_blank-->
|
||||
[dotcube.cc](https://reference.dotcube.cc)<!--rehype:target=_blank-->
|
||||
[fifo.site](https://ref.fifo.site)<!--rehype:target=_blank-->
|
||||
[longdada.me](https://ref.longdada.me)<!--rehype:target=_blank-->
|
||||
[chenze.cloud](https://quick.chenze.cloud)<!--rehype:target=_blank-->
|
||||
[lzzzt.cn](https://ref.lzzzt.cn)<!--rehype:target=_blank-->
|
||||
[notes-bin.top](https://notes-bin.top)<!--rehype:target=_blank-->
|
||||
[fifo.site](https://ref.fifo.site)<!--rehype:target=_blank-->
|
||||
[longdada.me](https://ref.longdada.me)<!--rehype:target=_blank-->
|
||||
[btaw.cn](https://btaw.cn/qr)<!--rehype:target=_blank-->
|
||||
[lzw.me](https://lzw.me/x/reference/)<!--rehype:target=_blank-->
|
||||
[kjchmc.cn](https://ref.kjchmc.cn/)<!--rehype:target=_blank-->
|
||||
[quickreference.pages.dev](https://quickreference.pages.dev/)<!--rehype:target=_blank-->
|
||||
[surcode.cn](https://ref.surcode.cn)<!--rehype:target=_blank-->
|
||||
[xushanxiang.com](https://xushanxiang.com/ref/)<!--rehype:target=_blank-->
|
||||
[mmoke.com](https://ref.mmoke.com)<!--rehype:target=_blank-->
|
||||
[dbyun.net](https://www.dbyun.net/reference/index.html)<!--rehype:target=_blank-->
|
||||
[xiechengqi.top](https://ref.xiechengqi.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 版。
|
||||
@ -594,37 +665,7 @@ Quick Reference
|
||||
<!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;&class=home-title-reset-->
|
||||
|
||||
- [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/audioer/" title="Audioer for macOS"><img align="center" alt="Audioer" height="52" width="52" src="./appicon/audioer.png"></a>
|
||||
<a target="_blank" href="https://wangchujiang.com/file-sentinel/" title="FileSentinel for macOS"><img align="center" alt="FileSentinel" height="52" width="52" src="./appicon/file-sentinel.png"></a>
|
||||
<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;-->
|
||||
- [懒猫微服应用商店](https://appstore.lazycat.cloud/#/shop/detail/io.zeroc.app.quickref)
|
||||
|
||||
<!--rehype:ignore:start-->
|
||||
## 开发
|
||||
|
BIN
appicon/mousio-hint.png
Executable file
BIN
appicon/mousio-hint.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
appicon/mousio.png
Executable file
BIN
appicon/mousio.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
BIN
appicon/musicer.png
Executable file
BIN
appicon/musicer.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 128 KiB |
3
assets/uv.svg
Normal file
3
assets/uv.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="41" height="41" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M-5.28619e-06 0.168629L0.0843098 20.1685L0.151762 36.1683C0.161075 38.3774 1.95947 40.1607 4.16859 40.1514L20.1684 40.084L30.1684 40.0418L31.1852 40.0375C33.3877 40.0282 35.1683 38.2026 35.1683 36V36L37.0003 36L37.0003 39.9992L40.1683 39.9996L39.9996 -9.94653e-07L21.5998 0.0775689L21.6774 16.0185L21.6774 25.9998L20.0774 25.9998L18.3998 25.9998L18.4774 16.032L18.3998 0.0910593L-5.28619e-06 0.168629Z" fill="currentColor" />
|
||||
</svg>
|
After Width: | Height: | Size: 537 B |
41
assets/wails.svg
Normal file
41
assets/wails.svg
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="43px" height="25px" viewBox="0 0 43 25" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>wails</title>
|
||||
<defs>
|
||||
<linearGradient x1="-0.2%" y1="49.9996942%" x2="99.8%" y2="49.9996942%" id="linearGradient-1">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="57.4612403%" y1="49.999806%" x2="105.910853%" y2="49.999806%" id="linearGradient-2">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="37.15%" y1="49.9997381%" x2="137.15%" y2="49.9997381%" id="linearGradient-3">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="112.55%" y1="91.3957%" x2="32.3601%" y2="31.6497%" id="linearGradient-4">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="11.95%" y1="49.9998072%" x2="111.95%" y2="49.9998072%" id="linearGradient-5">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="25.85%" y1="50.0000968%" x2="125.85%" y2="50.0000968%" id="linearGradient-6">
|
||||
<stop stop-color="#E33232" offset="0%"></stop>
|
||||
<stop stop-color="#6B000D" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="wails" transform="translate(-2, -16)">
|
||||
<polygon id="Path" fill="url(#linearGradient-1)" fill-rule="nonzero" transform="translate(7.0309, 29.4785) scale(-1, 1) rotate(1.5717) translate(-7.0309, -29.4785)" points="11.9494683 28.4327958 2.11242576 30.5241355 3.85520888 28.6651669"></polygon>
|
||||
<polygon id="Path" fill="url(#linearGradient-2)" fill-rule="nonzero" transform="translate(36.5284, 31.0714) scale(-1, 1) rotate(-8.5836) translate(-36.5284, -31.0714)" points="45.1336155 28.6949336 37.2037952 36.9916435 27.9231538 35.590792 37.9375746 32.7974273 30.7582105 31.7134351 40.7726313 28.9200704 33.6016056 27.8360782 43.2241214 25.1511127"></polygon>
|
||||
<polygon id="Path" fill="url(#linearGradient-3)" fill-rule="nonzero" transform="translate(26.7683, 36.8365) scale(-1, 1) rotate(-54.8194) translate(-26.7683, -36.8365)" points="31.562747 36.2208083 28.8692495 35.9745456 27.514805 43.5625128 20.0037949 32.9116542 28.8230753 30.1104168 33.532848 30.1104168"></polygon>
|
||||
<polygon id="Path" fill="url(#linearGradient-4)" fill-rule="nonzero" transform="translate(25.014, 20.7986) scale(-1, 1) rotate(128.5441) translate(-25.014, -20.7986)" points="21.9947129 16.4027699 26.1092974 16.4027699 27.4413571 19.4221053 28.0333837 25.1943641"></polygon>
|
||||
<polygon id="Path" fill="url(#linearGradient-5)" fill-rule="nonzero" transform="translate(36.3109, 20.727) scale(-1, 1) rotate(-14.7678) translate(-36.3109, -20.727)" points="38.8713907 20.875032 39.5522206 22.562306 33.0695361 18.8917449"></polygon>
|
||||
<polygon id="Path" fill="#FFFFFF" transform="translate(23.7731, 24.2307) rotate(-70.4489) translate(-23.7731, -24.2307)" points="23.1059371 22.8465329 24.9921646 25.6148058 22.5539813 23.7394335"></polygon>
|
||||
<polygon id="Path" fill="url(#linearGradient-6)" fill-rule="nonzero" transform="translate(21.3064, 24.9941) scale(-1, 1) rotate(-6.2086) translate(-21.3064, -24.9941)" points="19.70206 25.0327874 20.4365745 24.298273 35.7067436 25.4580326 32.0341713 28.4347491 22.8720698 27.6229174 19.70206 30.2130473 29.8692865 32.493908 26.4286662 35.2773312 17.3052234 32.1846388 13.7872857 26.2698644 6.90604496 14.7109263"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
@ -616,4 +616,4 @@ Facebook 受众建议
|
||||
- [Awesome ChatGPT Prompts](https://github.com/f/awesome-chatgpt-prompts)
|
||||
- [原始资料](https://github.com/Fechin/reference/blob/main/source/_posts/chatgpt.md)
|
||||
- [ChatGPT](https://chatgpt.com/)
|
||||
- [Comprehensive Cheatsheet](https://github.com/bg-write/chatGPT-cheatsheet)
|
||||
- [Comprehensive Cheatsheet](https://github.com/bg-write/chatGPT-cheatsheet)
|
||||
|
@ -209,7 +209,7 @@ attrib命令可以列出或修改磁盘上文件的属性,
|
||||
`cliconfg` | SQL SERVER 客户端网络实用工具
|
||||
`cmstp` | 连接管理器配置文件安装程序
|
||||
`compmgmt.msc` | 计算机管理
|
||||
`omexp.msc` | 打开系统组件服务
|
||||
`comexp.msc` | 打开系统组件服务
|
||||
`control` | 控制面版
|
||||
|
||||
### 启动程序(二)
|
||||
|
@ -692,7 +692,7 @@ $ docker run -d --name portainer \
|
||||
--restart=always \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v $HOME/portainer:/data \
|
||||
portainer/portainer-ee:latest
|
||||
portainer/portainer-ce:latest
|
||||
```
|
||||
|
||||
### Nginx
|
||||
|
125
docs/dotnet-cli.md
Normal file
125
docs/dotnet-cli.md
Normal file
@ -0,0 +1,125 @@
|
||||
.NET CLI 备忘清单
|
||||
===
|
||||
|
||||
本备忘单总结了 [.NET](https://learn.microsoft.com/zh-cn/dotnet/core/tools/) 命令行接口 (CLI) 工具,以供快速参考
|
||||
|
||||
.NET CLI 备忘清单
|
||||
---
|
||||
<!--rehype:style=display: none;-->
|
||||
|
||||
### 介绍
|
||||
|
||||
`.NET CLI` 命令由 **驱动程序(`dotnet`)**、**命令**、**参数** 和 **选项** 组成。典型流程如下:
|
||||
|
||||
```bash
|
||||
# 创建控制台应用
|
||||
dotnet new console
|
||||
# 构建并指定输出目录
|
||||
dotnet build --output ./build_output
|
||||
# 运行构建结果
|
||||
dotnet ./build_output/my_app.dll
|
||||
```
|
||||
|
||||
### 基本命令
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `new` | 创建新项目或文件模板 | `dotnet new console` |
|
||||
| `restore` | 还原项目依赖项 | `dotnet restore` |
|
||||
| `build` | 构建项目 | `dotnet build` |
|
||||
| `publish` | 发布应用以部署 | `dotnet publish -c Release -o ./publish`|
|
||||
| `run` | 运行项目 | `dotnet run` |
|
||||
| `test` | 运行测试(使用 xUnit/NUnit 等) | `dotnet test` |
|
||||
| `vstest` | 运行已编译的测试程序集 | `dotnet vstest ./bin/Debug/test.dll` |
|
||||
| `pack` | 打包为 NuGet 包 | `dotnet pack` |
|
||||
| `migrate` | 迁移旧版项目(已弃用) | `dotnet migrate` |
|
||||
| `clean` | 清理构建输出 | `dotnet clean` |
|
||||
| `sln` | 管理 `.sln` 解决方案文件 | `dotnet sln add ./MyApp/MyApp.csproj` |
|
||||
| `help` | 显示帮助信息 | `dotnet help build` |
|
||||
| `store` | 预编译和缓存程序集(高级用法) | `dotnet store` |
|
||||
| `watch` | 监视文件更改并自动运行命令 | `dotnet watch run` |
|
||||
| `format` | 格式化代码(自 .NET 6 起支持) | `dotnet format` |
|
||||
<!--rehype:className=left-align -->
|
||||
|
||||
### 项目修改命令
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `package add` | 添加 NuGet 包依赖 | `dotnet add package Newtonsoft.Json` |
|
||||
| `package list` | 列出项目中的所有包依赖 | `dotnet list package` |
|
||||
| `package remove` | 移除 NuGet 包依赖 | `dotnet remove package Newtonsoft.Json` |
|
||||
| `package search` | 搜索 NuGet 包 | `dotnet search package Newtonsoft.Json` |
|
||||
| `reference add` | 添加项目引用(*.csproj) | `dotnet add reference ../CommonLib/CommonLib.csproj` |
|
||||
| `reference list` | 列出当前项目引用的其他项目 | `dotnet list reference` |
|
||||
| `reference remove` | 移除项目引用 | `dotnet remove reference ../CommonLib/CommonLib.csproj` |
|
||||
<!--rehype:className=left-align style-list-arrow-->
|
||||
|
||||
### 工作负荷管理命令
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `workload` | 顶级命令,显示所有 workload 子命令 | `dotnet workload --help` |
|
||||
| `workload install` | 安装指定的工作负荷(如 MAUI、Web 等) | `dotnet workload install maui` |
|
||||
| `workload uninstall` | 卸载指定的工作负荷 | `dotnet workload uninstall maui` |
|
||||
| `workload update` | 更新所有已安装的工作负荷 | `dotnet workload update` |
|
||||
| `workload list` | 显示当前已安装的工作负荷 | `dotnet workload list` |
|
||||
| `workload restore` | 还原项目所需的工作负荷 | `dotnet workload restore` |
|
||||
| `workload search` | 搜索可用的工作负荷 | `dotnet workload search` |
|
||||
| `workload repair` | 修复已安装的工作负荷 | `dotnet workload repair` |
|
||||
| `workload config` | 配置自定义源、缓存路径等(.NET 8.0.400+) | `dotnet workload config list` |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
### NuGet 命令
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `nuget delete` | 从源中删除一个 NuGet 包 | `dotnet nuget delete MyLib 1.0.0 -s https://api.nuget.org/v3/index.json`|
|
||||
| `nuget locals` | 清理 NuGet 缓存 | `dotnet nuget locals all --clear` |
|
||||
| `nuget push` | 将 NuGet 包推送到服务器(如 nuget.org) | `dotnet nuget push MyLib.1.0.0.nupkg -k API_KEY -s https://api.nuget.org/v3/index.json` |
|
||||
| `nuget add source` | 添加一个新的 NuGet 源 | `dotnet nuget add source https://myserver/index.json -n MySource` |
|
||||
| `nuget disable source` | 禁用一个现有的 NuGet 源 | `dotnet nuget disable source MySource` |
|
||||
| `nuget enable source` | 启用已禁用的 NuGet 源 | `dotnet nuget enable source MySource` |
|
||||
| `nuget list source` | 列出所有已配置的 NuGet 源 | `dotnet nuget list source` |
|
||||
| `nuget remove source` | 移除已配置的 NuGet 源 | `dotnet nuget remove source MySource` |
|
||||
| `nuget update source` | 更新现有 NuGet 源信息 | `dotnet nuget update source MySource -s https://new-url` |
|
||||
| `nuget verify` | 验证 NuGet 包签名(.NET 5+) | `dotnet nuget verify MyLib.1.0.0.nupkg` |
|
||||
| `nuget trust` | 管理受信任的签名证书(.NET 5+) | `dotnet nuget trust list` |
|
||||
| `nuget sign` | 对 NuGet 包进行签名(.NET 6+) | `dotnet nuget sign MyLib.1.0.0.nupkg --certificate-path cert.pfx` |
|
||||
| `package search` | 搜索 NuGet 包(.NET 8.0.2xx+) | `dotnet package search Newtonsoft.Json` |
|
||||
| `nuget why` | 显示为什么某个包被安装(.NET 8.0.4xx+)| `dotnet nuget why Newtonsoft.Json` |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
### 高级命令
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `sdk check` | 显示可用的 SDK/运行时版本,并检测更新 | `dotnet sdk check` |
|
||||
| `msbuild` | 使用 MSBuild 构建项目(提供更多构建自定义性) | `dotnet msbuild /t:Clean;Build /p:Configuration=Release` |
|
||||
| `build-server` | 管理后端构建服务器(如清理缓存、关闭等) | `dotnet build-server shutdown` |
|
||||
| `dev-certs` | 管理开发 HTTPS 证书 | `dotnet dev-certs https --trust` |
|
||||
| `dotnet install script` | 获取可安装指定版本 .NET 的脚本(Linux/macOS) | `curl -sSL https://dot.net/v1/dotnet-install.sh \| bash` |
|
||||
<!--rehype:className=left-align style-list-arrow-->
|
||||
|
||||
### 工具管理命令
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
| 命令 | 说明 | 示例 |
|
||||
|--------------|--------------|--------------|
|
||||
| `tool install` | 安装 .NET 工具(本地或全局) | `dotnet tool install -g dotnet-ef` |
|
||||
| `tool list` | 列出已安装的工具 | `dotnet tool list -g` |
|
||||
| `tool update` | 更新指定工具 | `dotnet tool update -g dotnet-ef` |
|
||||
| `tool restore` | 恢复项目中定义的工具(基于 manifest) | `dotnet tool restore` |
|
||||
| `tool run` | 运行本地安装的工具 | `dotnet tool run my-tool` |
|
||||
| `tool uninstall` | 卸载已安装的工具 | `dotnet tool uninstall -g dotnet-ef` |
|
||||
| `tool search` | 搜索 NuGet 上可用的工具 | `dotnet tool search dotnet-ef` |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
另请参阅
|
||||
---
|
||||
|
||||
- [dotnet/sdk GitHub 存储库](https://github.com/dotnet/sdk/) _(github.com/dotnet)_
|
||||
- [.NET 安装指南](https://learn.microsoft.com/zh-cn/dotnet/core/install/windows) _(learn.microsoft.com)_
|
@ -1287,7 +1287,6 @@ Conventional Commmits
|
||||
| `test:` | 添加测试代码或修正已有的测试 |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
|
||||
patch 补丁的使用
|
||||
----
|
||||
|
||||
@ -1299,21 +1298,21 @@ $ git diff commit_id > my.patch
|
||||
|
||||
### 简单应用
|
||||
|
||||
- **检查**补丁
|
||||
- **检查**补丁
|
||||
|
||||
```bash
|
||||
# 检查下这个补丁能否被正常应用
|
||||
$ git apply --check path/to/my.patch
|
||||
```
|
||||
|
||||
- **使用**补丁
|
||||
|
||||
- **使用**补丁
|
||||
|
||||
```
|
||||
# 检查通过使用该补丁
|
||||
$ git apply < path/to/my.patch
|
||||
```
|
||||
|
||||
- 若有冲突则**解决**
|
||||
- 若有冲突则**解决**
|
||||
|
||||
```
|
||||
# 检查不通过可以自动合入patch不冲突的代码,同时保留冲突部分
|
||||
|
250
docs/java.md
250
docs/java.md
@ -351,7 +351,7 @@ for (int a: arr) {
|
||||
```java
|
||||
int[][] matrix = {{1, 2, 3}, {4, 5}, {6}};
|
||||
int x = matrix[1][0]; // 4
|
||||
System.out.Println(Arrays.deepToString(matrix));
|
||||
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) {
|
||||
@ -587,6 +587,254 @@ for (int i = 0; i < 5; i++) {
|
||||
// 输出: 0123
|
||||
```
|
||||
|
||||
Java 面向对象
|
||||
---
|
||||
|
||||
### 类的定义
|
||||
|
||||
```java
|
||||
public class Dog {
|
||||
private String name;
|
||||
|
||||
// 构造方法无无返回值,方法名与类名相同
|
||||
// 一个类可以有多个构造方法
|
||||
//Java 默认提供一个构造方法
|
||||
public Dog() {
|
||||
}
|
||||
|
||||
public Dog(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 类中的变量
|
||||
|
||||
```java
|
||||
public class Dog {
|
||||
// 成员变量
|
||||
private String name;
|
||||
|
||||
// 类变量
|
||||
// 多对象将会共享同一个类变量
|
||||
static int val = 10;
|
||||
|
||||
public void Say() {
|
||||
// 局部变量
|
||||
String sentence = "hello";
|
||||
System.out.println(sentence);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 对象的创建
|
||||
|
||||
```java
|
||||
Dog myDog = new Dog(); // 调用无参构造函数
|
||||
Dog myDog2 = new Dog("aaa"); // 调用对应参数列表的构造函数
|
||||
|
||||
// 调用方法
|
||||
myDog.Say();
|
||||
```
|
||||
|
||||
### 对象的继承
|
||||
|
||||
```java
|
||||
public Animal() {
|
||||
|
||||
public String name;
|
||||
|
||||
public Animal(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void eat() {
|
||||
System.out.println("eat something");
|
||||
}
|
||||
}
|
||||
|
||||
// Dog类继承Animal类
|
||||
public Dog extends Animal(){
|
||||
// 调用父类的构造函数
|
||||
public Dog(String name){
|
||||
super(name);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
请注意Java不支持多继承,只能够单继承,但支持多重继承
|
||||
即,一个类最多只有一个父类,但可以有爷爷类和太爷爷类
|
||||
|
||||
#### Java继承的特点
|
||||
|
||||
- 子类拥有父类的非private的属性、方法
|
||||
- 子类可以有自己的属性、方法
|
||||
- 子类可以重写父类的方法
|
||||
|
||||
#### super 与 this
|
||||
|
||||
super引用当前类的父类
|
||||
this引用自身
|
||||
|
||||
```java
|
||||
class Animal {
|
||||
void eat() {
|
||||
System.out.println("animal : eat");
|
||||
}
|
||||
}
|
||||
|
||||
class Dog extends Animal {
|
||||
void eat() {
|
||||
System.out.println("dog : eat");
|
||||
}
|
||||
void eatTest() {
|
||||
this.eat(); // this 调用自己的方法
|
||||
super.eat(); // super 调用父类方法
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### final 关键字
|
||||
|
||||
被final 关键字修饰的类不能够被继承
|
||||
被final 关键字修饰的方法不能被子类重写
|
||||
|
||||
### Java的重写(Override)与重载(Overload)
|
||||
|
||||
#### 重写(Override)
|
||||
|
||||
重写者位于被重写者的子类中
|
||||
重写者的签名必须与被重写者的签名相同
|
||||
|
||||
```java
|
||||
class Animal {
|
||||
// 被重写者
|
||||
void Say(String sentence) {
|
||||
System.out.println("Animal say: " + sentence);
|
||||
}
|
||||
}
|
||||
|
||||
class Dog extends Animal {
|
||||
// 重写者
|
||||
// 重写者位于被重写者的子类
|
||||
void Say(String sentence) { // 签名与被重写者相同
|
||||
System.out.println("Dog say: " + sentence);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 重载(Overload)
|
||||
|
||||
重载位于同一类内部
|
||||
签名必须不同
|
||||
|
||||
```java
|
||||
public class Overloading {
|
||||
public int test(){
|
||||
System.out.println("test1");
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void test(int a) {
|
||||
System.out.println("test2");
|
||||
}
|
||||
|
||||
//以下两个参数类型顺序不同
|
||||
public String test(int a,String s){
|
||||
System.out.println("test3");
|
||||
return "returntest3";
|
||||
}
|
||||
|
||||
public String test(String s,int a){
|
||||
System.out.println("test4");
|
||||
return "returntest4";
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Java 抽象类
|
||||
|
||||
抽象类不能被实例化为对象,因此,抽象类必须被继承才能够使用
|
||||
抽象类使用abstract 关键字进行修饰
|
||||
|
||||
```java
|
||||
public abstract class Animal {
|
||||
String name;
|
||||
|
||||
public Animal(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
|
||||
public class Dog extends Animal {
|
||||
public Dog(String name) {
|
||||
super(name);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
使用abstract 关键字修饰的方法是抽象方法
|
||||
抽象方法必须包含在抽象类中
|
||||
子类必须重写父类中的所有抽象方法,除非子类也是抽象类
|
||||
|
||||
```java
|
||||
public abstract class Animal {
|
||||
String name;
|
||||
|
||||
public Animal(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public abstract void Say();
|
||||
}
|
||||
|
||||
public class Dog extends Animal {
|
||||
public Dog(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
public void Say(){
|
||||
System.out.println("Dog");
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### Java 接口
|
||||
|
||||
#### 接口的定义
|
||||
|
||||
与类的继承不同,接口可以继承多个接口
|
||||
|
||||
```java
|
||||
[可见度] interface 接口名称 [extends 其他的接口名] {
|
||||
// 声明变量
|
||||
// 抽象方法
|
||||
}
|
||||
```
|
||||
|
||||
#### 接口的实现
|
||||
|
||||
一个类可以实现多个接口
|
||||
类必须实现接口的所有方法,除非该类是抽象类
|
||||
|
||||
```java
|
||||
public interface Animal {
|
||||
public void eat();
|
||||
public void say();
|
||||
}
|
||||
|
||||
public class Dog implements Animal {
|
||||
public void eat() {
|
||||
System.out.println("Dog eat something");
|
||||
}
|
||||
|
||||
public void say() {
|
||||
System.out.println("Dog say something");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Java 多线程
|
||||
---
|
||||
|
||||
|
396
docs/matlab.md
396
docs/matlab.md
@ -1410,6 +1410,402 @@ true 或 false 条件
|
||||
[thingSpeakWrite](https://ww2.mathworks.cn/help/matlab/ref/thingspeakwrite.html) | 将数据写入 `ThingSpeak` 通道
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
## 面向对象基础
|
||||
|
||||
MATLAB 支持面向对象编程,虽然很少有人使用。
|
||||
|
||||
MATLAB 的自定义类型可以分成全值类和句柄类,它们的区别在于句柄类相当于指针,赋值时只会进行浅拷贝,全值类总是会进行深拷贝。下面的例子只涉及全值类。
|
||||
|
||||
### 简单例子
|
||||
|
||||
一个简单的 `point2d` 类(文件名必须与类名相同:`point2d.m` )
|
||||
|
||||
```matlab
|
||||
classdef point2d
|
||||
properties % 属性
|
||||
x
|
||||
y
|
||||
end
|
||||
methods % 方法
|
||||
function obj = point2d(x0,y0) % 构造方法
|
||||
if nargin == 0
|
||||
obj.x = 0;
|
||||
obj.y = 0;
|
||||
elseif nargin == 2
|
||||
obj.x = x0;
|
||||
obj.y = y0;
|
||||
else
|
||||
error("unsupported arguments")
|
||||
end
|
||||
end
|
||||
function obj = normalize(obj) % 普通方法
|
||||
% obj 相当于 Python 的 self
|
||||
r = sqrt(obj.x^2+obj.y^2);
|
||||
obj.x = obj.x/r;
|
||||
obj.y = obj.y/r;
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
使用例如
|
||||
|
||||
```matlab
|
||||
a = point2d(3,4);
|
||||
fprintf('(%f, %f)\n',a.x,a.y);
|
||||
% (3.000000, 4.000000)
|
||||
|
||||
b = a.normalize();
|
||||
fprintf('(%f, %f)\n',b.x,b.y);
|
||||
% (0.600000, 0.800000)
|
||||
```
|
||||
|
||||
### 属性
|
||||
|
||||
可以给属性提供默认值
|
||||
|
||||
```matlab
|
||||
classdef point2d
|
||||
properties
|
||||
x = cos(pi/12);
|
||||
y = sin(pi/12);
|
||||
end
|
||||
...
|
||||
end
|
||||
```
|
||||
|
||||
默认值不需要是常量,可以是任何表达式
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties
|
||||
time_stamp = date;
|
||||
end
|
||||
...
|
||||
end
|
||||
```
|
||||
|
||||
属性的默认值在类被加载时会被计算,并不会在每一个对象创建时重新计算。
|
||||
|
||||
可以将属性标记为只读(`Constant`),不允许对其进行修改。
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties(Constant)
|
||||
R = pi/180;
|
||||
end
|
||||
...
|
||||
end
|
||||
```
|
||||
|
||||
尝试修改会报错
|
||||
|
||||
```matlab
|
||||
s = demo();
|
||||
disp(s.R)
|
||||
|
||||
s.R = 100; % error
|
||||
```
|
||||
|
||||
### 构造方法和普通方法
|
||||
|
||||
#### 构造方法
|
||||
|
||||
与类同名的方法称为构造方法。MATLAB只允许创建一个构造方法,但是我们通过nargin判断参数个数,并据此实现不同的创建行为,例如
|
||||
|
||||
```matlab
|
||||
function obj = point2d(x0,y0)
|
||||
if nargin == 0
|
||||
obj.x = 0;
|
||||
obj.y = 0;
|
||||
elseif nargin == 2
|
||||
obj.x = x0;
|
||||
obj.y = y0;
|
||||
else
|
||||
error("unsupported arguments")
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
例如
|
||||
|
||||
```matlab
|
||||
s1 = point2d(1,2);
|
||||
s2 = point2d();
|
||||
s3 = point2d;
|
||||
```
|
||||
|
||||
#### 普通方法
|
||||
|
||||
类的普通方法的第一个参数是对象自身,并且习惯上使用obj表示。
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties
|
||||
x = 100;
|
||||
end
|
||||
methods
|
||||
function z = compute(obj,y)
|
||||
z = obj.x + y;
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
普通方法可以通过对象或类调用
|
||||
|
||||
```matlab
|
||||
s = demo();
|
||||
s.compute(10); % 110
|
||||
compute(s,20); % 120
|
||||
```
|
||||
|
||||
### 静态方法
|
||||
|
||||
MATLAB 提供了静态方法,在定义时标记为 `Static`,静态方法没有`obj`参数,不绑定任何的对象,不能访问类对象的普通属性,但是可以访问类的常量属性。
|
||||
|
||||
例如
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
methods(Static) % 静态方法
|
||||
function hello()
|
||||
disp("hello,world!")
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
使用例如
|
||||
|
||||
```matlab
|
||||
>> demo.hello()
|
||||
hello,world!
|
||||
>> s = demo();
|
||||
>> s.hello()
|
||||
hello,world!
|
||||
```
|
||||
|
||||
### 重写disp方法
|
||||
|
||||
可以通过提供`disp`方法来定制自定义类型调用`disp`函数时的行为,例如
|
||||
|
||||
```matlab
|
||||
classdef point2d
|
||||
properties
|
||||
x = 0
|
||||
y = 0
|
||||
end
|
||||
methods
|
||||
function disp(obj)
|
||||
fprintf("(%f,%f)",obj.x,obj.y);
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
提供`disp`函数后的输出
|
||||
|
||||
```matlab
|
||||
>> s = point2d();
|
||||
>> disp(s)
|
||||
|
||||
(0.000000,0.000000)
|
||||
```
|
||||
|
||||
作为对比,默认情况下的输出
|
||||
|
||||
```matlab
|
||||
>> s = point2d();
|
||||
>> disp(s)
|
||||
point2d with properties:
|
||||
|
||||
x: 0
|
||||
y: 0
|
||||
R: 0.0175
|
||||
```
|
||||
|
||||
### 重载运算符
|
||||
|
||||
MATLAB 支持自定义类型对运算符的重载,例如`plus`方法对应加法。
|
||||
|
||||
```matlab
|
||||
classdef point2d
|
||||
properties
|
||||
x
|
||||
y
|
||||
end
|
||||
methods
|
||||
function obj = point2d(x0,y0)
|
||||
% same as before
|
||||
end
|
||||
function result = plus(obj, other)
|
||||
result = point2d(obj.x + other.x, obj.y + other.y);
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
例如
|
||||
|
||||
```matlab
|
||||
>> a = point2d(1,0);
|
||||
>> b = point2d(0,2);
|
||||
>> a + b
|
||||
ans =
|
||||
point2d with properties:
|
||||
|
||||
x: 1
|
||||
y: 2
|
||||
```
|
||||
|
||||
### 属性和方法的权限
|
||||
|
||||
MATLAB 提供了比 C++ 和 Java 更加精细的访问权限控制,默认情况下所有的属性和方法都是public。
|
||||
|
||||
基本的三种权限例如
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties % public
|
||||
x1
|
||||
end
|
||||
properties(Access = protected)
|
||||
x2
|
||||
end
|
||||
properties(Access = privated)
|
||||
x3
|
||||
end
|
||||
|
||||
methods % public
|
||||
function h1(obj)
|
||||
end
|
||||
end
|
||||
methods(Access = protected)
|
||||
function h2(obj)
|
||||
end
|
||||
end
|
||||
methods(Access = privated)
|
||||
function h3(obj)
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
MATLAB对属性提供了更精细的访问权限,可以将其拆分为读权限和写权限,例如
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties(SetAccess = private)
|
||||
x1
|
||||
end
|
||||
properties(SetAccess = private, GetAccess = protected)
|
||||
x2
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
### 类的继承
|
||||
|
||||
MATLAB 使用 `<` 表示继承关系。
|
||||
|
||||
基类
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
properties
|
||||
Value
|
||||
end
|
||||
methods
|
||||
function obj = demo(val)
|
||||
if nargin > 0
|
||||
obj.Value = val;
|
||||
else
|
||||
obj.Value = 0;
|
||||
end
|
||||
end
|
||||
|
||||
function displayValue(obj)
|
||||
disp(['Value: ', num2str(obj.Value)]);
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
派生类
|
||||
|
||||
```matlab
|
||||
classdef demo2 < demo
|
||||
properties
|
||||
ExtraValue
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = demo2(val, extraVal)
|
||||
obj = obj@demo(val); % 调用基类构造方法
|
||||
if nargin > 1
|
||||
obj.ExtraValue = extraVal;
|
||||
else
|
||||
obj.ExtraValue = 0;
|
||||
end
|
||||
end
|
||||
|
||||
function displayValue(obj)
|
||||
displayValue@demo(obj); % 调用基类的同名函数
|
||||
disp(['Extra Value: ',num2str(obj.ExtraValue)]);
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
### 补充
|
||||
|
||||
#### 抽象方法和抽象类
|
||||
|
||||
MATLAB提供了抽象方法和抽象类。
|
||||
|
||||
抽象基类(不可实例化)
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
methods(Abstract) % 抽象方法
|
||||
hello(obj) % 只有接口,没有实现
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
继承自抽象基类的派生类(实现了抽象方法,可以实例化)
|
||||
|
||||
```matlab
|
||||
classdef demo2 < demo
|
||||
methods
|
||||
function hello(obj) % 实现抽象方法
|
||||
disp("hello,world!")
|
||||
end
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
#### 禁止继承和重写
|
||||
|
||||
可以使用 `Sealed` 关键词来禁止一个类被继承,例如
|
||||
|
||||
```matlab
|
||||
classdef (Sealed) demo
|
||||
...
|
||||
end
|
||||
```
|
||||
|
||||
可以使用 `Sealed` 关键词来禁止方法被派生类重写,例如
|
||||
|
||||
```matlab
|
||||
classdef demo
|
||||
methods(Sealed)
|
||||
...
|
||||
end
|
||||
end
|
||||
```
|
||||
|
||||
另见
|
||||
----
|
||||
|
||||
|
147
docs/mysql.md
147
docs/mysql.md
@ -95,12 +95,35 @@ mysql> exit
|
||||
退出 `quit;` 或 `\q;` 一样的效果
|
||||
|
||||
### 备份
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
创建备份
|
||||
备份特定表
|
||||
|
||||
```sql
|
||||
mysqldump -u user -p db_name > db.sql
|
||||
```bash
|
||||
mysqldump -u user -p db_name table1 table2 > tables_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
备份多个数据库
|
||||
|
||||
```bash
|
||||
mysqldump -u user -p --databases db1 db2 > multi_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
备份所有数据库
|
||||
|
||||
```bash
|
||||
mysqldump -u user -p --all-databases > all_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
备份时压缩
|
||||
|
||||
```bash
|
||||
mysqldump -u user -p db_name | gzip > db_backup.sql.gz
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
导出不带架构的数据库
|
||||
|
||||
@ -109,22 +132,116 @@ mysqldump -u user -p db_name --no-data=true --add-drop-table=false > db.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
恢复备份
|
||||
仅导出数据
|
||||
|
||||
```shell
|
||||
mysql -u user -p db_name < db.sql
|
||||
```bash
|
||||
mysqldump -u user -p --no-create-info db_name > only_data.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
仅导出结构
|
||||
|
||||
```bash
|
||||
mysqldump -u user -p --no-data db_name > only_schema.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
导出时忽略某些表
|
||||
|
||||
```bash
|
||||
mysqldump -u user -p db_name --ignore-table=db_name.table1 --ignore-table=db_name.table2 > partial.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
### 恢复备份
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
恢复单个数据库备份
|
||||
|
||||
```bash
|
||||
mysql -u user -p db_name < db_backup.sql
|
||||
```
|
||||
|
||||
### 错误处理 Error Handling
|
||||
恢复多个数据库(带 `--databases` 选项备份的)
|
||||
|
||||
| 语句 | 描述 |
|
||||
| :----------------------- | :----------------------------- |
|
||||
| `SHOW ERRORS;` | 显示最近的错误信息 |
|
||||
| `SHOW WARNINGS;` | 显示最近的警告信息 |
|
||||
| `SHOW COUNT(*) ERRORS;` | 返回最近语句的错误数量 |
|
||||
| `SHOW COUNT(*) WARNINGS;`| 返回最近语句的警告数量 |
|
||||
| `EXPLAIN` | 分析 SQL 查询的执行计划,排查问题 |
|
||||
| `SHOW ENGINE INNODB STATUS;` | 显示 InnoDB 引擎状态,包括死锁等错误信息 |
|
||||
```bash
|
||||
mysql -u user -p < multi_backup.sql
|
||||
```
|
||||
|
||||
恢复所有数据库(使用 `--all-databases` 备份的)
|
||||
|
||||
```bash
|
||||
mysql -u user -p < all_backup.sql
|
||||
```
|
||||
|
||||
从 gzip 压缩的备份恢复
|
||||
|
||||
```bash
|
||||
gunzip < db_backup.sql.gz | mysql -u user -p db_name
|
||||
|
||||
# 或:
|
||||
|
||||
zcat db_backup.sql.gz | mysql -u user -p db_name
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
恢复单张表(从 `mysqldump` 单表导出文件)
|
||||
|
||||
```bash
|
||||
mysql -u user -p db_name < table1_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
先创建数据库再导入(如果备份中不包含 CREATE DATABASE)
|
||||
|
||||
```bash
|
||||
mysql -u user -p -e "CREATE DATABASE IF NOT EXISTS db_name;"
|
||||
|
||||
mysql -u user -p db_name < db_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
恢复指定字符集(防止乱码)
|
||||
|
||||
```bash
|
||||
mysql --default-character-set=utf8mb4 -u user -p db_name < db_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
恢复时跳过某些错误(如重复键)
|
||||
|
||||
```bash
|
||||
mysql -u user -p --force db_name < db_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
恢复到远程主机数据库
|
||||
|
||||
```bash
|
||||
mysql -h remote_host -u user -p db_name < db_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
### 错误处理(Error Handling)
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
| 语句 | 说明 |
|
||||
| :--------------------------- | :------------------------------ |
|
||||
| `SHOW ERRORS;` | 显示最近的错误 |
|
||||
| `SHOW WARNINGS;` | 显示最近的警告 |
|
||||
| `SHOW COUNT(*) ERRORS;` | 显示错误数量 |
|
||||
| `SHOW COUNT(*) WARNINGS;` | 显示警告数量 |
|
||||
| `EXPLAIN SELECT ...;` | 分析查询执行计划 |
|
||||
| `SHOW ENGINE INNODB STATUS;` | 查看 InnoDB 状态和死锁信息 |
|
||||
| `SHOW PROFILE;` | 显示语句的资源消耗(需开启 profiling) |
|
||||
| `SHOW PROFILES;` | 显示所有已记录的 profiling 数据 |
|
||||
| `SHOW PROCESSLIST;` | 查看当前线程,排查长时间运行或阻塞的语句 |
|
||||
| `SHOW STATUS LIKE 'Last_error%';` | 查看上次语句执行的错误信息 |
|
||||
| `SHOW VARIABLES LIKE 'log_%';` | 查看错误日志相关配置 |
|
||||
| `SHOW BINARY LOGS;` | 查看二进制日志,排查事务或复制异常 |
|
||||
| `SHOW SLAVE STATUS\G` | 查看主从复制错误(用于主从复制场景) |
|
||||
| `SHOW MASTER STATUS;` | 查看主库状态,辅助分析复制问题 |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
MySQL 示例
|
||||
------
|
||||
|
67
docs/pip.md
Normal file
67
docs/pip.md
Normal file
@ -0,0 +1,67 @@
|
||||
pip 备忘清单
|
||||
===
|
||||
|
||||
这份 pip 备忘清单汇总了 Python 包管理的常用命令,涵盖安装、卸载、版本控制、依赖管理及镜像加速等操作,助你高效掌控开发环境。
|
||||
|
||||
入门
|
||||
---
|
||||
|
||||
### 基础命令
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip install package_name` | 安装指定的包
|
||||
`pip install requests-2.22.0-py2.py3-none-any.whl` | 从本地的 wheel 文件安装包
|
||||
`pip install git+https://github.com/psf/requests.git` | 从 Git 仓库安装包
|
||||
`pip install /home/user/src/requests` | 从目录中安装包
|
||||
`pip uninstall package_name` | 卸载指定的包
|
||||
`pip list` | 查看已安装的包列表
|
||||
`pip show package_name` | 查看某个包的详细信息
|
||||
`pip search keyword` | 搜索 PyPI 包(新版 pip 已弃用,建议用 [pypi.org](https://pypi.org))
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
### 版本控制
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip install package==1.2.3` | 安装指定版本
|
||||
`pip install "package>=1.0,<2.0"` | 安装满足条件的版本
|
||||
`pip install package!=2.21.0` | 安装包,但排除某个特定版本
|
||||
`pip install --upgrade package` | 升级包到最新版本
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
### 依赖文件操作
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip freeze` | 导出当前环境的所有包及版本
|
||||
`pip freeze > requirements.txt` | 保存依赖列表到文件
|
||||
`pip install -r requirements.txt` | 从文件安装依赖
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
### 高级选项
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip install .` | 安装当前目录中的包(`setup.py` 或 `pyproject.toml`)
|
||||
`pip install -e .` | 安装当前项目为可编辑模式(开发用)
|
||||
`pip cache dir` | 查看 pip 缓存目录
|
||||
`pip cache purge` | 清除 pip 缓存
|
||||
`pip check` | 检查依赖冲突
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
### 使用镜像源
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip install -i https://pypi.org/simple package` | 使用官方源安装
|
||||
`pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package` | 使用清华镜像安装
|
||||
`pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple` | 永久设置默认镜像
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
另见
|
||||
---
|
||||
|
||||
- [pip 官方文档](https://pip.pypa.io/en/stable/) _(pypa.io)_
|
||||
- [Github 仓库](https://github.com/pypa/pip) _(github.com)_
|
123
docs/uv.md
Normal file
123
docs/uv.md
Normal file
@ -0,0 +1,123 @@
|
||||
uv 备忘清单
|
||||
===
|
||||
|
||||
一个用 Rust 编写的极快的 Python 包和项目管理工具
|
||||
|
||||
安装
|
||||
---
|
||||
|
||||
### 使用独立安装程序安装
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
#### macOS or Linux
|
||||
|
||||
```sh
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
```
|
||||
|
||||
#### Windows
|
||||
|
||||
```sh
|
||||
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
||||
```
|
||||
|
||||
### 通过PyPI
|
||||
|
||||
```sh
|
||||
# pip
|
||||
pip install uv
|
||||
```
|
||||
|
||||
```sh
|
||||
# pipx
|
||||
pipx install uv
|
||||
```
|
||||
|
||||
入门
|
||||
---
|
||||
|
||||
### 创建新项目
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
```sh
|
||||
# 创建一个目录作为项目的根目录
|
||||
uv init project_name
|
||||
```
|
||||
|
||||
```sh
|
||||
# 将当前目录作为项目的根目录
|
||||
uv init
|
||||
```
|
||||
|
||||
#### 项目的结构
|
||||
|
||||
```sh
|
||||
.
|
||||
├── .venv/ # 虚拟环境目录
|
||||
│ ├── bin/ # 可执行文件
|
||||
│ ├── lib/ # 安装的库
|
||||
│ └── pyvenv.cfg # 虚拟环境配置
|
||||
├── .python-version # 指定 Python 版本
|
||||
├── README.md # 项目说明文档
|
||||
├── main.py # 主程序入口
|
||||
├── pyproject.toml # 项目配置与依赖声明
|
||||
└── uv.lock # 依赖锁定文件(自动生成)
|
||||
```
|
||||
|
||||
### 管理项目依赖
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
#### 添加依赖
|
||||
|
||||
```sh
|
||||
uv add requests
|
||||
```
|
||||
|
||||
#### 指定依赖版本或替代来源
|
||||
|
||||
```sh
|
||||
# 指定版本
|
||||
uv add 'requests==2.28.1'
|
||||
|
||||
# 指定来源
|
||||
uv add git+https://github.com/psf/requests
|
||||
```
|
||||
|
||||
#### 从`requirements.txt`迁移
|
||||
|
||||
```sh
|
||||
uv add -r requirements.txt
|
||||
```
|
||||
|
||||
#### 删除一个包
|
||||
|
||||
```sh
|
||||
uv remove requests
|
||||
```
|
||||
|
||||
#### 升级一个包
|
||||
|
||||
```sh
|
||||
uv lock --upgrade-package requests
|
||||
```
|
||||
|
||||
### 运行脚本
|
||||
|
||||
指定脚本运行
|
||||
|
||||
```sh
|
||||
uv run main.py
|
||||
```
|
||||
|
||||
指定Python版本运行
|
||||
|
||||
```sh
|
||||
uv run --python 3.10 main.py
|
||||
```
|
||||
|
||||
### 构建项目
|
||||
|
||||
```sh
|
||||
uv build
|
||||
```
|
||||
|
||||
构建结果存储在`dist`目录下
|
46
docs/vue.md
46
docs/vue.md
@ -841,51 +841,13 @@ export default router
|
||||
### 3.路由的query
|
||||
|
||||
```html
|
||||
<template>
|
||||
<div>
|
||||
<ul class="list">
|
||||
<!-- to的对象写法 -->
|
||||
<li v-for="item of data" :key="item.id">
|
||||
<router-link
|
||||
class="link"
|
||||
:to="{
|
||||
path:'/home/message/mes',
|
||||
query: { id:item.id, title:item.mes }
|
||||
}"
|
||||
>{{item.mes}}</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name:'HomeChild1',
|
||||
data() {
|
||||
return {
|
||||
data:[
|
||||
{id:1,mes:"消息1"},
|
||||
{id:2,mes:"消息2"},
|
||||
{id:3,mes:"消息3"}
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
||||
<script setup>
|
||||
import { useRoute } from 'vue-router';
|
||||
const route = useRoute();
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.list { margin-left:80px; }
|
||||
.link{
|
||||
color: orange;
|
||||
text-decoration: none;
|
||||
background-color: skyblue;
|
||||
}
|
||||
</style>
|
||||
```
|
||||
|
||||
> 接收参数 `{{$route.query.id}}`
|
||||
> 接收参数 `{{route.query.id}}`
|
||||
|
||||
#### 跳转路由并携带参数
|
||||
|
||||
|
438
docs/wails.md
Normal file
438
docs/wails.md
Normal file
@ -0,0 +1,438 @@
|
||||
Wails V2 备忘清单
|
||||
===
|
||||
|
||||
[](https://github.com/wailsapp/wails) [](https://github.com/wailsapp/wails/releases/latest) [](https://pkg.go.dev/github.com/wailsapp/wails/v2)
|
||||
|
||||
Wails 是一个基于 Go 和现代 Web 技术(如 Vue、React)构建跨平台桌面应用的轻量级开源框架,可作为 Electron 的替代方案,以下是 Wails v2 的常用命令和示例速查(v3 仍在开发中)。
|
||||
|
||||
<!--rehype:style=padding-top: 12px;-->
|
||||
|
||||
## 命令行工具 (CLI)
|
||||
|
||||
### 安装与更新
|
||||
|
||||
```bash
|
||||
# 安装 Wails CLI
|
||||
$ go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
|
||||
# 更新到最新稳定版
|
||||
$ wails update
|
||||
# 更新到最新预发布版
|
||||
$ wails update -pre
|
||||
```
|
||||
<!--rehype:className=wrap-text-->
|
||||
|
||||
### 常用命令参数
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
| 命令 | 参数 | 描述 |
|
||||
| ------- | ----------------------- | ---------------------------------------------------------- |
|
||||
| `init` | `-n` | **项目名称 (必填)** |
|
||||
| | `-t` | 模板名称 (`vue`, `react`) 或模板 URL |
|
||||
| | `-ide` | 为 `vscode` 或 `goland` 生成 IDE 配置 |
|
||||
| `dev` | `-browser` | 在浏览器中打开前端界面进行调试 |
|
||||
| | `-assetdir` | 指定前端资产目录的路径 |
|
||||
| | `-frontenddevserverurl` | 使用外部前端开发服务器的 URL |
|
||||
| | `-wailsjsdir` | 指定生成的 Wails JS 模块目录 |
|
||||
| `build` | `-platform` | 交叉编译目标平台, 如 `darwin/arm64` |
|
||||
| | `-clean` | 构建前清理 `build/bin` 目录 |
|
||||
| | `-upx` | 使用 UPX 压缩最终的二进制文件 |
|
||||
| | `-nsis` | (Windows) 生成 NSIS 安装程序 |
|
||||
| | `-webview2` | (Windows) WebView2 依赖处理策略 (`download`, `embed`, `browser`) |
|
||||
| | `-debug` | 保留调试信息 |
|
||||
| | `-devtools` | 在生产版本中启用开发者工具 |
|
||||
<!--rehype:className=wrap-text left-align-->
|
||||
|
||||
### 项目命令
|
||||
|
||||
```bash
|
||||
# 初始化新项目 (以 Vue 模板为例)
|
||||
$ wails init -n my-project -t vue
|
||||
|
||||
# 进入项目目录并启动实时开发
|
||||
$ cd my-project
|
||||
$ wails dev
|
||||
|
||||
# 构建生产版本 (以 Windows 平台为例)
|
||||
$ wails build -platform windows/amd64 -clean -upx
|
||||
# 检查环境依赖
|
||||
$ wails doctor
|
||||
```
|
||||
<!--rehype:className=wrap-text-->
|
||||
|
||||
## 项目配置
|
||||
|
||||
### 项目结构
|
||||
|
||||
```shell
|
||||
my-project/
|
||||
├── build/ # 构建输出目录
|
||||
├── frontend/ # 前端源文件
|
||||
│ └── wailsjs/ # Wails 自动生成的模块
|
||||
├── app.go # 应用核心逻辑
|
||||
├── main.go # 应用入口
|
||||
├── go.mod
|
||||
└── wails.json # 项目配置文件
|
||||
```
|
||||
|
||||
### `wails.json` 详解
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
| 配置项 | 描述 | 示例 |
|
||||
| ---------------------- | ---------------------------- | --------------------------- |
|
||||
| `name` | 项目名称 | `"my-app"` |
|
||||
| `outputfilename` | 输出的二进制文件名 | `"my-app.exe"` |
|
||||
| `frontend:install` | 前端依赖安装命令 | `"npm install"` |
|
||||
| `frontend:build` | 前端构建命令 | `"npm run build"` |
|
||||
| `frontend:dev:watcher` | 开发模式下运行的前端监视命令 | `"npm run dev"` |
|
||||
| `wailsjsdir` | 生成 JS 模块的目录 | `"./frontend/wailsjs"` |
|
||||
| `author.name` | 作者名称,用于打包元数据 | `"Your Name"` |
|
||||
| `info` | (macOS) 用于 `Info.plist` 的元数据 | `{"CFBundleName": "MyApp"}` |
|
||||
<!--rehype:className=wrap-text left-align-->
|
||||
|
||||
## 核心交互与生命周期
|
||||
|
||||
### 方法绑定 (Go <-> JS)
|
||||
|
||||
在 Go 中定义公共方法,即可在前端直接调用。
|
||||
|
||||
```go
|
||||
// app.go
|
||||
type App struct {
|
||||
ctx context.Context
|
||||
}
|
||||
|
||||
func (a *App) Greet(name string) string {
|
||||
return fmt.Sprintf("Hello %s!", name)
|
||||
}
|
||||
|
||||
// main.go
|
||||
app := NewApp()
|
||||
err := wails.Run(&options.App{
|
||||
Title: "My App",
|
||||
Bind: []interface{}{
|
||||
app, // 暴露 app 实例的所有公共方法
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
```js
|
||||
// frontend/main.js
|
||||
import { Greet } from '../wailsjs/go/main/App';
|
||||
|
||||
Greet("World").then(result => console.log(result));
|
||||
```
|
||||
|
||||
### 事件系统 (Events)
|
||||
|
||||
用于在 Go 和前端之间异步发送和监听消息。
|
||||
|
||||
#### Go 端 (`runtime.Events*`)
|
||||
|
||||
```go
|
||||
import "github.com/wailsapp/wails/v2/pkg/runtime"
|
||||
|
||||
// 发送事件到前端
|
||||
runtime.EventsEmit(app.ctx, "go-event", "data from Go")
|
||||
|
||||
// 监听来自前端的事件
|
||||
runtime.EventsOn(app.ctx, "js-event", func(optionalData ...interface{}) {
|
||||
// ... 处理数据
|
||||
})
|
||||
```
|
||||
|
||||
#### JavaScript 端 (`runtime.Events*`)
|
||||
|
||||
```js
|
||||
import { EventsOn, EventsEmit } from '../wailsjs/runtime';
|
||||
|
||||
// 发送事件到 Go
|
||||
EventsEmit("js-event", { "payload": 123 });
|
||||
|
||||
// 监听来自 Go 的事件
|
||||
EventsOn("go-event", (data) => {
|
||||
console.log("Received data from Go:", data);
|
||||
});
|
||||
```
|
||||
|
||||
### 应用生命周期钩子
|
||||
|
||||
在 `wails.Run()` 中定义,用于在应用关键节点执行 Go 代码。
|
||||
|
||||
```go
|
||||
// main.go
|
||||
err := wails.Run(&options.App{
|
||||
// ...
|
||||
OnStartup: app.startup,
|
||||
OnDomReady: app.domReady,
|
||||
OnShutdown: app.shutdown,
|
||||
|
||||
// 返回 bool 值决定是否关闭
|
||||
OnBeforeClose: app.beforeClose,
|
||||
})
|
||||
```
|
||||
|
||||
| 钩子 | 描述 |
|
||||
| --------------- | ------------------------- |
|
||||
| `OnStartup` | 应用启动时,在窗口创建前调用 |
|
||||
| `OnDomReady` | 前端 DOM 加载完成后调用 |
|
||||
| `OnShutdown` | 应用关闭前,在窗口销毁后调用 |
|
||||
| `OnBeforeClose` | 用户关闭窗口时调用,返回 `true` 可阻止关闭 |
|
||||
<!--rehype:className=wrap-text left-align-->
|
||||
|
||||
## 运行时 API (Runtime)
|
||||
|
||||
### 窗口 (Window)
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
| 功能 | Go 示例 (`runtime.*`) | JS 示例 (`runtime.*`) |
|
||||
| ------------- | ------------------------------------- | --------------------------------------------- |
|
||||
| **设置标题** | `WindowSetTitle(ctx, "New")` | `WindowSetTitle("New")` |
|
||||
| **设置尺寸** | `WindowSetSize(ctx, 800, 600)` | `WindowSetSize(800, 600)` |
|
||||
| **设置最小/最大尺寸** | `WindowSetMinSize(ctx, 400, 300)` | `WindowSetMinSize(400, 300)` |
|
||||
| **居中** | `WindowCenter(ctx)` | `WindowCenter()` |
|
||||
| **全屏/取消全屏** | `WindowFullscreen(ctx)` | `WindowFullscreen()` |
|
||||
| **显示/隐藏** | `WindowShow(ctx)` / `WindowHide(ctx)` | `WindowShow()` / `WindowHide()` |
|
||||
| **设为置顶** | `WindowSetAlwaysOnTop(ctx, true)` | `WindowSetAlwaysOnTop(true)` |
|
||||
| **拖动窗口** | (仅 JS) | 在 HTML 元素上设置 `style="--wails-draggable:drag"` |
|
||||
<!--rehype:className=wrap-text left-align-->
|
||||
|
||||
### 对话框 (Dialog)
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
|
||||
#### Go 端
|
||||
|
||||
```go
|
||||
dialogOpts := &runtime.OpenDialogOptions{ Title: "Select File" }
|
||||
filePath, err := runtime.OpenFileDialog(app.ctx, *dialogOpts)
|
||||
```
|
||||
|
||||
| 对话框类型 | Go 方法 (`runtime.*`) |
|
||||
| -------- | ---------------------------------------------------------- |
|
||||
| **信息框** | `MessageDialog(ctx, runtime.MessageDialogOptions{...})` |
|
||||
| **打开文件** | `OpenFileDialog(ctx, runtime.OpenDialogOptions{...})` |
|
||||
| **保存文件** | `SaveFileDialog(ctx, runtime.SaveDialogOptions{...})` |
|
||||
| **打开目录** | `OpenDirectoryDialog(ctx, runtime.OpenDialogOptions{...})` |
|
||||
<!--rehype:className=wrap-text left-align-->
|
||||
|
||||
#### JavaScript 端
|
||||
|
||||
```js
|
||||
import { OpenFileDialog } from '../wailsjs/runtime';
|
||||
|
||||
async function selectFile() {
|
||||
const filePath = await OpenFileDialog({ title: "Select File" });
|
||||
}
|
||||
```
|
||||
|
||||
### 菜单 (Menu)
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
```go
|
||||
// main.go
|
||||
appMenu := menu.NewMenu()
|
||||
fileMenu := appMenu.AddSubmenu("File")
|
||||
fileMenu.AddText("Quit", keys.CmdOrCtrl("q"), func(_ *menu.CallbackData) {
|
||||
runtime.Quit(app.ctx)
|
||||
})
|
||||
|
||||
err := wails.Run(&options.App{
|
||||
// ...
|
||||
Menu: appMenu,
|
||||
})
|
||||
```
|
||||
|
||||
| 菜单项类型 | 示例 |
|
||||
| ------- | --------------------------------------------------------- |
|
||||
| **文本项** | `menu.AddText("Item", accelerator, callback)` |
|
||||
| **复选框** | `menu.AddCheckbox("Toggle", true, accelerator, callback)` |
|
||||
| **分隔符** | `menu.AddSeparator()` |
|
||||
| **子菜单** | `menu.AddSubmenu("Submenu")` |
|
||||
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
### 其他 Runtime API
|
||||
|
||||
#### 日志
|
||||
|
||||
```go
|
||||
// Go 示例 (`runtime.*`)
|
||||
LogInfo(ctx, "Message")
|
||||
// JS 示例 (`runtime.*`)
|
||||
LogInfo("Message")
|
||||
```
|
||||
|
||||
#### 剪贴板
|
||||
|
||||
```go
|
||||
// Go 示例 (`runtime.*`)
|
||||
ClipboardSetText(ctx, "text")
|
||||
// JS 示例 (`runtime.*`)
|
||||
ClipboardSetText("text")
|
||||
```
|
||||
|
||||
应用打包与分发
|
||||
---
|
||||
|
||||
### Windows 打包
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
#### <red>■</red> 默认生成: `.exe` 可执行文件。
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform windows/amd64
|
||||
```
|
||||
|
||||
#### <red>■</red> 生成 NSIS 安装程序:
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
**前提条件**: 需要预先安装 [NSIS (Nullsoft Scriptable Install System)](https://nsis.sourceforge.io/Download)。
|
||||
|
||||
- **下载 NSIS**: 从 [NSIS 官方网站](https://nsis.sourceforge.io/Download) 下载最新版本的 NSIS 安装程序。
|
||||
- **安装 NSIS**: 运行安装程序并按照提示完成安装。**确保**在安装过程中选择将 NSIS 添加到系统的 `PATH` 环境变量中,以便 `makensis` 命令可以在命令行中全局访问。
|
||||
- **验证安装**:
|
||||
|
||||
```bash
|
||||
$ makensis -VERSION
|
||||
```
|
||||
|
||||
如果安装正确,您将看到 NSIS 的版本号输出。
|
||||
|
||||
**生成安装程序**:
|
||||
|
||||
```bash
|
||||
$ wails build -platform windows/amd64 -nsis
|
||||
```
|
||||
|
||||
#### <red>■</red> 处理 WebView2 依赖:
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
`download`: 提示用户下载 WebView2。
|
||||
|
||||
```bash
|
||||
$ wails build -platform windows/amd64 -webview2 download
|
||||
```
|
||||
`embed`: 将 WebView2 嵌入到应用中(推荐)。
|
||||
|
||||
```bash
|
||||
$ wails build -platform windows/amd64 -webview2 embed
|
||||
```
|
||||
`browser`: 在浏览器中打开下载页面。
|
||||
|
||||
```bash
|
||||
$ wails build -platform windows/amd64 -webview2 browser
|
||||
```
|
||||
|
||||
### macOS 打包
|
||||
|
||||
|
||||
#### <red>■</red> 默认生成: `.app` 应用程序包。
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform darwin/amd64
|
||||
```
|
||||
|
||||
#### <red>■</red> 代码签名与公证:
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
需要通过 Apple 开发者账户进行 **代码签名** 和 **公证** 才能分发。
|
||||
|
||||
#### <red>■</red> 跳过打包成 `.app` 步骤:
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform darwin/amd64 -skippackage
|
||||
```
|
||||
<!--rehype:className=wrap-text-->
|
||||
|
||||
### Linux 打包
|
||||
|
||||
#### <red>■</red> 生成可执行文件
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform linux/amd64
|
||||
```
|
||||
|
||||
#### <red>■</red> 打包成 `.deb`
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform linux/amd64 -deb
|
||||
```
|
||||
|
||||
#### <red>■</red> 打包成 `.rpm`
|
||||
<!--rehype:style=text-align: left;font-weight: bold;-->
|
||||
|
||||
```bash
|
||||
$ wails build -platform linux/amd64 -rpm
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### AppImage 支持
|
||||
|
||||
Wails 不直接内置对 AppImage 的支持,但可以使用外部工具手动创建。使用 `appimagetool`:
|
||||
|
||||
```shell
|
||||
appimagetool ./your-app-dir
|
||||
```
|
||||
|
||||
**安装 `appimagetool`**:
|
||||
|
||||
- 您可以从 [AppImage 官方网站](https://appimage.org/) 获取 `appimagetool`。
|
||||
- 下载后,将其添加到您的 `PATH` 中以便全局访问。
|
||||
|
||||
## 进阶主题与杂项
|
||||
|
||||
### 平台特定构建选项
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
在 `main.go` 的 `wails.Run()` 中为不同平台提供细粒度配置。
|
||||
|
||||
```go
|
||||
err := wails.Run(&options.App{
|
||||
// ...
|
||||
Windows: &windows.Options{
|
||||
WebviewIsTransparent: true, // WebView2 背景透明
|
||||
WindowIsTranslucent: true, // 窗口背景透明
|
||||
},
|
||||
Mac: &mac.Options{
|
||||
TitleBar: &mac.TitleBar{
|
||||
TitlebarAppearsTransparent: true, // 透明标题栏
|
||||
},
|
||||
About: &mac.AboutInfo{
|
||||
Title: "My Awesome App",
|
||||
Message: "© 2025 Me",
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
### 使用 TypeScript
|
||||
|
||||
Wails 会自动为 Go 绑定的方法生成 TypeScript 定义。
|
||||
|
||||
```bash
|
||||
# wails.json
|
||||
"frontend:build": "npm run build"
|
||||
|
||||
# package.json
|
||||
"scripts": {
|
||||
"build": "tsc && vite build"
|
||||
}
|
||||
```
|
||||
|
||||
### 调试
|
||||
|
||||
- **Go 部分**: 使用 `wails dev -debug` 启动并附加您的 Go 调试器。
|
||||
- **前端部分**: 在 `wails dev` 模式下,右键点击应用,选择“检查”打开浏览器开发者工具。
|
||||
|
||||
参考资料
|
||||
---
|
||||
|
||||
- [Wails 官方文档](https://wails.io/) _(wails.io)_
|
||||
- [Wails GitHub 仓库](https://github.com/wailsapp/wails) _(github.com)_
|
||||
- [Wails Discord 社区](https://discord.gg/4K6VHPkG5c) _discord.gg_
|
175
docs/yazi.md
175
docs/yazi.md
@ -51,34 +51,132 @@ yazi --help
|
||||
| `l` | 进入选中的目录或打开文件 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
### 文件操作
|
||||
更多导航命令
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `y` | 复制选中的文件或目录 |
|
||||
| `d` | 剪切选中的文件或目录 |
|
||||
| `p` | 粘贴文件或目录 |
|
||||
| `x` | 删除选中的文件或目录 |
|
||||
| `r` | 重命名选中的文件或目录 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
| 快捷键 | 操作说明 |
|
||||
| --------------------------- | --------------------------------------------------------- |
|
||||
| `K` | 在预览中向上移动 5 个单位 |
|
||||
| `J` | 在预览中向下移动 5 个单位 |
|
||||
| `g` ⇒ `g` | 将光标移动到顶部 |
|
||||
| `G` | 将光标移动到底部 |
|
||||
| `z` | 通过 fzf 进入目录或显示文件([cd](https://yazi-rs.github.io/docs/configuration/keymap#mgr.cd) 或 [reveal](https://yazi-rs.github.io/docs/configuration/keymap#mgr.reveal)) |
|
||||
| `Z` | 通过 zoxide 进入目录([cd](https://yazi-rs.github.io/docs/configuration/keymap#mgr.cd)) |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
### 选择操作
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ------------------------------ | --------------------------------------------- |
|
||||
| <kbd>Space</kbd> | 切换当前悬停的文件/目录的选择状态 |
|
||||
| <kbd>v</kbd> | 进入可视模式(选择模式) |
|
||||
| <kbd>V</kbd> | 进入可视模式(取消模式) |
|
||||
| <kbd>Ctrl</kbd> + <kbd>a</kbd> | 选择所有文件 |
|
||||
| <kbd>Ctrl</kbd> + <kbd>r</kbd> | 反转当前所有文件的选择状态 |
|
||||
| <kbd>Esc</kbd> | 取消所有选择 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
用于选择文件和目录的快捷键命令
|
||||
|
||||
### 文件操作
|
||||
<!--rehype:wrap-class=row-span-4-->
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ----------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| <kbd>o</kbd> | 打开选中的文件 |
|
||||
| <kbd>O</kbd> | 以交互方式打开选中的文件 |
|
||||
| <kbd>Enter</kbd> | 打开选中的文件 |
|
||||
| <kbd>Shift</kbd> + <kbd>Enter</kbd> | 以交互方式打开选中的文件(部分终端尚不支持) |
|
||||
| <kbd>Tab</kbd> | 显示文件信息 |
|
||||
| <kbd>y</kbd> | 复制选中的文件 |
|
||||
| <kbd>x</kbd> | 剪切选中的文件 |
|
||||
| <kbd>p</kbd> | 粘贴已复制/剪切的文件 |
|
||||
| <kbd>P</kbd> | 粘贴已复制/剪切的文件(如目标存在则覆盖) |
|
||||
| <kbd>Y</kbd> 或 <kbd>X</kbd> | 取消已复制/剪切状态 |
|
||||
| <kbd>d</kbd> | 将选中的文件移至回收站 |
|
||||
| <kbd>D</kbd> | 彻底删除选中的文件 |
|
||||
| <kbd>a</kbd> | 新建文件(以 / 结尾表示新建目录) |
|
||||
| <kbd>r</kbd> | 重命名选中的文件 |
|
||||
| <kbd>.</kbd> | 切换隐藏文件的显示状态 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
更多文件操作命令如下:
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ------------------------------ | -------------------------------------------- |
|
||||
| <kbd>;</kbd> | 执行一个 Shell 命令 |
|
||||
| <kbd>:</kbd> | 执行一个 Shell 命令(阻塞,直到命令完成) |
|
||||
| <kbd>-</kbd> | 创建已复制文件的绝对路径符号链接 |
|
||||
| <kbd>\_</kbd> | 创建已复制文件的相对路径符号链接 |
|
||||
| <kbd>Ctrl</kbd> + <kbd>-</kbd> | 创建已复制文件的硬链接 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
要操作选中的文件或目录
|
||||
|
||||
### 复制路径
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ---------------------------- | ---------------------------------- |
|
||||
| <kbd>c</kbd> ⇒ <kbd>c</kbd> | 复制文件路径 |
|
||||
| <kbd>c</kbd> ⇒ <kbd>d</kbd> | 复制目录路径 |
|
||||
| <kbd>c</kbd> ⇒ <kbd>f</kbd> | 复制文件名 |
|
||||
| <kbd>c</kbd> ⇒ <kbd>n</kbd> | 复制不带扩展名的文件名 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
**复制路径** _说明:<kbd>c</kbd> ⇒ <kbd>d</kbd> 表示先按下 <kbd>c</kbd> 键,然后按下 <kbd>d</kbd> 键。_
|
||||
|
||||
### 搜索与过滤
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `/` | 开始搜索模式 |
|
||||
| `n` | 在搜索模式中跳到下一个匹配项 |
|
||||
| `N` | 在搜索模式中跳到上一个匹配项 |
|
||||
| 快捷键 | 操作说明 |
|
||||
| ------------ | -------------------- |
|
||||
| <kbd>f</kbd> | 过滤文件 |
|
||||
| <kbd>/</kbd> | 查找下一个文件 |
|
||||
| <kbd>?</kbd> | 查找上一个文件 |
|
||||
| <kbd>n</kbd> | 跳转到下一个匹配项 |
|
||||
| <kbd>N</kbd> | 跳转到上一个匹配项 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
### 搜索文件
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ---------------------------- | ------------------------------------------------------- |
|
||||
| <kbd>s</kbd> | 使用 [fd](https://github.com/sharkdp/fd) 按名称搜索文件 |
|
||||
| <kbd>S</kbd> | 使用 [ripgrep](https://github.com/BurntSushi/ripgrep) 按内容搜索文件 |
|
||||
| <kbd>Ctrl</kbd> + <kbd>s</kbd> | 取消当前进行中的搜索 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
### 视图操作
|
||||
### 排序
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
:- | :-
|
||||
:- | :-
|
||||
| `gg` | 跳到列表的顶部 |
|
||||
| `G` | 跳到列表的底部 |
|
||||
| `Ctrl+f` | 向下滚动一页 |
|
||||
| `Ctrl+b` | 向上滚动一页 |
|
||||
| 快捷键 | 操作说明 |
|
||||
| ---------------------- | ------------------------ |
|
||||
| <kbd>,</kbd> ⇒ <kbd>m</kbd> | 按修改`时间`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>M</kbd> | 按修改`时间倒序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>b</kbd> | 按`创建时间`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>B</kbd> | 按`创建时间`倒序排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>e</kbd> | 按文件`扩展名`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>E</kbd> | 按文件`扩展名倒序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>a</kbd> | 按`字母顺序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>A</kbd> | 按`字母倒序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>n</kbd> | 按`自然`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>N</kbd> | 按`自然倒序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>s</kbd> | 按文件`大小`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>S</kbd> | 按文件`大小倒序`排序 |
|
||||
| <kbd>,</kbd> ⇒ <kbd>r</kbd> | `随机`排序 |
|
||||
<!--rehype:className=shortcuts left-align-->
|
||||
|
||||
对文件/目录进行排序说明: _<kbd>,</kbd> ⇒ <kbd>a</kbd> 表示先按下 <kbd>,</kbd> 键,再按下 <kbd>a</kbd> 键。_
|
||||
|
||||
### 多标签页
|
||||
|
||||
| 快捷键 | 操作说明 |
|
||||
| ------------------------------------------- | ---------------------------- |
|
||||
| <kbd>t</kbd> | 以当前工作目录创建新标签页 |
|
||||
| <kbd>1</kbd>, <kbd>2</kbd>, ..., <kbd>9</kbd> | 切换到第 N 个标签页 |
|
||||
| <kbd>[</kbd> | 切换到上一个标签页 |
|
||||
| <kbd>]</kbd> | 切换到下一个标签页 |
|
||||
| <kbd>{</kbd> | 当前标签页与上一个互换位置 |
|
||||
| <kbd>}</kbd> | 当前标签页与下一个互换位置 |
|
||||
| <kbd>Ctrl</kbd> + <kbd>c</kbd> | 关闭当前标签页 |
|
||||
<!--rehype:className=shortcuts-->
|
||||
|
||||
## 自定义配置
|
||||
@ -98,38 +196,59 @@ yazi --help
|
||||
[general]
|
||||
# 设置主界面主题为 dark 或 light
|
||||
theme = "dark"
|
||||
```
|
||||
|
||||
# 启动时的默认路径
|
||||
启动时的默认路径
|
||||
|
||||
```toml
|
||||
default_path = "~"
|
||||
```
|
||||
|
||||
# 是否启用自动保存配置
|
||||
是否启用自动保存配置
|
||||
|
||||
```toml
|
||||
auto_save_config = true
|
||||
```
|
||||
|
||||
自定义快捷键绑定
|
||||
|
||||
```toml
|
||||
[keybindings]
|
||||
# 自定义快捷键绑定
|
||||
quit = "q" # 退出
|
||||
copy = "y" # 复制文件
|
||||
paste = "p" # 粘贴文件
|
||||
delete = "d" # 删除文件
|
||||
```
|
||||
|
||||
界面相关配置
|
||||
|
||||
```toml
|
||||
[ui]
|
||||
# 界面相关配置
|
||||
preview_enabled = true # 是否启用文件预览
|
||||
show_hidden_files = true # 显示隐藏文件
|
||||
columns = 2 # 文件列表列数
|
||||
```
|
||||
|
||||
搜索行为配置
|
||||
|
||||
```toml
|
||||
[search]
|
||||
# 搜索行为配置
|
||||
case_sensitive = false # 搜索是否区分大小写
|
||||
search_timeout = 30 # 搜索超时时间(秒)
|
||||
```
|
||||
|
||||
排序规则配置
|
||||
|
||||
```toml
|
||||
[sorting]
|
||||
# 排序规则配置
|
||||
sort_by = "name" # 排序方式: name,size,date
|
||||
reverse_sort = false # 是否反向排序
|
||||
```
|
||||
|
||||
插件加载配置
|
||||
|
||||
```toml
|
||||
[plugins]
|
||||
# 插件加载配置
|
||||
enabled_plugins = ["git", "archive"]
|
||||
```
|
||||
|
||||
|
@ -95,4 +95,4 @@ Zed 文本编辑器中 50 个快捷键的视觉备忘单
|
||||
|
||||
- [Zed](https://zed.dev/)
|
||||
- [Zed GitHub](https://github.com/zed-industries/zed)
|
||||
- [Zed 文档](https://zed.dev/docs)
|
||||
- [Zed 文档](https://zed.dev/docs)
|
||||
|
@ -11,7 +11,7 @@
|
||||
"prepare": "husky",
|
||||
"postinstall": "npm run cpy",
|
||||
"build": "refs-cli && npm run cpy",
|
||||
"start": "refs-cli --watch",
|
||||
"start": "npm run cpy && refs-cli --watch",
|
||||
"cpy": "cpy 'appicon/*.png' dist/appicon",
|
||||
"prettier": "prettier --write '**/*.{mjs,css,json,prettierrc,lintstagedrc}'",
|
||||
"markdownlint": "npx markdownlint-cli --fix ./docs/*.md"
|
||||
|
Reference in New Issue
Block a user