Compare commits

...

1197 Commits

Author SHA1 Message Date
517e1dbbf4 Merge 150c8713ae into 3bcb61d409 2025-01-02 11:12:02 +08:00
3bcb61d409 doc: update java.md (#914)
* method intern can get a ref of the same string in the string pool

* doc: update java.md
2025-01-02 11:11:06 +08:00
ad9aaf759e doc: update README.md. 2025-01-01 13:36:17 +00:00
211809a177 doc: update CONTRIBUTING.md. 2025-01-01 13:36:16 +00:00
e7b8958368 doc: update c.md document (#913) 2025-01-01 21:33:24 +08:00
d7df8bc6fe doc: update c.md document (#913)
* modify c tutor

* Modify c.md
2025-01-01 17:30:51 +08:00
ba05c9d952 doc: update README.md. 2025-01-01 03:09:05 +00:00
d02dc80480 doc: update CONTRIBUTING.md. 2025-01-01 03:09:04 +00:00
eb1157523d doc: Update README.md 2025-01-01 11:08:05 +08:00
6c8217202a doc: update c.md (#911) 2024-12-30 03:01:44 +08:00
b3893d8478 doc: update README.md. 2024-12-28 02:06:34 +00:00
006c4bf587 doc: update CONTRIBUTING.md. 2024-12-28 02:06:33 +00:00
0c7e4081a5 doc: Update README.md #102 2024-12-28 10:05:33 +08:00
cfac374221 doc: update docs/ports.md #854 (#910) 2024-12-24 20:43:20 +08:00
579d25d3a1 feat: add docs/ports.md #854 (#910) 2024-12-24 20:24:16 +08:00
2cbafe0ef5 doc: update README.md. 2024-12-23 14:10:58 +00:00
a9e3fb135e doc: update CONTRIBUTING.md. 2024-12-23 14:10:57 +00:00
44e775a1ee doc: update docs/java.md (#909) 2024-12-23 22:09:55 +08:00
933b1957e4 doc: Update README.md #102 2024-12-20 22:12:44 +08:00
20ecc2eef2 doc: Update README.md #102 2024-12-20 20:09:18 +08:00
4750e61a30 doc: update README.md. 2024-12-18 01:28:23 +00:00
91b022bf4d doc: update CONTRIBUTING.md. 2024-12-18 01:28:22 +00:00
ad3c46c009 doc: Update linux-command.md (#907)
feat: 新增rsync技巧
2024-12-18 09:27:02 +08:00
4917ecf3a7 doc: update README.md. 2024-12-11 13:51:37 +00:00
cf997d6ac0 doc: update CONTRIBUTING.md. 2024-12-11 13:51:36 +00:00
435cfdf739 doc: Update README.md #102 2024-12-11 21:50:31 +08:00
4412bf6a01 doc: Update README.md #102 2024-11-24 20:49:35 +08:00
da39a1ad3d doc: update README.md. 2024-11-18 07:00:28 +00:00
02bb059452 doc: update CONTRIBUTING.md. 2024-11-18 07:00:27 +00:00
5b28ed2caf doc: Update README.md #102 2024-11-18 14:59:29 +08:00
7eb30c080a doc: update README.md. 2024-11-12 15:43:43 +00:00
3c6c459b17 doc: update CONTRIBUTING.md. 2024-11-12 15:43:41 +00:00
5cb04086b1 doc: Modify Swift && SwiftUI (#852) 2024-11-12 23:41:59 +08:00
27c3a9578f doc: update README.md. 2024-11-11 11:23:25 +00:00
d7b1d03761 doc: update CONTRIBUTING.md. 2024-11-11 11:23:24 +00:00
f03cc68c0d doc: update docs/swift.md (#850) 2024-11-11 19:22:25 +08:00
3a41d66cef doc: update README.md. 2024-11-09 14:04:50 +00:00
0f52c6fdfe doc: update CONTRIBUTING.md. 2024-11-09 14:04:49 +00:00
c63d27edcf doc: update docs/css.md (#849)
* 删除一个错误字符

* Update css.md
2024-11-09 22:03:51 +08:00
6b9ef0aa43 doc: update README.md. 2024-11-06 12:12:20 +00:00
7c220e3efc doc: update CONTRIBUTING.md. 2024-11-06 12:12:19 +00:00
a73f837fc1 doc: update react.md 2024-11-06 20:10:53 +08:00
4ccef1281f doc: update README.md. 2024-11-06 01:38:27 +00:00
f0cfadf240 doc: update CONTRIBUTING.md. 2024-11-06 01:38:26 +00:00
67c9cc4d8e doc: update docs/react.md 2024-11-06 09:31:59 +08:00
a92759f0ed doc: update docs/sqlite.md (#848) 2024-11-06 08:22:52 +08:00
e9a61371f0 doc: update README.md. 2024-11-05 23:18:03 +00:00
881dfa5df3 doc: update CONTRIBUTING.md. 2024-11-05 23:18:02 +00:00
bbd2fa2ebf feat: add sqlite reference (#848) 2024-11-06 07:17:03 +08:00
af5e05b7d8 doc: update README.md. 2024-11-01 04:15:06 +00:00
3986b1ca29 doc: update CONTRIBUTING.md. 2024-11-01 04:15:03 +00:00
416e1ff9fd doc: Update README.md (#847) #102
域名更换: ref.server.wiki 更换为 ref.docflow.cn
2024-11-01 12:13:49 +08:00
1f0fc6c925 doc: Update README.md 2024-10-30 06:49:52 +08:00
ad2fd7b642 feat: add docs/canvas.md 2024-10-30 06:44:18 +08:00
345e968c4c doc: add docs/github-cli.md 2024-10-30 06:30:34 +08:00
72b973a923 doc: update docs/github-copilot.md 2024-10-30 06:00:08 +08:00
8ae69f2386 doc: update docs/github-copilot.md 2024-10-30 05:41:14 +08:00
29bb4e487c doc: update docs/chatgpt.md 2024-10-30 05:18:31 +08:00
3519f863f4 website: update powershell logo. #845 2024-10-30 05:18:31 +08:00
df32d5a429 doc: update README.md. 2024-10-29 13:29:12 +00:00
e3e0896834 doc: update CONTRIBUTING.md. 2024-10-29 13:29:11 +00:00
71c4aea9ca doc: update docs/powershell.md #845 2024-10-29 21:27:34 +08:00
3662bb703c doc: update docs/powershell.md #845 2024-10-29 20:09:26 +08:00
2c6244b6f8 feat:add powershell reference (#845) 2024-10-29 20:01:50 +08:00
292551a8f2 doc: update docs/cpp.md 2024-10-28 19:21:17 +08:00
af2f380a18 doc: update README.md. 2024-10-28 11:15:04 +00:00
9411c434a8 doc: update CONTRIBUTING.md. 2024-10-28 11:15:03 +00:00
02f1d13471 doc: Update README.md #102 2024-10-28 19:13:43 +08:00
37f8c7d69e doc: update README.md. 2024-10-18 05:45:35 +00:00
aa52a25839 doc: update CONTRIBUTING.md. 2024-10-18 05:45:34 +00:00
d41aaa9569 fix: typo in postgres (#842) 2024-10-18 13:44:37 +08:00
32cd8e4d5d doc: update README.md. 2024-10-16 09:11:47 +00:00
cf9c76d5c7 doc: update CONTRIBUTING.md. 2024-10-16 09:11:46 +00:00
15323378b5 doc: update docs/springboot.md (#841)
* Update docker.md

统一端口号

* Update springboot.md

MySQL 5.0 和 8.0 的数据库驱动类名差异
2024-10-16 17:10:40 +08:00
7fb6ce9190 website: update touch-icon. 2024-10-15 04:15:52 +08:00
145aa54a4e website: modify favicon. #840 2024-10-15 04:04:26 +08:00
1e22344f72 website: add webpage icon. #840 2024-10-15 04:04:26 +08:00
596bff3f4a doc: Update README.md #102 2024-10-14 23:20:55 +08:00
30f8feb59b doc: update README.md. 2024-10-13 06:38:06 +00:00
81596b6c88 doc: update CONTRIBUTING.md. 2024-10-13 06:38:05 +00:00
612f874723 doc: update docker.md (#839)
统一端口号
2024-10-13 14:37:07 +08:00
51d30f35d2 doc: update README.md. 2024-10-12 09:46:14 +00:00
804e6ef7eb doc: update CONTRIBUTING.md. 2024-10-12 09:46:13 +00:00
e3628fc62d doc: update docker.md & linux-command.md & nginx.md (#838)
* doc: update linux-command.md

* 增加代理构建

* 删除上次提交多余
2024-10-12 17:45:12 +08:00
184ec1c187 doc: update README.md. 2024-10-11 08:57:52 +00:00
0be49cd510 doc: update CONTRIBUTING.md. 2024-10-11 08:57:51 +00:00
f6fe236778 doc: update docs/nginx.md (#836) 2024-10-11 16:56:19 +08:00
b6d62f4f74 doc: update README.md. 2024-10-11 08:48:56 +00:00
4c67490ade doc: update CONTRIBUTING.md. 2024-10-11 08:48:55 +00:00
3749de233c doc: update docs/nginx.md (#836) 2024-10-11 16:47:53 +08:00
a69be1efba doc: update docs/css.md 2024-10-03 14:20:53 +08:00
b0444f82bf doc: update README.md. 2024-09-30 03:48:01 +00:00
c1dd21bf0c doc: update CONTRIBUTING.md. 2024-09-30 03:48:00 +00:00
c249e0e609 doc: update docs/ffmpeg.md (#835) 2024-09-30 11:46:54 +08:00
0fc608a1ff doc: update README.md. 2024-09-29 10:30:51 +00:00
c0d987694e doc: update CONTRIBUTING.md. 2024-09-29 10:30:50 +00:00
a74c7e2092 doc: update docs/vue.md #832 2024-09-29 18:29:17 +08:00
88559b491c chore(deps): update dependency refs-cli to v^1.6.0 2024-09-29 18:28:29 +08:00
eeb42297ac doc: update README.md. 2024-09-25 15:54:25 +00:00
70842a31b5 doc: update CONTRIBUTING.md. 2024-09-25 15:54:24 +00:00
5ffc6faf3d docs: update vue.md (#832)
* doc:update docs/flutter.md

* docs:update docs/flutter.md

* docs:update docs/flutter.md

* docs:update vue.md & flutter.md
2024-09-25 23:53:15 +08:00
ade6fbe3d0 doc: update docs/flutter.md #830 2024-09-24 15:00:38 +08:00
feba5e1704 doc: update docs/vim.md 2024-09-24 14:45:50 +08:00
ce1e1a0c1d doc: update README.md. 2024-09-24 06:06:35 +00:00
661ee94e68 doc: update CONTRIBUTING.md. 2024-09-24 06:06:34 +00:00
93e3166fc5 doc: Update README.md #102 2024-09-24 14:05:27 +08:00
33909b96f8 doc: update README.md. 2024-09-22 15:29:26 +00:00
001388aa4a doc: update CONTRIBUTING.md. 2024-09-22 15:29:25 +00:00
33683eab41 docs:update /docs/flutter.md (#830)
* doc:update docs/flutter.md

* docs:update docs/flutter.md

* docs:update docs/flutter.md
2024-09-22 23:28:23 +08:00
77b2c7a133 doc: update docs/flutter.md (#828) 2024-09-21 23:31:54 +08:00
f510d354af doc: Update README.md #102 2024-09-20 19:31:18 +08:00
f549244389 doc: update docs/symbol-code.md fixed #823 2024-09-17 22:10:36 +08:00
2bac216f98 doc: update docs/mysql.md fixed #827 2024-09-17 20:35:23 +08:00
acf4c11182 doc: update README.md. 2024-09-16 17:07:44 +00:00
dbc29e409a doc: update CONTRIBUTING.md. 2024-09-16 17:07:43 +00:00
0fb45105c9 doc: Update README.md 2024-09-17 01:06:40 +08:00
ddc7f2dd47 docs: update docs/c.md (#821) 2024-09-12 22:53:31 +08:00
660dfe103d doc: update docs/docker.md 2024-08-29 17:23:26 +08:00
cdeeeb14bb doc: update README.md. 2024-08-26 11:44:41 +00:00
22f2c1472b doc: update CONTRIBUTING.md. 2024-08-26 11:44:39 +00:00
ea3391734b released v1.45.0 2024-08-26 19:42:59 +08:00
5f90dd9265 doc: update README.md. 2024-08-19 07:19:15 +00:00
638fb0bbce doc: update CONTRIBUTING.md. 2024-08-19 07:19:14 +00:00
58efbde216 doc: update docs/minio.md #813 2024-08-19 15:18:05 +08:00
d604a0d557 fix: Fixed description of math function (#817)
* fix: Fixed description of math.sqrt function

* fix: fix math.asin description

* Update lua.md
2024-08-18 17:58:38 +08:00
c4ebb484cd feat: add minio reference (#813)
* feat: add minio reference

* fix:alter minio.md
2024-08-15 22:45:46 +08:00
2307a5796a doc: update README.md. 2024-08-15 01:10:49 +00:00
5ea93312bd doc: update CONTRIBUTING.md. 2024-08-15 01:10:48 +00:00
f0da2a3397 doc: update docs/dart.md (#814)
### Current behavior
The current asynchronous login sample code has the following issues:
1. The `main` function tries to use `await userName()`, but `userName` is a string variable, not a function.
2. the `login` function should be called and `await` should be used to wait for its result.
### Expected behavior
The `main` function should correctly call the `login` function and use `await` to wait for the result, then print out the username.
### Sample code
Here is the corrected code:
```dart
Future<String> login() {
String userName = "Temidjoy";
return Future.delayed(
Duration(seconds: 4), () => userName
).
}
main() async {
print('Authenticating please wait...') The
String result = await login();
String result = await login(); print(result);
}
2024-08-15 09:09:47 +08:00
8963525b9a doc: Update README.md 2024-08-13 01:12:17 +08:00
4e1a4bb641 doc: Update README.md 2024-08-09 11:49:18 +08:00
1a37518aab doc: update docs/typescript.md 2024-08-09 11:36:02 +08:00
01757edbef doc: update README.md. 2024-08-09 03:29:20 +00:00
f36bb4bcbb doc: update CONTRIBUTING.md. 2024-08-09 03:29:18 +00:00
d42cbc7d2c doc: update docs/typescript.md 2024-08-09 11:27:33 +08:00
f80b5795bc doc: Update README.md (#102) 2024-08-01 20:31:56 +08:00
90b9b407b3 doc: Update github-actions.md 2024-07-29 03:21:29 +08:00
1a0415d432 doc: update README.md. 2024-07-28 15:35:23 +00:00
e6dab60332 doc: update CONTRIBUTING.md. 2024-07-28 15:35:22 +00:00
58991c482e doc: update docs/github-actions.md 2024-07-28 23:33:57 +08:00
eea1a03da8 doc: Update docs/jupyter.md 2024-07-28 22:57:23 +08:00
a3d3d4b0dd doc: Update linux-command.md (#807)
add zip/unzip commands
2024-07-27 23:21:56 +08:00
8c8b721015 doc: Update README.md #102 2024-07-26 15:36:35 +08:00
ec6d1677d6 doc: Update README.md #102 2024-07-25 01:58:15 +08:00
e25753169f doc: update README.md. 2024-07-24 16:04:12 +00:00
ca6a407ca8 doc: update CONTRIBUTING.md. 2024-07-24 16:04:11 +00:00
d7ea92c019 doc: update dart.md (#806)
* doc: update dart.md

* doc: update dart.md

完善 import 部分内容

* doc: update dart.md

修正翻译错误,将 “地图” 修改为 “映射”
2024-07-25 00:03:03 +08:00
f25137d53d feat: add jupyter (#803)
* feat: add jupyter note

* fix: alter note

* fix:add note
2024-07-21 15:09:00 +08:00
3e40d6e54f doc: Update README.md #102 2024-07-19 01:53:03 +08:00
145bdf9119 doc: update docs/git.md 2024-07-18 17:10:19 +08:00
daccdf940a doc: update README.md. 2024-07-17 14:46:28 +00:00
29b9e61adb doc: update CONTRIBUTING.md. 2024-07-17 14:46:27 +00:00
708329d8f2 doc: update golang.md (#802)
类型转换中补充了字符串与其他类型相互转换的方法
2024-07-17 22:45:13 +08:00
fac5af10c8 doc: update flutter.md (#800) 2024-07-15 18:15:44 +08:00
a45e63a966 doc: update dart.md (#801) 2024-07-15 18:15:09 +08:00
6c3b017099 doc: update README.md. 2024-07-14 14:51:40 +00:00
68aaed2cef doc: update CONTRIBUTING.md. 2024-07-14 14:51:39 +00:00
a05328f389 doc: Update README.md #102 2024-07-14 22:50:41 +08:00
707e939bf6 doc: update README.md. 2024-07-08 17:18:43 +00:00
94a5baec46 doc: update CONTRIBUTING.md. 2024-07-08 17:18:42 +00:00
0d7f6653b6 doc: Update README.md #786 2024-07-09 01:17:12 +08:00
4f4ac84ec9 doc: update README.md. 2024-07-08 17:13:41 +00:00
a8fbc4f8e1 doc: update CONTRIBUTING.md. 2024-07-08 17:13:40 +00:00
3cbec70a5e doc: Update vue.md (#786)
添加 vue3 watch 监听多个值的模板
2024-07-09 01:12:20 +08:00
8e9132f900 doc: Update docs/json.md 2024-07-05 12:02:13 +08:00
aadda3d5c5 doc: Update README.md 2024-07-02 22:15:10 +08:00
031b7f1976 doc: Update README.md #102 2024-06-29 18:42:46 +08:00
34bf61c2fb doc: Update README.md (#102) 2024-06-27 22:54:17 +08:00
3e05d637d3 doc: update stylex.md 2024-06-26 12:12:04 +08:00
658abb0e00 doc: update README.md. 2024-06-26 02:08:51 +00:00
5dc858cfe5 doc: update CONTRIBUTING.md. 2024-06-26 02:08:50 +00:00
29c4430e3a chore: update README.md (#677)
* Feat: 增加国内镜像网站

* chore: 调整网站名称
2024-06-26 10:07:45 +08:00
229193a584 released v1.44.0 2024-06-25 23:49:41 +08:00
222f5bc604 feat: add stylex.md 2024-06-25 23:22:03 +08:00
4b22796c36 doc: update docs/dart.md 2024-06-25 23:22:03 +08:00
eb01adb655 doc: update docs/dart.md 2024-06-25 23:22:03 +08:00
ebc7ef957a doc: update docs/regex.md 2024-06-25 23:22:03 +08:00
91e0fb3af7 doc: add hook.md 2024-06-25 23:22:03 +08:00
3b817385a8 doc: update xjs.md #674 2024-06-25 23:22:03 +08:00
d19915eac8 doc: update README.md. 2024-06-25 15:04:42 +00:00
3478e345eb doc: update CONTRIBUTING.md. 2024-06-25 15:04:42 +00:00
70b561c710 docs(erlang): update docs/erlang.md (#676)
* feat(docs): add Erlang cheat sheet

Create an Erlang备忘清单 in markdown format to document common commands and
operations for Erlang programming, including入门, 代码结构, 常用内置函数 (BIFs),
并发编程, 错误处理, 分布式编程, OTP框架, 和测试.

This cheat sheet aims to provide a quick reference for Erlang developers and
learners, summarizing key points and examples for various aspects of the
language.

* docs(erlang): update links and clean up markdown formatting

- Update Erlang documentation links.
2024-06-25 23:03:33 +08:00
150c8713ae Merge branch 'jaywcjlove:main' into feat/threejs 2024-06-25 17:10:21 +08:00
60fae2b928 doc: update README.md. 2024-06-25 05:54:13 +00:00
85d74eb81a doc: update CONTRIBUTING.md. 2024-06-25 05:54:12 +00:00
99c34277e1 doc: update xjs.md #674 2024-06-25 13:52:13 +08:00
1013713630 doc: add rxjs.md cheat sheet (#674)
Create a new cheat sheet for RxJS covering key concepts, operators, and methods. This includes installation, importing, creating Observables, and using various operators such as map, filter, switchMap, and more. The document also explains important concepts like Schedulers and provides examples for better understanding.
2024-06-25 13:05:27 +08:00
942f2c9563 doc: update erlang.md #673 2024-06-25 13:01:26 +08:00
0be71ca830 doc: update erlang.md #673 2024-06-25 12:53:41 +08:00
8ea3c71774 docs: Add Three.js Cheat Sheet
Added a Three.js cheat sheet to the docs directory, which includes introductions and sample codes on getting started, geometry and materials, lighting, textures, animations, and other related content, to provide developers with a quick reference and guide for using Three.js.
2024-06-25 12:43:41 +08:00
121db975c4 doc: update README.md. 2024-06-25 04:35:12 +00:00
8f54901b92 doc: update CONTRIBUTING.md. 2024-06-25 04:35:11 +00:00
09fd8603cb feat(docs): add Erlang cheat sheet (#673)
Create an Erlang备忘清单 in markdown format to document common commands and
operations for Erlang programming, including入门, 代码结构, 常用内置函数 (BIFs),
并发编程, 错误处理, 分布式编程, OTP框架, 和测试.

This cheat sheet aims to provide a quick reference for Erlang developers and
learners, summarizing key points and examples for various aspects of the
language.
2024-06-25 12:33:55 +08:00
1fb3dd7c34 doc: update pinia.md #672 2024-06-25 05:46:30 +08:00
819704c974 doc: update README.md. 2024-06-24 21:25:53 +00:00
41e7f5e2ce doc: update CONTRIBUTING.md. 2024-06-24 21:25:52 +00:00
3fa46ae173 doc: update README.md. 2024-06-24 21:25:13 +00:00
d4115b3044 doc: update CONTRIBUTING.md. 2024-06-24 21:25:12 +00:00
60c463b1cb feats (docs): add Pinia Memo List (#672)
* feats (docs): add Pinia Memo List

Create a Pinia Memo List to document common commands and actions of the Pinia State Management Library in markdown format. Content includes getting started, creating Pinia instances, defining the Store, using the Store, and more

* docs(pinia): update link to pinia-plugin-persist documentation

Correct the documentation link for pinia-plugin-persist in the Pinia documentation
to point to the official documentation hosted on seb-l.github.io. This ensures
that readers will access the most up-to-date and correct information regarding
the usage of the pinia-plugin-persist library.
2024-06-25 05:24:36 +08:00
aadb7e664b doc: Update bun.md #671 2024-06-25 05:22:56 +08:00
deeed5ec0b feat: add bun (#671)
Create a Bun备忘清单 in markdown format to document the common commands
for the Bun package manager, comparing it to npm and Yarn. This includes
installation, project creation, dependency management, script execution,
and cache handling.
2024-06-25 04:20:29 +08:00
c0903a400c doc: Update docs/pnpm.md #670 2024-06-25 03:30:46 +08:00
80761d5cf6 doc: update README.md. 2024-06-24 18:40:49 +00:00
2fbe314f16 doc: update CONTRIBUTING.md. 2024-06-24 18:40:48 +00:00
e657882897 docs: add pnpm memo and update README (#670)
Add a new pnpm.md memo in the docs directory and update the README to
include pnpm in the quick reference section. Also, introduce a new
pnpm.svg asset in the assets directory.
2024-06-25 02:39:46 +08:00
04b0b48d94 ci: Update FUNDING.yml 2024-06-22 23:53:32 +08:00
7e32739eb6 ci: Update FUNDING.yml 2024-06-22 23:52:11 +08:00
9659f0f074 ci: Update FUNDING.yml 2024-06-22 23:49:26 +08:00
e1b5344903 ci: Update FUNDING.yml 2024-06-22 23:46:01 +08:00
f5c4e78c11 doc: update README.md. 2024-06-21 10:12:30 +00:00
08edd2ad3d doc: update CONTRIBUTING.md. 2024-06-21 10:12:29 +00:00
9f7014bc52 doc: update docs/chatgpt.md #669 2024-06-21 18:10:54 +08:00
8197b8f641 feat: add chatgpt prompt (#669) 2024-06-21 17:41:46 +08:00
1c55ee64bf doc: update README.md 2024-06-20 18:21:35 +08:00
8cca95af19 doc: update springboot.md (#668) 2024-06-20 18:19:51 +08:00
4138d22968 doc: update springboot.md (#668) 2024-06-20 18:05:02 +08:00
9529667952 doc: update README.md. 2024-06-20 09:33:32 +00:00
6730b65788 doc: update CONTRIBUTING.md. 2024-06-20 09:33:31 +00:00
a527cb28a0 feat: add springboot (#668) 2024-06-20 17:32:08 +08:00
100297d821 doc: update README.md. 2024-06-17 14:10:46 +00:00
7ef107d114 doc: update CONTRIBUTING.md. 2024-06-17 14:10:46 +00:00
864da459ef doc: update README.md #102 (#666) 2024-06-17 22:09:39 +08:00
44e5c5a248 doc: update README.md. 2024-06-08 18:45:54 +00:00
a3dab064ce doc: update CONTRIBUTING.md. 2024-06-08 18:45:53 +00:00
4b9ff8a35e doc: update docs/github-actions.md 2024-06-09 02:44:46 +08:00
fa2c86a964 doc: Update README.md #102 2024-06-09 01:44:52 +08:00
d7008594f8 doc: update docs/adb.md (#662) 2024-06-09 01:43:12 +08:00
df9c2ac08b doc: update docs/lua.md (#661)
* Update lua.md

* Update lua.md

* Update lua.md
2024-06-09 01:42:21 +08:00
7494981f5f doc: Update README.md 2024-06-07 00:54:39 +08:00
ae490e878e doc: update docs/twitter.md 2024-06-06 22:20:07 +08:00
ae594eb45a doc: update docs/quickreference.md 2024-06-06 21:50:19 +08:00
8fad195069 doc: update docs/quickreference.md 2024-06-06 11:01:36 +08:00
8dbec19255 ci: update markdown lint 2024-06-06 11:01:36 +08:00
8880d82092 doc: update docs/vimium.md #660 2024-06-06 11:01:36 +08:00
ee03850619 doc: update README.md. 2024-06-06 00:32:00 +00:00
9acc906680 doc: update CONTRIBUTING.md. 2024-06-06 00:31:59 +00:00
05191c8c2c feat: add docs/vimium.md (#660) 2024-06-06 08:30:45 +08:00
3b0416a2c3 ci: update workflows config. 2024-06-05 13:59:33 +08:00
10dfe11942 doc: update docs/glances.md #659 #575 2024-06-05 13:44:44 +08:00
a0480a90dd doc: update docs/glances.md #659 #575 2024-06-05 12:04:59 +08:00
1bb046db08 doc: update README.md. 2024-06-05 01:45:52 +00:00
1cbc663abf doc: update CONTRIBUTING.md. 2024-06-05 01:45:51 +00:00
29a3787140 feat: add glances (#659) 2024-06-05 09:44:51 +08:00
e28914b3c7 doc: Update README.md #102 2024-06-03 17:19:27 +08:00
6d9782c019 doc: update README.md. 2024-05-30 13:51:02 +00:00
8727334a7c doc: update CONTRIBUTING.md. 2024-05-30 13:51:01 +00:00
861d35482a doc: update docs/docker-compose.md (#656) 2024-05-30 21:49:58 +08:00
5708867a5d doc: update README.md. 2024-05-23 01:58:48 +00:00
02240aaab0 doc: update CONTRIBUTING.md. 2024-05-23 01:58:47 +00:00
1189c92fd7 doc: Update README.md #102 2024-05-23 09:57:31 +08:00
a1a1bd60f8 doc: update docs/pytorch.md #649 2024-05-13 17:03:11 +08:00
739b18048d doc: update README.md. 2024-05-13 08:34:42 +00:00
bcd60d6020 doc: update CONTRIBUTING.md. 2024-05-13 08:34:41 +00:00
afbe61aebc doc(pytorch): update docs/pytorch.md (#649)
Co-authored-by: zhulin.zzz <zhul289@chinaunicom.cn>
2024-05-13 16:33:42 +08:00
f2183a90c3 doc: update docs/docker-compose.md 2024-05-12 14:35:56 +08:00
a10d0f850d doc: update docs/docker-compose.md 2024-05-12 14:25:32 +08:00
167fef356f doc: update docs/docker-compose.md 2024-05-12 14:19:16 +08:00
5e22e28a2d doc: update docs/docker-compose.md (#645) 2024-05-12 13:15:52 +08:00
3a1d780bbe doc: Update README.md #102 2024-05-11 19:01:53 +08:00
a2b8fc493b doc: Update README.md 2024-05-11 17:49:58 +08:00
7eaa5786d1 doc: update docs/docker-compose.md (#645) 2024-05-11 17:46:32 +08:00
2dbcac300f doc: update README.md. 2024-05-11 06:10:47 +00:00
127f2752dd doc: update CONTRIBUTING.md. 2024-05-11 06:10:46 +00:00
19ed3fa3b2 feat: add docs/docker-compose.md (#645)
* feat: add docker-compose reference

* fix: alter note
2024-05-11 14:09:45 +08:00
c808475d59 released v1.43.0 2024-05-10 23:47:03 +08:00
63725cf4ab ci: update workflows config. 2024-05-10 23:47:03 +08:00
fad6a20b13 doc: update README.md. 2024-05-10 11:12:18 +00:00
1c5850b8e9 doc: update CONTRIBUTING.md. 2024-05-10 11:12:17 +00:00
a64e21d466 doc: update README #102 (#643) 2024-05-10 19:10:58 +08:00
fcda71cfd3 doc: update docs/neo4j.md 2024-05-09 21:58:42 +08:00
450d3d8f0e doc: update docs/neo4j.md 2024-05-09 19:03:58 +08:00
f24b08489d doc: update docs/docker.md #640 2024-05-09 08:24:51 +08:00
443f2ba7b0 doc: update README.md. 2024-05-08 22:51:00 +00:00
da0c16aab7 doc: update CONTRIBUTING.md. 2024-05-08 22:50:59 +00:00
35e2e58205 doc: Update docker.md (#640)
新增一些常见的Docker运维项
新增一些常见的中间件、数据库容器启动示例和备注信息
2024-05-09 06:49:54 +08:00
b9e327cfb7 doc: update README.md. 2024-05-08 00:02:10 +00:00
01c8c04b30 doc: update CONTRIBUTING.md. 2024-05-08 00:02:08 +00:00
1b1ad3453c doc: update README.md 2024-05-08 08:00:47 +08:00
70e94f5cc9 doc: update docs/cpp.md (#589) 2024-05-07 14:56:12 +08:00
d70b190edc doc: Delete assets/Neo4j.svg 2024-05-07 14:38:53 +08:00
1df034e846 doc: Delete docs/Neo4j.md 2024-05-07 14:36:45 +08:00
88d6e50319 doc: update README.md. 2024-05-07 06:20:57 +00:00
265bffe9c1 doc: update CONTRIBUTING.md. 2024-05-07 06:20:56 +00:00
ffa69578a6 doc: update docs/cpp.md (#589)
* 数据结构和开发技巧以及C++面试知识点

* Update cpp.md

修改md中cpp格式
2024-05-07 14:20:30 +08:00
73106942ca doc: docs/mysql.md (#639)
* update neo4j.md

* update neo4j.md
2024-05-07 14:19:55 +08:00
9446bc0ab9 doc: update README.md. 2024-05-07 01:53:51 +00:00
4c86b97c40 doc: update CONTRIBUTING.md. 2024-05-07 01:53:50 +00:00
6f16c43dc5 doc: update neo4j.md (#638) 2024-05-07 09:52:51 +08:00
7c005d8e8a doc: update docs/fastapi.md 2024-05-06 07:01:20 +08:00
1a829ec469 doc: update neo4j document #636 2024-05-05 17:31:37 +08:00
4d638b26c5 doc: update docs/java.md #628 2024-05-05 16:58:56 +08:00
22ecbc56a6 doc: update README.md. 2024-05-05 08:48:01 +00:00
3d2c2d4d25 doc: update CONTRIBUTING.md. 2024-05-05 08:48:00 +00:00
6f0ec249f6 doc: update README.md. 2024-05-05 08:46:57 +00:00
654dc15eb6 doc: update CONTRIBUTING.md. 2024-05-05 08:46:56 +00:00
c71ea7d356 doc: update docs/fastapi.md (#637)
Co-authored-by: AAJZ <aajz@163.com>
2024-05-05 16:46:46 +08:00
f6a29c9e9e fet: add docs/Neo4j.md (#636)
* 新增了c#中的类(所有内容都是经过书籍,资料证实的)

* 新增了c#中的类部分模块,元组模块,集合模块

* 更改了c#中集合的样式,之前显示出来有bug

* 新增了Neo4j模块

* 新增了Neo4j模块
2024-05-05 16:45:52 +08:00
bec51fa09f doc: Update README.md #102 2024-05-04 13:47:05 +08:00
aaf6d1669b doc: Update README.md (#102) 2024-04-29 19:30:55 +08:00
0c4c020aaf doc: update README.md. 2024-04-28 10:46:24 +00:00
5456dbfa24 doc: update CONTRIBUTING.md. 2024-04-28 10:46:24 +00:00
Aze
3ceb796324 doc: Update figma.md (#630)
figma.md  ffmpeg -> Figma
2024-04-28 18:45:21 +08:00
87554d1616 doc: update README.md. 2024-04-28 04:14:33 +00:00
69d5fe0b2a doc: update CONTRIBUTING.md. 2024-04-28 04:14:32 +00:00
404f5f1070 doc: uppdate docs/cs.md (#629)
* 新增了c#中的类(所有内容都是经过书籍,资料证实的)

* 新增了c#中的类部分模块,元组模块,集合模块

* 更改了c#中集合的样式,之前显示出来有bug
2024-04-28 12:13:30 +08:00
c0b8eb4da7 docs: update docs/java.md. (#628) 2024-04-26 11:15:25 +08:00
7fa1528be5 doc: Update vim.md fix #625 2024-04-24 14:59:25 +08:00
564ef54c1b doc: update tauri.md 2024-04-23 16:15:21 +08:00
dd0d19cf1c doc: update elasticsearch.md (#623) 2024-04-23 16:15:21 +08:00
5c34078de5 doc: docs/oracle.md (#617) 2024-04-23 16:15:21 +08:00
4e21fd05d1 doc: update README.md. 2024-04-23 05:49:16 +00:00
d1fb7ad8cb doc: update CONTRIBUTING.md. 2024-04-23 05:49:15 +00:00
43397a9cf7 feat: add elasticsearch reference (#623) 2024-04-23 13:48:00 +08:00
166cbbd02f doc: update README.md. 2024-04-18 15:23:32 +00:00
d52c7c2abc doc: update CONTRIBUTING.md. 2024-04-18 15:23:31 +00:00
21ddcb51cb doc: update docs/tauri.md (#618) 2024-04-18 23:22:10 +08:00
ac70a8d913 doc: update README.md. 2024-04-18 09:45:55 +00:00
b28c141fdf doc: update CONTRIBUTING.md. 2024-04-18 09:45:54 +00:00
a9552508a0 doc: update oracle.md (#617)
增加DBA对Oracle维护巡检的常用SQL命令
2024-04-18 17:44:39 +08:00
2c61572a99 doc: Update README.md 2024-04-17 23:15:13 +08:00
d3ece9328d doc: update docs/cpp.md 2024-04-16 23:41:10 +08:00
d3e778ee35 doc: update docs/github-actions.md (#613) 2024-04-16 23:39:57 +08:00
187fe9e8c0 doc: update README.md. 2024-04-16 13:50:12 +00:00
fe5d52682e doc: update CONTRIBUTING.md. 2024-04-16 13:50:11 +00:00
642aa08cd6 doc: update docs/github-actions.md (#613) 2024-04-16 21:48:51 +08:00
8c80f47c99 doc: update README.md. 2024-04-16 08:11:38 +00:00
e8e1a83240 doc: update CONTRIBUTING.md. 2024-04-16 08:11:37 +00:00
c0ebe199d1 doc: update docs/cpp.md (#611) 2024-04-16 16:10:24 +08:00
ebcae6d5cd doc: update docs/tauri.md (#610) 2024-04-14 20:46:12 +08:00
a39f00461b doc: update README.md. 2024-04-14 09:05:31 +00:00
73099249f4 doc: update CONTRIBUTING.md. 2024-04-14 09:05:30 +00:00
4db4c7a750 feat: add docs/tauri.md (#610) 2024-04-14 17:04:10 +08:00
9db13825c5 doc: update docs/github.md 2024-04-13 13:53:02 +08:00
444f2c8c91 doc: update README.md 2024-04-12 22:28:34 +08:00
e8af72372c doc: update docs/cs.md 2024-04-12 22:27:03 +08:00
d8e1bdf6ca doc: update README.md. 2024-04-12 08:54:02 +00:00
55587bd145 doc: update CONTRIBUTING.md. 2024-04-12 08:54:01 +00:00
9684f7c9e4 doc: update docs/cs.md (#609)
* 增加国内镜像

* add reference of syntax sugar for c#

* optimizing page format for cs.md

* optimizing page format for cs.md

* add reference of linq for c#
2024-04-12 16:52:44 +08:00
51336f8b86 doc: update docs/cs.md (#608) 2024-04-11 20:09:17 +08:00
f682690b9f doc: update README.md. 2024-04-11 09:43:17 +00:00
6e46907d5c doc: update CONTRIBUTING.md. 2024-04-11 09:43:16 +00:00
b0df70a952 doc: update docs/cs.md (#608)
* 增加国内镜像

* add reference of syntax sugar for c#

* optimizing page format for cs.md

* optimizing page format for cs.md
2024-04-11 17:42:00 +08:00
55be092001 doc: Update README.md 2024-04-11 02:10:55 +08:00
7cf8fae835 doc: update README.md. 2024-04-10 15:23:07 +00:00
8b3784038d doc: update CONTRIBUTING.md. 2024-04-10 15:23:07 +00:00
f000ab5d67 doc: update README.md (#607) 2024-04-10 23:22:02 +08:00
599e776b1a doc: update README.md. 2024-04-10 07:53:58 +00:00
959afe6bf7 doc: update CONTRIBUTING.md. 2024-04-10 07:53:57 +00:00
be81f1bfcb doc: update docs/mysql.md (#605) 2024-04-10 15:53:01 +08:00
3cee78a29e doc: add docs/ftp.md #596 2024-04-09 23:58:19 +08:00
742c4b0018 doc: update README.md. 2024-04-09 10:14:56 +00:00
e1d523036e doc: update CONTRIBUTING.md. 2024-04-09 10:14:55 +00:00
38bbf5d6d3 doc: update docs/kubernetes.md 2024-04-09 18:13:55 +08:00
0bced7ac0f doc: docs/bash.md 2024-04-09 18:13:55 +08:00
104f34dff9 doc: docs/bash.md 2024-04-09 18:13:55 +08:00
c3197fe24b doc: update docs/bash.md 2024-04-09 18:13:55 +08:00
d5e6cb3b62 doc: update docs/c.md 2024-04-09 18:13:55 +08:00
99e41b2798 doc: Update r.md (#604) 2024-04-09 18:13:38 +08:00
93d760298e doc: update README.md. 2024-04-09 09:04:41 +00:00
62777d1690 doc: update CONTRIBUTING.md. 2024-04-09 09:04:41 +00:00
881033ca36 doc: Update README.md (#602) (#102)
添加镜像站https://reference.cizai.io/
2024-04-09 17:03:43 +08:00
00cc7f7330 doc: Update README.md 2024-04-09 12:59:50 +08:00
8c7cecb128 doc: update README.md. 2024-04-09 04:58:11 +00:00
d4000a3c02 doc: update CONTRIBUTING.md. 2024-04-09 04:58:10 +00:00
7bb91f3f60 doc: update docs/java.md #601 2024-04-09 12:55:37 +08:00
1b9437656d docs: update docs/java.md. (#601) 2024-04-09 11:44:38 +08:00
2b6b58d7fb doc: update docs/fastapi.md 2024-04-08 02:40:02 +08:00
8dca5a8765 doc: update README.md. 2024-04-07 18:29:28 +00:00
ce4e16fb75 doc: update CONTRIBUTING.md. 2024-04-07 18:29:27 +00:00
ae10c15d2a doc: update docs/fastapi.md 2024-04-08 02:27:58 +08:00
844bc6d307 doc: update docs/sdkman.md 2024-04-07 19:11:32 +08:00
c343cb3587 doc: update docs/adb.md (#590) 2024-04-07 17:22:31 +08:00
7f0709f502 doc: Update README.md 2024-04-07 13:53:58 +08:00
d8427d22a9 doc: Update README.md 2024-04-07 13:53:19 +08:00
626b7ec961 doc: Update README.md (#102) 2024-04-07 00:45:58 +08:00
278ebee2c0 doc: update CONTRIBUTING.md 2024-04-06 12:05:42 +08:00
822af71d7f doc: update docs/twitter.md 2024-04-06 02:56:07 +08:00
b5f9d14ab1 doc: add docs/twitter.md 2024-04-06 02:27:19 +08:00
0a012311dd doc: update README.md. 2024-04-03 05:52:02 +00:00
c49b7002ce doc: update CONTRIBUTING.md. 2024-04-03 05:52:01 +00:00
bb605ea530 doc: update docs/sdkman.md (#588) 2024-04-03 13:49:47 +08:00
a3ffdd16fc doc: update docs/elixir.md #587 2024-04-03 12:37:20 +08:00
b880c23f05 feat: update docs/sdkman.md (#588) 2024-04-03 12:37:06 +08:00
df3e46f34d doc: Update README.md 2024-04-02 16:11:34 +08:00
a45fcfef20 doc: update README.md. 2024-04-02 08:10:42 +00:00
3b65deb8d1 doc: update CONTRIBUTING.md. 2024-04-02 08:10:41 +00:00
3fdfa19b74 doc: update docs/elixir.md #587 2024-04-02 16:09:00 +08:00
8d60181b96 feat: add docs/elixir.md (#587)
Co-authored-by: gowshwah <1099764281@qq.com>
2024-04-02 15:16:48 +08:00
cb5df68489 doc: update docs/cs.md 2024-04-02 11:18:01 +08:00
88f43a924a doc: update README.md. 2024-04-02 02:55:54 +00:00
6f50c1adfd doc: update CONTRIBUTING.md. 2024-04-02 02:55:53 +00:00
c6d9901d5e doc: update docs/cs.md (#586)
* 新增了c#中的类(所有内容都是经过书籍,资料证实的)

* 新增了c#中的类部分模块,元组模块,集合模块
2024-04-02 10:54:58 +08:00
bd2d631b02 doc: update docs/feds.md 2024-04-01 14:18:04 +08:00
e25412175f doc: update docs/homebrew.md 2024-03-31 13:49:55 +08:00
b6ca1e5166 doc: update docs/homebrew.md 2024-03-31 12:55:18 +08:00
3d0ce212a9 doc: Update README.md 2024-03-31 02:36:51 +08:00
2a4c08a69e doc: update README.md. 2024-03-29 07:25:37 +00:00
3ddb8959c5 doc: update CONTRIBUTING.md. 2024-03-29 07:25:36 +00:00
37906f6548 doc: update docs/docker.md #583 2024-03-29 15:23:58 +08:00
ce2640f9cf doc: update README.md. 2024-03-26 13:13:12 +00:00
9e42db6fcb doc: update CONTRIBUTING.md. 2024-03-26 13:13:11 +00:00
fd85b9d819 doc: update docs/docker.md #583 2024-03-26 09:11:41 -04:00
2dd3fd1e84 doc: update docs/cs.md #584 2024-03-26 09:09:14 -04:00
21dc25c2a4 doc: update docs/cs.md #584 2024-03-26 09:03:19 -04:00
ea8d6b3391 doc: update docs/cs.md (#584) 2024-03-26 08:38:18 -04:00
1efbb7155b doc: update docs/docker.md #583 2024-03-26 05:31:07 -04:00
22194283aa doc: Update docker.md (#583) 2024-03-26 05:09:37 -04:00
56d8186e0a doc: Update docker.md (#582)
add docker installation
2024-03-25 20:07:49 +08:00
9e5e671a1a doc: update README.md. 2024-03-24 08:20:36 +00:00
dc3005bc99 doc: update CONTRIBUTING.md. 2024-03-24 08:20:35 +00:00
dedb8b9475 doc: update docs/iso-3166-1.md (#581 #579)
* doc: Add content related to simplified and traditional Chinese

* doc: alter number

---------

Co-authored-by: zhangyanming <zhangyanming@kxsz.net>
2024-03-24 04:19:17 -04:00
6f978c8df0 doc: add docs/iso-3166-1.md #579 2024-03-22 20:34:32 +08:00
8ce7714bca doc: update docs/nvm.md (#512) 2024-03-22 06:18:15 +08:00
f8b4ef611f doc: update README.md. 2024-03-21 21:38:28 +00:00
057eddb4b2 doc: update CONTRIBUTING.md. 2024-03-21 21:38:27 +00:00
6dfc13ee6d doc: add nvm-windows (#512) 2024-03-22 05:37:22 +08:00
b77f29a1c2 doc: Update README.md #102 2024-03-20 13:12:46 +08:00
55f807f407 doc: update README.md. 2024-03-20 03:32:45 +00:00
2e2b3b8ee4 doc: update CONTRIBUTING.md. 2024-03-20 03:32:44 +00:00
234da6d914 doc: update docs/emacs.md (#573) 2024-03-20 11:31:37 +08:00
36068c9ad3 doc: Update README.md #102 2024-03-19 23:03:14 +08:00
359b81a44f feat: add docs/phpstorm.md. #571 2024-03-15 21:58:44 +08:00
20b3a1969d doc: Update README.md (#102) 2024-03-15 16:31:50 +08:00
d59d128bd1 doc: update docs/cs.md #566 2024-03-14 00:04:47 +08:00
f5ce635f97 doc: update README.md. 2024-03-13 15:45:11 +00:00
d6121b3ce9 doc: update CONTRIBUTING.md. 2024-03-13 15:45:10 +00:00
e5ccf68774 doc: Update README.md #102 2024-03-13 23:44:05 +08:00
f3699e12cd doc: Update cs.md (#566)
* doc: Update cs.md

将“逻辑运算”更变为一级标题

* <update>[cs.md]: add subtitle `运算符和表达式`

将`运算符和表达式`和`字符串`区分开
2024-03-13 23:42:36 +08:00
88452a8b07 feat: add docs/figma.md #567 2024-03-13 21:22:54 +08:00
2d8753a6a5 doc: update README.md. 2024-03-12 13:02:19 +00:00
a7a5d029d5 doc: update CONTRIBUTING.md. 2024-03-12 13:02:18 +00:00
dabb4b2cd7 doc: update docs/docker.md (#565)
* doc: update ansible.md

* doc: update ansible.md 代码格式

* 增加十分钟同步的域名、增加自动部署脚本

* 优化部署文档:定时任务同步pages的内容

* 优化 git-down-pages.sh 脚本 到配置

* update  README.md

* 更新代码

* update: doc ansible.md

* update CONTRIBUTING.md

* update CONTRIBUTING.md fix

* 优化ansible排版格式

* fix: 定时脚本的逻辑 bug

* update: ansible.md

* update: 增加 docker 的清除命令

---------

Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-03-12 21:01:17 +08:00
f318e2456d doc: update README.md. 2024-03-10 04:20:48 +00:00
8250615bca doc: update CONTRIBUTING.md. 2024-03-10 04:20:48 +00:00
f7c2d6555f doc: update docs/python.md (#564)
when we installed pipenv pkg, we can't run pipenv install command on our local shell, because maybe we didn't have the site-package-bin dir in system $PATH, so we need to add it firstly.
2024-03-10 12:19:42 +08:00
a15bd68a59 doc: Update README.md 2024-03-09 16:16:11 +08:00
5d82708d56 doc: update README.md. 2024-03-07 16:47:55 +00:00
fda807a97b doc: update CONTRIBUTING.md. 2024-03-07 16:47:54 +00:00
c076d32fc1 doc: update docs/swiftui.md (#562) 2024-03-08 00:46:43 +08:00
da7cccb50b doc: update README.md. 2024-03-07 16:46:18 +00:00
349d811c66 doc: update CONTRIBUTING.md. 2024-03-07 16:46:17 +00:00
4c7e86893d doc: update docs/r.md (#561)
Add book link to my study notes of R.
2024-03-08 00:45:16 +08:00
b040885e8b doc: update README.md. 2024-03-07 06:46:06 +00:00
925a2913c4 doc: update CONTRIBUTING.md. 2024-03-07 06:46:05 +00:00
76785c6c55 doc: Update README.md (#560) #102 2024-03-07 14:45:07 +08:00
13991b8b5e doc: update docs/swift.md (#558)
* fix issue

* add extension

* update
2024-03-06 17:36:48 +08:00
e5ad863e2d doc: update README.md. 2024-03-06 06:21:26 +00:00
3c2e52f47e doc: update CONTRIBUTING.md. 2024-03-06 06:21:25 +00:00
137210c886 doc: Update README.md (#557) (#102) 2024-03-06 14:20:23 +08:00
60e83d0e0b doc: update README.md. 2024-03-05 13:25:34 +00:00
338b54f3c5 doc: update CONTRIBUTING.md. 2024-03-05 13:25:33 +00:00
5fc5c065df doc: update docs/pytorch.md (#554) 2024-03-05 21:23:43 +08:00
435fdead51 doc: update README.md. 2024-03-05 08:37:46 +00:00
61f4697406 doc: update CONTRIBUTING.md. 2024-03-05 08:37:45 +00:00
6122942c95 doc: update docs/swift.md 2024-03-05 16:35:42 +08:00
57d42b29ba doc: update docs/swift.md (#550) 2024-03-05 15:12:10 +08:00
ee97d75160 chore: Update .gitattributes 2024-03-05 03:50:37 +08:00
cff4119203 doc: Update README.md #102 2024-03-04 23:20:17 +08:00
4dfb3c8e9f doc: Update README.md #102 2024-03-04 22:03:44 +08:00
50526ab7a4 chore: Update .gitattributes 2024-03-04 17:09:01 +08:00
6a9c656af6 doc: Update README.md #102 2024-03-04 17:07:46 +08:00
ee1c50166c chore: Update .gitattributes 2024-03-04 11:33:25 +08:00
18189760b7 doc: Update README.md 2024-03-03 22:17:14 +08:00
e8c86ad588 doc: update README.md. 2024-02-29 04:07:42 +00:00
d9ff20b22c doc: update CONTRIBUTING.md. 2024-02-29 04:07:41 +00:00
c03deba9a5 doc: update docs/ansible.md (#543)
* doc: update ansible.md

* doc: update ansible.md 代码格式

* 增加十分钟同步的域名、增加自动部署脚本

* 优化部署文档:定时任务同步pages的内容

* 优化 git-down-pages.sh 脚本 到配置

* update  README.md

* 更新代码

* update: doc ansible.md

* update CONTRIBUTING.md

* update CONTRIBUTING.md fix

* 优化ansible排版格式

* fix: 定时脚本的逻辑 bug

* update: ansible.md

---------

Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-02-29 12:06:43 +08:00
6358f19144 fix: fix markdown lint issue. 2024-02-29 11:29:56 +08:00
8ef5df72f0 doc: update docs/ansible.md #535 2024-02-29 11:29:15 +08:00
704ba7332e doc: update docs/ansible.md (#542)
* doc: update ansible.md

* doc: update ansible.md 代码格式

* 增加十分钟同步的域名、增加自动部署脚本

* 优化部署文档:定时任务同步pages的内容

* 优化 git-down-pages.sh 脚本 到配置

* update  README.md

* 更新代码

* update: doc ansible.md

* update CONTRIBUTING.md

* update CONTRIBUTING.md fix

* 优化ansible排版格式

---------

Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-02-29 10:59:18 +08:00
bc4e48c5fd doc: Update README.md #102 2024-02-29 10:27:39 +08:00
587aa7e304 doc: update README.md. 2024-02-29 01:51:38 +00:00
bacaf4df44 doc: update CONTRIBUTING.md. 2024-02-29 01:51:37 +00:00
1da65002ba doc: update docs/ansible.md (#541)
* doc: update ansible.md

* doc: update ansible.md 代码格式

* 增加十分钟同步的域名、增加自动部署脚本

* 优化部署文档:定时任务同步pages的内容

* 优化 git-down-pages.sh 脚本 到配置

* update  README.md

* 更新代码

* update: doc ansible.md

* update CONTRIBUTING.md

* update CONTRIBUTING.md fix

---------

Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-02-29 09:50:27 +08:00
11dc28cea3 doc: update CONTRIBUTING.md #535 2024-02-29 01:04:10 +08:00
8c21b7126a doc: update README.md. 2024-02-28 15:59:22 +00:00
7da5b74811 doc: update CONTRIBUTING.md. 2024-02-28 15:59:21 +00:00
893391cc3b doc: update docs/ansible.md & update CONTRIBUTING.md (#535)
* doc: update ansible.md

* doc: update ansible.md 代码格式

* 增加十分钟同步的域名、增加自动部署脚本

* 优化部署文档:定时任务同步pages的内容

* 优化 git-down-pages.sh 脚本 到配置

* update  README.md

---------

Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-02-28 23:58:09 +08:00
20c2bfdbef doc: Update README.md #102 2024-02-28 13:15:22 +08:00
4e40ae2b1d doc: update README.md. 2024-02-28 05:13:22 +00:00
52fc7597ca doc: update CONTRIBUTING.md. 2024-02-28 05:13:21 +00:00
f176bf6f56 doc: update ansible.md (#534)
Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
2024-02-28 13:12:11 +08:00
67c7a0ef49 ci: update workflows config. 2024-02-27 10:45:49 +08:00
04a12487c0 doc: Update README.md #102 2024-02-27 10:38:35 +08:00
4305ed8bd9 ci: update workflows config. 2024-02-26 23:35:00 +08:00
2f66dbc882 chore(deps): update dependency markdownlint to ^0.33.0 (#334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 23:31:42 +08:00
9d8e885aec chore(deps): update dependency lint-staged to v15 (#459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 23:30:35 +08:00
fbbc5195f7 chore(deps): update dependency markdownlint-cli to ^0.39.0 (#362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 23:30:22 +08:00
72109ba7b6 chore(deps): update ruby docker tag to v3.3.0 (#494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 23:29:50 +08:00
f263431ab1 feat: add docs/r.md #410 #285 #283 2024-02-26 23:27:37 +08:00
fae20e6a71 chore: update husky config. 2024-02-26 16:10:09 +08:00
706fe7855f chore(deps): update dependency husky to v9 (#510)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-26 16:08:36 +08:00
f5e5357de7 doc: update docs/sketch.md 2024-02-26 16:06:30 +08:00
cb434e1180 feat: add finder.md. 2024-02-26 15:47:23 +08:00
df9bf1f5e9 feat: add Pacman. 2024-02-26 15:04:52 +08:00
a0754c5397 doc: Update README.md 2024-02-26 14:30:47 +08:00
997e176017 released v1.42.0 2024-02-26 14:08:07 +08:00
8f9da1cf83 ci: update workflows config. 2024-02-26 14:08:00 +08:00
6b29e84fda ci: update workflows config. 2024-02-26 14:05:13 +08:00
317f2db41f doc: update docs/feds.md 2024-02-26 14:01:35 +08:00
2c7400d446 doc: update README.md. 2024-02-12 14:22:53 +00:00
9549a30646 doc: update CONTRIBUTING.md. 2024-02-12 14:22:52 +00:00
77b4802177 doc: update docs/dart.md (#516)
* 新增Kotlin的高阶函数用法

* 新增和调整若干Kotlin示例代码
[新增] 扩展函数
[新增] 运算符重载
[新增] 中缀表达式
[新增] 次构造函数
[新增] Data 数据类
[新增] 内部类
[新增] object 单例类
[修改] 主构造函数示范代码,调整了部分缩进和变量定义。

* 新增Dart部分示例代码
[新增] 扩展函数
[新增] 运算符重载函数
[新增] 延迟初始化
2024-02-12 22:21:24 +08:00
7f9b132db9 doc: Update README.md (#102) 2024-02-12 22:19:02 +08:00
58745e7a4d doc: Update README.md #102 2024-02-10 18:10:52 +08:00
1d9d2f798c doc: update README.md. 2024-02-09 08:15:38 +00:00
8e11109e6f doc: update CONTRIBUTING.md. 2024-02-09 08:15:37 +00:00
2f6c263221 doc: update docs/kotlin.md (#515)
* 新增Kotlin的高阶函数用法

* 新增和调整若干Kotlin示例代码
[新增] 扩展函数
[新增] 运算符重载
[新增] 中缀表达式
[新增] 次构造函数
[新增] Data 数据类
[新增] 内部类
[新增] object 单例类
[修改] 主构造函数示范代码,调整了部分缩进和变量定义。
2024-02-09 16:14:36 +08:00
b8d46f0cee doc: update README.md. 2024-02-08 06:57:37 +00:00
70367ebff8 doc: update CONTRIBUTING.md. 2024-02-08 06:57:36 +00:00
c60876d078 doc: update docs/cs.md (#514) 2024-02-08 14:56:15 +08:00
e391ce4cd3 doc: update README.md. 2024-02-06 07:36:43 +00:00
f28f625a93 doc: update CONTRIBUTING.md. 2024-02-06 07:36:42 +00:00
bfc4a0198d doc: Update linux-command.md
- https://github.com/jaywcjlove/reference/discussions/434#discussioncomment-8366371
2024-02-06 15:35:41 +08:00
9436578123 doc: Update README.md 2024-02-01 22:37:18 +08:00
fd88141567 doc: Update README.md (#102) 2024-02-01 10:05:06 +08:00
2c10272d01 doc: update README.md. 2024-01-30 13:28:59 +00:00
a6bb4625d7 doc: update CONTRIBUTING.md. 2024-01-30 13:28:58 +00:00
cb1c236f5c doc: Update README.md (#102) 2024-01-30 21:27:49 +08:00
466c3c073d doc: update README.md. 2024-01-23 03:17:34 +00:00
56f1ce20a1 doc: update CONTRIBUTING.md. 2024-01-23 03:17:33 +00:00
119df317f2 fix: update docs/markdown.md (#509) 2024-01-23 11:16:21 +08:00
532cb88cf0 doc: Update README.md 2024-01-13 14:22:38 +08:00
b5f5c95680 doc: update README.md. 2024-01-13 06:22:22 +00:00
9d0cfca668 doc: update CONTRIBUTING.md. 2024-01-13 06:22:22 +00:00
4c02dfd878 doc: update docs/chown.md #503 2024-01-13 14:19:08 +08:00
83655d42a5 doc: update README.md. 2024-01-13 05:38:54 +00:00
e4bc989560 doc: update CONTRIBUTING.md. 2024-01-13 05:38:54 +00:00
05dae25ae7 feat: add chown.md (#503)
* 修改我在contributing.md的镜像链接

* chown备忘清单
2024-01-13 13:37:51 +08:00
f500aae1e7 doc: update README.md. 2024-01-01 13:03:35 +00:00
adcf084901 doc: update CONTRIBUTING.md. 2024-01-01 13:03:34 +00:00
3cabca0a7a doc: update README.md (#102 #496)
add ref.wdft.com
2024-01-01 21:01:55 +08:00
6d6ee93d7c doc: Update README.md (#102) 2023-12-30 19:31:25 +08:00
7663e0aa72 doc: update docs/nginx.md #493 2023-12-25 16:46:52 +08:00
70518c3d9a doc: update README.md. 2023-12-25 08:38:19 +00:00
26f49c9bc6 doc: update CONTRIBUTING.md. 2023-12-25 08:38:18 +00:00
76dc31a30c doc: update nginx.md (#493)
* add ulimit config of nginx

* minor
2023-12-25 16:36:57 +08:00
3bdcc831c4 doc: Update README.md #102 2023-12-22 20:10:43 +08:00
a2795d4691 doc: update README.md. 2023-12-22 12:08:37 +00:00
fa55cc17d1 doc: update CONTRIBUTING.md. 2023-12-22 12:08:37 +00:00
7f66d28d56 doc: Update README.md (#492) (#102) 2023-12-22 20:07:16 +08:00
de76161779 doc: update docs/docker.md 2023-12-22 13:04:21 +08:00
b935a35165 doc: update docs/kotlin.md 2023-12-22 13:00:44 +08:00
e1fad67e75 doc: update docs/linux-command.md #491 2023-12-22 08:38:27 +08:00
063369866e doc: update README.md. 2023-12-22 00:11:12 +00:00
1f6bcaabdf doc: update CONTRIBUTING.md. 2023-12-22 00:11:12 +00:00
1ee3fb8bed doc: Update linux-command.md (#491)
添加文件描述符、前后台等命令
2023-12-22 08:10:10 +08:00
a0bd5f7304 doc: update README.md. 2023-12-12 22:40:28 +00:00
534f39c6a7 doc: update CONTRIBUTING.md. 2023-12-12 22:40:27 +00:00
6cb067ce06 doc: Update README.md (#484 #102) 2023-12-13 06:39:02 +08:00
c8aba156f7 doc: update README.md. 2023-12-12 09:25:27 +00:00
53693bdeba doc: update CONTRIBUTING.md. 2023-12-12 09:25:26 +00:00
2dd35ecb40 doc: Update README.md #102 2023-12-12 17:23:59 +08:00
c278fb2454 doc: update docs/kotlin.md (#482)
* doc: update

* fix: kotlin 方法默认参数指定其类型;

---------

Co-authored-by: 小弟调调™ <kennyiseeyou@gmail.com>
2023-12-11 11:24:49 +08:00
ab0d82e7f5 doc: update README.md. 2023-12-09 11:28:27 +00:00
f726b3c6d4 doc: update CONTRIBUTING.md. 2023-12-09 11:28:26 +00:00
300aa903bd doc: update docs/tar.md (#480) 2023-12-09 19:27:23 +08:00
e332fa127f doc: update README.md. 2023-12-08 05:11:55 +00:00
6653bed2eb doc: update CONTRIBUTING.md. 2023-12-08 05:11:54 +00:00
3f822852bf doc: update docker.md (#479) 2023-12-08 13:10:20 +08:00
3e71fee21c chore(deps): update dependency prettier to v3 (#390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-07 16:36:31 +08:00
3a8b1a2cd7 doc: Update docs/javascript.md 2023-12-07 16:34:42 +08:00
bfe8934e88 doc: Update docs/javascript.md 2023-12-07 16:33:45 +08:00
6b737583ee chore: update .dockerignore 2023-12-07 00:01:02 +08:00
108c8005d4 ci: update workflows config. 2023-12-06 23:56:46 +08:00
75830aa8bc ci: update workflows config. 2023-12-06 23:40:49 +08:00
7e8f89418c doc: update README.md. 2023-12-06 14:47:38 +00:00
6f94d01850 doc: update CONTRIBUTING.md. 2023-12-06 14:47:37 +00:00
bd9c837102 feat: add github-copilot.md (#475)
* Add GitHub Copilot documentation

* Add inline chat useful instruction
2023-12-06 22:46:15 +08:00
d29ac4215c doc: update README.md. 2023-12-04 03:24:05 +00:00
a548bac591 doc: update CONTRIBUTING.md. 2023-12-04 03:24:04 +00:00
0f22978db4 doc: update git.md (#472)
Co-authored-by: zlfyuan <741136856@qq.com>
2023-12-04 11:22:45 +08:00
4b8567131f doc: Update README.md #102 2023-12-02 15:12:10 +08:00
6c0c6508ab doc: Update README.md 2023-12-01 18:34:55 +08:00
08b48b842f doc: update README.md. 2023-12-01 07:38:01 +00:00
6e2f615551 doc: update CONTRIBUTING.md. 2023-12-01 07:38:00 +00:00
fed14313e4 doc: Update README.md #102 2023-12-01 15:37:00 +08:00
9c7c381849 ci: update workflows config. 2023-11-26 20:12:06 +08:00
1bdd1afdd3 released v1.41.0 2023-11-26 20:06:43 +08:00
b137c67956 doc: update README.md. 2023-11-26 12:05:31 +00:00
feee371c24 doc: update CONTRIBUTING.md. 2023-11-26 12:05:30 +00:00
eaee21d4bf chore: add sponsor badge. 2023-11-26 20:04:04 +08:00
d3b7cfb613 doc: update README.md. 2023-11-22 11:03:08 +00:00
c1e3cdabcf doc: update CONTRIBUTING.md. 2023-11-22 11:03:07 +00:00
5b02481425 doc: Update linux-command.md (#467)
add `tree` command
2023-11-22 19:02:01 +08:00
4e651e3109 doc: update README.md. 2023-10-18 08:09:07 +00:00
4186c93202 doc: update CONTRIBUTING.md. 2023-10-18 08:09:06 +00:00
59509fc94e doc: update docs/lua.md 2023-10-18 16:06:44 +08:00
0acb2ca1f3 doc: update docs/symbol-code.md 2023-10-14 00:10:32 +08:00
a7f85c5268 doc: Update README.md (#102) 2023-10-10 04:09:01 -05:00
c993ed3228 ci: update workflows config. 2023-10-10 15:41:11 +08:00
f11a3bf99e ci: update workflows config. 2023-10-10 15:37:27 +08:00
c51e52b5c5 released v1.40.0 2023-10-10 15:24:13 +08:00
36d2ad88a6 doc: update docs/feds.md 2023-10-10 02:00:26 -05:00
17df489348 doc: update README.md. 2023-10-08 12:01:35 +00:00
8c71fdee72 doc: update CONTRIBUTING.md. 2023-10-08 12:01:35 +00:00
445ba9a5f8 doc: update docs/python.md (#451) 2023-10-08 06:59:56 -05:00
49d5254f2b doc: update README.md. 2023-10-07 17:03:34 +00:00
4bff216f48 doc: update CONTRIBUTING.md. 2023-10-07 17:03:33 +00:00
58425e0318 doc: update docs/ruby.md (#448)
* add doc for pg_upgrade

* add doc for ruby bundle lock
2023-10-07 12:02:00 -05:00
be3818f818 doc: update docs/nginx.md. (#446) 2023-09-28 14:34:56 +08:00
b717b1c67f doc: update docs/nginx.md. (#446) 2023-09-28 14:26:16 +08:00
d4b984c509 doc: update README.md. 2023-09-27 11:00:18 +00:00
2dbfe101c7 doc: update CONTRIBUTING.md. 2023-09-27 11:00:17 +00:00
34434fd402 Correct operator translation (#443) 2023-09-27 18:58:40 +08:00
68b7bf36bb doc: update docs/css.md 2023-09-27 10:34:27 +08:00
5815147509 doc: update README.md. 2023-09-26 12:48:55 +00:00
0b669ed687 doc: update CONTRIBUTING.md. 2023-09-26 12:48:53 +00:00
3c74a22420 doc: Update README.md (#442) 2023-09-26 20:47:11 +08:00
3a0a9f72f7 doc: update README.md. 2023-09-23 10:11:48 +00:00
84fa394a3a doc: update CONTRIBUTING.md. 2023-09-23 10:11:47 +00:00
c70a95e007 doc: update typescript.md (#440)
修正 范型推导出列表字面量内示例代码错误
2023-09-23 18:10:09 +08:00
c9dcfd2829 doc: update README.md. 2023-09-23 09:28:11 +00:00
bc4dea6930 doc: update CONTRIBUTING.md. 2023-09-23 09:28:10 +00:00
106d7aa602 doc: update typescript.md (#439)
修正类型技巧内Capitalize的推导结果
2023-09-23 17:26:33 +08:00
ecb59d8980 doc: update docs/css.md 2023-09-22 08:58:15 +08:00
f6cb68debf doc: Update feds.md 2023-09-20 10:09:02 +08:00
98f5cdd08c doc: update README.md. 2023-09-19 14:41:02 +00:00
355d360720 doc: update CONTRIBUTING.md. 2023-09-19 14:41:01 +00:00
5e12094078 doc: update docs/postgres.md (#436) 2023-09-19 22:39:42 +08:00
71eb82ae3a doc: update README.md. 2023-09-19 09:31:23 +00:00
6e1dc3467e doc: update CONTRIBUTING.md. 2023-09-19 09:31:22 +00:00
fba093f495 doc: Update gitlab-ci.md 2023-09-19 17:29:43 +08:00
34f6bba4a1 doc: Update ci.yml 2023-09-18 17:29:49 +08:00
7597799323 doc: Update README.md 2023-09-18 15:50:48 +08:00
11818ada00 doc: update README.md. 2023-09-16 15:16:12 +00:00
4cb46dc4ea doc: update CONTRIBUTING.md. 2023-09-16 15:16:11 +00:00
6ed219e2e1 doc: Update linux-command.md (#433)
add shortcuts
2023-09-16 23:14:02 +08:00
bffbc128f2 doc: update README.md. 2023-09-15 07:28:03 +00:00
b1ba4282f7 doc: update CONTRIBUTING.md. 2023-09-15 07:28:03 +00:00
bbd3292c8e doc: update docs/python.md (#432) 2023-09-15 15:26:50 +08:00
b14257542f doc: update docs/typescript.md 2023-09-14 10:52:05 +08:00
8f782f6204 doc: update README.md. 2023-09-12 15:23:11 +00:00
8e0df579c3 doc: update CONTRIBUTING.md. 2023-09-12 15:23:09 +00:00
870cc88b2a doc: Update docker.md (#429)
Add shortcuts of exit docker container
2023-09-12 23:21:41 +08:00
0f475095ad doc: Update README.md (#102) 2023-09-12 11:09:43 +08:00
e79adc056d doc: Update README.md 2023-09-12 08:49:24 +08:00
cc2061077c chore: update .refsrc.json 2023-09-11 20:07:21 +08:00
c407dce74b chore(deps): update dependency refs-cli to v1.5.1 2023-09-11 20:02:14 +08:00
08614a6ce8 doc: update docs/c.md (#426) 2023-09-10 15:35:31 +08:00
676c87ffe8 doc: update README.md. 2023-09-10 07:34:11 +00:00
c504469c86 doc: update CONTRIBUTING.md. 2023-09-10 07:34:10 +00:00
b3cf04d323 doc: Update c.md (#426)
修改了初始化,声明和定义的区别注释
2023-09-10 15:32:32 +08:00
5254c49bdd doc: update README.md. 2023-09-07 05:06:47 +00:00
011ee54010 doc: update CONTRIBUTING.md. 2023-09-07 05:06:47 +00:00
6c7d393cff doc: update docs/typescript.md 2023-09-07 12:47:55 +08:00
86c3191501 doc: update README.md. 2023-09-05 06:40:41 +00:00
03160c5ad4 doc: update CONTRIBUTING.md. 2023-09-05 06:40:40 +00:00
f3b532b4d9 doc: update docs/git.md (#425) 2023-09-05 14:39:12 +08:00
24290541e7 doc: update README.md. 2023-09-05 05:03:12 +00:00
e527de9a89 doc: update CONTRIBUTING.md. 2023-09-05 05:03:11 +00:00
fab09b1f13 doc: update docs/fastapi.md (#424) 2023-09-05 12:39:02 +08:00
7bb62ab3c3 doc: update README.md. 2023-09-05 00:18:34 +00:00
4c4f800427 doc: update CONTRIBUTING.md. 2023-09-05 00:18:33 +00:00
a2be0fa8a5 doc: update docs/fastapi.md (#423) 2023-09-05 08:17:10 +08:00
b3e8be65f6 doc: update docs/fastapi.md #422 2023-09-04 11:36:09 +08:00
4d21e9f1cf doc: update README.md. 2023-09-04 02:42:47 +00:00
337bdf3f6f doc: update CONTRIBUTING.md. 2023-09-04 02:42:46 +00:00
80cb879bc8 feat: Add FastAPI (#422) 2023-09-04 10:41:12 +08:00
9e24d8da48 doc: update README.md. 2023-08-30 11:43:14 +00:00
03ea09ed8d doc: update CONTRIBUTING.md. 2023-08-30 11:43:12 +00:00
45fbcae3f9 doc: Update README.md (#102) 2023-08-30 19:41:36 +08:00
78b431ffc7 doc: update README.md. 2023-08-29 01:36:23 +00:00
ab51674496 doc: update CONTRIBUTING.md. 2023-08-29 01:36:22 +00:00
a2a6011b31 doc: update docs/git.md 2023-08-29 09:34:28 +08:00
44bf2fdf10 doc: update docs/typescript.md 2023-08-25 10:15:26 +08:00
98efabd925 doc: update README.md 2023-08-24 17:27:41 +08:00
dc0412ed07 doc: update docs/symbol-code.md 2023-08-24 17:22:48 +08:00
ca05decbc0 feat: add docs/subversion.md (#403) 2023-08-24 14:13:05 +08:00
91f81b4958 released v1.39.0 2023-08-24 10:49:04 +08:00
36676240e2 doc: update docs/conda.md 2023-08-24 01:00:29 +08:00
0d0e73c0a3 doc: update docs/symbol-code.md 2023-08-24 01:00:29 +08:00
729cafa2d6 doc: update README.md. 2023-08-23 16:50:13 +00:00
cce405626a doc: update CONTRIBUTING.md. 2023-08-23 16:50:12 +00:00
2a8428076e feat: add docs/symbol-code.md 2023-08-24 00:48:19 +08:00
Fan
10f7b75d35 doc: Update c.md (#418)
代码 printf("%p\n", \&myAge); 中,符号\有语法错误
2023-08-21 08:34:24 +08:00
31a8351cce doc: update README.md. 2023-08-20 04:54:45 +00:00
867bb7344a doc: update CONTRIBUTING.md. 2023-08-20 04:54:44 +00:00
6c48ade999 doc: Update README.md (#102) 2023-08-20 12:53:18 +08:00
138500303b doc: update README.md. 2023-08-18 08:43:51 +00:00
9e6b4fccfb doc: update CONTRIBUTING.md. 2023-08-18 08:43:50 +00:00
39fb8143ac doc: update docs/conda.md (#417)
添加: 设置指定环境为默认环境
```bash
vim ~/.bashrc
export PATH="~/anaconda/envs/ENVNAME/bin:$PATH"  # 文件末尾添加
conda activate ENVNAME  # :wq 保存并关闭
source ~/.bashrc  # 更新
conda config --set auto_activate_base false # 禁用auto activate base环境
```
2023-08-18 16:42:12 +08:00
bcc6cb6335 doc: update conda.md (#416) 2023-08-18 15:42:24 +08:00
79497c0678 doc: update README.md. 2023-08-18 06:37:16 +00:00
2333d30ee5 doc: update CONTRIBUTING.md. 2023-08-18 06:37:15 +00:00
1ae43d171a doc: update docs/git.md (#415)
* 更正git清单的描述

* docs: update docs/git.md
2023-08-18 14:35:39 +08:00
31aa83c9b8 doc: update README.md. 2023-08-18 03:32:12 +00:00
7309e5d249 doc: update CONTRIBUTING.md. 2023-08-18 03:32:11 +00:00
60588c52f3 doc: update docs/toml.md 2023-08-18 11:28:34 +08:00
9ba0641cc7 doc: update docs/linux-command.md 2023-08-17 10:49:07 +08:00
d9e86b555f feat: add docs/ascii-code.md 2023-08-17 00:23:05 +08:00
71fa3b3c26 feat: add docs/ejs.md 2023-08-17 00:07:22 +08:00
fbd3a4fffa doc: update docs/mitmproxy.md 2023-08-16 23:19:51 +08:00
2f818808eb doc: update docs/taskset.md 2023-08-16 23:02:00 +08:00
8295db4b4e doc: update docs/git.md 2023-08-16 22:24:03 +08:00
be73485516 doc: update docs/git.md 2023-08-16 21:52:58 +08:00
e47092fec0 doc: update docs/curl.md 2023-08-16 21:52:58 +08:00
8c47a905d4 doc: update README.md. 2023-08-16 11:54:39 +00:00
624fe766df doc: update CONTRIBUTING.md. 2023-08-16 11:54:38 +00:00
2c7028efc3 doc: add docs/blender.md (#363) 2023-08-16 19:53:06 +08:00
01a6b7e36f doc: update ffmpeg.md (#413)
update:
视频参数
-crf
2023-08-16 10:37:03 +08:00
d588663619 doc: Update README.md #102 2023-08-15 16:03:06 +08:00
bd03383b62 doc: update README.md. 2023-08-14 16:16:29 +00:00
47aa71b7cc doc: update CONTRIBUTING.md. 2023-08-14 16:16:29 +00:00
86d4e8bea5 doc: update docs/python.md 2023-08-15 00:15:01 +08:00
4020036f93 doc: update docs/git.md 2023-08-15 00:11:22 +08:00
3c2e988059 doc: update docs/typescript.md 2023-08-15 00:07:00 +08:00
8f97826a84 doc: update README.md. 2023-08-11 08:45:41 +00:00
c229e915ca doc: update CONTRIBUTING.md. 2023-08-11 08:45:40 +00:00
2c9a399a9a doc: docs/http-status-code.md (#411)
Updated some translation from original Chinese docs, include:
 - String "Means"
 - The translation of 2xx response code
 - The translation of 4xx response code
 - More specifical explanation of 402 Payment Required response code (original English docs' are too brief)
PS: I'm not English native speaker, so there's may grammar mistakes in this PR description.
2023-08-11 16:44:27 +08:00
c06cbe37f0 doc: update docs/python.md (#408) 2023-08-05 09:32:30 +08:00
80b0443823 doc: update README.md. 2023-08-03 13:34:29 +00:00
ba543600e5 doc: update CONTRIBUTING.md. 2023-08-03 13:34:28 +00:00
ccd2310541 doc: update docs/python.md (#407)
* doc: 优化 Python 判断语句的示例

* doc: 添加 Python 解包清单
2023-08-03 21:32:50 +08:00
f421bfb764 doc: update README.md. 2023-08-02 04:27:04 +00:00
be0492518b doc: update CONTRIBUTING.md. 2023-08-02 04:27:03 +00:00
30eb2e8b0c doc: update docs/git.md (#406) 2023-08-02 12:25:50 +08:00
3ab21896c5 doc: update README.md. 2023-08-01 05:56:50 +00:00
e7d6c1318c doc: update CONTRIBUTING.md. 2023-08-01 05:56:49 +00:00
39fb171563 doc: Update README.md (#102) 2023-08-01 13:55:24 +08:00
d428322b0a doc: update README.md. 2023-07-31 00:52:41 +00:00
b51cfb3977 doc: update CONTRIBUTING.md. 2023-07-31 00:52:40 +00:00
9c86478101 doc: Update README.md 2023-07-31 08:51:31 +08:00
d3647a1817 doc: update README.md. 2023-07-31 00:50:31 +00:00
aedd5f5d9f doc: update CONTRIBUTING.md. 2023-07-31 00:50:31 +00:00
5b11b6e281 doc: update docs/python.md (#405) 2023-07-31 08:49:11 +08:00
07f6747c57 doc: update README.md. 2023-07-29 18:43:46 +00:00
752bd641a6 doc: update CONTRIBUTING.md. 2023-07-29 18:43:45 +00:00
yms
25f5aa4695 doc: update docs/python.md (#404)
添加了使用remove方法移除list内容以及搜索list的方法
2023-07-30 02:42:34 +08:00
a448246060 doc: update README.md (#402 #102)
* 增加我的站点作为镜像

* Update README.md
2023-07-26 18:13:01 +08:00
9fc8523762 doc: update docs/typescript.md 2023-07-23 00:23:57 +08:00
b22c815c29 doc: Update swiftui.md (#400) 2023-07-21 18:44:28 +08:00
3798e14e8a doc: update README.md. 2023-07-18 05:59:00 +00:00
2913dd244f doc: update CONTRIBUTING.md. 2023-07-18 05:58:59 +00:00
a0476287df doc: update docs/linux-command.md (#398)
Co-authored-by: mh-swift <zuojiadazhongma@gmail.com>
2023-07-18 13:57:14 +08:00
89be124f1d doc: update docs/typescript.md 2023-07-17 12:16:58 +08:00
7841be7bdd doc: Update README.md 2023-07-14 10:29:03 +08:00
f630c78dbc doc: update README.md. 2023-07-13 09:28:27 +00:00
a9310c38d1 doc: update CONTRIBUTING.md. 2023-07-13 09:28:27 +00:00
199e1613d4 doc: update README.md (#396)
* Update README.md

* Update README.md
2023-07-13 17:27:15 +08:00
c7b3633498 doc: update README.md. 2023-07-13 06:40:08 +00:00
b3a2a6dae6 doc: update CONTRIBUTING.md. 2023-07-13 06:40:07 +00:00
27cb494fa9 doc: 更正 django 清单的链接 (#395) 2023-07-13 14:38:25 +08:00
d734868ba7 doc: update README.md. 2023-07-12 05:43:52 +00:00
95baa9a508 doc: update CONTRIBUTING.md. 2023-07-12 05:43:51 +00:00
fb1fa4b47f doc: update docs/python.md (#394)
* doc: 修正 Python 清单中的机翻文本

* doc: 增补注释和示例,使用例更贴合本土

* doc: 更正修正中的错误

* doc: 配合 #385 将介绍中的链接也改为中文版
2023-07-12 13:42:21 +08:00
0d0e92dd56 doc: update README.md. 2023-07-11 15:55:51 +00:00
83c74bb912 doc: update CONTRIBUTING.md. 2023-07-11 15:55:50 +00:00
5f87a74720 doc: update docs/typescript.md 2023-07-11 23:54:21 +08:00
1e68618479 doc: Update README.md (#102) 2023-07-11 10:20:18 +08:00
a4891cef29 released v1.38.0 2023-07-07 12:46:57 +08:00
ff0b08acdb doc: update ansible.md 2023-07-07 12:41:19 +08:00
24ea8f6a6a doc: update README.md. 2023-07-07 04:08:40 +00:00
7900e348f1 doc: update CONTRIBUTING.md. 2023-07-07 04:08:39 +00:00
9680e2a113 doc: update docs/ansible.md (#391) 2023-07-07 12:04:31 +08:00
a1defb6f23 doc: update README.md. 2023-07-07 03:44:04 +00:00
af188f9f19 doc: update CONTRIBUTING.md. 2023-07-07 03:44:03 +00:00
f6b68c8d09 doc: update ansible.md (#391) 2023-07-07 11:42:40 +08:00
252c880f5f doc: update README.md. 2023-07-02 05:06:00 +00:00
39f16f5a97 doc: update CONTRIBUTING.md. 2023-07-02 05:05:59 +00:00
3b6495a781 doc: update docs/python.md (#389) 2023-07-02 13:04:47 +08:00
8576cbe101 doc: update README.md. 2023-07-02 05:00:47 +00:00
df4ef8c5ac doc: update CONTRIBUTING.md. 2023-07-02 05:00:46 +00:00
e9386b57a5 doc: update README.md (#102) (#388) 2023-07-02 12:59:33 +08:00
8ee2877234 doc: update README.md. 2023-06-29 01:10:34 +00:00
d5e8643497 doc: update CONTRIBUTING.md. 2023-06-29 01:10:32 +00:00
0125cc1c0b doc: update cs.md (#387)
* doc: update cs.md

* doc: update cs.md

* doc: update cs.md
2023-06-29 09:08:59 +08:00
937426be72 doc: update README.md. 2023-06-28 10:15:46 +00:00
de964317cd doc: update CONTRIBUTING.md. 2023-06-28 10:15:45 +00:00
fdb5b72830 doc: update cs.md (#386) 2023-06-28 18:14:23 +08:00
4039d6f04c doc: Update README.md 2023-06-27 14:35:35 +08:00
2a6da92c94 doc: update README.md. 2023-06-27 02:01:40 +00:00
c5c157ea3d doc: update CONTRIBUTING.md. 2023-06-27 02:01:39 +00:00
51fb218d6b doc: update php.md/python.md/yaml.md (#385) 2023-06-27 10:00:16 +08:00
150208884f doc: update README.md. 2023-06-10 08:07:20 +00:00
c44ace5edd doc: update CONTRIBUTING.md. 2023-06-10 08:07:19 +00:00
e97a1a8f8a doc: update google-chrome.md (#381) 2023-06-10 16:05:46 +08:00
3451e3b055 chore: update .dockerignore. fix #380 2023-06-09 10:45:17 +08:00
3cc761446e doc: Update README.md 2023-06-07 16:35:20 +08:00
cfbe8ae4b8 doc: update docs/typescript.md 2023-06-06 23:58:40 +08:00
9df9ff4354 doc: update README.md. 2023-06-06 08:31:17 +00:00
cf7e9aa29e doc: update CONTRIBUTING.md. 2023-06-06 08:31:16 +00:00
a38aaccd49 doc: update docs/ini.md (#379) 2023-06-06 16:29:40 +08:00
4d813c765f chore: update dependency refs-cli to v1.4.1 2023-06-06 14:02:52 +08:00
3d1abf5035 doc: Update README.md (#102) 2023-06-05 18:09:47 +08:00
f7b60c9a09 doc: update docs/typescript.md 2023-06-05 14:09:06 +08:00
93f1b473af doc: update docs/emoji.md 2023-06-04 18:43:07 +08:00
c35662155e doc: update docs/emoji.md 2023-06-04 14:58:07 +08:00
f3692146bf doc: update README.md. 2023-06-01 05:48:27 +00:00
f0135c77a1 doc: update CONTRIBUTING.md. 2023-06-01 05:48:26 +00:00
8aed2170e3 docs: Update README.md (#377) (#102)
* Update README.md

docs: 新增镜像站 https://tools.dadatom.com/reference

* docs: 修改镜像站地址

修改惊现站地址,讲 /reference path 修改为 /reference/
2023-06-01 13:46:40 +08:00
c4308aac0f doc: update README.md. 2023-06-01 00:52:15 +00:00
82c0e32a16 doc: update CONTRIBUTING.md. 2023-06-01 00:52:14 +00:00
80ac14cad6 dpc: Update README.md (#376) (#102)
docs: 新增镜像站 https://tools.dadatom.com/reference
2023-06-01 08:50:42 +08:00
41e7bac906 released v1.37.0 2023-05-28 23:18:23 +08:00
fe855c04c7 doc: update README.md. 2023-05-28 15:04:50 +00:00
ef6d1d7c76 doc: update CONTRIBUTING.md. 2023-05-28 15:04:49 +00:00
09ece3b274 doc: update docs/nestjs.md 2023-05-28 23:02:54 +08:00
56569c813a doc: update docs/css.md 2023-05-28 23:01:04 +08:00
f9fb17cb5e chore: update config.yml 2023-05-25 12:34:57 +08:00
d632dcac7e chore: update bug-report.yml 2023-05-25 12:26:37 +08:00
6529b5e85f chore: update bug-report.yml 2023-05-25 12:25:23 +08:00
1f8b93dbab chore: update bug-report.yml 2023-05-25 12:23:18 +08:00
22066608fe chore: add bug-report.yml 2023-05-25 12:19:48 +08:00
530e454bf8 chore: update cheatsheet-request.yml 2023-05-25 12:09:58 +08:00
f4b69f9b55 chore: delete cheatsheet-request.md 2023-05-25 12:07:35 +08:00
6b7e4322c9 doc: update cheatsheet-request.yml 2023-05-25 12:06:42 +08:00
3c1c37b4a9 chore: create cheatsheet-request.yml 2023-05-25 12:03:45 +08:00
fd26de4484 doc: update README.md. 2023-05-20 04:10:22 +00:00
b065d03300 doc: update CONTRIBUTING.md. 2023-05-20 04:10:22 +00:00
a732ff3892 doc: update README.md 2023-05-20 12:08:59 +08:00
a3bc1f8d20 doc: docs/emoji.md 2023-05-20 10:52:59 +08:00
36482c5846 doc: update docs/cs.md 2023-05-20 10:17:26 +08:00
862813a0fc doc: Update cs.md 2023-05-20 10:04:50 +08:00
e218c7ec86 doc: Update README.md 2023-05-20 10:00:20 +08:00
9acf9ae5a3 doc: Update README.md (#102) 2023-05-18 15:19:30 +08:00
0beda68e62 doc: update README.md. 2023-05-17 23:53:33 +00:00
f3754732bd doc: update CONTRIBUTING.md. 2023-05-17 23:53:32 +00:00
0bc4e3b09e doc: Update README.md 2023-05-18 07:52:02 +08:00
c83de17d72 doc: update README.md. 2023-05-15 07:55:25 +00:00
4eb3372413 doc: update CONTRIBUTING.md. 2023-05-15 07:55:24 +00:00
511db1fb0b doc: Update README.md (#102) 2023-05-15 15:53:59 +08:00
b724f66b27 doc: update README.md. 2023-05-12 04:09:18 +00:00
d2c11fab72 doc: update CONTRIBUTING.md. 2023-05-12 04:09:17 +00:00
a48806438e doc: update docs/dockerfile.md (#364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-12 12:08:09 +08:00
ed399a9dc2 doc: update README.md. 2023-05-12 04:07:52 +00:00
a33a60838b doc: update CONTRIBUTING.md. 2023-05-12 04:07:51 +00:00
101fd365be doc: update README.md. 2023-05-12 04:06:33 +00:00
adb708e3ba doc: update CONTRIBUTING.md. 2023-05-12 04:06:33 +00:00
eff2e44e1e doc: docs/dockerfile.md (#366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-12 12:06:22 +08:00
67bc79e60b doc: update docs/kubernetes.md (#373)
语法错误,正确的语法为
增加
kubectl label nodes <node-name> <label-key>=<label-value> 
删除
kubectl label nodes <node-name> <label-key>-
修改Label的值
kubectl label nodes <node-name> <label-key>=<label-value> --overwrite
2023-05-12 12:05:20 +08:00
1d60e54663 doc: Update README.md (#371) (#102)
Add static resource mirroring address: ref.defense.ink
2023-05-10 20:45:56 +08:00
6f0b8fb175 doc: update README.md. 2023-05-08 09:39:37 +00:00
517a846133 doc: update CONTRIBUTING.md. 2023-05-08 09:39:35 +00:00
f3ebc461d4 doc: Update cs.md (#369) 2023-05-08 17:37:52 +08:00
6f45968e1a doc: Update README.md #102 2023-05-07 22:40:24 +08:00
2f0c809390 doc: update README.md. 2023-05-06 15:10:11 +00:00
2321368d3e doc: update CONTRIBUTING.md. 2023-05-06 15:10:10 +00:00
c65ba9df21 doc: Update README.md (#102) 2023-05-06 23:08:30 +08:00
cb0fe8ef7d doc: Update README.md 2023-05-05 21:45:10 +08:00
60380ceaa4 doc: Update README.md 2023-05-02 01:51:36 +08:00
fd6f325ef6 doc: update README.md. 2023-05-01 17:50:13 +00:00
14ed1d3f44 doc: update CONTRIBUTING.md. 2023-05-01 17:50:12 +00:00
f34851d2d5 doc: Update README.md 2023-05-02 01:48:32 +08:00
1626464167 doc: update README.md. 2023-04-27 12:05:11 +00:00
556b4f8655 doc: update CONTRIBUTING.md. 2023-04-27 12:05:10 +00:00
0915987573 doc: update docs/golang.md (#361) 2023-04-27 20:03:24 +08:00
fa15c32717 doc: update docs/pacman.md (#357) 2023-04-25 22:09:06 +08:00
ac217e7b99 doc: update README.md. 2023-04-25 13:59:31 +00:00
a2542e3e4d doc: update CONTRIBUTING.md. 2023-04-25 13:59:31 +00:00
b530554d1e doc: update docs/java.md (#360)
Co-authored-by: tmen <tmenblog@163.com>
2023-04-25 21:58:09 +08:00
6163e9b4f5 doc: update README.md. 2023-04-25 10:56:54 +00:00
ec3c285fbb doc: update CONTRIBUTING.md. 2023-04-25 10:56:53 +00:00
1aae2c027e doc: update docs/golang.md (#359) 2023-04-25 18:55:28 +08:00
dd53261d3c doc: update README.md. 2023-04-25 09:52:18 +00:00
0d643d4672 doc: update CONTRIBUTING.md. 2023-04-25 09:52:16 +00:00
70c68318ee feat: add docs/pacman.md (#357) 2023-04-25 17:50:28 +08:00
8bde7ad5de doc: Update README.md #102 2023-04-23 00:27:56 +08:00
2e05f1307b doc: Update README.md #102 2023-04-22 19:56:23 +08:00
3b33c3d9bc doc: update docs/html.md 2023-04-22 16:36:30 +08:00
9efd75d657 doc: update docs/html.md 2023-04-22 12:47:23 +08:00
a54aecde30 doc: update docs/css.md 2023-04-22 12:32:22 +08:00
21cc727b16 doc: update README.md. 2023-04-21 01:49:59 +00:00
9c875cf5f6 doc: update CONTRIBUTING.md. 2023-04-21 01:49:58 +00:00
Zhu
1ef8a1484d doc: update flask.md (#350) 2023-04-21 09:48:41 +08:00
c0da5393f5 chore: format docs/cs.md 2023-04-18 10:54:56 +08:00
e7d8b4aac6 doc: update docs/css.md 2023-04-18 10:54:56 +08:00
850fcfae54 doc: update README.md. 2023-04-18 02:40:52 +00:00
8f1d00647c doc: update CONTRIBUTING.md. 2023-04-18 02:40:51 +00:00
486ebb19c1 doc: update cs.md (#346)
* feat(cs.md): Fix logic

* feat(cs.md): Fix show header in logic operator section.

* fix(cs.md): the info from w3school is not correct.

sizeof(bool) == 1, it is 1 byte, but not 1 bit.
2023-04-18 10:39:08 +08:00
588f84f33c doc: update README.md. 2023-04-17 00:42:11 +00:00
298631fd5a doc: update CONTRIBUTING.md. 2023-04-17 00:42:10 +00:00
3ac3043898 feat: add docs/gdb.md #87 (#345) 2023-04-17 08:40:42 +08:00
bd8b551997 doc: update README.md. 2023-04-13 02:51:36 +00:00
a3c44b3088 doc: update CONTRIBUTING.md. 2023-04-13 02:51:35 +00:00
d98e60dc43 chore: update issue template. 2023-04-13 10:50:03 +08:00
34f59d161e doc: update README.md. 2023-04-09 13:19:08 +00:00
ac7e63e247 doc: update CONTRIBUTING.md. 2023-04-09 13:19:07 +00:00
e606837a88 doc: update mongodb.md (#343)
fix some translation issues
2023-04-09 21:17:31 +08:00
6f6526218f doc: Update vim.md fix #342 2023-04-07 10:58:31 +08:00
94f377ecd8 doc: update conda.md (#341) (#83) 2023-04-06 22:24:22 +08:00
55a072222b doc: update README.md. 2023-04-06 13:51:33 +00:00
f88ae30d7f doc: update CONTRIBUTING.md. 2023-04-06 13:51:32 +00:00
5e7bfa54f2 feat: add conda.md (#341) 2023-04-06 21:49:56 +08:00
faf1e52739 doc: update README.md. 2023-04-04 17:00:09 +00:00
17177a29a9 doc: update CONTRIBUTING.md. 2023-04-04 17:00:08 +00:00
801c90c059 doc: 移除不可用镜像站 (#340) 2023-04-05 00:58:54 +08:00
e6f011d607 doc: update docs/flutter.md (#339) 2023-04-03 23:26:23 +08:00
1d607ed3b5 doc: Update README.md #102 2023-04-02 19:53:29 +08:00
e385350aaa doc: Update feds.md 2023-03-31 12:13:52 +08:00
271c92336d doc: update README.md. 2023-03-28 09:16:52 +00:00
ca770c8d7a doc: update CONTRIBUTING.md. 2023-03-28 09:16:51 +00:00
e6dc5d1858 doc: update docs/intelli-j-idea.md (#336)
修改翻译错误1处
2023-03-28 17:15:14 +08:00
e1b507eafc doc: update README.md. 2023-03-23 15:07:49 +00:00
fadd789bbc doc: update CONTRIBUTING.md. 2023-03-23 15:07:49 +00:00
3d967056e5 doc: Update README.md (#333)
新增镜像站
ref.moeyuuko.com
每日同步
2023-03-23 23:06:17 +08:00
555238ff04 doc: update README.md. 2023-03-16 07:53:39 +00:00
909e7929d0 doc: update CONTRIBUTING.md. 2023-03-16 07:53:38 +00:00
cb293dc036 doc: update docs/kotlin.md (#331) 2023-03-16 15:52:17 +08:00
1eadc7748e doc: Update README.md 2023-03-14 20:58:34 +08:00
f3b8c65f73 chore: update workflows config. 2023-03-14 20:16:57 +08:00
5c4075497e feat: add docs/scala.md (#326) 2023-03-14 20:03:40 +08:00
b75cb75372 feat: add docs/scala.md (#326) 2023-03-14 20:03:13 +08:00
1ca1e49030 doc: update docs/dockerfile.md 2023-03-14 16:32:37 +08:00
03b2ce120d chore: update Dockerfile 2023-03-14 15:49:38 +08:00
881fd368c5 doc: update docs/typescript.md 2023-03-13 09:41:48 +08:00
8f2117970b doc: update docs/linux-command.md (#89) 2023-03-09 11:22:46 +08:00
32b7b03faa doc: update docs/linux-command.md 2023-03-09 11:04:18 +08:00
ea762bf805 feat: add linux-command.md (#89,#286,#185,#289,#226) 2023-03-09 10:08:59 +08:00
30999dcafc doc: update docs/zip.md (#319) 2023-03-08 21:12:17 +08:00
d1c8300dcf feat: add docs/zip.md (#319) 2023-03-08 21:07:40 +08:00
e3bf99b022 doc: update docs/css.md 2023-03-06 09:25:11 +08:00
8c7c9e1957 doc: update README.md. 2023-03-04 02:27:48 +00:00
da61a8d25d doc: update CONTRIBUTING.md. 2023-03-04 02:27:47 +00:00
3ddd8d7fea doc: update docs/css.md 2023-03-04 10:26:12 +08:00
7facfea3f9 doc: update docs/docker.md (#323) 2023-03-02 15:46:02 +08:00
f687d48666 doc: update docs/kubernetes.md (#322) 2023-03-02 15:11:51 +08:00
a90c8e2ed4 doc: update docs/java.md (#321) 2023-03-02 15:11:04 +08:00
3087afb4ee doc: update README.md. 2023-03-02 07:09:22 +00:00
710848dcac doc: update CONTRIBUTING.md. 2023-03-02 07:09:21 +00:00
6d8fe96e96 doc: update java.md (#321) 2023-03-02 15:08:15 +08:00
5c775c9074 doc: update kubernetes.md (#322) 2023-03-02 15:07:57 +08:00
c40b0dff2f feat: add Justfile. (#276) 2023-03-02 09:54:40 +08:00
94bbb4f6a7 chore: update issue template. 2023-03-02 09:07:00 +08:00
dbbb2cce54 doc: Update README.md 2023-03-02 09:07:00 +08:00
714db4d198 doc: update README.md. 2023-03-01 14:27:14 +00:00
5e02521794 doc: update CONTRIBUTING.md. 2023-03-01 14:27:13 +00:00
cb5b582b81 doc: 移除已不可用的镜像站 (#317) 2023-03-01 22:25:25 +08:00
3fe58b7c0d doc: update README.md. 2023-03-01 13:53:38 +00:00
5ca1e140d1 doc: update CONTRIBUTING.md. 2023-03-01 13:53:38 +00:00
64b52fc1bc doc: update README.md #102 2023-03-01 21:52:15 +08:00
ab26411164 doc: update docs/docker.md 2023-02-28 23:19:35 +08:00
2c858eb744 doc: update docs/cs.md (#316) 2023-02-28 23:18:56 +08:00
c39abea00a doc: update README.md #102 2023-02-28 23:08:45 +08:00
30fa592d95 doc: update bash.md (#312) 2023-02-28 23:06:08 +08:00
36f071de00 doc: update README.md. 2023-02-28 15:06:00 +00:00
289237d5b6 doc: update CONTRIBUTING.md. 2023-02-28 15:05:59 +00:00
b1a10ee797 doc: docs/cs.md (#316) 2023-02-28 23:04:29 +08:00
f597396afe doc: update README.md. 2023-02-27 00:48:57 +00:00
36a3bb2112 doc: update CONTRIBUTING.md. 2023-02-27 00:48:56 +00:00
88d42e6ac8 doc(cs): update cs.md. (#314) 2023-02-27 08:47:46 +08:00
59e840628b doc: update README.md. 2023-02-26 14:52:06 +00:00
2519135036 doc: update CONTRIBUTING.md. 2023-02-26 14:52:05 +00:00
32af22afaa doc: update docker.md (#313)
* add bash debug info

* Add some additional notes
2023-02-26 22:50:54 +08:00
fcf60fb56f doc: update README.md. 2023-02-26 14:00:24 +00:00
f81d2174f6 doc: update CONTRIBUTING.md. 2023-02-26 14:00:23 +00:00
9daa435dee doc: update bash.md (#312) 2023-02-26 21:58:52 +08:00
defd3d3fee doc: update README.md. 2023-02-23 15:35:38 +00:00
33103fb68d doc: update CONTRIBUTING.md. 2023-02-23 15:35:37 +00:00
2348522810 doc: Update java.md (#311)
添加List和Set集合中打印时使用lamba输出的方式。
2023-02-23 23:34:24 +08:00
5ca71fdb60 doc: update README.md. 2023-02-23 05:34:14 +00:00
bbf00328b3 doc: update CONTRIBUTING.md. 2023-02-23 05:34:13 +00:00
dba2f6c1fd chore: update README.md #206 #102 2023-02-23 13:29:34 +08:00
3523cdff76 doc: update README.md. 2023-02-20 05:16:48 +00:00
d4fd7a30c8 doc: update CONTRIBUTING.md. 2023-02-20 05:16:47 +00:00
7c153a0579 fix: typo adb.md (#306) 2023-02-20 13:15:17 +08:00
8f2a86457b chore: update workflows config. 2023-02-20 11:30:50 +08:00
b98e7d8395 released v1.36.0 2023-02-20 11:10:24 +08:00
3d1317603e doc: update homebrew.md 2023-02-20 11:07:54 +08:00
8a651c813b doc: update README.md. 2023-02-20 01:13:01 +00:00
10884e73f0 doc: update CONTRIBUTING.md. 2023-02-20 01:13:00 +00:00
de4286cd7f doc: Update adb.md & homebrew.md and delete repeated mirror items (#304)
* chore: delete duplicate items

* doc: update adb.md and homebrew.md
2023-02-20 09:11:28 +08:00
f31aab4b35 chore(deps): update dependency refs-cli to ^1.3.2 (#279) 2023-02-15 09:42:34 +08:00
485e83c5df doc: update README.md. 2023-02-11 12:25:25 +00:00
5f1e3f6a2b doc: update CONTRIBUTING.md. 2023-02-11 12:25:24 +00:00
9688866fdb doc: python.md (#299)
Maybe it's not perfect, but it's better than before
2023-02-11 20:24:13 +08:00
9c59d4a225 doc: update README.md. 2023-02-11 12:23:48 +00:00
3f2559c1e1 doc: update CONTRIBUTING.md. 2023-02-11 12:23:47 +00:00
606776662d Update rust.md (#296) 2023-02-11 20:22:44 +08:00
3cec40c4f9 doc: update python.md (#297)
fix anchor link
2023-02-11 20:22:20 +08:00
a5c1f3c02e doc: update README.md. 2023-02-11 12:17:05 +00:00
8171974454 doc: update CONTRIBUTING.md. 2023-02-11 12:17:04 +00:00
d50673ad3f doc: update google-chrome.md (#298) 2023-02-11 20:15:41 +08:00
7ca89af17c doc: Update docker.md (#294)
format file: remove "。" in the forms (obsessive-compulsive disorder ...)
2023-02-10 11:29:00 +08:00
e0ce750d73 doc: update README.md. 2023-02-07 09:54:19 +00:00
409e44a354 doc: update CONTRIBUTING.md. 2023-02-07 09:54:18 +00:00
8382555a20 doc: Update docker.md (#292)
update docker commit grammar
2023-02-07 17:52:24 +08:00
e3e6783703 doc: update README.md. 2023-02-04 02:02:08 +00:00
ea86c3a76c doc: update CONTRIBUTING.md. 2023-02-04 02:02:07 +00:00
49b1394090 doc: update README.md 2023-02-04 10:00:36 +08:00
03f1c20d2c doc: update README.md. 2023-02-02 04:01:31 +00:00
ae060ebac2 doc: update CONTRIBUTING.md. 2023-02-02 04:01:30 +00:00
358d8f4e17 doc: update golang.md (#282) 2023-02-02 11:59:57 +08:00
6614543e04 doc: update README.md. 2023-02-02 03:54:09 +00:00
5693510df6 doc: update CONTRIBUTING.md. 2023-02-02 03:54:08 +00:00
XYZ
dfaaee7ce5 doc: Update regex.md (#277) 2023-02-02 11:52:58 +08:00
XYZ
c356147d5f doc: Update regex.md (#278) 2023-02-02 11:52:27 +08:00
1e1836f949 doc: update README.md. 2023-02-02 03:47:26 +00:00
65aab8d920 doc: update CONTRIBUTING.md. 2023-02-02 03:47:26 +00:00
816aabf365 doc: update README.md. 2023-02-02 03:46:34 +00:00
9efea19f6b doc: update CONTRIBUTING.md. 2023-02-02 03:46:33 +00:00
e1661b5dc4 doc: update golang.md (#282)
doc: update jquery.md
2023-02-02 11:46:20 +08:00
45f42568fc doc: update javascript.md (#281) 2023-02-02 11:45:19 +08:00
04d063f1fe doc: update README.md. 2023-01-17 09:53:37 +00:00
7b5d556dcc doc: update CONTRIBUTING.md. 2023-01-17 09:53:37 +00:00
6900980460 doc: update nextjs.md (#274) 2023-01-17 17:52:24 +08:00
28066ae3c4 doc: update README.md. 2023-01-14 04:24:05 +00:00
39bd0173e8 doc: update CONTRIBUTING.md. 2023-01-14 04:24:04 +00:00
6b570f2035 doc: update javascript.md (#271)
add JavaScript Functions 函数
line: 472-480
2023-01-14 12:22:40 +08:00
dac7e778cb doc: update README.md. 2023-01-12 10:29:35 +00:00
9e16ec7005 doc: update CONTRIBUTING.md. 2023-01-12 10:29:34 +00:00
489d7f509e doc: Update README.md (#270) 2023-01-12 18:28:13 +08:00
c0855988c0 chore(deps): update dependency markdownlint-cli to ^0.33.0 (#262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:13:56 +08:00
e5e0160628 doc: update cs.md (#266) 2023-01-10 21:11:35 +08:00
cb7b542fb1 doc: update cs.md (#266) 2023-01-10 21:08:54 +08:00
101d5c1b09 doc: update README.md. 2023-01-09 05:29:08 +00:00
004553f1de doc: update CONTRIBUTING.md. 2023-01-09 05:29:07 +00:00
da7da9aae0 doc: Update README.md (#263)
* Update new mirror sources

* update mirror titles
2023-01-09 13:28:24 +08:00
6d4ce812d0 doc: update README.md #206 2023-01-09 13:27:46 +08:00
bab4e10038 doc: update README.md. 2023-01-06 07:01:43 +00:00
e30defe3bf doc: update CONTRIBUTING.md. 2023-01-06 07:01:41 +00:00
0691e82eb2 doc: update java.md (#261) 2023-01-06 14:59:49 +08:00
38b685315b doc: Update java.md (#261)
原来的 Java 官网弃用了
2023-01-05 18:52:11 +08:00
ae633b43e8 released v1.35.0 2023-01-05 11:37:05 +08:00
cc6e992a4b doc: update kotlin.md 2023-01-05 11:22:28 +08:00
2d994f8597 doc: update CONTRIBUTING.md 2023-01-05 11:04:07 +08:00
ad5accdeff doc: update julia.md 2023-01-05 10:34:41 +08:00
3a7af1eef3 feat: add kubernetes.md cheatsheet. #44 2023-01-05 10:27:01 +08:00
9ef65a9f3d feat: add ps.md cheatsheet. #251 2023-01-05 10:07:52 +08:00
6c220d88ae doc: update README.md #102 2023-01-05 09:15:55 +08:00
01da713410 doc: update README.md. 2023-01-03 08:45:58 +00:00
768bcb96d9 doc: update CONTRIBUTING.md. 2023-01-03 08:45:58 +00:00
fc11b2f0dc doc: Update README.md (#259) 2023-01-03 16:44:39 +08:00
dda6efdc7c doc: Update README.md (#258) 2023-01-03 11:09:33 +08:00
019b4d51ec chore(deps): update dependency markdownlint to ^0.27.0 (#250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-01 20:54:59 +08:00
f40b56ebb8 doc: update cpp.md #255 2022-12-31 22:43:36 +08:00
bb533b9081 doc: update README.md. 2022-12-31 13:56:18 +00:00
6ca7d88a48 doc: update CONTRIBUTING.md. 2022-12-31 13:56:17 +00:00
a2cfd4e785 doc: update cpp.md (#255)
* 更新排版

更新了以下内容的排版,以适应网页的风格:

+ lambda表达式
+ 多线程

* 更新C++多线程:锁

更新以下部分:

+ `mutex`
    + 上锁——`lock`
    + 解锁——`unlock`
    + 尝试上锁——`try_lock`
+ `lock_guard<Mutex>`
    + 额外参数`std::adopt_lock`
+ `unique_lock<Mutex>`
    + 额外参数
        + `std::adopt_lock`
        + `std::try_to_lock`
        + `std::defer_lock`
    + 成员函数
        + `lock`
        + `unlock`
        + `release`
        + `owns_lock`

* 更新C++11多线程内容

更新内容:
 
+ `call_once`
+ `condition_variable` 
    + `wait`
    + `notify_one`
    + `notify_all`
+ `async`
    + `std::launch::deferred`
    + `std::launch::async`
    + `std::deferred | std::launch::async`
+ `future`
    + `wait`
    + `get`
    + `wait_for`
    + `wait_until`
+ `future_status`
    + `ready`
    + `timeout`
    + `deferred`
+ `shared_future`
2022-12-31 21:54:47 +08:00
b08cc85e41 doc: update cpp.md (#254) 2022-12-30 16:03:26 +08:00
3f84fe66d3 doc: update README.md. 2022-12-30 06:37:49 +00:00
5cde10b118 doc: update CONTRIBUTING.md. 2022-12-30 06:37:48 +00:00
db7a9aa6f9 doc: Update cpp.md (#254)
开始添加多线程部分,主要添加了线程的创建、销毁和this_thread的所有函数

尚未开始的内容:锁、互斥量、线程同步
2022-12-30 14:36:19 +08:00
9879fabc78 doc: update README.md. 2022-12-30 02:45:46 +00:00
a2a2ae55ca doc: update CONTRIBUTING.md. 2022-12-30 02:45:46 +00:00
19f919f532 doc: update docs/css.md 2022-12-30 10:44:24 +08:00
cabda9b9c9 doc: update README.md. (#252) 2022-12-29 18:09:46 +08:00
ce12b2a329 doc: update README.md. 2022-12-29 06:10:04 +00:00
5e3d42d1ad doc: update CONTRIBUTING.md. 2022-12-29 06:10:04 +00:00
bf962194da released v1.34.0 2022-12-29 14:08:39 +08:00
f5e2ad2c31 doc: update feds.md (#248) 2022-12-27 09:05:13 +08:00
ff0cc58c1d doc: Update feds.md (#248)
两个codepen似乎具有误导性,建议明确指出两者协议的区别。
2022-12-27 09:03:30 +08:00
b42883e3de doc: Update cpp.md (#246) 2022-12-26 16:08:44 +08:00
931850d916 feat: add mongodb.md cheatsheet. #236 2022-12-26 16:07:30 +08:00
f4d2c99007 feat: add pycharm.md cheatsheet. #244 2022-12-26 14:53:36 +08:00
112a53c101 doc: update README.md. 2022-12-26 02:33:17 +00:00
9e525009c9 doc: update CONTRIBUTING.md. 2022-12-26 02:33:16 +00:00
f78562b95e doc: Update cpp.md (#246)
补充了Lambda表达式的内容
2022-12-26 10:32:02 +08:00
63d846b35d doc: Update iptables.md (#245) 2022-12-25 14:14:44 +08:00
afd924a928 doc: update javascript.md (#243) 2022-12-21 18:19:30 +08:00
fb19cda5bb doc: update README.md. 2022-12-21 09:45:41 +00:00
c9834110cd doc: update CONTRIBUTING.md. 2022-12-21 09:45:40 +00:00
98edffbca0 chore: update README.md #102 2022-12-21 17:44:08 +08:00
b3d206d981 doc: update README.md. 2022-12-21 09:34:54 +00:00
9ec7595b83 doc: update CONTRIBUTING.md. 2022-12-21 09:34:53 +00:00
ef823de9a5 doc: update javascript.md Proxy and Reflect (#243) 2022-12-21 17:33:23 +08:00
da22b78d8f doc: update README.md. 2022-12-20 06:46:14 +00:00
06978b1601 doc: update CONTRIBUTING.md. 2022-12-20 06:46:13 +00:00
b768bd4e9b doc: update README.md. 2022-12-20 06:45:19 +00:00
a143e30d93 doc: update CONTRIBUTING.md. 2022-12-20 06:45:18 +00:00
7ac675e34c feat: add mirror (#239) 2022-12-20 14:44:40 +08:00
8e3307272c doc: Update java.md (#240)
修正一些文字说明,补充下ConcurrentHashMap的使用
2022-12-20 14:44:11 +08:00
0c9fb086ee released v1.33.0 2022-12-18 00:11:53 +08:00
f1200c67e1 feat: add adb.md cheatsheet. #233 2022-12-18 00:08:37 +08:00
cc20a31a47 doc: update quickreference.md. 2022-12-18 00:08:37 +08:00
1f34ea3bc3 doc: update README.md. 2022-12-17 13:48:04 +00:00
61b3b5deec doc: update CONTRIBUTING.md. 2022-12-17 13:48:03 +00:00
3fed079194 doc: update README.md. (#235) 2022-12-17 21:46:36 +08:00
c481bcdb7b doc: update README.md. 2022-12-17 13:07:35 +00:00
96e752e809 doc: update CONTRIBUTING.md. 2022-12-17 13:07:35 +00:00
01d238eaab doc: update make.md (#234) 2022-12-17 21:06:15 +08:00
07aaae0e2b chore: support more platforms. #232 2022-12-17 17:59:22 +08:00
247cd4d4e6 chore: support aarch64. #232 2022-12-17 17:24:43 +08:00
9945c1b16f chore: support aarch64. #232 2022-12-17 17:16:57 +08:00
8b151f891c doc: update lua.md. 2022-12-17 11:56:25 +08:00
9dd378128e doc: update README.md. 2022-12-17 01:05:50 +00:00
6b286b6eb6 doc: update CONTRIBUTING.md. 2022-12-17 01:05:49 +00:00
d280013c31 docs: update golang.md (#231) 2022-12-17 09:04:28 +08:00
bdf0dc17cd feat: add reactrouter.md cheatsheet. 2022-12-17 00:55:16 +08:00
4995e6f500 doc: update README.md. 2022-12-16 14:31:59 +00:00
822e08a6de doc: update CONTRIBUTING.md. 2022-12-16 14:31:58 +00:00
88f392c532 doc: update feds.md. 2022-12-16 22:30:13 +08:00
72766dfabe doc: update vscode.md (#230) 2022-12-16 15:05:38 +08:00
bfe5551acf feat: add feds.md cheatsheet. 2022-12-15 23:52:28 +08:00
c5792b7c7e doc: update README.md. 2022-12-15 14:34:54 +00:00
81548feeef doc: update CONTRIBUTING.md. 2022-12-15 14:34:53 +00:00
5e284e6f14 doc: update java.md (#229) 2022-12-15 22:33:42 +08:00
3c4540d248 doc: update README.md. 2022-12-15 06:31:36 +00:00
e8ccba5cbb doc: update CONTRIBUTING.md. 2022-12-15 06:31:35 +00:00
e6d2a48410 doc: update flask.md (#228) (#223) 2022-12-15 14:30:17 +08:00
a82f7b948e doc: update typescript.md. 2022-12-15 10:33:19 +08:00
7c17fe1222 chore: update script. 2022-12-14 12:59:16 +08:00
e781a3b20e doc: update flask logo. 2022-12-14 12:39:04 +08:00
0f18fbac08 released v1.32.0 2022-12-14 12:34:19 +08:00
17c188861e doc: update README.md. 2022-12-14 03:29:38 +00:00
1a1bf6cd66 doc: update CONTRIBUTING.md. 2022-12-14 03:29:37 +00:00
ab795d65aa doc: update react-native.md 2022-12-14 11:27:58 +08:00
150a9bc943 doc: update htmx.md 2022-12-13 11:05:04 +08:00
89fddf6b6f doc: update flask.md #223 2022-12-12 15:24:20 +08:00
a8ba4c4e7a doc: update flask.md #223 2022-12-12 15:24:19 +08:00
45908c8d90 doc: update ffmpeg.md #18 2022-12-12 15:24:19 +08:00
f626e21702 doc: update README.md. 2022-12-12 06:27:23 +00:00
83d9bda16e doc: update CONTRIBUTING.md. 2022-12-12 06:27:22 +00:00
470ccb5311 feat: add flask.md cheatsheet (#222) 2022-12-12 14:26:17 +08:00
3964c0c301 doc: update python.md (#221) 2022-12-12 11:21:22 +08:00
3d0d2947a0 doc: update react-native.md 2022-12-12 11:04:29 +08:00
df8e3a8099 doc: update README.md. 2022-12-10 09:55:52 +00:00
88b8c8f1c2 doc: update CONTRIBUTING.md. 2022-12-10 09:55:52 +00:00
f123f31449 doc: update flutter.md (#220) 2022-12-10 17:54:32 +08:00
c0641d2898 doc: update bash.md 2022-12-10 12:56:20 +08:00
a442108e0f chore: update workflows config. 2022-12-10 12:43:50 +08:00
2af557fa28 chore: update workflows config. 2022-12-10 12:39:29 +08:00
cb9af579f0 chore: update workflows config. 2022-12-10 12:35:20 +08:00
9a2cbcd359 doc: update css.md 2022-12-10 12:16:31 +08:00
0c81d4815b doc: update README.md. 2022-12-09 10:24:53 +00:00
d3e880b6d2 doc: update CONTRIBUTING.md. 2022-12-09 10:24:52 +00:00
8b2c227f73 feat: add tailwindcss.md cheatsheet. 2022-12-09 18:22:54 +08:00
545e702138 doc: update docker.md, dockerfile.md (#219) 2022-12-09 15:58:37 +08:00
6f61fab73d doc: update README.md. 2022-12-09 07:05:46 +00:00
95a03cef33 doc: update CONTRIBUTING.md. 2022-12-09 07:05:45 +00:00
c56a018d9b doc: Update README.md (#218) 2022-12-09 15:04:40 +08:00
a40568cc85 feat: add jquery.md cheatsheet. #217 2022-12-08 15:10:26 +08:00
768fb34db9 doc: update git.md 2022-12-08 14:30:32 +08:00
b13bb0d6b9 doc: update make.md #200 2022-12-07 22:38:58 +08:00
7348140ae1 doc: update git.md (#216) 2022-12-07 21:46:31 +08:00
403838287e doc: update make.md (#215) 2022-12-07 20:56:56 +08:00
b07df71f57 doc: update README.md. 2022-12-07 11:41:10 +00:00
5e88df2994 doc: update CONTRIBUTING.md. 2022-12-07 11:41:09 +00:00
58f486a9fb doc: update make.md (#214) 2022-12-07 19:39:50 +08:00
665b7d8ce3 doc: update README.md (#213) (#102)
发现一个镜像站更改了,故而去掉
2022-12-07 10:18:09 +08:00
0af1de43c7 doc: add intelli-j-idea.md cheatsheet. 2022-12-06 21:57:01 +08:00
c5f5f0cd19 released v1.31.0 2022-12-06 21:31:38 +08:00
0b704fd5e3 doc: add badges. 2022-12-06 21:30:53 +08:00
d7503afff2 doc: update jest.md #212. 2022-12-06 21:30:53 +08:00
381a23490e docs: add makefile (#209) #200 2022-12-06 11:57:44 +08:00
c1fbb99393 doc: update css.md 2022-12-06 11:49:53 +08:00
3dd01e372c doc: update README.md. 2022-12-06 03:35:04 +00:00
033709eb8d doc: update CONTRIBUTING.md. 2022-12-06 03:35:03 +00:00
260f1ec438 doc: add mirror ref.eryajf.net (#208)
添加 ref.eryajf.net 镜像
2022-12-06 11:33:41 +08:00
b104ca8bfd doc: update css.md 2022-12-05 16:16:19 +08:00
b3d7fb1ea1 docs: add makefile var (#207) 2022-12-05 13:17:26 +08:00
cd599f7798 doc: Update README.md #206 #102 2022-12-05 09:51:09 +08:00
5b649147ca doc: Update README.md 2022-12-04 19:10:29 +08:00
aa539136fc doc: update README.md #102 2022-12-04 19:00:20 +08:00
e57f03ce8d feat: add aspect-ratio.md cheatsheet. 2022-12-04 17:58:12 +08:00
cb33da466e doc: update vue.md #10 add typescript example 2022-12-04 17:44:56 +08:00
d2b583fc68 doc: update README.md. 2022-12-04 03:11:11 +00:00
6cde7a1b6f doc: update CONTRIBUTING.md. 2022-12-04 03:11:10 +00:00
57fb87d021 doc: Update README.md (#204)
Co-authored-by: 小弟调调™ <kennyiseeyou@gmail.com>
2022-12-04 11:09:52 +08:00
55f4a35a1a doc: update make.md (#203) 2022-12-04 11:02:51 +08:00
c5f73221f4 doc: update README.md. 2022-12-04 03:02:40 +00:00
6d8d80c68e doc: update CONTRIBUTING.md. 2022-12-04 03:02:39 +00:00
7efa3c1fca doc: change domain (#205)
我换域名了,麻烦重新推送一下
2022-12-04 11:01:15 +08:00
fbcd7edf78 doc: update typescript.md 2022-12-03 17:55:09 +08:00
33328e5987 doc: update make.md #200 2022-12-03 17:54:36 +08:00
3f191de637 doc: Update typescript.md 2022-12-03 17:44:57 +08:00
d75cda78f5 docs: add make cheatsheet (#202) #200 2022-12-03 17:41:21 +08:00
b5467ec1c2 doc: Update Home page. 2022-12-03 15:04:56 +08:00
51c4d2a719 doc: add badges. 2022-12-03 14:54:19 +08:00
ca80355477 feat: add htmx.md cheatsheet. 2022-12-03 11:30:46 +08:00
a24330243f doc: update README.md. 2022-12-03 01:04:23 +00:00
acaccae376 doc: update CONTRIBUTING.md. 2022-12-03 01:04:22 +00:00
0e2da4158f doc: add mirror (#199)
quick.hestudio.xyz
2022-12-03 09:03:12 +08:00
a26f95a1be doc: update README.md. 2022-12-02 16:26:27 +00:00
53b56623a4 doc: update CONTRIBUTING.md. 2022-12-02 16:26:26 +00:00
b58db5cc58 doc: add mirror (#197) 2022-12-03 00:25:08 +08:00
f00a647c3e feat: add iptables cheatsheet. #192 2022-12-02 14:30:50 +08:00
869fbc6b40 docs: update rust range (#194)
* docs: update rust range

* update

* update
2022-12-01 22:53:17 +08:00
5910a3f924 doc: update README.md 2022-12-01 20:29:52 +08:00
fadc13ae70 doc: Update README.md 2022-12-01 18:11:25 +08:00
36b984bb21 doc: Update README.md 2022-12-01 17:52:54 +08:00
f778b3c28e feat: add adobe-xd.md cheatsheet. 2022-12-01 17:49:31 +08:00
1c0bb6a9a5 feat: add adobe-lightroom.md cheatsheet. 2022-12-01 17:07:28 +08:00
b390eaca59 doc: update react-native.md 2022-12-01 16:37:01 +08:00
0e9d9ac16d doc: update redis.md #191 2022-12-01 10:18:10 +08:00
b117f3eab7 doc: update redis.md #191 2022-12-01 09:47:29 +08:00
8fddbda70d doc: update README.md. 2022-12-01 01:28:38 +00:00
0d236303a7 doc: update CONTRIBUTING.md. 2022-12-01 01:28:37 +00:00
d1c0ded4f7 doc: Add quickref.pipecraft.net to the home page. #102 2022-12-01 09:27:07 +08:00
kim
4f705878b6 feat: add redis.md cheatsheet. (#191)
* feat: add redis.md cheatsheet.

* feat: add a redis.md cheatsheet.
2022-12-01 09:06:44 +08:00
63e5cd5109 released v1.30.0 2022-11-30 23:45:57 +08:00
f21715f172 chore: update workflows config. 2022-11-30 23:38:34 +08:00
2bd72b4c05 feat: add firefox.md cheatsheet. 2022-11-30 23:36:34 +08:00
10a4fe3f5b feat: add gitlab.md cheatsheet. 2022-11-30 23:24:23 +08:00
0a5373796d doc: Update README.md 2022-11-30 23:14:30 +08:00
64a2fba903 feat: add google-chrome.md cheatsheet. 2022-11-30 23:01:01 +08:00
a9f661f87f doc: update sublime-text.md 2022-11-30 22:42:12 +08:00
dcd6d5bdbe doc: update android-studio.md 2022-11-30 22:37:58 +08:00
d25eaebcd2 doc: update sublime-text.md 2022-11-30 22:37:43 +08:00
501c7d757e feat: add github.md cheatsheet. 2022-11-30 22:29:41 +08:00
8db7257b7a doc: update README.md. 2022-11-30 10:13:26 +00:00
4c0c1c95e8 doc: update CONTRIBUTING.md. 2022-11-30 10:13:26 +00:00
7e263a21e7 feat: add android-studio.md cheatsheet. 2022-11-30 18:02:28 +08:00
54eba6ebd8 doc: update README.md. 2022-11-30 09:52:12 +00:00
97cda7ec9f doc: update CONTRIBUTING.md. 2022-11-30 09:52:11 +00:00
746a387005 feat: add adobe-photoshop.md cheatsheet. 2022-11-30 17:50:39 +08:00
93e23d581f feat: add pm2.md cheatsheet. 2022-11-30 01:00:42 +08:00
44711bf9a1 doc: Update READMe.md #102 2022-11-29 21:53:14 +08:00
222 changed files with 49304 additions and 2233 deletions

View File

@ -1,6 +1,5 @@
.github
.husky
docs
scripts
node_modules
package-lock.json

5
.gitattributes vendored
View File

@ -1,3 +1,4 @@
Dockerfile linguist-documentation=false
.husky/* linguist-vendored
*.md linguist-detectable=true
*.svg linguist-language=md
*.md linguist-detectable=true

10
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,10 @@
# These are supported funding model platforms
# github: [jaywcjlove]
# patreon: # Replace with a single Patreon username
# open_collective: # Replace with a single Open Collective username
ko_fi: jaywcjlove
buy_me_a_coffee: jaywcjlove
# tidelift: #npm/mocker-api
# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
custom: ["https://www.paypal.me/kennyiseeyou", "https://jaywcjlove.github.io/#/sponsor"]

View File

@ -1,20 +0,0 @@
---
name: 🐞 错误报告
about: 当出现问题时提交报告以便修复!
title: '错误报告: xxx.md'
labels: bug
assignees: jaywcjlove
---
### 错误类型
- [ ] 排版 & 文字错误
- [ ] 清单内容示例错误
### 错误清单
`xxx.md`
### 错误内容描述
请在这里描述具体错误内容。

42
.github/ISSUE_TEMPLATE/bug-report.yml vendored Normal file
View File

@ -0,0 +1,42 @@
name: 🐞 错误报告
description: 当出现问题时提交报告以便修复!
title: '🐞 错误报告: xxx.md'
labels: ['request']
assignees: jaywcjlove
body:
- type: markdown
attributes:
value: |
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
注意:请求太多,请按照下面内容提供错误报告
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
- type: input
id: error-list
attributes:
label: 📄 错误清单
description: 指定错误清单文件,方便我们快速定位错误。
placeholder: ex. `docs/ansible.md`
validations:
required: true
- type: checkboxes
id: error-type
attributes:
label: 🧨 错误类型
description: 请选择错误类型。
options:
- label: 排版 & 文字错误
- label: 清单内容示例错误
- label: 其它
validations:
required: true
- type: textarea
id: description
attributes:
label: 📖 错误说明
description: 您可以在这里简单的提供一些资料,方便我们在 Quick Reference 中添加您想添加的备忘清单(速查表)。
placeholder: 请您在这里详细介绍具体错误问题
validations:
required: true

View File

@ -1,36 +0,0 @@
---
name: 🤙 备忘清单请求
about: 请求添加备忘清单和参考。
title: '请求添加备忘清单: '
labels: request
assignees: jaywcjlove
---
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
注意:请求太多,参考【优先级】快速添加内容
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
#### 优先级
- [ ] 提交 PR 优先合并(优先处理)
- [ ] 提供可复制的[中文/英文]备忘清单资料,优先添加
- [ ] 大众化的内容(java/python),优先搬运(小众内容请提供资料)
#### 说明项目
您可以在这里简单的提供一些资料,方便我们在 Quick Reference 中添加您想添加的备忘清单(速查表)。
【请您在这里介绍一下工具或者语言,这很重要】
- 如果你有一张不错的备忘清单(速查表) [`参考这里`](https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md) 为仓库贡献。
- 如果您不方便贡献,请在下方参考资料中提供链接地址,方便共建备忘清单(速查表)
- 这里为您提供了 Markdown 排版[示例教程](https://jaywcjlove.github.io/reference/docs/quickreference.html)
#### 提供参考资料地址
提供更多参考资料有助于我们整理成备忘清单(速查表)
- 提供参考地址 https://jaywcjlove.github.io/reference
- 提供官网地址 https://jaywcjlove.github.io/reference
_⚠ 注意: 随着内容越来越多可能甚至找不到这个工具或者语言的官网请您在这里提供以便大家共同参与贡献内容_

View File

@ -0,0 +1,55 @@
name: 🤙 备忘清单请求
description: 请求添加备忘清单和参考
title: '【备忘清单】 请求: <Name>'
labels: ['request']
assignees: jaywcjlove
body:
- type: markdown
attributes:
value: |
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
注意:请求太多,参考【优先级】快速添加内容
🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧🚧
### 优先级
- 提交 PR 优先合并(优先处理)
- 提供可复制的[中文/英文]备忘清单资料,优先添加
- 大众化的内容(java/python),优先搬运(小众内容请提供资料)
- type: textarea
id: description
attributes:
label: 说明项目
description: 您可以在这里简单的提供一些资料,方便我们在 Quick Reference 中添加您想添加的备忘清单(速查表)。
placeholder: 【请您在这里介绍一下工具或者语言,这很重要】
validations:
required: true
- type: input
id: official-website
attributes:
label: 提供官网
description: 提供官网网站有助于我们整理成备忘清单(速查表)
placeholder: ex. https://xxx.com
- type: markdown
attributes:
value: |
_⚠ 注意: 随着内容越来越多可能甚至找不到这个工具或者语言的官网请您在这里提供以便大家共同参与贡献内容_
- type: textarea
id: reference-url
attributes:
label: 参考资料 URL
description: 提供更多参考资料有助于我们整理成备忘清单(速查表)
placeholder: |
https://jaywcjlove.github.io/reference
https://jaywcjlove.github.io/reference
validations:
required: true
- type: markdown
attributes:
value: |
_⚠ 注意: 提供更多参考资料以便大家共同参与贡献内容_

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 😍 投稿指南
url: https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md
about: 请在做出任何贡献之前通读!
- name: 🚀 部署镜像网站
url: https://github.com/jaywcjlove/reference/issues/102#issue-1451649637
about: 部署镜像网站教程在这里!
- name: 🪩 清单排版布局说明
url: https://jaywcjlove.github.io/reference/docs/quickreference.html
about: 部署镜像网站教程在这里!
- name: 🪩 Markdown 语法说明
url: https://jaywcjlove.github.io/reference/docs/markdown.html
about: 部署镜像网站教程在这里!

View File

@ -9,13 +9,14 @@ jobs:
if: github.repository == 'jaywcjlove/reference'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20
- run: npm install
- run: npm run build
- run: cp -rp icons ./dist
- name: Generate Contributors Images
uses: jaywcjlove/github-action-contributors@main
@ -45,8 +46,36 @@ jobs:
with:
package-path: ./package.json
- name: gh-pages README.md
working-directory: dist
run: |
cat << "EOF" > README.md
Website: https://jaywcjlove.github.io/reference
## Docker
[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/wcjiang/reference)](https://hub.docker.com/r/wcjiang/reference) [![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/wcjiang/reference)](https://hub.docker.com/r/wcjiang/reference) [![Docker Pulls](https://img.shields.io/docker/pulls/wcjiang/reference)](https://hub.docker.com/r/wcjiang/reference)
轻松通过 `docker` 部署 `Quick Reference` 网站。
```bash
docker pull wcjiang/reference
```
```bash
docker run --name reference --rm -d -p 9667:3000 wcjiang/reference:latest
# Or
docker run --name reference -itd -p 9667:3000 wcjiang/reference:latest
```
在浏览器中访问以下 URL
```bash
http://localhost:9667/
```
EOF
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
commit_message: ${{ github.event.head_commit.message }}
github_token: ${{ secrets.GITHUB_TOKEN }}
@ -56,18 +85,22 @@ jobs:
id: changelog
uses: jaywcjlove/changelog-generator@main
with:
filter-author: (小弟调调™)
filter-author: (小弟调调™|\@github-actions-bot\@renovate-bot|dependabot|renovate\\[bot\\]|dependabot\\[bot\\]|Renovate Bot)
filter: (^[\s]+?[R|r]elease)|(^[R|r]elease)
- name: Create Release
uses: ncipollo/release-action@v1
uses: jaywcjlove/create-tag-action@main
if: steps.create_tag.outputs.successful
with:
token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.create_tag.outputs.version }}
tag: ${{ steps.create_tag.outputs.version }}
package-path: ./package.json
version: ${{steps.create_tag.outputs.version}}
release: true
prerelease: false
draft: false
body: |
Documentation ${{ needs.build.outputs.create_tag_version }}: https://raw.githack.com/jaywcjlove/reference/${{ steps.changelog.outputs.gh-pages-short-hash }}/index.html
[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor)
Documentation ${{ steps.changelog.outputs.tag }}: https://raw.githack.com/jaywcjlove/reference/${{ steps.changelog.outputs.gh-pages-short-hash }}/index.html
Comparing Changes: ${{ steps.changelog.outputs.compareurl }}
${{ steps.changelog.outputs.changelog }}
@ -94,55 +127,56 @@ jobs:
```
# Create Docker Image
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- run: docker buildx prune
- name: Build and push image:latest
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: ${{ secrets.DOCKER_USER }}/reference:latest
tags: wcjiang/reference:latest
- name: Build and push image:tags
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
if: steps.create_tag.outputs.successful
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: ${{ secrets.DOCKER_USER }}/reference:${{steps.changelog.outputs.version}}
tags: wcjiang/reference:${{steps.changelog.outputs.version}}
# Create Docker Image in Github
- name: Login to the GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# # Create Docker Image in Github
# - name: Login to the GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push image:latest
uses: docker/build-push-action@v3
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: ghcr.io/jaywcjlove/reference:latest
# - name: Build and push image:latest
# uses: docker/build-push-action@v3
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: ghcr.io/jaywcjlove/reference:latest
- name: Build and push image:tags
uses: docker/build-push-action@v3
if: steps.create_tag.outputs.successful
with:
push: true
context: .
platforms: linux/amd64,linux/arm64
tags: ghcr.io/jaywcjlove/reference:${{steps.changelog.outputs.version}}
# - name: Build and push image:tags
# uses: docker/build-push-action@v3
# if: steps.create_tag.outputs.successful
# with:
# push: true
# context: .
# platforms: linux/amd64,linux/arm64
# tags: ghcr.io/jaywcjlove/reference:${{steps.changelog.outputs.version}}
# # Create Docker Image in Github
# - name: Login to GitHub registry

View File

@ -9,10 +9,10 @@ jobs:
if: github.repository == 'jaywcjlove/reference'
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20
- run: npm install
- run: npm run build
@ -22,7 +22,7 @@ jobs:
cd dist
ls
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: dist
path: ${{ github.workspace }}\dist\**\*

3
.husky/pre-commit vendored
View File

@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx --no-install lint-staged

View File

@ -4,7 +4,11 @@
"MD014": false,
"MD024": false,
"MD033": false,
"MD036": false,
"MD040": false,
"MD055": false,
"MD056": false,
"MD051": false,
"MD010": {
"code_blocks": true,
"spaces_per_tab": 2

View File

@ -12,5 +12,32 @@
},
"github": {
"url": "https://github.com/jaywcjlove/reference"
},
"favicon": "{{RELATIVE_PATH}}icons/favicon.svg",
"meta": [
{ "name": "author", "content": "jaywcjlove" },
{ "name": "license", "content": "MIT" },
{ "name": "funding", "content": "https://jaywcjlove.github.io/#/sponsor" },
{ "rel": "apple-touch-icon", "href": "{{RELATIVE_PATH}}icons/touch-icon-iphone.png" },
{ "rel": "apple-touch-icon", "sizes": "152x152", "href": "{{RELATIVE_PATH}}icons/touch-icon-ipad.png" },
{ "rel": "apple-touch-icon", "sizes": "180x180", "href": "{{RELATIVE_PATH}}icons/touch-icon-iphone.png" },
{ "rel": "apple-touch-icon", "sizes": "167x167", "href": "{{RELATIVE_PATH}}icons/touch-icon-ipad-retina.png" },
{ "rel": "apple-touch-icon", "sizes": "120x120", "href": "{{RELATIVE_PATH}}icons/touch-icon-iphone-retina.png" }
],
"giscus": {
"src": "https://giscus.app/client.js",
"data-repo": "jaywcjlove/reference",
"data-repo-id": "R_kgDOID2-Mw",
"data-category": "Q&A",
"data-category-id": "DIC_kwDOID2-M84CS5wo",
"data-mapping": "pathname",
"data-strict": "0",
"data-reactions-enabled": "1",
"data-emit-metadata": "0",
"data-input-position": "bottom",
"data-theme": "dark",
"data-lang": "zh-CN",
"crossorigin": "anonymous",
"async": true
}
}

View File

@ -1,7 +1,7 @@
Contributing 贡献
====
感谢您对**备忘清单**贡献的兴趣👍👍,是像您这样的人使 [`Quick Reference`](https://jaywcjlove.github.io/reference) 成为如此出色的网站 🎉🎉。随时提交问题和增强请求。
感谢您对**备忘清单**贡献的兴趣👍👍,是像您这样的人使 [`Quick Reference`](https://jaywcjlove.github.io/reference) 成为如此出色的网站 🎉🎉。随时提交问题和增强请求,还提供一个[在线说明排版说明]( https://wangchujiang.com/reference/docs/quickreference.html),所以各种使用技巧,都在这个排版说明中有预览和实现代码
`docs/{filename}.md` 文件将被处理成备忘清单,让我们创建或编辑一个 `markdown` 文件:
@ -66,13 +66,13 @@ Contributing 贡献
### 提示配置
```markdown
[Django](./docs/djiango.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=contributing-->
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=contributing-->
```
添加 `contributing` 类名,会在卡片下方添加 _`👆待完善需要您的参与`_,添加 `data-info=👆看看还缺点儿什么?`,更换默认提示文本。
```markdown
[Django](./docs/djiango.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=tag&data-lang=Python-->
[Django](./docs/django.md)<!--rehype:style=background: rgb(12 75 51/var(\-\-bg\-opacity));&class=tag&data-lang=Python-->
```
添加 `class=tag&data-lang=Python` 类名和参数,会在卡片右上角标记 _`Python`_
@ -98,6 +98,123 @@ $ npm run start # 监听 md 文件编译输出 HTML
$ git clone https://github.com/jaywcjlove/reference.git -b gh-pages
```
**定时更新**
在 Linux 服务执行创建 `git-down-pages.sh` 脚本,将脚本放置在 `/opt/cron/` 目录下
> 注意:⚠️ 脚本会根据线上 pages 的 commit 和 本地 commit 比较。如果不一致才会同步更新,否则跳过
下面是脚本 `git-down-pages.sh` 的源码
```bash
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#author: 南宫乘风
DATA_DIR="/data"
REPO_URL="https://gitee.com/jaywcjlove/reference.git"
BRANCH="gh-pages"
MAX_BACKUPS=3
# 函数:备份旧版本
backup_old_version() {
echo "备份旧版本..."
mv ../reference ../reference_backup_$(date +%Y%m%d%H%M%S)
if [ $? -eq 0 ]; then
echo "备份完成。"
remove_old_backups
else
echo "备份时出现错误。"
exit 1
fi
}
# 函数:删除多余备份,保留最近的三个
remove_old_backups() {
echo "删除多余备份,保留最近的三个..."
ls -1d ../reference_backup_* | head -n -${MAX_BACKUPS} | xargs -r rm -r
}
# 函数:拉取最新代码
clone_latest_code() {
echo "拉取最新代码..."
# 进入 /data 目录
cd $DATA_DIR
git clone $REPO_URL -b $BRANCH
if [ $? -eq 0 ]; then
echo "拉取最新代码完成。"
else
echo "拉取最新代码时出现错误。"
exit 1
fi
}
# 检查是否存在 DATA_DIR 目录,不存在则创建
if [ ! -d "$DATA_DIR" ]; then
echo "目录 $DATA_DIR 不存在,创建中..."
mkdir -p "$DATA_DIR"
if [ $? -eq 0 ]; then
echo "目录创建成功。"
else
echo "目录创建失败。"
exit 1
fi
fi
# 进入 /data 目录
cd $DATA_DIR
# 检查是否存在 reference 目录
if [ -d "reference" ]; then
# 进入 reference 目录
cd reference
# 获取远程和本地的 commit 哈希值
REMOTE_COMMIT=$(git ls-remote $REPO_URL $BRANCH | cut -f1)
LOCAL_COMMIT=$(git rev-parse HEAD)
# 比较远程和本地的 commit
if [ "$REMOTE_COMMIT" == "$LOCAL_COMMIT" ]; then
echo "本地 'reference' 目录已经是最新版本,无需拉取。"
else
echo "本地 'reference' 目录不是最新版本,开始拉取最新代码..."
backup_old_version
clone_latest_code
fi
else
# 如果目录不存在,直接克隆
clone_latest_code
fi
echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"
```
**创建定时任务**
注意:请把脚本放在 `/opt/cron/` 目录下 (时间可以根据自己需求设定),下面案例:每十分钟同步线上的 `pages` 的内容
```shell
crontab -e
*/10 * * * * /opt/cron/git-down-pages.sh >> /opt/cron/git-down.log 2>&1
```
**添加 NGINX 配置:**
```nginx
listen 80;
listen 443 ssl http2;
server_name xxx.xxx.top; #配置你的域名
index index.php index.html index.htm default.php default.htm default.html;
root /data/reference; # 文件存放的位置
```
### 方法二,使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版
```shell
@ -132,157 +249,250 @@ REF_LABEL=网站首页
由于中国国内访问,时常打不开,你可以访问下面镜像网站。
- [quickref.cn](https://quickref.cn)
- [ecdata.cn](http://ref.ecdata.cn)
- [mofe.io](http://quickref.mofe.io)
- [aibk.cn](https://quickref.aibk.cn)
- [jgeek.cn](http://reference.jgeek.cn/)
- [laoleng.vip](http://bbs.laoleng.vip/reference/)
- [liujiapeng.com](https://www.liujiapeng.com/)
- [dbyun.net](https://www.dbyun.net/reference/index.html)
- [dc6.fun](https://dc6.fun/reference/)
- [if010.com](https://quickref.if010.com/)
- [pipecraft.net](https://quickref.pipecraft.net/)
- [isteed.cc](https://ref.isteed.cc/)
- [1han.wiki](https://code.1han.wiki/)
- [linzhe.top](https://linzhe.top/)
- [xushanxiang.com](https://xushanxiang.com/ref/)
- [winnerzr01.github.io](https://winnerzr01.github.io/Quick-Reference/index.html)
- [quickref.hestudio.net](https://quickref.hestudio.net)
- [surcode.cn](https://ref.surcode.cn)
- [cms.im](https://quickref.cms.im/)
- [nuomiphp.com](https://reference.tool.nuomiphp.com/)
- [eryajf.net](https://ref.eryajf.net/)
- [kjchmc.cn](https://ref.kjchmc.cn/)
- [likeadmin.cn](https://www.likeadmin.cn/quickref/)
- [qiubit.cc](http://ref.qiubit.cc)
- [aoh.cc](https://aoh.cc/)
- [reference.code05.com](https://reference.code05.com/)
- [kyoma.top](https://reference.kyoma.top/)
- [quickreference.pages.dev](https://quickreference.pages.dev/)
- [code05.com](https://reference.code05.com/)
- [xhfun.cn](https://ref.xhfun.cn/)
- [ownit.top](https://memo.ownit.top/)
感谢🙏
## 利用 Github Actions 定时任务来完成自动更新
在仓库添加 `.github/workflows/update-ref.yml` 文件 Github Actions 配置,感谢 @eryajf https://github.com/jaywcjlove/reference/issues/102#issuecomment-1368158419 提供方法
```yml
name: 每8个小时更新一次reference
on:
schedule:
- cron: '21 */8 * * *' # 定时任务
workflow_dispatch: # 手动运行
env: # 设置环境变量
TZ: Asia/Shanghai # 时区(设置时区可使页面中的`最近更新时间`使用时区时间)
jobs:
build: # 自定义名称
runs-on: ubuntu-latest
steps:
- name: 🚜 拉取最新代码
uses: actions/checkout@v3
with:
ref: 'main'
repository: 'jaywcjlove/reference'
- name: ♻️ 编译静态文件
run: |
echo -e 'REF_URL=https://refs.xxx.net/\nREF_LABEL=网站首页' > .env
npm install
npm run build
- name: 🚁 部署到服务器
uses: wlixcc/SFTP-Deploy-Action@v1.0
with:
username: 'root' #ssh user name
port: '22' # 远程服务器ssh端口默认22
server: 'prod.refs.xxx.net' # 远程服务器IP
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} # 认证服务器秘钥对的私钥
local_path: './dist/*' # 对应我们项目打包后的静态文件路径
remote_path: '/data/www/refs.xxx.net' # 服务器上的路径
delete_remote_files: true
```
## 贡献
请参阅[贡献指南](./CONTRIBUTING.md)了解如何开始。一如既往,感谢我们出色的贡献者!
<!--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/Jack-Zhang-1314" title="fw_qaq">
<img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fw_qaq"/>
</a>
<a href="https://github.com/mofelee" title="mofelee">
<img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/>
</a>
<a href="https://github.com/Alex-Programer" title="Alex">
<img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/>
</a>
<a href="https://github.com/JeffersonHuang" title="Jefferson">
<img src="https://avatars.githubusercontent.com/u/47512530?v=4" width="42;" alt="Jefferson"/>
</a>
<a href="https://github.com/expoli" title="expoli">
<img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/>
</a>
<a href="https://github.com/sjh42" title="42:p">
<img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/>
</a>
<a href="https://github.com/partoneplay" title="partoneplay">
<img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="partoneplay"/>
</a>
<a href="https://github.com/ryanhex53" title="ryanhex53">
<img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/>
</a>
<a href="https://github.com/catcto" title="喵仙人">
<img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/>
</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/Smartdousha" title="Anko">
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="Anko"/>
</a>
<a href="https://github.com/Brid9e" title="Brid9e">
<img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/>
</a>
<a href="https://github.com/CharlotteZeng" title="Chart">
<img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="Chart"/>
</a>
<a href="https://github.com/DaiNing810" title="DaiN">
<img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/>
</a>
<a href="https://github.com/demigodliu" title="DemigodLiu">
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
</a>
<a href="https://github.com/eeeeeio" title="EEEEE">
<img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/>
</a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang">
<img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/>
</a>
<a href="https://github.com/JetSquirrel" title="JetSquirrel">
<img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/>
</a>
<a href="https://github.com/Lihuagreek" title="Lihuagreek">
<img src="https://avatars.githubusercontent.com/u/51040740?v=4" width="42;" alt="Lihuagreek"/>
</a>
<a href="https://github.com/LufsX" title="LufsX">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/>
</a>
<a href="https://github.com/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/HanaNoryu" title="Noryu">
<img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/>
</a>
<a href="https://github.com/whb1998a" title="WHB">
<img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="WHB"/>
</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/chyok" title="chyok">
<img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/>
</a>
<a href="https://github.com/gaoxiaoduan" title="coderduan">
<img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="coderduan"/>
</a>
<a href="https://github.com/cool9203" title="cool9203">
<img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/>
</a>
<a href="https://github.com/godotc" title="godotc">
<img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/>
</a>
<a href="https://github.com/greyhao" title="greyhao">
<img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/>
</a>
<a href="https://github.com/hua03" title="hua03">
<img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/>
</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/k983551019" title="k983551019">
<img src="https://avatars.githubusercontent.com/u/48147837?v=4" width="42;" alt="k983551019"/>
</a>
<a href="https://github.com/kdxcxs" title="kdxcxs">
<img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/>
</a>
<a href="https://github.com/larry-xue" title="larry">
<img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="larry"/>
</a>
<a href="https://github.com/liliangrong777" title="liliangrong777">
<img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/>
</a>
<a href="https://github.com/lykjjj" title="lykjjj">
<img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/>
</a>
<a href="https://github.com/mancuoj" title="mancuoj">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/>
</a>
<a href="https://github.com/onewesong" title="onewesong">
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
</a>
<a href="https://github.com/Mowmowj" title="shelton">
<img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="shelton"/>
</a>
<a href="https://github.com/wjjwkwindy" title="wjjwkwindy">
<img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="wjjwkwindy"/>
</a>
<a href="https://github.com/xing133" title="xing133">
<img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/>
</a>
<a href="https://github.com/zxx-457" title="zxx-457">
<img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx-457"/>
</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/qyl27" title="秋雨落">
<img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/>
</a>
<a href="https://github.com/lisheng741" title="芦荟柚子茶">
<img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/>
</a><!--GAMFC-END-->
<!--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>
<a href="https://github.com/Country-If" title="Maylon"><img src="https://avatars.githubusercontent.com/u/62837275?v=4" width="42;" alt="Maylon"/></a>
<a href="https://github.com/JeffersonHuang" title="Jefferson Huang"><img src="https://avatars.githubusercontent.com/u/47512530?v=4" width="42;" alt="Jefferson Huang"/></a>
<a href="https://github.com/LesterChang0987" title="Steve Hartwell"><img src="https://avatars.githubusercontent.com/u/114913921?v=4" width="42;" alt="Steve Hartwell"/></a>
<a href="https://github.com/h7ml" title="h7ml"><img src="https://avatars.githubusercontent.com/u/55233292?v=4" width="42;" alt="h7ml"/></a>
<a href="https://github.com/nangongchengfeng" title="南宫乘风"><img src="https://avatars.githubusercontent.com/u/46562911?v=4" width="42;" alt="南宫乘风"/></a>
<a href="https://github.com/aixcyi" title="砹小翼"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="砹小翼"/></a>
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
<a href="https://github.com/LufsX" title="LufsX"><img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/></a>
<a href="https://github.com/mailbaoer" title="baoer"><img src="https://avatars.githubusercontent.com/u/5282978?v=4" width="42;" alt="baoer"/></a>
<a href="https://github.com/expoli" title="expoli"><img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/></a>
<a href="https://github.com/k23223" title="k23223"><img src="https://avatars.githubusercontent.com/u/57606136?v=4" width="42;" alt="k23223"/></a>
<a href="https://github.com/eryajf" title="二丫讲梵"><img src="https://avatars.githubusercontent.com/u/33259379?v=4" width="42;" alt="二丫讲梵"/></a>
<a href="https://github.com/undefined-hestudio" title="undefined"><img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="undefined"/></a>
<a href="https://github.com/Darkiiiiiice" title="Darkiiiiiice"><img src="https://avatars.githubusercontent.com/u/3959555?v=4" width="42;" alt="Darkiiiiiice"/></a>
<a href="https://github.com/genius-kim" title="Kim同学"><img src="https://avatars.githubusercontent.com/u/119488561?v=4" width="42;" alt="Kim同学"/></a>
<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/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"/></a>
<a href="https://github.com/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/infanx" title="infanx"><img src="https://avatars.githubusercontent.com/u/65985757?v=4" width="42;" alt="infanx"/></a>
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
<a href="https://github.com/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/wangdaodao" title="王叨叨"><img src="https://avatars.githubusercontent.com/u/2317442?v=4" width="42;" alt="王叨叨"/></a>
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
<a href="https://github.com/qjksxy" title="Apin"><img src="https://avatars.githubusercontent.com/u/81305669?v=4" width="42;" alt="Apin"/></a>
<a href="https://github.com/dadatom" title="Da Da"><img src="https://avatars.githubusercontent.com/u/33886943?v=4" width="42;" alt="Da Da"/></a>
<a href="https://github.com/ljq" title="Jack Liu"><img src="https://avatars.githubusercontent.com/u/7278286?v=4" width="42;" alt="Jack Liu"/></a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"><img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/></a>
<a href="https://github.com/Jovins" title="Jovins"><img src="https://avatars.githubusercontent.com/u/17738992?v=4" width="42;" alt="Jovins"/></a>
<a href="https://github.com/Kisa-Dong" title="Kisa-Dong"><img src="https://avatars.githubusercontent.com/u/84782008?v=4" width="42;" alt="Kisa-Dong"/></a>
<a href="https://github.com/greyhao" title="greyhao"><img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/></a>
<a href="https://github.com/findnr" title="findnr"><img src="https://avatars.githubusercontent.com/u/3909023?v=4" width="42;" alt="findnr"/></a>
<a href="https://github.com/izven" title="Zhang"><img src="https://avatars.githubusercontent.com/u/2149051?v=4" width="42;" alt="Zhang"/></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/SuperDiscovery" title="SuperDiscovery"><img src="https://avatars.githubusercontent.com/u/49646863?v=4" width="42;" alt="SuperDiscovery"/></a>
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
<a href="https://github.com/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></a>
<a href="https://github.com/auroraslot" title="irony"><img src="https://avatars.githubusercontent.com/u/48817882?v=4" width="42;" alt="irony"/></a>
<a href="https://github.com/jlchen5" title="J.Chen"><img src="https://avatars.githubusercontent.com/u/61578993?v=4" width="42;" alt="J.Chen"/></a>
<a href="https://github.com/joyfully-W" title="joyfully-W"><img src="https://avatars.githubusercontent.com/u/32212924?v=4" width="42;" alt="joyfully-W"/></a>
<a href="https://github.com/jqzhao7" title="jqzhao"><img src="https://avatars.githubusercontent.com/u/54694535?v=4" width="42;" alt="jqzhao"/></a>
<a href="https://github.com/jussker" title="jussker"><img src="https://avatars.githubusercontent.com/u/33953356?v=4" width="42;" alt="jussker"/></a>
<a href="https://github.com/k983551019" title="Evan-k"><img src="https://avatars.githubusercontent.com/u/48147837?v=4" width="42;" alt="Evan-k"/></a>
<a href="https://github.com/kdxcxs" title="kdxcxs"><img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/></a>
<a href="https://github.com/kubeme" title="kubernetes for me"><img src="https://avatars.githubusercontent.com/u/16346220?v=4" width="42;" alt="kubernetes for me"/></a>
<a href="https://github.com/larry-xue" title="yujian(larry) xue"><img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="yujian(larry) xue"/></a>
<a href="https://github.com/leauny" title="leauny"><img src="https://avatars.githubusercontent.com/u/42369176?v=4" width="42;" alt="leauny"/></a>
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
<a href="https://github.com/gzttcydxx" title="gzttcydxx"><img src="https://avatars.githubusercontent.com/u/50025185?v=4" width="42;" alt="gzttcydxx"/></a>
<a href="https://github.com/sunny0826" title="Xudong Guo"><img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="Xudong Guo"/></a>
<a href="https://github.com/nodjoy" title="gowshwah"><img src="https://avatars.githubusercontent.com/u/145280043?v=4" width="42;" alt="gowshwah"/></a>
<a href="https://github.com/godotc" 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/fakevn" title="fakevn"><img src="https://avatars.githubusercontent.com/u/11464386?v=4" width="42;" alt="fakevn"/></a>
<a href="https://github.com/cool9203" title="cool9203"><img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/></a>
<a href="https://github.com/gaoxiaoduan" title="Coder Duan"><img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="Coder Duan"/></a>
<a href="https://github.com/lijc210" title="cizai"><img src="https://avatars.githubusercontent.com/u/10651081?v=4" width="42;" alt="cizai"/></a>
<a href="https://github.com/chyok" title="chyok"><img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/></a>
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
<a href="https://github.com/Zeng-qh" title="都一样"><img src="https://avatars.githubusercontent.com/u/40046415?v=4" width="42;" alt="都一样"/></a>
<a href="https://github.com/binscor" title="Zheng Nai Bin"><img src="https://avatars.githubusercontent.com/u/37325821?v=4" width="42;" alt="Zheng Nai Bin"/></a>
<a href="https://github.com/qwxingzhe" title="行者"><img src="https://avatars.githubusercontent.com/u/7071651?v=4" width="42;" alt="行者"/></a>
<a href="https://github.com/lisheng741" title="芦荟柚子茶"><img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/></a>
<a href="https://github.com/rainbowatcher" title="看彩虹的人"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="看彩虹的人"/></a>
<a href="https://github.com/HChenX" title="焕晨HChen"><img src="https://avatars.githubusercontent.com/u/123531821?v=4" width="42;" alt="焕晨HChen"/></a>
<a href="https://github.com/LebranceBW" title="落叶乌龟"><img src="https://avatars.githubusercontent.com/u/19501514?v=4" width="42;" alt="落叶乌龟"/></a>
<a href="https://github.com/LongYinStudio" title="敬培全"><img src="https://avatars.githubusercontent.com/u/42208852?v=4" width="42;" alt="敬培全"/></a>
<a href="https://github.com/Fengjing95" title="小枫"><img src="https://avatars.githubusercontent.com/u/51731411?v=4" width="42;" alt="小枫"/></a>
<a href="https://github.com/ZIDOUZI" title="子斗子"><img src="https://avatars.githubusercontent.com/u/53157536?v=4" width="42;" alt="子斗子"/></a>
<a href="https://github.com/LuckyJie12" title="夜未央"><img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/></a>
<a href="https://github.com/kele527" title="吹衣轻飏"><img src="https://avatars.githubusercontent.com/u/345445?v=4" width="42;" alt="吹衣轻飏"/></a>
<a href="https://github.com/lvzhenbo" title="无聊波波"><img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="无聊波波"/></a>
<a href="https://github.com/zxx457" title="zxx457"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx457"/></a>
<a href="https://github.com/zhouhw0306" title="zhouhw0306"><img src="https://avatars.githubusercontent.com/u/82752681?v=4" width="42;" alt="zhouhw0306"/></a>
<a href="https://github.com/hiyms" title="yms"><img src="https://avatars.githubusercontent.com/u/84654050?v=4" width="42;" alt="yms"/></a>
<a href="https://github.com/xing133" title="xing133"><img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/></a>
<a href="https://github.com/wjjwkwindy" title="Hudson Alen"><img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="Hudson Alen"/></a>
<a href="https://github.com/wannima66" title="tmen"><img src="https://avatars.githubusercontent.com/u/26410255?v=4" width="42;" alt="tmen"/></a>
<a href="https://github.com/swift-fs" title="swift-fs"><img src="https://avatars.githubusercontent.com/u/77133741?v=4" width="42;" alt="swift-fs"/></a>
<a href="https://github.com/suyangzuo" title="suyangzuo"><img src="https://avatars.githubusercontent.com/u/50766353?v=4" width="42;" alt="suyangzuo"/></a>
<a href="https://github.com/Mowmowj" title="nexo"><img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="nexo"/></a>
<a href="https://github.com/phygerr" title="phygerr"><img src="https://avatars.githubusercontent.com/u/42068889?v=4" width="42;" alt="phygerr"/></a>
<a href="https://github.com/openapphub" title="openapphub"><img src="https://avatars.githubusercontent.com/u/175949671?v=4" width="42;" alt="openapphub"/></a>
<a href="https://github.com/onewesong" title="onewesong"><img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/></a>
<a href="https://github.com/miclon-dev" title="miclon-dev"><img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/></a>
<a href="https://github.com/lykjjj" title="lykjjj"><img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/></a>
<a href="https://github.com/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></a>
<a href="https://github.com/y52y" title="Zyj"><img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/></a>
<a href="https://github.com/isecret" title="Mao Wang"><img src="https://avatars.githubusercontent.com/u/15724152?v=4" width="42;" alt="Mao Wang"/></a>
<a href="https://github.com/lvelvee" title="Lve Lvee"><img src="https://avatars.githubusercontent.com/u/25785753?v=4" width="42;" alt="Lve Lvee"/></a>
<a href="https://github.com/likeadmin-likeshop" title="likeadmin通过管理后台-likeshop全开源商城"><img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="likeadmin通过管理后台-likeshop全开源商城"/></a>
<a href="https://github.com/Lihuagreek" title="Lihuagreek"><img src="https://avatars.githubusercontent.com/u/51040740?v=4" width="42;" alt="Lihuagreek"/></a>
<a href="https://github.com/LightQuanta" title="Light_Quanta"><img src="https://avatars.githubusercontent.com/u/18213217?v=4" width="42;" alt="Light_Quanta"/></a>
<a href="https://github.com/JetSquirrel" title="JetSquirrel"><img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/></a>
<a href="https://github.com/jeremyjone" title="Jeremy Jone"><img src="https://avatars.githubusercontent.com/u/37676231?v=4" width="42;" alt="Jeremy Jone"/></a>
<a href="https://github.com/JavaZeroo" title="JavaZero"><img src="https://avatars.githubusercontent.com/u/71128095?v=4" width="42;" alt="JavaZero"/></a>
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma"><img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/></a>
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu"><img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/></a>
<a href="https://github.com/Fuku-L" title="Foozi"><img src="https://avatars.githubusercontent.com/u/38535911?v=4" width="42;" alt="Foozi"/></a>
<a href="https://github.com/sirius-fan" title="Fan"><img src="https://avatars.githubusercontent.com/u/25720015?v=4" width="42;" alt="Fan"/></a>
<a href="https://github.com/eeeeeio" title="EEEEE"><img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/></a>
<a href="https://github.com/demigodliu" title="DemigodLiu"><img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/></a>
<a href="https://github.com/dasferco" title="Dasferco"><img src="https://avatars.githubusercontent.com/u/92622404?v=4" width="42;" alt="Dasferco"/></a>
<a href="https://github.com/Damao2250" title="Damao"><img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/></a>
<a href="https://github.com/DEEMO101" title="DEEMO101"><img src="https://avatars.githubusercontent.com/u/35123091?v=4" width="42;" alt="DEEMO101"/></a>
<a href="https://github.com/ohto-ai" title="Choo"><img src="https://avatars.githubusercontent.com/u/46275725?v=4" width="42;" alt="Choo"/></a>
<a href="https://github.com/CharlotteZeng" title="hanchZ"><img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="hanchZ"/></a>
<a href="https://github.com/ch3nnn" title="chentong"><img src="https://avatars.githubusercontent.com/u/40114564?v=4" width="42;" alt="chentong"/></a>
<a href="https://github.com/Brid9e" title="Joe"><img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Joe"/></a>
<a href="https://github.com/BobH-Official" title="BobH"><img src="https://avatars.githubusercontent.com/u/29333228?v=4" width="42;" alt="BobH"/></a>
<a href="https://github.com/Blanket58" title="Blanket58"><img src="https://avatars.githubusercontent.com/u/39766189?v=4" width="42;" alt="Blanket58"/></a>
<a href="https://github.com/BlacAmDK" title="BlacAmDK"><img src="https://avatars.githubusercontent.com/u/10971397?v=4" width="42;" alt="BlacAmDK"/></a>
<a href="https://github.com/gitchenze" title="Aze"><img src="https://avatars.githubusercontent.com/u/13357869?v=4" width="42;" alt="Aze"/></a>
<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/Leaderzhangyi" title="ZinkCas"><img src="https://avatars.githubusercontent.com/u/46915666?v=4" width="42;" alt="ZinkCas"/></a>
<a href="https://github.com/zhu0629" title="zhucong"><img src="https://avatars.githubusercontent.com/u/13188450?v=4" width="42;" alt="zhucong"/></a>
<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/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>
<a href="https://github.com/dwgeneral" title="Happy-Engineer"><img src="https://avatars.githubusercontent.com/u/8654993?v=4" width="42;" alt="Happy-Engineer"/></a>
<a href="https://github.com/whb1998a" title="Wafer"><img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="Wafer"/></a>
<a href="https://github.com/YLee9527" title="Terry Young"><img src="https://avatars.githubusercontent.com/u/18697332?v=4" width="42;" alt="Terry Young"/></a>
<a href="https://github.com/TRDSCSH" title="TRDSCSH"><img src="https://avatars.githubusercontent.com/u/125717891?v=4" width="42;" alt="TRDSCSH"/></a>
<a href="https://github.com/Xiwin" title="Xiwin"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="Xiwin"/></a>
<a href="https://github.com/DataEraserC" title="Sacabambaspis"><img src="https://avatars.githubusercontent.com/u/102341238?v=4" width="42;" alt="Sacabambaspis"/></a>
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"><img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/></a>
<a href="https://github.com/RivailleF" title="RivailleF"><img src="https://avatars.githubusercontent.com/u/93083015?v=4" width="42;" alt="RivailleF"/></a>
<a href="https://github.com/QDelta" title="QDelta"><img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/></a>
<a href="https://github.com/sevenleave" title="Poirot Hercule"><img src="https://avatars.githubusercontent.com/u/24411140?v=4" width="42;" alt="Poirot Hercule"/></a>
<a href="https://github.com/PipecraftNet" title="Pipecraft"><img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/></a>
<a href="https://github.com/Perzch" title="Perzch"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/></a>
<a href="https://github.com/PILIHU2022" title="PILIHU2022"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="PILIHU2022"/></a>
<a href="https://github.com/HanaNoryu" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
<a href="https://github.com/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>
<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><!--GAMFC-END-->
上图贡献者列表,由 [contributors](https://github.com/jaywcjlove/github-action-contributors) 自动生成贡献者图片。

View File

@ -1,6 +1,6 @@
# https://lipanski.com/posts/smallest-docker-image-static-website
# https://github.com/lipanski/docker-static-website
FROM lipanski/docker-static-website:latest
FROM wcjiang/docker-static-website:latest
# Copy the static website
# Use the .dockerignore file to control what ends up inside the image!

653
README.md
View File

@ -2,6 +2,7 @@ Quick Reference
===
<!--rehype:ignore:start-->
[![Buy me a coffee](https://img.shields.io/badge/Buy_Me_a_Coffee-ffdd00?logo=buy-me-a-coffee&logoColor=black)](https://jaywcjlove.github.io/#/sponsor)
[![CI](https://github.com/jaywcjlove/reference/actions/workflows/ci.yml/badge.svg)](https://github.com/jaywcjlove/reference/actions/workflows/ci.yml)
[![Docker Image Version (latest by date)](https://img.shields.io/docker/v/wcjiang/reference)](https://hub.docker.com/r/wcjiang/reference)
[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/wcjiang/reference)](https://hub.docker.com/r/wcjiang/reference)
@ -12,18 +13,20 @@ Quick Reference
[![Quick Reference](https://user-images.githubusercontent.com/1680273/201931931-d8559417-0a15-46af-a009-ec1e56e5b778.png)](https://jaywcjlove.github.io/reference)
<!--rehype:ignore:end-->
为开发人员分享快速参考备忘清单【速查表】。这是英文版 [Reference](https://github.com/Randy8080/reference) 的中文版本,目的是为了方便自己的技术栈查阅,如果您提供一个清单,我将抽空搬运,立即撸起来 :)。如果您发现此处的备忘单不合适,可以通过提交 [PR](https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md) 来修复或提供更好的备忘清单,只针对【中文】用户。以下是开源天使提供的一些备忘清单和快速参考 :)。
了方便开发人员查阅技术栈,分享这份快速参考备忘清单【速查表】。这是英文版 [Reference](https://github.com/Randy8080/reference) 的中文翻译,旨在帮助自己更好地使用相关技术。如果您有自己的清单,也欢迎提供,我会抽时间搬运并立刻实现 :)。如果您发现这份备忘单中的内容不合适,可以通过提交 [PR](https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md) 来修复或提供更好的备忘清单,主要面向【中文】用户。以下是一些开源天使提供的备忘清单和快速参考 :)。
## 正在建设中...
坑已挖,需要您的参与完善和贡献!🙏
坑已挖,需要您的参与完善和[贡献](./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/djiango.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
[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-->
@ -33,140 +36,244 @@ Quick Reference
[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-->
<!--rehype:class=home-card-->
## 编程
[Bash](./docs/bash.md)<!--rehype:style=background: rgb(72 143 223);-->
[C](./docs/c.md)<!--rehype:style=background: rgb(92 107 192);-->
[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/djiango.md)<!--rehype:style=background: rgb(12 75 51);&class=contributing tag&data-lang=Python-->
[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);-->
[INI](./docs/ini.md)<!--rehype:style=background: rgb(57 59 60);-->
[JSON](./docs/json.md)<!--rehype:style=background: rgb(57 59 60);-->
[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(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);-->
[MySQL](./docs/mysql.md)<!--rehype:style=background: rgb(1 117 143);&class=tag&data-lang=SQL-->
[MATLAB](./docs/matlab.md)<!--rehype:style=background: rgb(0 118 168);&class=contributing-->
[Oracle](./docs/oracle.md)<!--rehype:style=background: rgb(255 0 0);-->
[PHP](./docs/php.md)<!--rehype:style=background: rgb(79 91 147);-->
[Python](./docs/python.md)<!--rehype:style=background: rgb(43 91 132);-->
[PostgreSQL](./docs/postgres.md)<!--rehype:style=background: rgb(43 109 163);&class=tag&data-lang=SQL-->
[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-->
[TOML](./docs/toml.md)<!--rehype:style=background: rgb(132 132 132);-->
[YAML](./docs/yaml.md)<!--rehype:style=background: rgb(91 163 230);-->
[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);-->
<!--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);-->
<!--rehype:class=home-card-->
## 前端
[CSS 3](./docs/css.md)<!--rehype:style=background: rgb(35 115 205);&class=tag&data-lang=CSS-->
[前端导航](./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-->
<!--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-->
[HTML](./docs/html.md)<!--rehype:style=background: rgb(228 77 39);-->
[JavaScript](./docs/javascript.md)<!--rehype:style=background: rgb(203 183 31);-->
[Less.js](./docs/lessjs.md)<!--rehype:style=background: rgb(29 54 93);&class=tag&data-lang=CSS-->
[Next.js](./docs/nextjs.md)<!--rehype:style=background: rgb(0 0 0);&class=tag&data-lang=React-->
[React](./docs/react.md)<!--rehype:style=background: rgb(34 143 173);-->
[React Native](./docs/react-native.md)<!--rehype:style=background: rgb(34 143 173);&class=tag&data-lang=React-->
[RegEx 正则表达式](./docs/regex.md)<!--rehype:style=background: rgb(149 36 155);-->
[TypeScript](./docs/typescript.md)<!--rehype:style=background: rgb(49 120 198);-->
[Vue 2](./docs/vue2.md)<!--rehype:style=background: rgb(64 184 131);-->
[Vue 3](./docs/vue.md)<!--rehype:style=background: rgb(64 184 131);&class=contributing-->
[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-->
## 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);-->
<!--rehype:class=home-card-->
## 工具
[Emacs](./docs/emacs.md)<!--rehype:style=background: rgb(98 36 134);-->
[Gmail](./docs/gmail.md)<!--rehype:style=background: rgb(234 67 54);-->
[nginx](./docs/nginx.md)<!--rehype:style=background: rgb(0 153 0);-->
[Semver](./docs/semver.md)<!--rehype:style=background: rgb(106 111 141);-->
[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);-->
[VSCode](./docs/vscode.md)<!--rehype:style=background: rgb(91 163 230);-->
[Vim](./docs/vim.md)<!--rehype:style=background: rgb(9 150 8);-->
[WebStorm](./docs/webstorm.md)<!--rehype:style=background: rgb(32 148 220);-->
[XPath](./docs/xpath.md)<!--rehype:style=background: rgb(91 163 230);-->
[Xcode](./docs/xcode.md)<!--rehype:style=background: rgb(24 151 233);&class=tag&data-lang=macOS-->
[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-->
## 命令
[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);-->
[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-->
[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-->
[Git](./docs/git.md)<!--rehype:style=background: rgb(215 89 62);-->
[Grep](./docs/grep.md)<!--rehype:style=background: rgb(16 185 129);-->
[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);-->
[Homebrew](./docs/homebrew.md)<!--rehype:style=background: rgb(252 185 87);&class=tag&data-lang=macOS-->
[Netstat](./docs/netstat.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);-->
[Mitmproxy](./docs/mitmproxy.md)<!--rehype:style=background: rgb(4 92 135);-->
[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);-->
[Sed](./docs/sed.md)<!--rehype:style=background: rgb(16 185 129);-->
[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);-->
[YUM](./docs/yum.md)<!--rehype:style=background: rgb(86 86 123);-->
[CMD](./docs/cmd.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=解压缩-->
[Zip](./docs/zip.md)<!--rehype:style=background: rgb(99 99 99);&class=tag&data-lang=解压缩-->
[FTP](./docs/ftp.md)<!--rehype:style=background: rgb(99 99 99);-->
<!--rehype:class=home-card-->
## 工具
[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);-->
<!--rehype:class=home-card-->
## 软件包管理器
[APT](./docs/apt.md)<!--rehype:style=background: rgb(30 144 255);-->
[tar](./docs/tar.md)<!--rehype:style=background: rgb(215 89 62);-->
[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);-->
<!--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=版本控制-->
<!--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);-->
[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);-->
[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-->
<!--rehype:class=home-card-->
## 其它
[Quick Reference](./docs/quickreference.md)<!--rehype:style=background: rgb(16 185 129);&class=tag&data-lang=排版说明-->
[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-->
[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 639-1 Language Code](./docs/iso-639-1.md)<!--rehype:style=background: rgb(16 185 129);-->
[Emoji](./docs/emoji.md)<!--rehype:style=background: rgb(16 185 129);-->
[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/ports.md)<!--rehype:style=background: rgb(16 185 129);-->
<!--rehype:class=home-card-->
## 看到缺少什么了吗?
@ -174,176 +281,308 @@ Quick Reference
上面的列表没有看到你想要的? 您是否正在寻找一些备忘清单或参考资料,或者您有一些片段备忘清单要分享,这是一个最好的机会!
[`请求添加备忘单(速查表)`](https://github.com/jaywcjlove/reference/issues/new?title=【备忘清单】+请求%3A+&labels=request&template=cheatsheet-request.md&assignee=jaywcjlove)<!--rehype:class=home-button&style=margin-top:2rem&target=__blank-->
[`请求添加备忘单(速查表)`](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/blob/main/CONTRIBUTING.md)<!--rehype:class=home-button text-grey&target=__blank-->
<!--rehype:style=margin-top:3rem-->
## 感谢所有贡献者
<!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;&class=home-title-reset-->
请参阅 [Quick Reference](./docs/quickreference.md) 了解如何开始。一如既往,感谢我们出色的贡献者!
请参阅 [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>
<a href="https://github.com/Jack-Zhang-1314" title="fw_qaq">
<img src="https://avatars.githubusercontent.com/u/82551626?v=4" width="42;" alt="fw_qaq"/>
</a>
<a href="https://github.com/mofelee" title="mofelee">
<img src="https://avatars.githubusercontent.com/u/5069410?v=4" width="42;" alt="mofelee"/>
</a>
<a href="https://github.com/Alex-Programer" title="Alex">
<img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/>
</a>
<a href="https://github.com/JeffersonHuang" title="Jefferson">
<img src="https://avatars.githubusercontent.com/u/47512530?v=4" width="42;" alt="Jefferson"/>
</a>
<a href="https://github.com/expoli" title="expoli">
<img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/>
</a>
<a href="https://github.com/sjh42" title="42:p">
<img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/>
</a>
<a href="https://github.com/partoneplay" title="partoneplay">
<img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="partoneplay"/>
</a>
<a href="https://github.com/ryanhex53" title="ryanhex53">
<img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/>
</a>
<a href="https://github.com/catcto" title="喵仙人">
<img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/>
</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/Smartdousha" title="Anko">
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="Anko"/>
</a>
<a href="https://github.com/Brid9e" title="Brid9e">
<img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/>
</a>
<a href="https://github.com/CharlotteZeng" title="Chart">
<img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="Chart"/>
</a>
<a href="https://github.com/DaiNing810" title="DaiN">
<img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/>
</a>
<a href="https://github.com/demigodliu" title="DemigodLiu">
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
</a>
<a href="https://github.com/eeeeeio" title="EEEEE">
<img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/>
</a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang">
<img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/>
</a>
<a href="https://github.com/JetSquirrel" title="JetSquirrel">
<img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/>
</a>
<a href="https://github.com/Lihuagreek" title="Lihuagreek">
<img src="https://avatars.githubusercontent.com/u/51040740?v=4" width="42;" alt="Lihuagreek"/>
</a>
<a href="https://github.com/LufsX" title="LufsX">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/>
</a>
<a href="https://github.com/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/HanaNoryu" title="Noryu">
<img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/>
</a>
<a href="https://github.com/whb1998a" title="WHB">
<img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="WHB"/>
</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/chyok" title="chyok">
<img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/>
</a>
<a href="https://github.com/gaoxiaoduan" title="coderduan">
<img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="coderduan"/>
</a>
<a href="https://github.com/cool9203" title="cool9203">
<img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/>
</a>
<a href="https://github.com/godotc" title="godotc">
<img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/>
</a>
<a href="https://github.com/greyhao" title="greyhao">
<img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/>
</a>
<a href="https://github.com/hua03" title="hua03">
<img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/>
</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/k983551019" title="k983551019">
<img src="https://avatars.githubusercontent.com/u/48147837?v=4" width="42;" alt="k983551019"/>
</a>
<a href="https://github.com/kdxcxs" title="kdxcxs">
<img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/>
</a>
<a href="https://github.com/larry-xue" title="larry">
<img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="larry"/>
</a>
<a href="https://github.com/liliangrong777" title="liliangrong777">
<img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/>
</a>
<a href="https://github.com/lykjjj" title="lykjjj">
<img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/>
</a>
<a href="https://github.com/mancuoj" title="mancuoj">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/>
</a>
<a href="https://github.com/onewesong" title="onewesong">
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
</a>
<a href="https://github.com/Mowmowj" title="shelton">
<img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="shelton"/>
</a>
<a href="https://github.com/wjjwkwindy" title="wjjwkwindy">
<img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="wjjwkwindy"/>
</a>
<a href="https://github.com/xing133" title="xing133">
<img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/>
</a>
<a href="https://github.com/zxx-457" title="zxx-457">
<img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx-457"/>
</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/qyl27" title="秋雨落">
<img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/>
</a>
<a href="https://github.com/lisheng741" title="芦荟柚子茶">
<img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/>
</a><!--GAMFC-END-->
<!--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>
<a href="https://github.com/Country-If" title="Maylon"><img src="https://avatars.githubusercontent.com/u/62837275?v=4" width="42;" alt="Maylon"/></a>
<a href="https://github.com/JeffersonHuang" title="Jefferson Huang"><img src="https://avatars.githubusercontent.com/u/47512530?v=4" width="42;" alt="Jefferson Huang"/></a>
<a href="https://github.com/LesterChang0987" title="Steve Hartwell"><img src="https://avatars.githubusercontent.com/u/114913921?v=4" width="42;" alt="Steve Hartwell"/></a>
<a href="https://github.com/h7ml" title="h7ml"><img src="https://avatars.githubusercontent.com/u/55233292?v=4" width="42;" alt="h7ml"/></a>
<a href="https://github.com/nangongchengfeng" title="南宫乘风"><img src="https://avatars.githubusercontent.com/u/46562911?v=4" width="42;" alt="南宫乘风"/></a>
<a href="https://github.com/aixcyi" title="砹小翼"><img src="https://avatars.githubusercontent.com/u/75880483?v=4" width="42;" alt="砹小翼"/></a>
<a href="https://github.com/alex-reinfoce" title="Alex"><img src="https://avatars.githubusercontent.com/u/115539090?v=4" width="42;" alt="Alex"/></a>
<a href="https://github.com/LufsX" title="LufsX"><img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/></a>
<a href="https://github.com/mailbaoer" title="baoer"><img src="https://avatars.githubusercontent.com/u/5282978?v=4" width="42;" alt="baoer"/></a>
<a href="https://github.com/expoli" title="expoli"><img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/></a>
<a href="https://github.com/k23223" title="k23223"><img src="https://avatars.githubusercontent.com/u/57606136?v=4" width="42;" alt="k23223"/></a>
<a href="https://github.com/eryajf" title="二丫讲梵"><img src="https://avatars.githubusercontent.com/u/33259379?v=4" width="42;" alt="二丫讲梵"/></a>
<a href="https://github.com/undefined-hestudio" title="undefined"><img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="undefined"/></a>
<a href="https://github.com/Darkiiiiiice" title="Darkiiiiiice"><img src="https://avatars.githubusercontent.com/u/3959555?v=4" width="42;" alt="Darkiiiiiice"/></a>
<a href="https://github.com/genius-kim" title="Kim同学"><img src="https://avatars.githubusercontent.com/u/119488561?v=4" width="42;" alt="Kim同学"/></a>
<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/chaos-cn" title="chaos"><img src="https://avatars.githubusercontent.com/u/71205599?v=4" width="42;" alt="chaos"/></a>
<a href="https://github.com/xia0ne" title="YuRuiH"><img src="https://avatars.githubusercontent.com/u/32591223?v=4" width="42;" alt="YuRuiH"/></a>
<a href="https://github.com/Willxup" title="Willxup"><img src="https://avatars.githubusercontent.com/u/51990395?v=4" width="42;" alt="Willxup"/></a>
<a href="https://github.com/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/infanx" title="infanx"><img src="https://avatars.githubusercontent.com/u/65985757?v=4" width="42;" alt="infanx"/></a>
<a href="https://github.com/1834423612" title="kjch"><img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/></a>
<a href="https://github.com/mancuoj" title="mancuoj"><img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/></a>
<a href="https://github.com/pangxiaoli" title="pangxiaoli"><img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/></a>
<a href="https://github.com/partoneplay" title="佐博"><img src="https://avatars.githubusercontent.com/u/5189132?v=4" width="42;" alt="佐博"/></a>
<a href="https://github.com/ryanhex53" title="ryanhex53"><img src="https://avatars.githubusercontent.com/u/360426?v=4" width="42;" alt="ryanhex53"/></a>
<a href="https://github.com/witt-bit" title="witt"><img src="https://avatars.githubusercontent.com/u/52407727?v=4" width="42;" alt="witt"/></a>
<a href="https://github.com/catcto" title="小武Alan"><img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="小武Alan"/></a>
<a href="https://github.com/itldg" title="老大哥"><img src="https://avatars.githubusercontent.com/u/13432299?v=4" width="42;" alt="老大哥"/></a>
<a href="https://github.com/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/wangdaodao" title="王叨叨"><img src="https://avatars.githubusercontent.com/u/2317442?v=4" width="42;" alt="王叨叨"/></a>
<a href="https://github.com/AmosHuKe" title="Amos"><img src="https://avatars.githubusercontent.com/u/32262985?v=4" width="42;" alt="Amos"/></a>
<a href="https://github.com/qjksxy" title="Apin"><img src="https://avatars.githubusercontent.com/u/81305669?v=4" width="42;" alt="Apin"/></a>
<a href="https://github.com/dadatom" title="Da Da"><img src="https://avatars.githubusercontent.com/u/33886943?v=4" width="42;" alt="Da Da"/></a>
<a href="https://github.com/ljq" title="Jack Liu"><img src="https://avatars.githubusercontent.com/u/7278286?v=4" width="42;" alt="Jack Liu"/></a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"><img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/></a>
<a href="https://github.com/Jovins" title="Jovins"><img src="https://avatars.githubusercontent.com/u/17738992?v=4" width="42;" alt="Jovins"/></a>
<a href="https://github.com/Kisa-Dong" title="Kisa-Dong"><img src="https://avatars.githubusercontent.com/u/84782008?v=4" width="42;" alt="Kisa-Dong"/></a>
<a href="https://github.com/greyhao" title="greyhao"><img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/></a>
<a href="https://github.com/findnr" title="findnr"><img src="https://avatars.githubusercontent.com/u/3909023?v=4" width="42;" alt="findnr"/></a>
<a href="https://github.com/izven" title="Zhang"><img src="https://avatars.githubusercontent.com/u/2149051?v=4" width="42;" alt="Zhang"/></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/SuperDiscovery" title="SuperDiscovery"><img src="https://avatars.githubusercontent.com/u/49646863?v=4" width="42;" alt="SuperDiscovery"/></a>
<a href="https://github.com/long-910" title="Small Long"><img src="https://avatars.githubusercontent.com/u/7323488?v=4" width="42;" alt="Small Long"/></a>
<a href="https://github.com/hua03" title="hua03"><img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/></a>
<a href="https://github.com/yanxuplay" title="hupilan"><img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/></a>
<a href="https://github.com/hweining" title="hweining"><img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/></a>
<a href="https://github.com/auroraslot" title="irony"><img src="https://avatars.githubusercontent.com/u/48817882?v=4" width="42;" alt="irony"/></a>
<a href="https://github.com/jlchen5" title="J.Chen"><img src="https://avatars.githubusercontent.com/u/61578993?v=4" width="42;" alt="J.Chen"/></a>
<a href="https://github.com/joyfully-W" title="joyfully-W"><img src="https://avatars.githubusercontent.com/u/32212924?v=4" width="42;" alt="joyfully-W"/></a>
<a href="https://github.com/jqzhao7" title="jqzhao"><img src="https://avatars.githubusercontent.com/u/54694535?v=4" width="42;" alt="jqzhao"/></a>
<a href="https://github.com/jussker" title="jussker"><img src="https://avatars.githubusercontent.com/u/33953356?v=4" width="42;" alt="jussker"/></a>
<a href="https://github.com/k983551019" title="Evan-k"><img src="https://avatars.githubusercontent.com/u/48147837?v=4" width="42;" alt="Evan-k"/></a>
<a href="https://github.com/kdxcxs" title="kdxcxs"><img src="https://avatars.githubusercontent.com/u/18746192?v=4" width="42;" alt="kdxcxs"/></a>
<a href="https://github.com/kubeme" title="kubernetes for me"><img src="https://avatars.githubusercontent.com/u/16346220?v=4" width="42;" alt="kubernetes for me"/></a>
<a href="https://github.com/larry-xue" title="yujian(larry) xue"><img src="https://avatars.githubusercontent.com/u/48818060?v=4" width="42;" alt="yujian(larry) xue"/></a>
<a href="https://github.com/leauny" title="leauny"><img src="https://avatars.githubusercontent.com/u/42369176?v=4" width="42;" alt="leauny"/></a>
<a href="https://github.com/liliangrong777" title="liliangrong777"><img src="https://avatars.githubusercontent.com/u/58727146?v=4" width="42;" alt="liliangrong777"/></a>
<a href="https://github.com/gzttcydxx" title="gzttcydxx"><img src="https://avatars.githubusercontent.com/u/50025185?v=4" width="42;" alt="gzttcydxx"/></a>
<a href="https://github.com/sunny0826" title="Xudong Guo"><img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="Xudong Guo"/></a>
<a href="https://github.com/nodjoy" title="gowshwah"><img src="https://avatars.githubusercontent.com/u/145280043?v=4" width="42;" alt="gowshwah"/></a>
<a href="https://github.com/godotc" 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/fakevn" title="fakevn"><img src="https://avatars.githubusercontent.com/u/11464386?v=4" width="42;" alt="fakevn"/></a>
<a href="https://github.com/cool9203" title="cool9203"><img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/></a>
<a href="https://github.com/gaoxiaoduan" title="Coder Duan"><img src="https://avatars.githubusercontent.com/u/69953511?v=4" width="42;" alt="Coder Duan"/></a>
<a href="https://github.com/lijc210" title="cizai"><img src="https://avatars.githubusercontent.com/u/10651081?v=4" width="42;" alt="cizai"/></a>
<a href="https://github.com/chyok" title="chyok"><img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/></a>
<a href="https://github.com/zlfyuan" title="bgbgPang"><img src="https://avatars.githubusercontent.com/u/19658018?v=4" width="42;" alt="bgbgPang"/></a>
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm"><img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/></a>
<a href="https://github.com/Zeng-qh" title="都一样"><img src="https://avatars.githubusercontent.com/u/40046415?v=4" width="42;" alt="都一样"/></a>
<a href="https://github.com/binscor" title="Zheng Nai Bin"><img src="https://avatars.githubusercontent.com/u/37325821?v=4" width="42;" alt="Zheng Nai Bin"/></a>
<a href="https://github.com/qwxingzhe" title="行者"><img src="https://avatars.githubusercontent.com/u/7071651?v=4" width="42;" alt="行者"/></a>
<a href="https://github.com/lisheng741" title="芦荟柚子茶"><img src="https://avatars.githubusercontent.com/u/53617305?v=4" width="42;" alt="芦荟柚子茶"/></a>
<a href="https://github.com/rainbowatcher" title="看彩虹的人"><img src="https://avatars.githubusercontent.com/u/42316353?v=4" width="42;" alt="看彩虹的人"/></a>
<a href="https://github.com/HChenX" title="焕晨HChen"><img src="https://avatars.githubusercontent.com/u/123531821?v=4" width="42;" alt="焕晨HChen"/></a>
<a href="https://github.com/LebranceBW" title="落叶乌龟"><img src="https://avatars.githubusercontent.com/u/19501514?v=4" width="42;" alt="落叶乌龟"/></a>
<a href="https://github.com/LongYinStudio" title="敬培全"><img src="https://avatars.githubusercontent.com/u/42208852?v=4" width="42;" alt="敬培全"/></a>
<a href="https://github.com/Fengjing95" title="小枫"><img src="https://avatars.githubusercontent.com/u/51731411?v=4" width="42;" alt="小枫"/></a>
<a href="https://github.com/ZIDOUZI" title="子斗子"><img src="https://avatars.githubusercontent.com/u/53157536?v=4" width="42;" alt="子斗子"/></a>
<a href="https://github.com/LuckyJie12" title="夜未央"><img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/></a>
<a href="https://github.com/kele527" title="吹衣轻飏"><img src="https://avatars.githubusercontent.com/u/345445?v=4" width="42;" alt="吹衣轻飏"/></a>
<a href="https://github.com/lvzhenbo" title="无聊波波"><img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="无聊波波"/></a>
<a href="https://github.com/zxx457" title="zxx457"><img src="https://avatars.githubusercontent.com/u/114141362?v=4" width="42;" alt="zxx457"/></a>
<a href="https://github.com/zhouhw0306" title="zhouhw0306"><img src="https://avatars.githubusercontent.com/u/82752681?v=4" width="42;" alt="zhouhw0306"/></a>
<a href="https://github.com/hiyms" title="yms"><img src="https://avatars.githubusercontent.com/u/84654050?v=4" width="42;" alt="yms"/></a>
<a href="https://github.com/xing133" title="xing133"><img src="https://avatars.githubusercontent.com/u/5336490?v=4" width="42;" alt="xing133"/></a>
<a href="https://github.com/wjjwkwindy" title="Hudson Alen"><img src="https://avatars.githubusercontent.com/u/9508591?v=4" width="42;" alt="Hudson Alen"/></a>
<a href="https://github.com/wannima66" title="tmen"><img src="https://avatars.githubusercontent.com/u/26410255?v=4" width="42;" alt="tmen"/></a>
<a href="https://github.com/swift-fs" title="swift-fs"><img src="https://avatars.githubusercontent.com/u/77133741?v=4" width="42;" alt="swift-fs"/></a>
<a href="https://github.com/suyangzuo" title="suyangzuo"><img src="https://avatars.githubusercontent.com/u/50766353?v=4" width="42;" alt="suyangzuo"/></a>
<a href="https://github.com/Mowmowj" title="nexo"><img src="https://avatars.githubusercontent.com/u/24759562?v=4" width="42;" alt="nexo"/></a>
<a href="https://github.com/phygerr" title="phygerr"><img src="https://avatars.githubusercontent.com/u/42068889?v=4" width="42;" alt="phygerr"/></a>
<a href="https://github.com/openapphub" title="openapphub"><img src="https://avatars.githubusercontent.com/u/175949671?v=4" width="42;" alt="openapphub"/></a>
<a href="https://github.com/onewesong" title="onewesong"><img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/></a>
<a href="https://github.com/miclon-dev" title="miclon-dev"><img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/></a>
<a href="https://github.com/lykjjj" title="lykjjj"><img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/></a>
<a href="https://github.com/lozhu20" title="lozhu"><img src="https://avatars.githubusercontent.com/u/44923922?v=4" width="42;" alt="lozhu"/></a>
<a href="https://github.com/y52y" title="Zyj"><img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/></a>
<a href="https://github.com/isecret" title="Mao Wang"><img src="https://avatars.githubusercontent.com/u/15724152?v=4" width="42;" alt="Mao Wang"/></a>
<a href="https://github.com/lvelvee" title="Lve Lvee"><img src="https://avatars.githubusercontent.com/u/25785753?v=4" width="42;" alt="Lve Lvee"/></a>
<a href="https://github.com/likeadmin-likeshop" title="likeadmin通过管理后台-likeshop全开源商城"><img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="likeadmin通过管理后台-likeshop全开源商城"/></a>
<a href="https://github.com/Lihuagreek" title="Lihuagreek"><img src="https://avatars.githubusercontent.com/u/51040740?v=4" width="42;" alt="Lihuagreek"/></a>
<a href="https://github.com/LightQuanta" title="Light_Quanta"><img src="https://avatars.githubusercontent.com/u/18213217?v=4" width="42;" alt="Light_Quanta"/></a>
<a href="https://github.com/JetSquirrel" title="JetSquirrel"><img src="https://avatars.githubusercontent.com/u/20291255?v=4" width="42;" alt="JetSquirrel"/></a>
<a href="https://github.com/jeremyjone" title="Jeremy Jone"><img src="https://avatars.githubusercontent.com/u/37676231?v=4" width="42;" alt="Jeremy Jone"/></a>
<a href="https://github.com/JavaZeroo" title="JavaZero"><img src="https://avatars.githubusercontent.com/u/71128095?v=4" width="42;" alt="JavaZero"/></a>
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma"><img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/></a>
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu"><img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/></a>
<a href="https://github.com/Fuku-L" title="Foozi"><img src="https://avatars.githubusercontent.com/u/38535911?v=4" width="42;" alt="Foozi"/></a>
<a href="https://github.com/sirius-fan" title="Fan"><img src="https://avatars.githubusercontent.com/u/25720015?v=4" width="42;" alt="Fan"/></a>
<a href="https://github.com/eeeeeio" title="EEEEE"><img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/></a>
<a href="https://github.com/demigodliu" title="DemigodLiu"><img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/></a>
<a href="https://github.com/dasferco" title="Dasferco"><img src="https://avatars.githubusercontent.com/u/92622404?v=4" width="42;" alt="Dasferco"/></a>
<a href="https://github.com/Damao2250" title="Damao"><img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/></a>
<a href="https://github.com/DEEMO101" title="DEEMO101"><img src="https://avatars.githubusercontent.com/u/35123091?v=4" width="42;" alt="DEEMO101"/></a>
<a href="https://github.com/ohto-ai" title="Choo"><img src="https://avatars.githubusercontent.com/u/46275725?v=4" width="42;" alt="Choo"/></a>
<a href="https://github.com/CharlotteZeng" title="hanchZ"><img src="https://avatars.githubusercontent.com/u/19461184?v=4" width="42;" alt="hanchZ"/></a>
<a href="https://github.com/ch3nnn" title="chentong"><img src="https://avatars.githubusercontent.com/u/40114564?v=4" width="42;" alt="chentong"/></a>
<a href="https://github.com/Brid9e" title="Joe"><img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Joe"/></a>
<a href="https://github.com/BobH-Official" title="BobH"><img src="https://avatars.githubusercontent.com/u/29333228?v=4" width="42;" alt="BobH"/></a>
<a href="https://github.com/Blanket58" title="Blanket58"><img src="https://avatars.githubusercontent.com/u/39766189?v=4" width="42;" alt="Blanket58"/></a>
<a href="https://github.com/BlacAmDK" title="BlacAmDK"><img src="https://avatars.githubusercontent.com/u/10971397?v=4" width="42;" alt="BlacAmDK"/></a>
<a href="https://github.com/gitchenze" title="Aze"><img src="https://avatars.githubusercontent.com/u/13357869?v=4" width="42;" alt="Aze"/></a>
<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/Leaderzhangyi" title="ZinkCas"><img src="https://avatars.githubusercontent.com/u/46915666?v=4" width="42;" alt="ZinkCas"/></a>
<a href="https://github.com/zhu0629" title="zhucong"><img src="https://avatars.githubusercontent.com/u/13188450?v=4" width="42;" alt="zhucong"/></a>
<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/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>
<a href="https://github.com/dwgeneral" title="Happy-Engineer"><img src="https://avatars.githubusercontent.com/u/8654993?v=4" width="42;" alt="Happy-Engineer"/></a>
<a href="https://github.com/whb1998a" title="Wafer"><img src="https://avatars.githubusercontent.com/u/44045064?v=4" width="42;" alt="Wafer"/></a>
<a href="https://github.com/YLee9527" title="Terry Young"><img src="https://avatars.githubusercontent.com/u/18697332?v=4" width="42;" alt="Terry Young"/></a>
<a href="https://github.com/TRDSCSH" title="TRDSCSH"><img src="https://avatars.githubusercontent.com/u/125717891?v=4" width="42;" alt="TRDSCSH"/></a>
<a href="https://github.com/Xiwin" title="Xiwin"><img src="https://avatars.githubusercontent.com/u/107191230?v=4" width="42;" alt="Xiwin"/></a>
<a href="https://github.com/DataEraserC" title="Sacabambaspis"><img src="https://avatars.githubusercontent.com/u/102341238?v=4" width="42;" alt="Sacabambaspis"/></a>
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"><img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/></a>
<a href="https://github.com/RivailleF" title="RivailleF"><img src="https://avatars.githubusercontent.com/u/93083015?v=4" width="42;" alt="RivailleF"/></a>
<a href="https://github.com/QDelta" title="QDelta"><img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/></a>
<a href="https://github.com/sevenleave" title="Poirot Hercule"><img src="https://avatars.githubusercontent.com/u/24411140?v=4" width="42;" alt="Poirot Hercule"/></a>
<a href="https://github.com/PipecraftNet" title="Pipecraft"><img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/></a>
<a href="https://github.com/Perzch" title="Perzch"><img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/></a>
<a href="https://github.com/PILIHU2022" title="PILIHU2022"><img src="https://avatars.githubusercontent.com/u/100511118?v=4" width="42;" alt="PILIHU2022"/></a>
<a href="https://github.com/HanaNoryu" title="Noryu"><img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/></a>
<a href="https://github.com/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>
<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><!--GAMFC-END-->
贡献者列表,由 [contributors](https://github.com/jaywcjlove/github-action-contributors) 自动生成
[贡献者](https://github.com/jaywcjlove/reference/graphs/contributors)列表,由 [contributors](https://github.com/jaywcjlove/github-action-contributors) 根据提交次数的先后顺序自动生成
<!--rehype:style=padding-top:1rem;-->
## 国内镜像网站
<!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;&class=home-title-reset-->
由于中国国内访问,时常打不开,你可以访问下面镜像网站。推荐自己的[镜像网站](https://github.com/jaywcjlove/reference/issues/102#issue-1451649637)
由于中国国内访问,时常打不开,你可以访问下面镜像网站(国内打不开的不再收录)。推荐自己的[镜像网站](https://github.com/jaywcjlove/reference/discussions/206#discussion-4625735)
[quickref.cn](https://quickref.cn)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[ecdata.cn](http://ref.ecdata.cn)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[aibk.cn](https://quickref.aibk.cn)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[jgeek.cn](http://reference.jgeek.cn/)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[laoleng.vip](http://bbs.laoleng.vip/reference/)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[liujiapeng.com](https://www.liujiapeng.com/)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[dbyun.net](https://www.dbyun.net/reference/index.html)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
[dc6.fun](https://dc6.fun/reference/)<!--rehype:target=_blank&style=background: rgb(16 185 129);height: 2.6rem;border-radius: 2rem;font-weight: bold;-->
<!--rehype:class=home-card&style=margin:2.2rem 0;display: flex;justify-content: center;gap: 1rem;flex-wrap: wrap;-->
[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=👆每天自动同步-->
[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=👆每天自动同步-->
[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-->
[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=👆每天自动同步-->
[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-->
[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=👆每天自动同步-->
[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-->
[trtuaazz.com](https://reference.trtuaazz.com)<!--rehype:target=_blank-->
[anhaoyang.com](http://dev-doc.anhaoyang.com/)<!--rehype:target=_blank-->
<!--rehype:class=home-card home-links-->
如果你有资源,可以很方便部署 web 版,这非常简单,只需要克隆 gh-pages 分支代码到你的静态服务就可以了,还可以使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版。
如果你有资源,可以很方便[部署 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 版。
## 其它资源
<!--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:ignore:start-->
## 开发
```sh
# 克隆仓库
$ git clone https://github.com/jaywcjlove/reference.git
$ npm install # 安装依赖
$ npm start # 启动监听,实时生成 HTML
$ open dist/index.html # 在浏览器打开生成 HTML
```
## License
MIT © [Kenny Wong](https://github.com/jaywcjlove)

3
assets/adb.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
<path d="m10.213 1.471.691-1.26c.046-.083.03-.147-.048-.192-.085-.038-.15-.019-.195.058l-.7 1.27A4.832 4.832 0 0 0 8.005.941c-.688 0-1.34.135-1.956.404l-.7-1.27C5.303 0 5.239-.018 5.154.02c-.078.046-.094.11-.049.193l.691 1.259a4.25 4.25 0 0 0-1.673 1.476A3.697 3.697 0 0 0 3.5 5.02h9c0-.75-.208-1.44-.623-2.072a4.266 4.266 0 0 0-1.664-1.476ZM6.22 3.303a.367.367 0 0 1-.267.11.35.35 0 0 1-.263-.11.366.366 0 0 1-.107-.264.37.37 0 0 1 .107-.265.351.351 0 0 1 .263-.11c.103 0 .193.037.267.11a.36.36 0 0 1 .112.265.36.36 0 0 1-.112.264Zm4.101 0a.351.351 0 0 1-.262.11.366.366 0 0 1-.268-.11.358.358 0 0 1-.112-.264c0-.103.037-.191.112-.265a.367.367 0 0 1 .268-.11c.104 0 .19.037.262.11a.367.367 0 0 1 .107.265c0 .102-.035.19-.107.264ZM3.5 11.77c0 .294.104.544.311.75.208.204.46.307.76.307h.758l.01 2.182c0 .276.097.51.292.703a.961.961 0 0 0 .7.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h1.343v2.182c0 .276.097.51.292.703a.972.972 0 0 0 .71.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h.76c.291 0 .54-.103.749-.308.207-.205.311-.455.311-.75V5.365h-9v6.404Zm10.495-6.587a.983.983 0 0 0-.702.278.91.91 0 0 0-.293.685v4.063c0 .271.098.501.293.69a.97.97 0 0 0 .702.284c.28 0 .517-.095.712-.284a.924.924 0 0 0 .293-.69V6.146a.91.91 0 0 0-.293-.685.995.995 0 0 0-.712-.278Zm-12.702.283a.985.985 0 0 1 .712-.283c.273 0 .507.094.702.283a.913.913 0 0 1 .293.68v4.063a.932.932 0 0 1-.288.69.97.97 0 0 1-.707.284.986.986 0 0 1-.712-.284.924.924 0 0 1-.293-.69V6.146c0-.264.098-.491.293-.68Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M19.75.3H4.25C1.9.3 0 2.2 0 4.55v14.9c0 2.35 1.9 4.25 4.25 4.25h15.5c2.35 0 4.25-1.9 4.25-4.25V4.55C24 2.2 22.1.3 19.75.3zm-6.99 16.389c0 .051-.029.09-.06.121a.17.17 0 0 1-.101.029H6.26c-.11 0-.16-.061-.16-.18V6.44c-.01-.07.04-.13.11-.14h2c.05-.01.11.03.11.08v8.43h4.62c.101 0 .131.049.11.14l-.29 1.739zm6.25-7.859v1.95c0 .08-.05.11-.16.11-.649-.04-1.3.08-1.89.34-.2.09-.39.21-.54.37v5.1c0 .1-.04.14-.13.14h-1.95c-.08.01-.15-.04-.16-.119V11.14c0-.24 0-.49-.01-.75s-.01-.52-.02-.78c-.01-.22-.03-.44-.061-.66-.01-.05.02-.1.07-.11.01-.01.02-.01.04 0h1.75c.1 0 .18.07.21.16.04.07.07.15.08.23.02.1.039.21.05.31.01.11.021.23.021.36.299-.35.66-.64 1.069-.86.46-.25.97-.37 1.49-.36.069-.01.13.04.14.11l.001.04z"/>
</svg>

After

Width:  |  Height:  |  Size: 830 B

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M9.85 8.42c-.37-.15-.77-.21-1.18-.2-.26 0-.49 0-.68.01-.2-.01-.34 0-.41.01v3.36c.14.01.27.02.39.02h.53c.39 0 .78-.06 1.15-.18.32-.09.6-.28.82-.53.21-.25.31-.59.31-1.03.01-.31-.07-.62-.23-.89a1.45 1.45 0 0 0-.7-.57zM19.75.3H4.25C1.9.3 0 2.2 0 4.55v14.899c0 2.35 1.9 4.25 4.25 4.25h15.5c2.35 0 4.25-1.9 4.25-4.25V4.55C24 2.2 22.1.3 19.75.3zm-7.391 11.65c-.399.56-.959.98-1.609 1.22-.68.25-1.43.34-2.25.34-.24 0-.4 0-.5-.01s-.24-.01-.43-.01v3.209c.01.07-.04.131-.11.141H5.52c-.08 0-.12-.041-.12-.131V6.42c0-.07.03-.11.1-.11.17 0 .33 0 .56-.01.24-.01.49-.01.76-.02s.56-.01.87-.02c.31-.01.61-.01.91-.01.82 0 1.5.1 2.06.31.5.17.96.45 1.34.82.32.32.57.71.73 1.14.149.42.229.85.229 1.3.001.86-.199 1.57-.6 2.13zm7.091 3.89c-.28.4-.671.709-1.12.891-.49.209-1.09.318-1.811.318-.459 0-.91-.039-1.359-.129-.35-.061-.7-.17-1.02-.32-.07-.039-.121-.109-.111-.189v-1.74c0-.029.011-.07.041-.09.029-.02.06-.01.09.01.39.23.8.391 1.24.49.379.1.779.15 1.18.15.38 0 .65-.051.83-.141.16-.07.27-.24.27-.42 0-.141-.08-.27-.24-.4-.16-.129-.489-.279-.979-.471-.51-.18-.979-.42-1.42-.719a2.625 2.625 0 0 1-.761-.85 2.158 2.158 0 0 1-.229-1.021c0-.43.12-.84.341-1.21.25-.4.619-.72 1.049-.92.469-.239 1.059-.349 1.769-.349.41 0 .83.03 1.24.09.3.04.59.12.86.23.039.01.08.05.1.09.01.04.02.08.02.12v1.63c0 .04-.02.08-.05.1-.09.02-.14.02-.18 0-.3-.16-.62-.27-.96-.34-.37-.08-.74-.13-1.12-.13-.2-.01-.41.02-.601.07-.129.03-.24.1-.31.2-.05.08-.08.18-.08.27s.04.18.101.26c.09.11.209.2.34.27.229.12.47.23.709.33.541.18 1.061.43 1.541.73.33.209.6.49.789.83.16.318.24.67.23 1.029.011.471-.129.94-.389 1.331z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

2
assets/adobe-xd.svg Normal file
View File

@ -0,0 +1,2 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 230 225">
<path fill="currentColor" d="M191.816406,0 C212.904623,-3.87384253e-15 230,17.0953772 230,38.1835938 L230,186.066406 C230,207.154623 212.904623,224.25 191.816406,224.25 L38.1835938,224.25 C17.0953772,224.25 2.58256169e-15,207.154623 0,186.066406 L0,38.1835938 C-2.58256169e-15,17.0953772 17.0953772,3.87384253e-15 38.1835938,0 L191.816406,0 Z M195.077284,49.091346 L194.968125,49.0996094 L175.526836,49.0996094 C174.910508,49.0996094 174.601445,49.4607813 174.601445,50.1795313 L174.601445,80.5754688 L173.781172,80.5035938 L172.659922,80.41375 L171.669844,80.3436719 L171.080469,80.3095313 L170.550391,80.2861719 L170.077813,80.2708984 L169.664531,80.2664063 C160.200391,80.2664063 152.125234,82.1180859 145.440859,85.8214453 L144.91168,86.1089453 C138.763421,89.5141795 133.664216,94.5369517 130.166523,100.633086 C126.671624,106.792265 124.861878,113.763817 124.919648,120.845234 L124.923242,121.532539 C125.011289,129.971563 126.759648,137.020703 130.165625,142.677266 C133.543408,148.383655 138.57396,152.930169 144.591836,155.715391 C151.05183,158.667646 158.088508,160.143302 165.190313,160.035078 L166.254063,160.023398 C170.866829,159.944136 175.465136,159.483464 180.001953,158.646094 C185.345985,157.661087 190.569912,156.10972 195.585352,154.018242 C196.182744,153.743842 196.550536,153.130974 196.511641,152.474727 L196.358906,150.159453 L196.071406,146.156914 C195.952813,144.392383 195.893516,142.742852 195.893516,141.211914 L195.893516,50.025 C195.930082,49.7701021 195.844423,49.5128727 195.662338,49.3307875 C195.480252,49.1487023 195.223023,49.0630429 194.968125,49.0996094 Z M121.116289,57.8451797 C120.918558,57.505081 120.519883,57.3365583 120.138164,57.4317187 L99.9260156,57.4317187 C99.5008674,57.3901695 99.0726792,57.4705716 98.6915625,57.6635156 C98.4049609,57.9411328 98.1929297,58.2861328 98.0743359,58.6670703 C95.989605,62.7301089 93.855056,66.7673925 91.6711719,70.7780078 C89.4592187,74.8407422 87.2984766,78.8792187 85.1916406,82.8907422 C83.046362,86.9730975 80.9632439,91.0878173 78.9430078,95.2334766 L78.7884766,95.2334766 C76.817187,91.0868307 74.6810973,87.0205574 72.3853125,83.044375 C70.0538061,79.0056478 67.7650584,74.9423869 65.5194531,70.8552734 C63.2562891,66.7422266 61.1988672,62.6273828 59.3471875,58.5125391 C59.1073047,58.1630469 58.7901562,57.8728516 58.4217969,57.6635156 C57.9815263,57.4848886 57.5072287,57.4053935 57.0328125,57.4317187 L35.2780469,57.4317187 C34.9257161,57.4076934 34.5826053,57.5507949 34.3517578,57.8180469 C34.1469141,58.0767969 34.198125,58.4110156 34.5062891,58.8207031 L63.5132422,107.884375 L33.7354297,156.795312 C33.5281595,157.114603 33.4456497,157.499009 33.5036328,157.875234 C33.5359766,158.128594 33.6366016,158.164531 33.8046094,158.154648 L34.1064844,158.127695 L34.198125,158.125 L55.3356641,158.125 L55.6860547,158.119609 C56.5278906,158.091758 57.1325391,157.921055 57.4964062,157.103477 C59.7587305,153.094326 61.9702615,149.056724 64.1304687,144.991641 C66.2894141,140.929805 68.4753125,136.840117 70.6881641,132.725273 C72.8822374,128.642268 75.0168509,124.527589 77.0913281,120.382539 L77.2458594,120.382539 C79.492198,124.571384 81.7809354,128.737353 84.1117187,132.879805 L84.9724219,134.419727 C86.9211424,137.916516 88.8200324,141.440844 90.6685156,144.991641 C92.7350026,148.972723 94.7924298,152.958502 96.8407813,156.948945 C97.3645703,157.824023 98.224375,157.994727 99.4175,158.026172 L99.8523438,158.033359 L121.989844,158.033359 C122.132695,158.01 122.261172,158.004609 122.376172,158.004609 L122.588203,158.01 L122.7625,158.012695 C122.919727,158.006406 123.022148,157.965078 123.069766,157.797969 C123.167695,157.40625 123.112891,156.992969 122.915234,156.640781 L92.2111328,106.341758 L120.909922,58.9734375 L120.99168,58.8997656 C121.263231,58.6151174 121.314021,58.1852783 121.116289,57.8451797 Z M168.892773,98.1641797 C169.949193,98.1613542 171.005057,98.212933 172.056172,98.3187109 C172.916134,98.4008331 173.7676,98.5556177 174.601445,98.7814063 L174.601445,140.902852 L174.125273,141.034922 C173.169038,141.283616 172.192412,141.445986 171.207148,141.520078 C169.971797,141.623398 168.634922,141.675787 167.195625,141.675787 C164.498244,141.68816 161.81606,141.271154 159.249844,140.440156 C156.820509,139.673501 154.602403,138.353156 152.770312,136.583164 C150.855907,134.659039 149.381532,132.342646 148.448828,129.793672 C147.303124,126.630834 146.753878,123.282959 146.828945,119.919844 L146.832539,119.401445 C146.901719,114.600195 147.955586,110.709961 149.992344,107.730742 C152.03261,104.703627 154.823739,102.257983 158.092656,100.633086 C161.448702,98.9729615 165.148754,98.1271298 168.892773,98.1641797 Z"/></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M19.27 10.337a.604.604 0 0 0-.603.603v9.832h-1.738l-3.336-6.94c.476-.538.68-1.285.525-2a2.286 2.286 0 0 0-1.29-1.625v-.812a.847.847 0 0 0-.844-.864.848.848 0 0 0-.432.118.86.86 0 0 0-.412.766v.72a2.3 2.3 0 0 0-1.487 2.52 2.282 2.282 0 0 0 .591 1.21l-3.21 6.907h-2.94a1.996 1.996 0 0 1-1.983-1.99V5.017c-.006 1.102.883 2 1.986 2.006a2.024 2.024 0 0 0 .132-.004h14.745s2.535-.218 2.862 1.54a.495.495 0 0 0-.445.489c0 .711-.579 1.29-1.302 1.29h-.819zm-2.048 12.2a.973.973 0 0 1-.45 1.3.965.965 0 0 1-.402.093.974.974 0 0 1-.32-.045c-.024-.008-.046-.021-.07-.031a.97.97 0 0 1-.227-.132c-.025-.02-.05-.038-.072-.06a.96.96 0 0 1-.21-.276l-1.256-2.614-1.558-3.245a.772.772 0 0 0-.7-.444h-.002a.792.792 0 0 0-.709.444l-1.51 3.245-1.233 2.646a.972.972 0 0 1-.798.58c-.063.005-.124-.002-.185-.009-.034-.003-.069-.005-.103-.012-.048-.01-.095-.028-.142-.045-.03-.012-.06-.02-.09-.034a.987.987 0 0 1-.14-.09c-.021-.015-.045-.027-.066-.044a.986.986 0 0 1-.169-.185.979.979 0 0 1-.07-.985l.846-1.822 3.268-7.031a1.796 1.796 0 0 1-.708-1.164c-.155-.98.513-1.9 1.493-2.056V9.395a.354.354 0 0 1 .168-.316.347.347 0 0 1 .354 0 .354.354 0 0 1 .167.316v1.159l.013.006a1.803 1.803 0 0 1 1.288 1.378 1.784 1.784 0 0 1-.644 1.784l3.389 7.05.848 1.765zm-4.238-10.231a1.1 1.1 0 0 0-1.093-1.109 1.12 1.12 0 0 0-.786.322 1.101 1.101 0 0 0-.323.772 1.1 1.1 0 0 0 1.093 1.108h.008a1.1 1.1 0 0 0 1.101-1.093zm-1.027 5.277a.287.287 0 0 0-.257.155l-1.413 3.034h3.374l-1.457-3.033a.274.274 0 0 0-.247-.156zm8.143-6.746h-.83a.103.103 0 0 0-.103.103v12.91a.103.103 0 0 0 .096.103h.844a1.79 1.79 0 0 0 1.783-1.79V9.047a1.79 1.79 0 0 1-1.79 1.79zM2.61 5.017v.018a1.5 1.5 0 0 0 1.487 1.487 12.061 12.061 0 0 1 .131-.003h1.129a6.598 6.598 0 0 1 1.638-3.486H4.099A1.992 1.992 0 0 0 2.18 4.53c.242.036.43.235.43.486zm6.338-2.899L7.91.328a.219.219 0 0 1 0-.218.238.238 0 0 1 .187-.11.219.219 0 0 1 .187.11l1.05 1.815a6.49 6.49 0 0 1 5.318 0L15.696.11a.219.219 0 0 1 .373.22l-1.03 1.79a6.122 6.122 0 0 1 3.098 4.401L5.85 6.52a6.122 6.122 0 0 1 3.097-4.4zm5.377 2.62a.515.515 0 0 0 .527.503.515.515 0 0 0 .516-.515.521.521 0 0 0-.889-.367.515.515 0 0 0-.154.38zm-5.717-.006a.515.515 0 0 0 .52.51.509.509 0 0 0 .367-.149.521.521 0 1 0-.734-.734.515.515 0 0 0-.153.373z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

3
assets/blender.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M341.333333 128C341.333333 142.506667 348.586667 157.44 362.666667 165.546667L512 256 106.666667 256C71.253333 256 42.666667 284.586667 42.666667 320 42.666667 355.413333 71.253333 384 106.666667 384L358.826667 384 85.333333 554.666667C49.493333 576 42.666667 606.72 42.666667 640 42.666667 682.666667 75.52 725.333333 128 725.333333 157.44 725.333333 187.306667 704 213.333333 682.666667L298.666667 613.546667C307.2 794.453333 456.96 938.666667 640 938.666667 828.586667 938.666667 981.333333 785.92 981.333333 597.333333 981.333333 472.746667 914.346667 362.666667 814.506667 304.213333 813.226667 303.36 811.946667 302.08 810.666667 301.226667 810.666667 301.226667 807.253333 298.666667 804.693333 297.386667 672.426667 208.213333 555.946667 158.72 407.466667 90.88 398.506667 87.04 390.826667 85.333333 384 85.333333 358.4 85.333333 341.333333 104.96 341.333333 128M640 384C757.76 384 853.333333 479.573333 853.333333 597.333333 853.333333 715.093333 757.76 810.666667 640 810.666667 522.24 810.666667 426.666667 715.093333 426.666667 597.333333 426.666667 479.573333 522.24 384 640 384M640 448C557.653333 448 490.666667 514.986667 490.666667 597.333333 490.666667 679.68 557.653333 746.666667 640 746.666667 722.346667 746.666667 789.333333 679.68 789.333333 597.333333 789.333333 514.986667 722.346667 448 640 448Z"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

13
assets/bun.svg Normal file
View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 70" height="1em" width="1em">
<path d="M71.09 20.74c-.16-.17-.33-.34-.5-.5s-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5A26.46 26.46 0 0 1 75.5 35.7c0 16.57-16.82 30.05-37.5 30.05-11.58 0-21.94-4.23-28.83-10.86l.5.5.5.5.5.5.5.5.5.5.5.5.5.5C19.55 65.3 30.14 69.75 42 69.75c20.68 0 37.5-13.48 37.5-30 0-7.06-3.04-13.75-8.41-19.01Z"/>
<path d="M73 35.7c0 15.21-15.67 27.54-35 27.54S3 50.91 3 35.7C3 26.27 9 17.94 18.22 13S33.18 3 38 3s8.94 4.13 19.78 10C67 17.94 73 26.27 73 35.7Z" style="fill:#fbf0df"/>
<path data-name="Bottom Shadow" d="M73 35.7a21.67 21.67 0 0 0-.8-5.78c-2.73 33.3-43.35 34.9-59.32 24.94A40 40 0 0 0 38 63.24c19.3 0 35-12.35 35-27.54Z" style="fill:#f6dece"/>
<path data-name="Light Shine" d="M24.53 11.17C29 8.49 34.94 3.46 40.78 3.45A9.29 9.29 0 0 0 38 3c-2.42 0-5 1.25-8.25 3.13-1.13.66-2.3 1.39-3.54 2.15-2.33 1.44-5 3.07-8 4.7C8.69 18.13 3 26.62 3 35.7v1.19c6.06-21.41 17.07-23.04 21.53-25.72Z" style="fill:#fffefc"/>
<path d="M35.12 5.53A16.41 16.41 0 0 1 29.49 18c-.28.25-.06.73.3.59 3.37-1.31 7.92-5.23 6-13.14-.08-.45-.67-.33-.67.08Zm2.27 0A16.24 16.24 0 0 1 39 19c-.12.35.31.65.55.36 2.19-2.8 4.1-8.36-1.62-14.36-.29-.26-.74.14-.54.49Zm2.76-.17A16.42 16.42 0 0 1 47 17.12a.33.33 0 0 0 .65.11c.92-3.49.4-9.44-7.17-12.53-.4-.16-.66.38-.33.62Zm-18.46 10.4a16.94 16.94 0 0 0 10.47-9c.18-.36.75-.22.66.18-1.73 8-7.52 9.67-11.12 9.45-.38.01-.37-.52-.01-.63Z" style="fill:#ccbea7;fill-rule:evenodd"/>
<path d="M38 65.75C17.32 65.75.5 52.27.5 35.7c0-10 6.18-19.33 16.53-24.92 3-1.6 5.57-3.21 7.86-4.62 1.26-.78 2.45-1.51 3.6-2.19C32 1.89 35 .5 38 .5s5.62 1.2 8.9 3.14c1 .57 2 1.19 3.07 1.87 2.49 1.54 5.3 3.28 9 5.27C69.32 16.37 75.5 25.69 75.5 35.7c0 16.57-16.82 30.05-37.5 30.05ZM38 3c-2.42 0-5 1.25-8.25 3.13-1.13.66-2.3 1.39-3.54 2.15-2.33 1.44-5 3.07-8 4.7C8.69 18.13 3 26.62 3 35.7c0 15.19 15.7 27.55 35 27.55S73 50.89 73 35.7c0-9.08-5.69-17.57-15.22-22.7-3.78-2-6.73-3.88-9.12-5.36-1.09-.67-2.09-1.29-3-1.84C42.63 4 40.42 3 38 3Z"/><g>
<path d="M45.05 43a8.93 8.93 0 0 1-2.92 4.71 6.81 6.81 0 0 1-4 1.88A6.84 6.84 0 0 1 34 47.71 8.93 8.93 0 0 1 31.12 43a.72.72 0 0 1 .8-.81h12.34a.72.72 0 0 1 .79.81Z" style="fill:#b71422" data-name="Background"/>
<path data-name="Background" d="M34 47.79a6.91 6.91 0 0 0 4.12 1.9 6.91 6.91 0 0 0 4.11-1.9 10.63 10.63 0 0 0 1-1.07 6.83 6.83 0 0 0-4.9-2.31 6.15 6.15 0 0 0-5 2.78c.23.21.43.41.67.6Z" style="fill:#ff6164"/>
<path data-name="Outline" d="M34.16 47a5.36 5.36 0 0 1 4.19-2.08 6 6 0 0 1 4 1.69c.23-.25.45-.51.66-.77a7 7 0 0 0-4.71-1.93 6.36 6.36 0 0 0-4.89 2.36 9.53 9.53 0 0 0 .75.73Z"/>
<path data-name="Outline" d="M38.09 50.19a7.42 7.42 0 0 1-4.45-2 9.52 9.52 0 0 1-3.11-5.05 1.2 1.2 0 0 1 .26-1 1.41 1.41 0 0 1 1.13-.51h12.34a1.44 1.44 0 0 1 1.13.51 1.19 1.19 0 0 1 .25 1 9.52 9.52 0 0 1-3.11 5.05 7.42 7.42 0 0 1-4.44 2Zm-6.17-7.4c-.16 0-.2.07-.21.09a8.29 8.29 0 0 0 2.73 4.37A6.23 6.23 0 0 0 38.09 49a6.28 6.28 0 0 0 3.65-1.73 8.3 8.3 0 0 0 2.72-4.37.21.21 0 0 0-.2-.09Z"/></g><g><ellipse data-name="Right Blush" cx="53.22" cy="40.18" rx="5.85" ry="3.44" style="fill:#febbd0"/><ellipse data-name="Left Bluch" cx="22.95" cy="40.18" rx="5.85" ry="3.44" style="fill:#febbd0"/>
<path d="M25.7 38.8a5.51 5.51 0 1 0-5.5-5.51 5.51 5.51 0 0 0 5.5 5.51Zm24.77 0A5.51 5.51 0 1 0 45 33.29a5.5 5.5 0 0 0 5.47 5.51Z" style="fill-rule:evenodd"/>
<path d="M24 33.64a2.07 2.07 0 1 0-2.06-2.07A2.07 2.07 0 0 0 24 33.64Zm24.77 0a2.07 2.07 0 1 0-2.06-2.07 2.07 2.07 0 0 0 2.04 2.07Z" style="fill:#fff;fill-rule:evenodd"/></g></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

2
assets/canvas.svg Normal file
View File

@ -0,0 +1,2 @@
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="1em" height="1em"><path d="M861.098667 736.554667l73.472 146.261333a38.4 38.4 0 0 1-1.706667 37.546667 38.826667 38.826667 0 0 1-32.981333 18.304H512a38.741333 38.741333 0 0 1-33.066667-18.261334 38.4 38.4 0 0 1-1.664-37.589333l10.752-21.333333H221.098667a58.026667 58.026667 0 0 1-58.197334-57.941334V474.453333C116.096 439.168 85.333333 383.829333 85.333333 321.024 85.333333 214.570667 172.373333 128 279.253333 128c63.146667 0 118.698667 30.592 154.154667 77.226667h369.493333a58.026667 58.026667 0 0 1 58.197334 57.898666v473.429334zm-155.178667-136.192-131.157333 261.12h262.357333l-131.2-261.12zM240.469333 510.122667v274.133333h286.336l144.426667-287.488c13.184-26.154667 56.234667-26.154667 69.376 0l42.922667 85.333333V282.453333h-314.282667a192.64 192.64 0 0 1-52.992 174.933334 194.773333 194.773333 0 0 1-175.786667 52.778666zm38.826667-73.301334a116.053333 116.053333 0 0 0 116.352-115.797333A116.053333 116.053333 0 0 0 279.253333 205.226667a116.053333 116.053333 0 0 0-116.352 115.797333 116.053333 116.053333 0 0 0 116.352 115.797333z"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

5
assets/chatgpt.svg Normal file
View File

@ -0,0 +1,5 @@
<svg width="1em" height="1em" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg" stroke-width="1.5"
class="h-6 w-6">
<path d="M37.5324 16.8707C37.9808 15.5241 38.1363 14.0974 37.9886 12.6859C37.8409 11.2744 37.3934 9.91076 36.676 8.68622C35.6126 6.83404 33.9882 5.3676 32.0373 4.4985C30.0864 3.62941 27.9098 3.40259 25.8215 3.85078C24.8796 2.7893 23.7219 1.94125 22.4257 1.36341C21.1295 0.785575 19.7249 0.491269 18.3058 0.500197C16.1708 0.495044 14.0893 1.16803 12.3614 2.42214C10.6335 3.67624 9.34853 5.44666 8.6917 7.47815C7.30085 7.76286 5.98686 8.3414 4.8377 9.17505C3.68854 10.0087 2.73073 11.0782 2.02839 12.312C0.956464 14.1591 0.498905 16.2988 0.721698 18.4228C0.944492 20.5467 1.83612 22.5449 3.268 24.1293C2.81966 25.4759 2.66413 26.9026 2.81182 28.3141C2.95951 29.7256 3.40701 31.0892 4.12437 32.3138C5.18791 34.1659 6.8123 35.6322 8.76321 36.5013C10.7141 37.3704 12.8907 37.5973 14.9789 37.1492C15.9208 38.2107 17.0786 39.0587 18.3747 39.6366C19.6709 40.2144 21.0755 40.5087 22.4946 40.4998C24.6307 40.5054 26.7133 39.8321 28.4418 38.5772C30.1704 37.3223 31.4556 35.5506 32.1119 33.5179C33.5027 33.2332 34.8167 32.6547 35.9659 31.821C37.115 30.9874 38.0728 29.9178 38.7752 28.684C39.8458 26.8371 40.3023 24.6979 40.0789 22.5748C39.8556 20.4517 38.9639 18.4544 37.5324 16.8707ZM22.4978 37.8849C20.7443 37.8874 19.0459 37.2733 17.6994 36.1501C17.7601 36.117 17.8666 36.0586 17.936 36.0161L25.9004 31.4156C26.1003 31.3019 26.2663 31.137 26.3813 30.9378C26.4964 30.7386 26.5563 30.5124 26.5549 30.2825V19.0542L29.9213 20.998C29.9389 21.0068 29.9541 21.0198 29.9656 21.0359C29.977 21.052 29.9842 21.0707 29.9867 21.0902V30.3889C29.9842 32.375 29.1946 34.2791 27.7909 35.6841C26.3872 37.0892 24.4838 37.8806 22.4978 37.8849ZM6.39227 31.0064C5.51397 29.4888 5.19742 27.7107 5.49804 25.9832C5.55718 26.0187 5.66048 26.0818 5.73461 26.1244L13.699 30.7248C13.8975 30.8408 14.1233 30.902 14.3532 30.902C14.583 30.902 14.8088 30.8408 15.0073 30.7248L24.731 25.1103V28.9979C24.7321 29.0177 24.7283 29.0376 24.7199 29.0556C24.7115 29.0736 24.6988 29.0893 24.6829 29.1012L16.6317 33.7497C14.9096 34.7416 12.8643 35.0097 10.9447 34.4954C9.02506 33.9811 7.38785 32.7263 6.39227 31.0064ZM4.29707 13.6194C5.17156 12.0998 6.55279 10.9364 8.19885 10.3327C8.19885 10.4013 8.19491 10.5228 8.19491 10.6071V19.808C8.19351 20.0378 8.25334 20.2638 8.36823 20.4629C8.48312 20.6619 8.64893 20.8267 8.84863 20.9404L18.5723 26.5542L15.206 28.4979C15.1894 28.5089 15.1703 28.5155 15.1505 28.5173C15.1307 28.5191 15.1107 28.516 15.0924 28.5082L7.04046 23.8557C5.32135 22.8601 4.06716 21.2235 3.55289 19.3046C3.03862 17.3858 3.30624 15.3413 4.29707 13.6194ZM31.955 20.0556L22.2312 14.4411L25.5976 12.4981C25.6142 12.4872 25.6333 12.4805 25.6531 12.4787C25.6729 12.4769 25.6928 12.4801 25.7111 12.4879L33.7631 17.1364C34.9967 17.849 36.0017 18.8982 36.6606 20.1613C37.3194 21.4244 37.6047 22.849 37.4832 24.2684C37.3617 25.6878 36.8382 27.0432 35.9743 28.1759C35.1103 29.3086 33.9415 30.1717 32.6047 30.6641C32.6047 30.5947 32.6047 30.4733 32.6047 30.3889V21.188C32.6066 20.9586 32.5474 20.7328 32.4332 20.5338C32.319 20.3348 32.154 20.1698 31.955 20.0556ZM35.3055 15.0128C35.2464 14.9765 35.1431 14.9142 35.069 14.8717L27.1045 10.2712C26.906 10.1554 26.6803 10.0943 26.4504 10.0943C26.2206 10.0943 25.9948 10.1554 25.7963 10.2712L16.0726 15.8858V11.9982C16.0715 11.9783 16.0753 11.9585 16.0837 11.9405C16.0921 11.9225 16.1048 11.9068 16.1207 11.8949L24.1719 7.25025C25.4053 6.53903 26.8158 6.19376 28.2383 6.25482C29.6608 6.31589 31.0364 6.78077 32.2044 7.59508C33.3723 8.40939 34.2842 9.53945 34.8334 10.8531C35.3826 12.1667 35.5464 13.6095 35.3055 15.0128ZM14.2424 21.9419L10.8752 19.9981C10.8576 19.9893 10.8423 19.9763 10.8309 19.9602C10.8195 19.9441 10.8122 19.9254 10.8098 19.9058V10.6071C10.8107 9.18295 11.2173 7.78848 11.9819 6.58696C12.7466 5.38544 13.8377 4.42659 15.1275 3.82264C16.4173 3.21869 17.8524 2.99464 19.2649 3.1767C20.6775 3.35876 22.0089 3.93941 23.1034 4.85067C23.0427 4.88379 22.937 4.94215 22.8668 4.98473L14.9024 9.58517C14.7025 9.69878 14.5366 9.86356 14.4215 10.0626C14.3065 10.2616 14.2466 10.4877 14.2479 10.7175L14.2424 21.9419ZM16.071 17.9991L20.4018 15.4978L24.7325 17.9975V22.9985L20.4018 25.4983L16.071 22.9985V17.9991Z"
fill="currentColor"></path>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

1
assets/chown.svg Normal file
View File

@ -0,0 +1 @@
<svg viewBox="0 0 1024 1024" version="1.1" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em"><path d="M912.9 130.6c-26.1 4.5-52.8 6.9-80.2 6.9-115.4 0-221.1-41.9-302.6-111.2-10.6-9-26.2-9-36.8 0-81.5 69.4-187.2 111.2-302.6 111.2-27 0-53.5-2.3-79.2-6.7-17.2-2.9-32.9 10.4-33 27.9-0.2 109.1-0.4 238.1-0.4 242.5 0 471 394.5 592.7 431 603 1.8 0.5 3.6 0.5 5.4 0C550.9 994 943 873 945.5 405.7l0.4-247c0-17.6-15.8-31.1-33-28.1zM546 568.9v154.5c0 18.8-15.2 34-34 34s-34-15.2-34-34V568.9c-68.2-15.5-119.1-76.4-119.1-149.3 0-84.5 68.5-153.1 153.1-153.1S665.1 335 665.1 419.6c0 72.9-50.9 133.9-119.1 149.3z"></path></svg>

After

Width:  |  Height:  |  Size: 640 B

1
assets/conda.svg Normal file
View File

@ -0,0 +1 @@
<svg height="1em" width="1em" role="img" fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Anaconda</title><path d="M12.045.033a12.181 12.182 0 00-1.361.078 17.512 17.513 0 011.813 1.433l.48.438-.465.45a15.047 15.048 0 00-1.126 1.205l-.178.215a8.527 8.527 0 01.86-.05 8.154 8.155 0 11-4.286 15.149 15.764 15.765 0 01-1.841.106h-.86a21.847 21.848 0 00.264 2.866 11.966 11.967 0 106.7-21.89zM8.17.678a12.181 12.182 0 00-2.624 1.275 15.506 15.507 0 011.813.43A18.551 18.552 0 018.17.678zM9.423.75a16.237 16.238 0 00-.995 1.998 16.15 16.152 0 011.605.66 6.98 6.98 0 01.43-.509c.234-.286.472-.559.716-.817A15.047 15.048 0 009.423.75zM4.68 2.949a14.969 14.97 0 000 2.336c.587-.065 1.196-.1 1.812-.107a16.617 16.617 0 01.48-1.748 16.48 16.481 0 00-2.292-.481zM3.62 3.5A11.938 11.938 0 001.762 5.88a17.004 17.004 0 011.877-.444A17.39 17.391 0 013.62 3.5zm4.406.287c-.143.437-.265.888-.38 1.347a8.255 8.255 0 011.67-.803c-.423-.2-.845-.38-1.29-.544zM6.3 6.216a14.051 14.052 0 00-1.555.108c.064.523.157 1.038.272 1.554a8.39 8.391 0 011.283-1.662zm-2.55.137a15.313 15.313 0 00-2.602.716h-.078v.079a17.104 17.105 0 001.267 2.544l.043.071.072-.049a16.309 16.31 0 011.734-1.083l.057-.035V8.54a16.867 16.868 0 01-.408-2.094v-.092zM.644 8.095l-.063.2A11.844 11.845 0 000 11.655v.209l.143-.152a17.706 17.707 0 011.584-1.447l.057-.043-.043-.064a16.18 16.18 0 01-1.025-1.87zm3.77 1.253l-.18.1c-.465.273-.93.573-1.375.889l-.065.05.05.064c.309.437.645.867.996 1.276l.137.165v-.208a8.176 8.176 0 01.364-2.15zM2.2 10.853l-.072.05a16.574 16.574 0 00-1.813 1.734l-.058.058.066.057a15.449 15.45 0 001.991 1.483l.072.05.043-.08a16.738 16.74 0 011.053-1.64v-.05l-.043-.05a16.99 16.99 0 01-1.19-1.54zm1.855 2.071l-.121.172a15.363 15.363 0 00-.917 1.433l-.043.072.071.043a16.61 16.61 0 001.562.766l.193.086-.086-.193a8.04 8.04 0 01-.66-2.172zm-3.976.48v.2a11.758 11.759 0 00.946 3.326l.078.186.072-.194a16.215 16.216 0 01.845-2l.057-.063-.064-.043a17.197 17.198 0 01-1.776-1.284zm2.543 1.805l-.035.08a15.764 15.765 0 00-.983 2.479v.08h.086a16.15 16.152 0 002.688.5l.072.007v-.086a17.562 17.563 0 01.164-2.056v-.065H4.55a16.266 16.266 0 01-1.849-.896zm2.544 1.169v.114a17.254 17.255 0 00-.151 1.828v.078h.931c.287 0 .624.014.946 0h.209l-.166-.129a8.011 8.011 0 01-1.64-1.834zm-3.29 2.1l.115.172a11.988 11.988 0 002.502 2.737l.157.129v-.201a22.578 22.58 0 01-.2-2.336v-.071h-.072a16.23 16.23 0 01-2.3-.387z"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 640 512" height="1em" width="1em">
<path d="M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"/>
</svg>

After

Width:  |  Height:  |  Size: 713 B

1
assets/ejs.svg Normal file
View File

@ -0,0 +1 @@
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em"><path d="M384.28144981 252.31647403v112.80048696L145.20918813 474.54291854 384.28144981 587.88378965v110.53930269L21.43812835 526.28761486v-100.68590819l362.84332146-173.28714866zm246.90017394 102.1173521c0-28.82050958-26.50183907-46.93105778-47.58641778-32.52080298-21.0845787 14.41025479-21.0845787 50.63135118 0 65.04352199 21.08649586 14.41025479 47.58641778-3.70220942 47.58641778-32.52271901zm-86.46152988 88.55216697c-71.49939257-39.1951269-71.49939257-137.71758023 0-176.91462428 71.50130859-39.1951269 161.36227954 10.06609977 161.36227954 88.45827072s-89.86096981 127.65339648-161.36036352 88.45635356zm382.94102812 229.81099065c0-28.82050958-26.50183907-46.93105778-47.58641778-32.52080298-21.0845787 14.41025479-21.0845787 50.63135118 0 65.04160597 21.08649586 14.41025479 47.58641778-3.69837625 47.58641778-32.51888697zm-86.46152988 88.55216583c-71.49939257-39.1951269-71.49939257-137.71758023 0-176.91462315S1002.56187165 594.50062621 1002.56187165 672.89279602s-89.86096981 127.65339648-161.36036352 88.45635356zm-219.70656598 13.75681195 372.53958429-526.21192306H866.73755363l-378.74825784 526.21192306h133.50181432z"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

5
assets/elasticsearch.svg Normal file
View File

@ -0,0 +1,5 @@
<svg viewBox="0 0 256 288" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" height="1em" width="1em">
<path d="M0 143.82c0 12.44 1.744 24.441 4.71 35.956h175.067c19.856 0 35.955-16.1 35.955-35.956 0-19.865-16.1-35.955-35.955-35.955H4.71C1.744 119.371 0 131.38 0 143.82" fill="#343741"/>
<path d="M242.013 68.863c5.025-4.629 9.7-9.6 13.987-14.93C229.636 21.079 189.213 0 143.82 0 87 0 38.101 33.052 14.775 80.9h196.559c11.38 0 22.319-4.324 30.678-12.037" fill="#FEC514"/>
<path d="M211.334 206.742H14.774c23.336 47.839 72.226 80.9 129.045 80.9 45.393 0 85.816-21.088 112.18-53.933a136.604 136.604 0 0 0-13.987-14.94c-8.36-7.721-19.299-12.027-30.678-12.027" fill="#00BFB3"/>
</svg>

After

Width:  |  Height:  |  Size: 703 B

1
assets/elixir.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1711950965872" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4680" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em"><path d="M519.381333 967.722667c-164.693333 0-298.24-155.306667-298.24-346.88 0-156.928 118.314667-348.672 209.749334-465.493334 43.264-55.296 125.013333-99.072 125.013333-99.072s-41.898667 223.530667 71.808 312.277334c100.949333 78.805333 175.189333 181.333333 175.189333 271.488 0 180.565333-118.784 327.68-283.52 327.68z" fill="currentColor" p-id="4681"></path></svg>

After

Width:  |  Height:  |  Size: 694 B

12
assets/erlang.svg Normal file
View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 256 225">
<g fill="none" fill-rule="evenodd">
<path fill="#A90533" fill-rule="nonzero" d="M44.3399607 159.659089C25.536634 139.734178 14.5349706 112.207841 14.5628518 79.365069 14.5368716 50.3198413 23.6628914 25.3541383 39.3517627 6.35691059L39.3264162 6.36641554 6.35057459 6.36641554 6.35057459 159.662257 44.3165152 159.662257 44.3399607 159.659089 44.3399607 159.659089ZM218.009347 159.671762C226.109466 150.996277 233.367446 140.779089 239.944238 129.094336L203.445228 110.844831C190.626852 131.684119 171.881188 150.865742 145.959287 150.993742 108.232872 150.865742 93.4102182 118.60594 93.4916246 77.0832472L234.469386 77.0832472C234.657584 72.3954056 234.657584 70.2156037 234.469386 67.9591284 235.389466 43.2557621 228.842456 22.4912472 216.932753 6.32079178L216.871287 6.36704921 248.612753 6.36704921 248.612753 159.662891 217.940278 159.662891 218.009347 159.671762 218.009347 159.671762Z"/>
<path fill="#A90533" fill-rule="nonzero" d="M95.7737825,41.4967126 C97.3344954,22.6971878 112.156515,10.0543363 129.535367,10.0163165 C147.032713,10.0543363 159.674931,22.6971878 160.103287,41.4967126 L95.7737825,41.4967126 L95.7737825,41.4967126 Z"/>
<polygon fill="currentColor" fill-rule="nonzero" points="26.426 185.668 26.426 179.281 6.807 179.281 6.807 217.149 26.426 217.149 26.426 210.761 14.107 210.761 14.107 200.724 25.969 200.724 25.969 194.337 14.107 194.337 14.107 185.668"/>
<path fill="currentColor" fill-rule="nonzero" d="M59.7310102,201.179881 C64.6216241,200.453703 67.3070894,195.607446 67.4870498,190.686416 C67.3070894,182.635723 62.088238,179.304555 54.7123964,179.280475 L44.6751687,179.280475 L44.6751687,217.148198 L51.9749706,217.148198 L51.9749706,202.092356 L61.0997231,217.148198 L70.2244756,217.148198 L59.7310102,201.179881 L59.7310102,201.179881 Z M51.974337,185.212198 L52.8868122,185.212198 C56.8693865,185.361743 59.8583766,186.270416 59.7303766,191.143287 C59.8583766,195.608079 56.9707726,196.819644 52.8868122,196.618139 L51.974337,196.618139 L51.974337,185.212198 L51.974337,185.212198 Z"/>
<polygon fill="currentColor" fill-rule="nonzero" points="93.036 179.281 85.737 179.281 85.737 217.149 103.529 217.149 103.529 210.761 93.036 210.761"/>
<path fill="currentColor" fill-rule="nonzero" d="M140.940674,209.392158 L144.134337,217.148198 L151.890377,217.148198 L137.74701,178.368 L131.815921,178.368 L116.76008,217.148198 L124.515485,217.148198 L127.709783,209.392158 L140.940674,209.392158 L140.940674,209.392158 Z M139.115723,203.461703 L129.990971,203.461703 L134.097109,189.318337 L139.115723,203.461703 L139.115723,203.461703 Z"/>
<polygon fill="currentColor" fill-rule="nonzero" points="165.578 217.149 173.334 217.149 173.334 191.6 193.409 218.061 198.883 218.061 198.883 179.281 191.127 179.281 191.127 204.83 171.052 178.368 165.578 178.368"/>
<path fill="currentColor" fill-rule="nonzero" d="M230.820119,197.073743 L230.820119,203.004832 L239.032396,203.004832 C238.861307,207.771248 234.960476,211.809584 230.363882,211.673347 C223.104634,211.809584 219.507327,204.794297 219.414179,198.442455 C219.507327,192.175525 223.053941,184.856713 230.363882,184.755327 C234.20008,184.856079 237.443169,187.480713 239.032396,190.686416 L245.419723,187.492753 C242.610693,181.575604 236.936238,178.294495 230.363882,178.368 C219.051089,178.295129 211.806416,187.632792 211.658139,198.442455 C211.806416,208.982812 218.848951,218.371168 229.907644,218.516911 C241.850931,218.371168 247.373307,208.831366 247.244674,197.986218 L247.244674,197.073743 L230.820119,197.073743 L230.820119,197.073743 L230.820119,197.073743 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

1
assets/es6.svg Normal file
View File

@ -0,0 +1 @@
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em"><path d="M821.375 500.75c-16.875-11.25-33.75-16.875-56.25-11.25000001-22.50000001 0-33.75 11.25-45 28.12500001-11.25 16.875-11.25 33.75-11.25 56.25s5.625 33.75 22.5 50.62499999c11.25 11.25 28.125 22.50000001 50.625 22.50000001s39.375-5.625 50.625-22.50000001c11.25-11.25 16.875-33.75 16.87500001-61.87499999 0-33.75-5.625-50.625-28.12500001-61.875z"></path><path d="M62 62v900h900V62H62zm292.50000001 618.75H140.75V326.375H343.25v39.375H191.375v106.875h140.625V512H191.375v123.75h163.12500001v45zm230.62499999-22.5c-16.875 16.875-45 22.50000001-78.75 22.5-33.75 0-61.875-11.25-78.75-28.125-22.50000001-16.875-28.125-39.375-28.12500001-67.5V568.25h45v11.25000001c0 22.50000001 5.625 33.75 16.87500001 45 11.25 11.25 28.125 16.875 45 16.87499999 22.50000001 0 39.375-5.625 50.625-16.87499999 5.625-11.25 11.25-22.50000001 11.25-39.37500001 0-11.25-5.625-28.125-16.875-39.375-11.25-11.25-28.125-22.50000001-50.625-28.125-33.75-11.25-56.25-28.125-73.125-39.375-16.875-16.875-22.50000001-39.375-22.5-56.25 0-28.125 11.25-50.625 28.125-67.50000001 22.50000001-22.50000001 45-28.125 73.125-28.12499999 33.75 0 61.875 11.25 78.75 33.75 11.25 16.875 22.50000001 39.375 22.5 61.875h-45c0-16.875 0-28.125-11.25-39.375-11.25-11.25-28.125-16.875-45-16.875-16.875 0-28.125 5.625-39.375 11.25-11.25 11.25-11.25 22.50000001-11.25 39.375 0 11.25 0 22.50000001 11.25 28.12499999 5.625 11.25 28.125 16.875 56.25 33.75000001 28.125 11.25 50.625 28.125 67.5 45 16.875 16.875 22.50000001 39.375 22.5 56.24999999 5.625 33.75-5.625 56.25-28.125 78.75000001zm298.125-45c-5.625 16.875-16.875 33.75-33.75000001 50.625-16.875 16.875-39.375 22.50000001-67.49999999 22.5s-50.625-5.625-73.125-16.87499999c-22.50000001-11.25-33.75-28.125-39.37500001-50.62500001-5.625-22.50000001-11.25-39.375-11.24999999-61.875 0-22.50000001 5.625-33.75 11.24999999-50.625 11.25-11.25 22.50000001-28.125 33.75000001-50.625l84.375-129.375h45l-84.375 135c39.375-11.25 67.50000001-5.625 90 5.625 22.50000001 11.25 33.75 28.125 45 39.375 5.625 16.875 11.25 33.75 11.24999999 50.625 0 16.875 0 39.375-11.24999999 56.25z"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

3
assets/fastapi.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M12 0C5.375 0 0 5.375 0 12c0 6.627 5.375 12 12 12 6.626 0 12-5.373 12-12 0-6.625-5.373-12-12-12zm-.624 21.62v-7.528H7.19L13.203 2.38v7.528h4.029L11.376 21.62z"/>
</svg>

After

Width:  |  Height:  |  Size: 286 B

7
assets/figma.svg Normal file
View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.678 7.68" height="1em" width="1em">
<path d="M2.56 7.68A1.28 1.28 0 0 0 3.84 6.4V5.12H2.56a1.28 1.28 0 0 0 0 2.56z" fill="#0acf83"/>
<path d="M1.28 3.84a1.28 1.28 0 0 1 1.28-1.28h1.28v2.56H2.56a1.28 1.28 0 0 1-1.28-1.28z" fill="#a259ff"/>
<path d="M1.28 1.28A1.28 1.28 0 0 1 2.559 0h1.28v2.56H2.56a1.28 1.28 0 0 1-1.28-1.28z" fill="#f24e1e"/>
<path d="M3.84 0h1.28a1.28 1.28 0 0 1 0 2.56H3.84z" fill="#ff7262"/>
<path d="M6.4 3.84a1.28 1.28 0 0 1-2.56 0 1.28 1.28 0 0 1 2.56 0z" fill="#1abcfe"/>
</svg>

After

Width:  |  Height:  |  Size: 568 B

1
assets/finder.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 465 512"><path fill="currentColor" d="M248.872 63.164H0v381.678h261.91c-5.933-22.006-9.425-44.83-10.382-68.447c-68.347 4.003-133.766-13.78-180.387-34.21l8.366-19.544c57.24 24.51 114.676 35.3 171.812 32.432c.446-20.1 2.592-40.72 6.53-61.851h-80.66c-1.25-89.57 29.694-162.884 71.683-230.058m-134.6 60.62h21.255v51.408h-21.256z"/><path fill="currentColor" d="M275.335 353.01c37.076-4.358 73.997-14.42 110.621-30.343l8.48 19.491c-39.404 17.135-79.134 27.89-119.027 32.342c.925 24.412 4.796 47.862 11.426 70.342h177.716V63.164H277.265c-48.15 73.047-72.046 138.577-75.561 206.144h85.683c-4.489 18.091-10.965 48.315-12.052 83.702m60.787-177.818h-21.256v-51.407h21.256zM277.265 63.164c10.43-15.824 21.947-31.984 34.7-48.613L292.992 0c-16.643 21.701-31.247 42.669-44.12 63.164zm-15.378 381.678c6.312 23.342 15.365 45.765 27.28 67.158l20.893-11.635c-9.876-17.731-17.584-36.272-23.275-55.523z"/></svg>

After

Width:  |  Height:  |  Size: 968 B

3
assets/firefox.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor" height="1em" width="1em">
<path d="M503.52 241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86 245.86 0 0 0-7.32-41.15c0-.12 0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27 8.27 0 0 0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48 0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07 18.07 0 0 0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63 15.63 0 0 0-1.2-1.8L463.2 119a15.63 15.63 0 0 0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76 248.76 0 0 0-23.51-26.64A186.82 186.82 0 0 0 412 62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49 162.49 0 0 0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254 254 0 0 0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35 236.35 0 0 0-38-4h-10.63a234.62 234.62 0 0 0-45.48 5c-33.59 7.08-63.23 21.24-82.91 39-1.08 1-1.92 1.68-2.4 2.16l-.48.48h.13l-.12.12.12-.12a.12.12 0 0 0 .12-.12l-.12.12a.42.42 0 0 1 .24-.12c14.64-8.76 34.92-16 49.44-19.56l5.88-1.44c.36-.12.84-.12 1.2-.24 1.68-.36 3.36-.72 5.16-1.08.24 0 .6-.12.84-.12C250.94 20.94 319.34 40.14 367 85.61a171.49 171.49 0 0 1 26.88 32.76c30.36 49.2 27.48 111.11 3.84 147.59-34.44 53-111.35 71.27-159 24.84a84.19 84.19 0 0 1-25.56-59 74.05 74.05 0 0 1 6.24-31c1.68-3.84 13.08-25.67 18.24-24.59-13.08-2.76-37.55 2.64-54.71 28.19-15.36 22.92-14.52 58.2-5 83.28a132.85 132.85 0 0 1-12.12-39.24c-12.24-82.55 43.31-153 94.31-170.51-27.48-24-96.47-22.31-147.71 15.36-29.88 22-51.23 53.16-62.51 90.36 1.68-20.88 9.6-52.08 25.8-83.88-17.16 8.88-39 37-49.8 62.88-15.6 37.43-21 82.19-16.08 124.79.36 3.24.72 6.36 1.08 9.6 19.92 117.11 122 206.38 244.78 206.38C392.77 503.42 504 392.19 504 255c-.12-4.52-.24-9.08-.48-13.52Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

8
assets/flask.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

213
assets/gdb.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

3
assets/github-cli.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 1984 2048" height="1em" width="1em">
<path d="M663.6 1589.6c0 8-9.2 14.4-20.8 14.4-13.2 1.2-22.4-5.2-22.4-14.4 0-8 9.2-14.4 20.8-14.4 12-1.2 22.4 5.2 22.4 14.4zm-124.4-18c-2.8 8 5.2 17.2 17.2 19.6 10.4 4 22.4 0 24.8-8s-5.2-17.2-17.2-20.8c-10.4-2.8-22 1.2-24.8 9.2zm176.8-6.8c-11.6 2.8-19.6 10.4-18.4 19.6 1.2 8 11.6 13.2 23.6 10.4 11.6-2.8 19.6-10.4 18.4-18.4-1.2-7.6-12-12.8-23.6-11.6zM979.2 32C424.4 32 0 453.2 0 1008c0 443.6 279.2 823.2 678 956.8 51.2 9.2 69.2-22.4 69.2-48.4 0-24.8-1.2-161.6-1.2-245.6 0 0-280 60-338.8-119.2 0 0-45.6-116.4-111.2-146.4 0 0-91.6-62.8 6.4-61.6 0 0 99.6 8 154.4 103.2 87.6 154.4 234.4 110 291.6 83.6 9.2-64 35.2-108.4 64-134.8-223.6-24.8-449.2-57.2-449.2-442 0-110 30.4-165.2 94.4-235.6-10.4-26-44.4-133.2 10.4-271.6 83.6-26 276 108 276 108 80-22.4 166-34 251.2-34s171.2 11.6 251.2 34c0 0 192.4-134.4 276-108 54.8 138.8 20.8 245.6 10.4 271.6 64 70.8 103.2 126 103.2 235.6 0 386-235.6 416.8-459.2 442 36.8 31.6 68 91.6 68 185.6 0 134.8-1.2 301.6-1.2 334.4 0 26 18.4 57.6 69.2 48.4 400-132.8 671.2-512.4 671.2-956 0-554.8-450-976-1004.8-976zM388.8 1411.6c-5.2 4-4 13.2 2.8 20.8 6.4 6.4 15.6 9.2 20.8 4 5.2-4 4-13.2-2.8-20.8-6.4-6.4-15.6-9.2-20.8-4zm-43.2-32.4c-2.8 5.2 1.2 11.6 9.2 15.6 6.4 4 14.4 2.8 17.2-2.8 2.8-5.2-1.2-11.6-9.2-15.6-8-2.4-14.4-1.2-17.2 2.8zm129.6 142.4c-6.4 5.2-4 17.2 5.2 24.8 9.2 9.2 20.8 10.4 26 4 5.2-5.2 2.8-17.2-5.2-24.8-8.8-9.2-20.8-10.4-26-4zm-45.6-58.8c-6.4 4-6.4 14.4 0 23.6 6.4 9.2 17.2 13.2 22.4 9.2 6.4-5.2 6.4-15.6 0-24.8-5.6-9.2-16-13.2-22.4-8z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,4 @@
<svg width="1em" height="1em" viewBox="0 0 600 528" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M300.05 526.091C129.331 526.091 5.42623 417.044 0.748474 385.796V312.898C3.92935 289.397 26.0832 249.805 60.1747 235.622C60.6612 233.002 61.0728 230.27 61.5219 227.464C62.6071 220.615 63.7672 213.094 66.237 204.561C58.7152 185.551 56.7318 163.996 56.7318 142.59C56.7318 110.033 61.5219 76.3908 82.6653 49.6341C104.333 22.2037 138.574 7.57172 184.603 2.4449C229.734 -2.56966 269.252 3.71724 294.773 31.0728C296.645 33.0561 298.366 35.1143 299.975 37.2474C301.622 35.1143 303.493 33.0561 305.326 31.0728C330.848 3.71724 370.366 -2.56966 415.497 2.4449C461.526 7.57172 495.767 22.2037 517.435 49.6341C538.615 76.3908 543.368 110.033 543.368 142.59C543.368 163.996 541.385 185.551 533.863 204.561C536.333 213.094 537.53 220.615 538.578 227.464C539.027 230.308 539.476 233.002 539.963 235.622C574.541 250.029 596.919 290.669 599.501 314.021V384.075C599.501 412.74 474.1 526.091 300.05 526.091ZM300.05 470.52C385.372 470.52 471.593 428.981 487.235 416.894V257.663L486.374 253.322C468.037 261.181 446.146 264.212 421.746 264.212C378.861 264.212 344.694 251.975 320.333 227.127C312.303 218.871 305.498 209.508 300.125 199.322C294.697 209.512 287.842 218.875 279.767 227.127C255.443 251.975 221.277 264.212 178.353 264.212C153.954 264.212 132.1 261.181 113.726 253.322L112.865 257.663V416.894C128.545 428.981 214.728 470.52 300.05 470.52ZM253.796 69.3555C246.574 61.6466 229.958 53.9002 190.852 58.2412C152.719 62.4698 135.505 73.3597 126.748 84.4366C117.505 96.1123 112.94 113.963 112.94 142.59C112.94 172.266 117.767 186.412 124.466 193.896C130.528 200.669 143.888 208.079 178.428 208.079C210.349 208.079 228.536 199.285 239.726 187.871C251.514 175.821 259.447 156.923 262.815 129.755C267.193 94.7651 261.43 77.5509 253.796 69.3555ZM409.285 58.2412C370.216 53.9002 353.601 61.6466 346.378 69.3555C338.744 77.5509 332.944 94.7651 337.322 129.755C340.728 156.923 348.661 175.821 360.449 187.871C371.638 199.285 389.788 208.079 421.746 208.079C456.25 208.079 469.647 200.669 475.709 193.896C482.408 186.412 487.235 172.266 487.235 142.59C487.235 113.963 482.632 96.1123 473.389 84.4366C464.669 73.3597 447.455 62.4698 409.285 58.2412Z"/>
<path d="M234.636 301.634C242.08 301.634 249.219 304.591 254.482 309.855C259.746 315.118 262.703 322.257 262.703 329.701V385.871C262.703 393.315 259.746 400.454 254.482 405.717C249.219 410.981 242.08 413.938 234.636 413.938C227.193 413.938 220.054 410.981 214.79 405.717C209.527 400.454 206.57 393.315 206.57 385.871V329.701C206.57 322.257 209.527 315.118 214.79 309.855C220.054 304.591 227.193 301.634 234.636 301.634ZM393.68 329.701V385.871C393.68 393.315 390.723 400.454 385.459 405.717C380.196 410.981 373.057 413.938 365.613 413.938C358.17 413.938 351.031 410.981 345.767 405.717C340.504 400.454 337.547 393.315 337.547 385.871V329.701C337.547 322.257 340.504 315.118 345.767 309.855C351.031 304.591 358.17 301.634 365.613 301.634C373.057 301.634 380.196 304.591 385.459 309.855C390.723 315.118 393.68 322.257 393.68 329.701Z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

3
assets/github.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 1984 2048" height="1em" width="1em">
<path d="M663.6 1589.6c0 8-9.2 14.4-20.8 14.4-13.2 1.2-22.4-5.2-22.4-14.4 0-8 9.2-14.4 20.8-14.4 12-1.2 22.4 5.2 22.4 14.4zm-124.4-18c-2.8 8 5.2 17.2 17.2 19.6 10.4 4 22.4 0 24.8-8s-5.2-17.2-17.2-20.8c-10.4-2.8-22 1.2-24.8 9.2zm176.8-6.8c-11.6 2.8-19.6 10.4-18.4 19.6 1.2 8 11.6 13.2 23.6 10.4 11.6-2.8 19.6-10.4 18.4-18.4-1.2-7.6-12-12.8-23.6-11.6zM979.2 32C424.4 32 0 453.2 0 1008c0 443.6 279.2 823.2 678 956.8 51.2 9.2 69.2-22.4 69.2-48.4 0-24.8-1.2-161.6-1.2-245.6 0 0-280 60-338.8-119.2 0 0-45.6-116.4-111.2-146.4 0 0-91.6-62.8 6.4-61.6 0 0 99.6 8 154.4 103.2 87.6 154.4 234.4 110 291.6 83.6 9.2-64 35.2-108.4 64-134.8-223.6-24.8-449.2-57.2-449.2-442 0-110 30.4-165.2 94.4-235.6-10.4-26-44.4-133.2 10.4-271.6 83.6-26 276 108 276 108 80-22.4 166-34 251.2-34s171.2 11.6 251.2 34c0 0 192.4-134.4 276-108 54.8 138.8 20.8 245.6 10.4 271.6 64 70.8 103.2 126 103.2 235.6 0 386-235.6 416.8-459.2 442 36.8 31.6 68 91.6 68 185.6 0 134.8-1.2 301.6-1.2 334.4 0 26 18.4 57.6 69.2 48.4 400-132.8 671.2-512.4 671.2-956 0-554.8-450-976-1004.8-976zM388.8 1411.6c-5.2 4-4 13.2 2.8 20.8 6.4 6.4 15.6 9.2 20.8 4 5.2-4 4-13.2-2.8-20.8-6.4-6.4-15.6-9.2-20.8-4zm-43.2-32.4c-2.8 5.2 1.2 11.6 9.2 15.6 6.4 4 14.4 2.8 17.2-2.8 2.8-5.2-1.2-11.6-9.2-15.6-8-2.4-14.4-1.2-17.2 2.8zm129.6 142.4c-6.4 5.2-4 17.2 5.2 24.8 9.2 9.2 20.8 10.4 26 4 5.2-5.2 2.8-17.2-5.2-24.8-8.8-9.2-20.8-10.4-26-4zm-45.6-58.8c-6.4 4-6.4 14.4 0 23.6 6.4 9.2 17.2 13.2 22.4 9.2 6.4-5.2 6.4-15.6 0-24.8-5.6-9.2-16-13.2-22.4-8z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

9
assets/gitlab.svg Normal file
View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 236" height="1em" width="1em">
<path d="m128.075 236.075 47.104-144.97H80.97l47.104 144.97z" fill="#E24329"/>
<path d="M128.075 236.074 80.97 91.104H14.956l113.119 144.97z" fill="#FC6D26"/>
<path d="M14.956 91.104.642 135.16a9.752 9.752 0 0 0 3.542 10.903l123.891 90.012-113.12-144.97z" fill="#FCA326"/>
<path d="M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0l-28.37 87.315z" fill="#E24329"/>
<path d="m128.075 236.074 47.104-144.97h66.015l-113.12 144.97z" fill="#FC6D26"/>
<path d="m241.194 91.104 14.314 44.056a9.752 9.752 0 0 1-3.543 10.903l-123.89 90.012 113.119-144.97z" fill="#FCA326"/>
<path d="M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0l28.37 87.315z" fill="#E24329"/>
</svg>

After

Width:  |  Height:  |  Size: 798 B

3
assets/google-chrome.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 512 512" height="1em" width="1em">
<path d="M0 256c0-46.6 12.47-90.4 34.27-128.9L144.1 318.3C166 357.5 207.9 384 256 384c14.3 0 27.1-2.3 40.8-6.6l-76.3 132.2C95.9 492.3 0 385.3 0 256zm365.1 65.6c12.3-19.2 18.9-42.5 18.9-65.6 0-38.2-16.8-72.5-43.3-96h152.7c12 29.6 18.6 62.1 18.6 96 0 141.4-114.6 255.1-256 256l109.1-190.4zM477.8 128H256c-62.9 0-113.7 44.1-125.5 102.7L54.19 98.47C101 38.53 174 0 256 0c94.8 0 177.5 51.48 221.8 128zM168 256c0-48.6 39.4-88 88-88s88 39.4 88 88-39.4 88-88 88-88-39.4-88-88z"/>
</svg>

After

Width:  |  Height:  |  Size: 589 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 32 32" height="1em" width="1em">
<path d="M0 0v32h32V0zm4.964 4.145h6.667v2.448H9.776v8.371h1.855v2.443H4.964v-2.443h1.927V6.593H4.964zm14.739 0h2.964v8.667c0 .819-.073 1.485-.297 2.079a4.002 4.002 0 0 1-.963 1.479c-.371.371-.885.745-1.48.891a5.192 5.192 0 0 1-1.927.371c-1.036 0-1.927-.224-2.593-.595a6.403 6.403 0 0 1-1.704-1.405l1.855-2.073c.369.443.74.74 1.109.964.369.219.812.369 1.26.369.521 0 .959-.151 1.333-.521.292-.369.443-.891.443-1.703zM2.964 26h12v2h-12z"/>
</svg>

After

Width:  |  Height:  |  Size: 554 B

3
assets/jquery.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M1.525 5.87c-2.126 3.054-1.862 7.026-.237 10.269.037.079.078.154.118.229.023.052.049.1.077.15.013.027.031.056.047.082.026.052.054.102.081.152l.157.266c.03.049.057.097.09.146.056.094.12.187.178.281.026.04.05.078.079.117a6.368 6.368 0 0 0 .31.445c.078.107.156.211.24.315.027.038.058.076.086.115l.22.269c.028.03.055.067.084.099.098.118.202.233.306.35l.005.006a3.134 3.134 0 0 0 .425.44c.08.083.16.165.245.245l.101.097c.111.105.223.209.34.309.002 0 .003.002.005.003l.057.05c.102.089.205.178.31.26l.125.105c.085.068.174.133.26.2l.137.105c.093.07.192.139.287.207.035.025.07.05.106.073l.03.023.28.185.12.08c.148.094.294.184.44.272.041.02.084.044.123.068.108.062.22.125.329.183.06.034.122.063.184.094.075.042.153.083.234.125a.324.324 0 0 1 .056.023c.033.015.064.031.096.047.12.06.245.118.375.175.024.01.05.02.076.034.144.063.289.123.438.182.034.01.07.027.105.04.135.051.274.103.411.152l.05.018c.154.052.305.102.46.15.036.01.073.023.111.033.16.048.314.105.474.137 10.273 1.872 13.258-6.177 13.258-6.177-2.508 3.266-6.958 4.127-11.174 3.169-.156-.036-.312-.086-.47-.132a13.539 13.539 0 0 1-.567-.182l-.062-.024c-.136-.046-.267-.097-.4-.148a1.615 1.615 0 0 0-.11-.04c-.148-.06-.29-.121-.433-.184-.031-.01-.057-.024-.088-.036a23.44 23.44 0 0 1-.362-.17 1.485 1.485 0 0 1-.106-.052c-.094-.044-.188-.095-.28-.143a3.947 3.947 0 0 1-.187-.096c-.114-.06-.227-.125-.34-.187-.034-.024-.073-.044-.112-.066a15.922 15.922 0 0 1-.439-.27 2.107 2.107 0 0 1-.118-.078 6.01 6.01 0 0 1-.312-.207c-.035-.023-.067-.048-.103-.073a9.553 9.553 0 0 1-.295-.212c-.042-.034-.087-.066-.132-.1-.088-.07-.177-.135-.265-.208l-.118-.095a10.593 10.593 0 0 1-.335-.28.258.258 0 0 0-.037-.031l-.347-.316-.1-.094c-.082-.084-.166-.164-.25-.246l-.098-.1a9.081 9.081 0 0 1-.309-.323l-.015-.016c-.106-.116-.21-.235-.313-.355-.027-.03-.053-.064-.08-.097l-.227-.277a21.275 21.275 0 0 1-.34-.449C2.152 11.79 1.306 7.384 3.177 3.771m4.943-.473c-1.54 2.211-1.454 5.169-.254 7.508a9.111 9.111 0 0 0 .678 1.133c.23.33.484.721.793.988.107.122.223.24.344.36l.09.09c.114.11.232.217.35.325l.016.013a9.867 9.867 0 0 0 .414.342c.034.023.063.05.096.073.14.108.282.212.428.316l.015.009c.062.045.128.086.198.13.028.018.06.042.09.06.106.068.21.132.318.197.017.007.032.016.048.023.09.055.188.108.282.157.033.02.065.035.1.054.066.033.132.068.197.102l.032.014c.135.067.273.129.408.19.034.014.063.025.092.039.111.048.224.094.336.137.05.017.097.037.144.052.102.038.21.073.31.108l.14.045c.147.045.295.104.449.13C22.164 17.206 24 11.098 24 11.098c-1.653 2.38-4.852 3.513-8.261 2.628a8.04 8.04 0 0 1-.449-.13c-.048-.014-.09-.029-.136-.043-.104-.036-.211-.07-.312-.109l-.144-.054c-.113-.045-.227-.087-.336-.135-.034-.015-.065-.025-.091-.04-.14-.063-.281-.125-.418-.192l-.206-.107-.119-.06a5.673 5.673 0 0 1-.265-.15.62.62 0 0 1-.062-.035c-.106-.066-.217-.13-.318-.198-.034-.019-.065-.042-.097-.062l-.208-.136c-.144-.1-.285-.208-.428-.313-.032-.029-.063-.053-.094-.079-1.499-1.178-2.681-2.79-3.242-4.613-.59-1.897-.46-4.023.56-5.75m4.292-.147c-.909 1.334-.996 2.99-.37 4.46.665 1.563 2.024 2.79 3.608 3.37.065.025.128.046.196.07l.088.027c.092.03.185.063.28.084 4.381.845 5.567-2.25 5.886-2.704-1.043 1.498-2.792 1.857-4.938 1.335a4.85 4.85 0 0 1-.516-.16 6.352 6.352 0 0 1-.618-.254 6.53 6.53 0 0 1-1.082-.66c-1.922-1.457-3.113-4.236-1.859-6.5"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

8
assets/jupyter.svg Normal file
View File

@ -0,0 +1,8 @@
<svg viewBox="0 0 256 300" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" height="1em" width="1em">
<path d="M10.584 156.41v-32.753h7.136v35.256a21.302 21.302 0 0 1-4.686 15.976A18.213 18.213 0 0 1 .89 179.31l-.745-5.325a11.61 11.61 0 0 0 7.775-2.982c1.917-2.237 2.663-5.273 2.663-14.592Zm53.22-4.201c0 3.994 0 7.562.32 10.651h-6.338l-.426-6.337a14.752 14.752 0 0 1-12.941 7.242c-6.178 0-13.527-3.355-13.527-17.041v-22.74h7.136v21.302c0 7.402 2.29 12.355 8.734 12.355a9.958 9.958 0 0 0 10.065-10.065v-23.859h7.136v28.279l-.16.213Zm13.527-15.555c0-4.953 0-9-.32-12.675h6.39l.32 6.657a15.445 15.445 0 0 1 13.953-7.562c9.48 0 16.616 7.935 16.616 19.757 0 13.953-8.574 20.877-17.84 20.877a13.794 13.794 0 0 1-12.09-6.125v21.302h-7.03v-42.231Zm7.03 10.385c.019.966.126 1.928.319 2.875a10.97 10.97 0 0 0 10.651 8.255c7.509 0 11.93-6.124 11.93-15.018 0-7.775-4.155-14.432-11.664-14.432a12.249 12.249 0 0 0-11.237 11.663v6.657Zm42.644-23.095 8.574 22.953a132.673 132.673 0 0 1 2.503 7.935c.745-2.344 1.544-5.326 2.503-8.095l7.775-22.793h7.509l-10.651 27.692c-5.326 13.314-8.574 20.184-13.474 24.338a19.385 19.385 0 0 1-8.734 4.58l-1.757-5.965a18.906 18.906 0 0 0 6.23-3.461 21.302 21.302 0 0 0 6.019-7.882c.29-.53.488-1.107.585-1.704a6.125 6.125 0 0 0-.479-1.864l-14.485-35.84h7.775l.107.106Zm47.809-11.173v11.183h10.225v5.326h-10.225v20.983c0 4.793 1.384 7.562 5.325 7.562 1.4.023 2.796-.138 4.154-.48l.32 5.326a17.575 17.575 0 0 1-6.338.959 9.906 9.906 0 0 1-7.722-2.983 14.326 14.326 0 0 1-2.77-10.118v-21.302h-6.07V123.9h6.177v-9.48l6.924-1.65Zm23.37 31.877a12.516 12.516 0 0 0 13.474 13.473 25.988 25.988 0 0 0 10.651-2.024l1.225 5.326a31.953 31.953 0 0 1-13.048 2.396 18.106 18.106 0 0 1-19.278-19.598c0-11.716 6.976-20.982 18.373-20.982 12.781 0 15.977 11.183 15.977 18.32.068 1.1.068 2.202 0 3.302h-27.533l.16-.213Zm20.877-5.326a10.064 10.064 0 0 0-9.906-11.503 11.77 11.77 0 0 0-10.917 11.503h20.823Zm17.324-3.269c0-4.58 0-8.52-.32-12.142h6.391v7.616h.32a11.77 11.77 0 0 1 10.651-8.521 7.775 7.775 0 0 1 2.024 0v6.657a10.645 10.645 0 0 0-2.45 0 9.958 9.958 0 0 0-9.533 9.053 19.772 19.772 0 0 0-.32 3.302v20.716h-7.029v-26.627l.266-.054Z" fill="#4E4E4E"/>
<path d="M233.258 16.962a18.053 18.053 0 1 1-18.8-16.935 17.84 17.84 0 0 1 18.8 16.935Z" fill="#767677"/>
<path d="M127.953 225.541c-47.93 0-90.055-17.201-111.836-42.604a119.239 119.239 0 0 0 223.672 0c-21.728 25.403-63.693 42.604-111.836 42.604Zm0-165.187c47.93 0 90.055 17.202 111.836 42.604a119.243 119.243 0 0 0-111.836-77.88 119.239 119.239 0 0 0-111.836 77.88c21.781-25.455 63.694-42.604 111.836-42.604Z" fill="#F37726"/>
<path d="M61.972 274.975a22.74 22.74 0 1 1-23.699-21.302 22.527 22.527 0 0 1 23.699 21.302Z" fill="#9E9E9E"/>
<path d="M21.564 54.565a13.102 13.102 0 1 1 12.728-13.633 13.26 13.26 0 0 1-12.728 13.633Z" fill="#616262"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

5
assets/kubernetes.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" height="1em" width="1em">
<path d="m10.013 13.738-2.254.387a4.475 4.475 0 0 0 1.753 2.231l.865-2.095a.27.27 0 0 0 .022-.228c-.022-.18-.204-.295-.386-.295zm.865-2.914c.205 0 .387-.159.387-.364l.114-2.277-.456.091a4.516 4.516 0 0 0-2.118 1.162l1.89 1.343c.069.022.115.045.183.045zm-1.002 1.48a.366.366 0 0 0-.045-.524l-1.685-1.503a4.797 4.797 0 0 0-.661 2.778l2.209-.637c.091-.023.137-.046.182-.114zm1.457.797.616.296.614-.296.16-.661-.433-.546h-.683l-.433.546zm1.344-2.436c.114.159.341.182.5.091l1.867-1.32a4.286 4.286 0 0 0-2.573-1.23l.137 2.3a.215.215 0 0 0 .069.159z"/>
<path d="m21.944 14.103-1.73-7.446c-.113-.364-.387-.66-.729-.842L12.541 2.49c-.182-.091-.387-.114-.569-.114s-.387 0-.569.045L4.457 5.769a1.22 1.22 0 0 0-.683.842l-1.708 7.492c-.068.387.023.774.25 1.093l4.805 5.943c.273.273.66.456 1.047.479h7.651c.41.045.797-.137 1.048-.479l4.805-5.943c.227-.319.318-.706.272-1.093zm-2.845.501c-.046 0-.068 0-.114-.023-.022-.023-.022-.023-.045-.023-.046 0-.068-.022-.092-.022-.091-.023-.159-.068-.25-.114a.32.32 0 0 1-.137-.045h-.022a3.91 3.91 0 0 0-.729-.205h-.022a.26.26 0 0 0-.182.068s0 .023-.023.023l-.183-.024a5.628 5.628 0 0 1-2.46 3.097l.068.182s-.022 0-.022.022a.264.264 0 0 0-.022.228c.091.228.205.455.364.66v.045a.396.396 0 0 1 .091.114.81.81 0 0 1 .159.228c.023.022.046.045.046.068 0 0 .022 0 .022.022a.582.582 0 0 1 .023.342.38.38 0 0 1-.205.25c-.068.022-.114.045-.183.045a.511.511 0 0 1-.433-.273c-.022 0-.022-.022-.022-.022-.022-.023-.022-.045-.046-.068-.045-.068-.068-.159-.091-.25l-.046-.137v-.022a3.816 3.816 0 0 0-.296-.706.353.353 0 0 0-.182-.137c0-.023 0-.023-.023-.023l-.091-.159c-.228.068-.479.159-.729.205-.41.114-.82.159-1.229.159a5.368 5.368 0 0 1-1.981-.364l-.091.182c0 .023 0 .023-.023.023a.35.35 0 0 0-.182.137c-.114.228-.228.455-.296.706l-.045.137c-.023.091-.068.159-.091.25-.022.023-.045.045-.045.068-.023 0-.023.022-.023.022a.508.508 0 0 1-.433.273.434.434 0 0 1-.159-.045.469.469 0 0 1-.182-.615c.023 0 .023-.023.023-.023.022-.023.022-.045.045-.068.068-.091.114-.182.159-.228s.068-.068.091-.114v-.023a3.73 3.73 0 0 0 .364-.66.268.268 0 0 0-.023-.228s-.022 0-.022-.022l.114-.16a3.578 3.578 0 0 1-.615-.41 5.493 5.493 0 0 1-1.867-2.664l-.205.022s0-.022-.023-.022a.256.256 0 0 0-.182-.068h-.022a4.015 4.015 0 0 0-.751.205h-.024c-.045 0-.091.023-.137.046-.068.022-.159.068-.25.091-.022 0-.091-.022-.091 0 0 .023 0 .023-.023.023-.045.023-.068.023-.114.023a.424.424 0 0 1-.456-.319.445.445 0 0 1 .364-.524c.023-.023.023-.023.046-.023.045 0 .068-.022.091-.022.091 0 .182-.023.273-.023.045-.022.091-.022.137-.022a4.2 4.2 0 0 0 .774-.137c.068-.046.137-.091.16-.16 0 0 .022 0 .022-.022l.182-.046c-.205-1.298.091-2.618.797-3.734.022-.045.045-.068.068-.114l-.131-.132a.106.106 0 0 1-.004.019v-.023l.004.004c.01-.065-.031-.145-.072-.186-.182-.182-.41-.319-.638-.455l-.136-.069a2.587 2.587 0 0 1-.251-.136c-.022 0-.068-.045-.068-.045s0-.023-.022-.023a.49.49 0 0 1-.092-.639c.068-.114.182-.159.319-.159a.54.54 0 0 1 .319.114l.023.023c.022.022.045.022.068.045.068.069.114.137.182.205.023.022.068.045.091.091.159.182.364.364.569.524.045.022.091.045.137.045.045 0 .068-.023.091-.023h.023l.137.091a5.426 5.426 0 0 1 2.801-1.594c.273-.046.523-.091.774-.114l.023-.182v-.045c.068-.045.091-.114.114-.182 0-.273 0-.524-.045-.774v-.023c0-.045 0-.091-.023-.137a1.129 1.129 0 0 1-.045-.273v-.113c0-.114.045-.228.137-.319.114-.114.25-.182.387-.159a.45.45 0 0 1 .387.478v.137c-.023.091-.023.182-.045.273 0 .045-.023.091-.023.136v.023c-.048.273-.048.524-.048.774.023.068.045.136.114.182v-.023l.023.182a5.84 5.84 0 0 1 2.96 1.184c.183.182.387.364.569.546l.183-.114h.022c.022.023.068.023.091.023.046 0 .091-.023.137-.045.205-.137.41-.319.569-.501.022-.023.068-.046.091-.091.046-.068.114-.137.183-.205.022 0 .045-.022.068-.045l.022-.023a.546.546 0 0 1 .318-.114c.114 0 .251.068.319.16.159.205.113.478-.091.637 0 .023.022.023 0 .046-.023.022-.046.022-.068.045-.092.045-.16.091-.251.137l-.137.068a4.104 4.104 0 0 0-.638.455c-.045.046-.068.137-.068.205v.023l-.136.137c.364.569.638 1.207.797 1.867.137.66.182 1.343.091 2.003l.182.046a.278.278 0 0 0 .16.159c.25.068.523.114.773.137h.023a.297.297 0 0 0 .137.022c.091 0 .182 0 .272.023.046 0 .092 0 .092.023 0 .022.022.022.045.022a.537.537 0 0 1 .41.479.49.49 0 0 1-.453.32z"/>
<path d="M12.085 14.718a.352.352 0 0 0-.455.091l-1.116 2.027c.456.136.957.228 1.435.228.341 0 .66-.045.979-.114.159-.045.296-.068.433-.091l-1.093-1.981c-.069-.069-.115-.115-.183-.16zm3.644-4.441-1.708 1.548a.36.36 0 0 0-.091.16c-.046.205.068.41.273.455l2.163.615a4.375 4.375 0 0 0-.092-1.435 4.63 4.63 0 0 0-.545-1.343zm-2.073 3.484a.371.371 0 0 0-.205.433l.889 2.141a4.366 4.366 0 0 0 1.366-1.366c.182-.25.318-.547.433-.865l-2.277-.387a.634.634 0 0 0-.206.044z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

5
assets/minio.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 162.612 24.465" xmlns:v="https://vecta.io/nano">
<path
d="M52.751.414h9.108v23.63h-9.108zM41.711.74l-18.488 9.92a.919.919 0 0 1-.856 0L3.879.74A2.808 2.808 0 0 0 2.558.414h-.023A2.4 2.4 0 0 0 0 2.641v21.376h9.1V13.842a.918.918 0 0 1 1.385-.682l10.361 5.568a3.634 3.634 0 0 0 3.336.028l10.933-5.634a.917.917 0 0 1 1.371.69v10.205h9.1V2.641A2.4 2.4 0 0 0 43.055.414h-.023a2.808 2.808 0 0 0-1.321.326zm65.564-.326h-9.237v10.755a.913.913 0 0 1-1.338.706L72.762.675a2.824 2.824 0 0 0-1.191-.261h-.016a2.4 2.4 0 0 0-2.535 2.227v21.377h9.163V13.275a.914.914 0 0 1 1.337-.707l24.032 11.2a2.813 2.813 0 0 0 1.188.26 2.4 2.4 0 0 0 2.535-2.227zm7.161 23.63V.414h4.191v23.63zm28.856.421c-11.274 0-19.272-4.7-19.272-12.232C124.02 4.741 132.066 0 143.292 0s19.32 4.7 19.32 12.233-7.902 12.232-19.32 12.232zm0-21.333c-8.383 0-14.84 3.217-14.84 9.1 0 5.926 6.457 9.1 14.84 9.1s14.887-3.174 14.887-9.1c0-5.883-6.504-9.1-14.887-9.1z"
fill="#c72c48" />
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

3
assets/mongodb.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 120 257" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<path d="M82.323 28.644C71.537 15.847 62.249 2.85 60.35.15c-.2-.2-.5-.2-.7 0-1.897 2.7-11.185 15.697-21.971 28.494C-54.902 146.721 52.26 226.406 52.26 226.406l.9.6C53.958 239.303 55.955 257 55.955 257h7.99s1.998-17.597 2.797-29.994l.899-.7c.1.1 107.263-79.585 14.68-197.662ZM59.95 224.606s-4.793-4.099-6.092-6.198v-.201l5.793-128.574c0-.4.6-.4.6 0l5.792 128.574v.201c-1.299 2.099-6.093 6.198-6.093 6.198Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 537 B

1
assets/neo4j.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" fill="#4581C3" role="img" viewBox="0 0 24 24"><title>Neo4j</title><path d="M9.629 13.227c-.593 0-1.139.2-1.58.533l-2.892-1.976a2.61 2.61 0 0 0 .101-.711 2.633 2.633 0 0 0-2.629-2.629A2.632 2.632 0 0 0 0 11.073a2.632 2.632 0 0 0 2.629 2.629c.593 0 1.139-.2 1.579-.533L7.1 15.145c-.063.226-.1.465-.1.711 0 .247.037.484.1.711l-2.892 1.976a2.608 2.608 0 0 0-1.579-.533A2.632 2.632 0 0 0 0 20.639a2.632 2.632 0 0 0 2.629 2.629 2.632 2.632 0 0 0 2.629-2.629c0-.247-.037-.485-.101-.711l2.892-1.976c.441.333.987.533 1.58.533a2.633 2.633 0 0 0 2.629-2.629c0-1.45-1.18-2.629-2.629-2.629ZM16.112.732c-4.72 0-7.888 2.748-7.888 8.082v3.802a3.525 3.525 0 0 1 3.071.008v-3.81c0-3.459 1.907-5.237 4.817-5.237s4.817 1.778 4.817 5.237v8.309H24V8.814C24 3.448 20.832.732 16.112.732Z"/></svg>

After

Width:  |  Height:  |  Size: 837 B

6
assets/nvm.svg Normal file
View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" fill="currentColor" height="1em" width="1em">
<g>
<path d="M499.8 990c-12.6 0-25.2-3.4-36.4-10.1l-115.9-71c-17.3-10-8.8-13.6-3.2-15.6 23.1-8.3 30-12.4 54.6-26.9 2.6-1.5 6-.9 8.7.7l86.9 51.4c3.2 1.9 7.8 1.9 10.8 0l339.5-201.8c3.2-1.9 5.3-5.8 5.3-9.7V298.5c0-4-2.1-7.9-5.4-9.9L505.3 81.5c-3.2-2-7.5-2-10.7 0L155.5 288.6c-3.4 2-5.5 5.9-5.5 9.8V707c0 4 2.1 7.7 5.4 9.6l87.3 52.4c51.6 26.7 82.2-.4 82.2-32V335.3c0-5.8 4.5-10.3 10.1-10.3h49.9c5.5 0 10.1 4.5 10.1 10.3v401.8c0 71.2-42.3 112.1-107.6 112.1-20 0-35.9 0-80-22.5l-91-54.2C93.9 759.1 80 734 80 707.1V292.6c0-26.9 13.9-52 36.5-65.4L463.6 19.6c21.9-12.9 51.1-12.9 72.9 0l347 207.5c22.5 13.5 36.5 38.6 36.5 65.4V707c0 26.9-13.9 52-36.5 65.5l-347 207.3c-11.1 6.6-23.7 10.1-36.5 10.1l-.2.1z" />
<path d="M607.1 710c-141.3 0-183.8-69.1-183.8-129.7 0-5.8 4.5-10.3 10-10.3h44.9c5 0 9.2 3.7 10 8.8 6.7 47.3 36.6 68.1 118.8 68.1 73.1 0 103-22.6 103-62.7 0-23.2-7.6-40.3-121.2-51.8-95-9.7-153.8-31.4-153.8-110 0-72.5 59.1-114.8 158-114.8 100.9 0 167.3 30.6 173.2 111.2.2 2.9-.8 5.8-2.7 8-1.9 2.1-4.5 3.3-7.3 3.3h-45c-4.7 0-8.8-3.4-9.8-8.1-9.6-37.1-37.1-51.2-108.4-51.2-79.8 0-89.1 27.9-89.1 49.5 0 26.2 11 33.8 118.8 48.5C729.3 483.2 780 503.9 780 581.4c0 78.3-63.1 128.6-172.9 128.6z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

3
assets/phpstorm.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 256 256">
<defs><linearGradient id="IconifyId18e425c03bba7dc7a0" x1="40.196%" x2="55.577%" y1="64.058%" y2="47.965%"><stop offset="0%" stop-color="#AF1DF5"/><stop offset="21%" stop-color="#BC20E4"/><stop offset="63%" stop-color="#DD29B8"/><stop offset="100%" stop-color="#FF318C"/></linearGradient><linearGradient id="IconifyId18e425c03bba7dc7a1" x1="42.885%" x2="63.378%" y1="78.603%" y2="-4.057%"><stop offset="2%" stop-color="#6B57FF"/><stop offset="42%" stop-color="#B74AF7"/><stop offset="75%" stop-color="#FF318C"/></linearGradient><linearGradient id="IconifyId18e425c03bba7dc7a2" x1="73.258%" x2="32.049%" y1="102.209%" y2="-3.688%"><stop offset="0%" stop-color="#293896"/><stop offset="8%" stop-color="#3B3AA2"/><stop offset="29%" stop-color="#6740C0"/><stop offset="49%" stop-color="#8A44D8"/><stop offset="68%" stop-color="#A347E9"/><stop offset="86%" stop-color="#B249F3"/><stop offset="100%" stop-color="#B74AF7"/></linearGradient><linearGradient id="IconifyId18e425c03bba7dc7a3" x1="62.87%" x2="39.747%" y1="72.446%" y2="45.568%"><stop offset="2%" stop-color="#6B57FF"/><stop offset="78%" stop-color="#B74AF7"/></linearGradient></defs><path fill="url(#IconifyId18e425c03bba7dc7a0)" d="M141.307 45.013L132.773 19.2L43.68 0L0 49.413l48 24.56v-28.96z"/><path fill="url(#IconifyId18e425c03bba7dc7a1)" d="m48 61.813l-48-12.4l24.4 146.56l23.52-.186z"/><path fill="url(#IconifyId18e425c03bba7dc7a2)" d="M208 45.013h-83.493L158.053 15.2l64.64 12L256 109.973l-47.973 47.654z"/><path fill="url(#IconifyId18e425c03bba7dc7a3)" d="M208.053 108.88L208 205.013H70.56l3.547 20.907L160.4 256l95.6-57.227z"/><path d="M47 43.771h162v162H47z"/><path fill="#FFF" d="M67.947 175.093h60v10h-60zm52.32-58.133l7.813-9.6a27.573 27.573 0 0 0 17.973 7.307c5.334 0 8.694-2.16 8.694-5.68v-.16c0-1.364-.343-2.46-1.422-3.451l-.242-.211a7.3 7.3 0 0 0-.557-.414l-.315-.204a11.058 11.058 0 0 0-.522-.302l-.382-.2a15.25 15.25 0 0 0-.201-.1l-.425-.198a20.305 20.305 0 0 0-.454-.198l-.484-.199a27.087 27.087 0 0 0-.254-.1l-.531-.198a34.56 34.56 0 0 0-.278-.1l-.58-.201l-.303-.101l-.63-.203l-.667-.205l-.702-.208c-.12-.035-.242-.07-.365-.104l-.758-.212l-.795-.215l-2.44-.633l-.766-.205l-1.126-.31l-.368-.105l-.728-.212l-.714-.215a67.125 67.125 0 0 1-.351-.11l-.694-.222l-.68-.226a50.843 50.843 0 0 1-.334-.116l-.658-.235l-.643-.24a23.119 23.119 0 0 1-.316-.124l-.622-.251l-.606-.259c-6.286-2.757-10.049-6.826-10.165-14.88l-.002-.573c0-10.792 8.59-17.981 20.68-18.131l.386-.003a34.667 34.667 0 0 1 22.347 7.654l-6.88 9.973a28.107 28.107 0 0 0-15.653-5.92c-5.067 0-7.734 2.32-7.734 5.333v.187c0 2.23.852 3.644 3.457 4.932l.414.197c.143.066.29.131.443.196l.472.195l.502.195l.533.195l.563.196l.596.198l.629.199l.662.202l1.057.308l1.137.318l1.219.328l1.303.341c.287.075.572.151.853.228l.836.232c.275.078.548.157.817.237l.8.242c.131.04.262.082.392.123l.772.25l.754.256c.372.13.737.262 1.096.397l.707.273c7.675 3.042 11.938 7.422 12.063 15.448l.003.554c0 11.947-9.12 18.667-22.106 18.667a38.27 38.27 0 0 1-25.52-9.627M68 65.333h24.533c14.15 0 22.786 8.312 22.958 20.354l.002.526c0 13.867-10.8 21.067-24.24 21.067h-9.92v17.973H68zm23.627 30.214c6.586 0 10.453-3.92 10.453-9.067v-.16c0-5.92-4.107-9.093-10.667-9.093h-10.08v18.32z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

1
assets/pinia.svg Normal file
View File

@ -0,0 +1 @@
<svg viewBox="0 0 256 331" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em"><defs><linearGradient id="a" x1="55.342%" x2="42.817%" y1="0%" y2="42.863%"><stop offset="0%" stop-color="#52CE63"/><stop offset="100%" stop-color="#51A256"/></linearGradient><linearGradient id="b" x1="55.349%" x2="42.808%" y1="0%" y2="42.863%"><stop offset="0%" stop-color="#52CE63"/><stop offset="100%" stop-color="#51A256"/></linearGradient><linearGradient id="c" x1="50%" x2="50%" y1="0%" y2="58.811%"><stop offset="0%" stop-color="#8AE99C"/><stop offset="100%" stop-color="#52CE63"/></linearGradient><linearGradient id="d" x1="51.378%" x2="44.585%" y1="17.473%" y2="100%"><stop offset="0%" stop-color="#FFE56C"/><stop offset="100%" stop-color="#FFC63A"/></linearGradient></defs><path fill="url(#a)" d="M67.56 173.328c30.366-2.985 41.08-27.648 44.735-64.823 3.654-37.175-21.174-70.814-31.502-69.799-10.328 1.015-43.15 40.322-46.805 77.497-3.654 37.175 3.205 60.11 33.572 57.125Z" transform="rotate(-38 72.877 106.136)"/><path fill="url(#b)" d="M184.454 186.277c30.367 2.986 36.394-20.032 32.74-57.207-3.655-37.175-35.645-76.4-45.973-77.415-10.328-1.015-35.989 32.542-32.334 69.717 3.654 37.175 15.201 61.92 45.567 64.905Z" transform="rotate(52 178.34 119.085)"/><path fill="url(#c)" d="M129.232 151.601c27.341 0 34.878-26.184 34.878-67.013 0-40.83-25.579-80.843-34.878-80.843S93.605 43.758 93.605 84.588c0 40.829 8.286 67.013 35.627 67.013Z" transform="rotate(7 128.858 77.673)"/><path fill="url(#d)" d="M113.386 330.307c56.896 0 103.038-16.528 103.038-91.482 0-74.955-46.142-136.462-103.038-136.462-56.897 0-103.002 61.507-103.002 136.462 0 74.954 46.105 91.482 103.002 91.482Z"/><ellipse cx="165.427" cy="216.677" fill="#EAADCC" rx="14.717" ry="6.845"/><ellipse cx="57.273" cy="212.57" fill="#EAADCC" rx="14.717" ry="6.845" transform="rotate(7 57.273 212.57)"/><path d="M96.266 210.285a2.054 2.054 0 1 0-3.406 2.295c3.151 4.676 7.997 7.39 14.373 8.119 6.348.725 12.016-.902 16.877-4.852a2.054 2.054 0 1 0-2.59-3.187c-3.999 3.249-8.563 4.559-13.82 3.958-5.23-.598-8.986-2.7-11.434-6.333ZM65.818 178.63a14.672 14.672 0 0 1 10.551 3.945 14.67 14.67 0 0 1 4.672 10.25 14.671 14.671 0 0 1-3.945 10.55 14.672 14.672 0 0 1-10.25 4.672 14.67 14.67 0 0 1-10.551-3.945 14.672 14.672 0 0 1-4.67-10.25 14.67 14.67 0 0 1 3.944-10.55 14.67 14.67 0 0 1 10.249-4.672Z"/><path fill="#FFF" d="M66.59 190.932a4.792 4.792 0 1 0-9.578.336 4.792 4.792 0 0 0 9.579-.336Z"/><path d="M154.99 182.366a14.671 14.671 0 0 1 10.552 3.944 14.67 14.67 0 0 1 4.67 10.25 14.672 14.672 0 0 1-3.944 10.551 14.67 14.67 0 0 1-10.25 4.671 14.671 14.671 0 0 1-10.55-3.945 14.671 14.671 0 0 1-4.672-10.25 14.67 14.67 0 0 1 3.945-10.55 14.671 14.671 0 0 1 10.25-4.671Z"/><path fill="#FFF" d="M65.71 175.552c9.824-.343 18.066 7.342 18.409 17.165.343 9.824-7.342 18.065-17.166 18.408-9.824.343-18.064-7.342-18.407-17.166-.343-9.823 7.341-18.064 17.164-18.407Zm12.252 17.38c-.224-6.423-5.613-11.448-12.037-11.223-6.422.224-11.447 5.612-11.222 12.035.224 6.424 5.612 11.448 12.035 11.224 6.423-.224 11.448-5.612 11.224-12.036ZM154.883 179.287c9.824-.343 18.065 7.342 18.408 17.165.343 9.824-7.342 18.065-17.165 18.408-9.824.343-18.065-7.342-18.408-17.165-.343-9.824 7.342-18.065 17.165-18.408Zm12.251 17.38c-.224-6.423-5.612-11.447-12.036-11.223-6.423.224-11.448 5.613-11.223 12.036.224 6.423 5.612 11.448 12.035 11.224 6.424-.225 11.448-5.613 11.224-12.037Z"/><path fill="#FFF" d="M155.763 194.668a4.792 4.792 0 1 0-9.578.335 4.792 4.792 0 0 0 9.578-.335Z"/><path fill="#ECB732" d="m38.083 243.16 22.33 23.235 16.022-17.044a3.765 3.765 0 0 1 5.486 5.157l-16.283 17.324 23.1 24.036a3.765 3.765 0 1 1-5.43 5.218l-22.834-23.761-10.725 11.41a3.765 3.765 0 1 1-5.486-5.158l10.986-11.688-22.595-23.511a3.765 3.765 0 1 1 5.43-5.218ZM188.04 243.16a3.765 3.765 0 1 1 5.429 5.218l-22.596 23.511 10.988 11.688a3.765 3.765 0 0 1-.042 5.201l-.123.121a3.765 3.765 0 0 1-5.322-.165l-10.725-11.41-22.834 23.762a3.765 3.765 0 0 1-5.197.222l-.127-.116a3.765 3.765 0 0 1-.105-5.324l23.1-24.036-16.284-17.324a3.765 3.765 0 0 1 .042-5.2l.123-.121a3.765 3.765 0 0 1 5.321.164l16.021 17.044 22.331-23.235Z"/><path fill="#FFC73B" d="M136.602 126.74a3.765 3.765 0 0 1 0 5.323l-17.53 17.531 10.684 10.686a3.765 3.765 0 0 1 .12 5.2l-.12.125a3.765 3.765 0 0 1-5.324 0l-10.686-10.686-10.686 10.686a3.765 3.765 0 1 1-5.324-5.325l10.685-10.686-17.53-17.53a3.765 3.765 0 0 1-.12-5.2l.12-.125a3.765 3.765 0 0 1 5.324 0l17.531 17.53 17.531-17.53a3.765 3.765 0 0 1 5.325 0Z"/></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

3
assets/pm2.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.7 KiB

12
assets/pnpm.svg Normal file
View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 156 156">
<g fill="none" fill-rule="evenodd">
<polygon fill="#F9AD00" fill-rule="nonzero" points="155.808 48.684 107.027 48.684 107.027 -.097 155.808 -.097"/>
<polygon fill="#F9AD00" fill-rule="nonzero" points="102.139 48.684 53.358 48.684 53.358 -.097 102.139 -.097"/>
<polygon fill="#F9AD00" fill-rule="nonzero" points="48 48.684 0 48.684 0 -.097 48 -.097"/>
<polygon fill="#F9AD00" fill-rule="nonzero" points="155.808 102.344 107.027 102.344 107.027 53.562 155.808 53.562"/>
<polygon fill="#4E4E4E" fill-rule="nonzero" points="102.139 102.344 53.358 102.344 53.358 53.562 102.139 53.562"/>
<polygon fill="#4E4E4E" fill-rule="nonzero" points="102.139 156.003 53.358 156.003 53.358 107.222 102.139 107.222"/>
<polygon fill="#4E4E4E" fill-rule="nonzero" points="155.808 156.003 107.027 156.003 107.027 107.222 155.808 107.222"/>
<polygon fill="#4E4E4E" fill-rule="nonzero" points="48 156.003 0 156.003 0 107.222 48 107.222"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1015 B

5
assets/powershell.svg Normal file
View File

@ -0,0 +1,5 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" height="1em" width="1em">
<path d="m64 10.5-7.11 42a4.64 4.64 0 0 1-4.62 3.5H4.44C2.24 56 .72 54.43 1 52.5l7.11-42a3.93 3.93 0 0 1 1.3-2.19A5 5 0 0 1 12.73 7h47.83a3.25 3.25 0 0 1 3.35 2.32A2.73 2.73 0 0 1 64 10.5z" fill="#0078d7"/>
<path fill="#fff" d="M17.72 49.6a2.43 2.43 0 0 1-1.45-4.38l20.54-15.11L22 16.18a2.42 2.42 0 0 1-.1-3.43 2.45 2.45 0 0 1 3.45-.1l17 15.92a2.42 2.42 0 0 1-.22 3.72L19.17 49.13a2.44 2.44 0 0 1-1.45.47zm26.87.4H33.41a2.5 2.5 0 0 1 0-5h11.18a2.5 2.5 0 0 1 0 5z"/>
<path fill="#fff" d="m63.91 9.32-7.06 42.27a4 4 0 0 1-.95 2C44.76 42.64 21.52 19.89 9.41 8.31A5 5 0 0 1 12.73 7h47.83a3.25 3.25 0 0 1 3.35 2.32z" opacity=".25"/>
</svg>

After

Width:  |  Height:  |  Size: 760 B

3
assets/pycharm.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M7.833 6.666v-.055c0-1-.667-1.5-1.778-1.5H4.389v3.055h1.723c1.111 0 1.721-.666 1.721-1.5zM0 0v24h24V0H0zm2.223 3.167h4c2.389 0 3.833 1.389 3.833 3.445v.055c0 2.278-1.778 3.5-4.001 3.5H4.389v2.945H2.223V3.167zM11.277 21h-9v-1.5h9V21zm4.779-7.777c-2.944.055-5.111-2.223-5.111-5.057C10.944 5.333 13.056 3 16.111 3c1.889 0 3 .611 3.944 1.556l-1.389 1.61c-.778-.722-1.556-1.111-2.556-1.111-1.658 0-2.873 1.375-2.887 3.084.014 1.709 1.174 3.083 2.887 3.083 1.111 0 1.833-.445 2.61-1.167l1.39 1.389c-.999 1.112-2.166 1.779-4.054 1.779z"/>
</svg>

After

Width:  |  Height:  |  Size: 656 B

1
assets/r.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12 4.29c-5.5 0-10 3-10 6.71c0 3.28 3.56 6 8.24 6.58v2.13h3.41v-2.12c.85-.09 1.64-.25 2.39-.48l1.38 2.6h3.86l-2.32-3.91C20.83 14.58 22 12.87 22 11c0-3.71-4.5-6.71-10-6.71m1.53 2.62c4.2 0 7.3 1.4 7.3 4.59c0 1.71-.92 2.91-2.42 3.65c-.09-.05-.17-.1-.22-.15c-.36-.16-.96-.34-.96-.34s2.98-.22 2.98-3.19c0-2.97-3.12-3.02-3.12-3.02h-6.85v7.16c-2.55-.74-4.31-2.31-4.31-4.11c0-2.54 3.4-4.59 7.6-4.59m.15 3.98h2.07s.95-.05.95.94c0 .97-.95.97-.95.97h-2.07zm-.03 4.41h.92c.18 0 .27.05.43.2c.13.1.27.29.39.46c-.55.07-1.13.1-1.74.1z"/></svg>

After

Width:  |  Height:  |  Size: 641 B

4
assets/reactrouter.svg Normal file
View File

@ -0,0 +1,4 @@
<svg viewBox="0 0 256 140" fill="currentColor" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" height="1em" width="1em">
<path d="M78.066 92.588c12.818 0 23.209-10.391 23.209-23.21 0-12.817-10.391-23.208-23.21-23.208-12.817 0-23.208 10.39-23.208 23.209 0 12.818 10.391 23.209 23.209 23.209Zm-54.857 46.417c12.818 0 23.209-10.39 23.209-23.209 0-12.817-10.391-23.208-23.21-23.208C10.392 92.588 0 102.978 0 115.796c0 12.818 10.39 23.21 23.209 23.21Zm209.582 0c12.818 0 23.209-10.39 23.209-23.209 0-12.817-10.39-23.208-23.209-23.208-12.818 0-23.209 10.39-23.209 23.208 0 12.818 10.391 23.21 23.21 23.21Z"/>
<path d="M156.565 70.357c-.742-7.754-1.12-14.208-7.06-18.744-7.522-5.744-16.044-2.017-26.54-5.806C112.65 43.312 105 34.155 105 23.24 105 10.405 115.578 0 128.626 0c9.665 0 17.974 5.707 21.634 13.883 5.601 10.64 1.96 21.467 8.998 26.921 8.333 6.458 19.568 1.729 32.104 7.848a23.614 23.614 0 0 1 9.84 8.425A22.858 22.858 0 0 1 205 69.718c0 10.915-7.65 20.073-17.964 22.568-10.497 3.789-19.019.062-26.541 5.806-8.46 6.46-3.931 17.267-10.826 28.682-3.913 7.518-11.867 12.663-21.043 12.663-13.048 0-23.626-10.405-23.626-23.24 0-9.323 5.582-17.364 13.638-21.066 12.536-6.12 23.77-1.39 32.104-7.848 4.807-3.726 5.823-9.473 5.823-16.926Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

11
assets/redis.svg Normal file
View File

@ -0,0 +1,11 @@
<svg viewBox="0 0 256 220" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" height="1em" width="1em">
<path d="M245.97 168.943c-13.662 7.121-84.434 36.22-99.501 44.075-15.067 7.856-23.437 7.78-35.34 2.09-11.902-5.69-87.216-36.112-100.783-42.597C3.566 169.271 0 166.535 0 163.951v-25.876s98.05-21.345 113.879-27.024c15.828-5.679 21.32-5.884 34.79-.95 13.472 4.936 94.018 19.468 107.331 24.344l-.006 25.51c.002 2.558-3.07 5.364-10.024 8.988" fill="#912626"/>
<path d="M245.965 143.22c-13.661 7.118-84.431 36.218-99.498 44.072-15.066 7.857-23.436 7.78-35.338 2.09-11.903-5.686-87.214-36.113-100.78-42.594-13.566-6.485-13.85-10.948-.524-16.166 13.326-5.22 88.224-34.605 104.055-40.284 15.828-5.677 21.319-5.884 34.789-.948 13.471 4.934 83.819 32.935 97.13 37.81 13.316 4.881 13.827 8.9.166 16.02" fill="#C6302B"/>
<path d="M245.97 127.074c-13.662 7.122-84.434 36.22-99.501 44.078-15.067 7.853-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.112-100.783-42.597C3.566 127.402 0 124.67 0 122.085V96.206s98.05-21.344 113.879-27.023c15.828-5.679 21.32-5.885 34.79-.95C162.142 73.168 242.688 87.697 256 92.574l-.006 25.513c.002 2.557-3.07 5.363-10.024 8.987" fill="#912626"/>
<path d="M245.965 101.351c-13.661 7.12-84.431 36.218-99.498 44.075-15.066 7.854-23.436 7.777-35.338 2.087-11.903-5.686-87.214-36.112-100.78-42.594-13.566-6.483-13.85-10.947-.524-16.167C23.151 83.535 98.05 54.148 113.88 48.47c15.828-5.678 21.319-5.884 34.789-.949 13.471 4.934 83.819 32.933 97.13 37.81 13.316 4.88 13.827 8.9.166 16.02" fill="#C6302B"/>
<path d="M245.97 83.653c-13.662 7.12-84.434 36.22-99.501 44.078-15.067 7.854-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.113-100.783-42.595C3.566 83.98 0 81.247 0 78.665v-25.88s98.05-21.343 113.879-27.021c15.828-5.68 21.32-5.884 34.79-.95C162.142 29.749 242.688 44.278 256 49.155l-.006 25.512c.002 2.555-3.07 5.361-10.024 8.986" fill="#912626"/>
<path d="M245.965 57.93c-13.661 7.12-84.431 36.22-99.498 44.074-15.066 7.854-23.436 7.777-35.338 2.09C99.227 98.404 23.915 67.98 10.35 61.497-3.217 55.015-3.5 50.55 9.825 45.331 23.151 40.113 98.05 10.73 113.88 5.05c15.828-5.679 21.319-5.883 34.789-.948 13.471 4.935 83.819 32.934 97.13 37.811 13.316 4.876 13.827 8.897.166 16.017" fill="#C6302B"/>
<path d="m159.283 32.757-22.01 2.285-4.927 11.856-7.958-13.23-25.415-2.284 18.964-6.839-5.69-10.498 17.755 6.944 16.738-5.48-4.524 10.855 17.067 6.391m-28.251 57.518L89.955 73.238l58.86-9.035-17.783 26.072m-56.95-50.928c17.375 0 31.46 5.46 31.46 12.194 0 6.736-14.085 12.195-31.46 12.195s-31.46-5.46-31.46-12.195c0-6.734 14.085-12.194 31.46-12.194" fill="#FFF"/>
<path d="m185.295 35.998 34.836 13.766-34.806 13.753-.03-27.52" fill="#621B1C"/>
<path d="m146.755 51.243 38.54-15.245.03 27.519-3.779 1.478-34.791-13.752" fill="#9A2928"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

27
assets/rxjs.svg Normal file
View File

@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 255 255">
<defs>
<linearGradient id="a" x1="11.935%" x2="62.881%" y1="90.18%" y2="37.177%">
<stop offset="0%" stop-color="#E01D84"/>
<stop offset="40.1%" stop-color="#DF1D85"/>
<stop offset="77%" stop-color="#932C87"/>
<stop offset="100%" stop-color="#5D2F88"/></linearGradient>
<linearGradient id="c" x1="-.146%" x2="99.946%" y1="49.99%" y2="49.99%">
<stop offset="0%" stop-color="#E01D84"/>
<stop offset="23.8%" stop-color="#DA1E85"/>
<stop offset="65.8%" stop-color="#C72085"/>
<stop offset="99.9%" stop-color="#B52284"/></linearGradient>
<radialGradient id="b" cx="77.558%" cy="33.251%" r="77.293%" fx="77.558%" fy="33.251%" gradientTransform="matrix(.7343 .0024 -.00176 1 .207 -.002)">
<stop offset="0%" stop-color="#E01D84"/>
<stop offset="13.9%" stop-color="#DE1E85"/>
<stop offset="28.5%" stop-color="#D62085"/>
<stop offset="43.4%" stop-color="#C92386"/>
<stop offset="58.6%" stop-color="#B72786"/>
<stop offset="73.9%" stop-color="#9D2B87"/>
<stop offset="89.1%" stop-color="#7C2E88"/>
<stop offset="100%" stop-color="#5D2F88"/></radialGradient></defs>
<g fill="none" transform="translate(1 2)">
<path fill="#E32286" d="M14.6140689,158.580855 C9.41406892,142.380855 7.91406892,125.280855 10.9140689,107.680855 C12.2140689,100.380855 14.2140689,93.3808546 16.4140689,86.2808546 C16.4140689,86.2808546 30.2140689,40.9808546 76.9140689,20.2808546 C76.9140689,20.2808546 93.0140689,11.7808546 117.214069,11.1808546 C117.214069,11.1808546 113.914069,7.98085459 111.814069,6.58085459 C100.414069,-1.01914541 83.4140689,-3.51914541 73.1140689,7.18085459 C70.0140689,10.3808546 67.4140689,13.8808546 64.5140689,17.0808546 C61.2140689,20.6808546 57.2140689,23.6808546 52.6140689,25.3808546 C48.6140689,26.8808546 44.6140689,26.5808546 40.5140689,27.2808546 C36.3140689,27.9808546 32.0140689,29.4808546 28.6140689,32.1808546 C24.9140689,35.1808546 23.4140689,39.1808546 23.0140689,43.7808546 C22.6140689,47.3808546 22.7140689,51.0808546 22.5140689,54.6808546 C22.0140689,65.2808546 18.6140689,68.2808546 11.0140689,74.1808546 C7.81406892,76.5808546 5.11406892,79.7808546 3.11406892,83.1808546 C-2.88593108,93.7808546 6.71406892,104.780855 7.21406892,115.480855 C7.31406892,117.680855 7.11406892,119.880855 6.31406892,121.980855 C5.51406892,124.280855 3.91406892,125.780855 2.61406892,127.680855 C0.814068923,130.180855 -0.385931077,133.180855 0.114068923,136.280855 C0.614068923,139.380855 2.21406892,142.280855 3.71406892,144.980855 C6.61406892,149.780855 10.2140689,154.080855 14.0140689,158.180855 C14.2140689,158.180855 14.4140689,158.380855 14.6140689,158.580855"/>
<path fill="url(#a)" d="M205.414069,196.980855 C228.414069,186.980855 238.214069,169.680855 238.214069,169.680855 C259.714069,140.380855 252.414069,109.480855 252.414069,109.480855 C238.714069,139.280855 226.214069,147.480855 226.214069,147.480855 C259.914069,96.1808546 226.414069,65.1808546 226.414069,65.1808546 C240.114069,94.3808546 221.914069,129.980855 221.914069,129.980855 C206.614069,162.180855 184.914069,173.680855 184.914069,173.680855 C209.114069,178.180855 226.914069,161.880855 226.914069,161.880855 C192.214069,199.380855 154.614069,197.580855 154.614069,197.580855 C170.414069,215.280855 194.114069,213.780855 194.114069,213.780855 C163.114069,221.080855 134.014069,210.780855 110.114069,190.880855 C105.614069,187.180855 101.314069,183.180855 97.3140689,178.880855 C97.3140689,178.880855 93.7140689,175.080855 93.0140689,174.080855 L92.9140689,173.980855 C92.4140689,192.480855 111.714069,209.680855 111.714069,209.680855 C87.5140689,199.680855 76.4140689,177.980855 76.4140689,177.980855 C76.4140689,177.980855 60.1140689,150.180855 71.9140689,118.480855 C83.7140689,86.7808546 119.414069,79.9808546 119.414069,79.9808546 C148.914069,94.2808546 173.914069,98.7808546 173.914069,98.7808546 C226.614069,107.580855 223.614069,81.7808546 223.614069,81.7808546 C224.114069,59.5808546 190.614069,35.9808546 190.614069,35.9808546 C130.914069,-8.31914541 76.9140689,20.2808546 76.9140689,20.2808546 C30.2140689,40.9808546 16.4140689,86.2808546 16.4140689,86.2808546 C14.2140689,93.3808546 12.2140689,100.380855 10.9140689,107.680855 C5.81406892,137.380855 13.5140689,165.480855 30.2140689,190.480855 C56.2140689,229.280855 98.4140689,242.680855 98.4140689,242.680855 C160.914069,263.880855 203.614069,232.680855 203.614069,232.680855 C242.914069,205.680855 250.814069,174.480855 250.814069,174.480855 C219.114069,199.280855 205.414069,196.980855 205.414069,196.980855 Z M156.614069,51.0808546 C159.614069,51.0808546 162.014069,53.4808546 162.014069,56.4808546 C162.014069,59.4808546 159.614069,61.8808546 156.614069,61.8808546 C153.614069,61.8808546 151.214069,59.4808546 151.214069,56.4808546 C151.214069,53.4808546 153.614069,51.0808546 156.614069,51.0808546 Z"/>
<path fill="url(#b)" d="M223.514069,81.6808546 C224.014069,59.4808546 190.514069,35.8808546 190.514069,35.8808546 C130.814069,-8.31914541 76.8140689,20.2808546 76.8140689,20.2808546 C30.1140689,40.9808546 16.3140689,86.2808546 16.3140689,86.2808546 C13.6140689,93.9808546 11.2140689,105.780855 11.2140689,105.780855 C8.31406892,120.580855 9.61406892,134.280855 9.61406892,134.280855 C10.8140689,147.380855 13.7140689,156.180855 13.7140689,156.180855 C16.7140689,165.580855 18.1140689,168.480855 18.1140689,168.480855 C18.0140689,168.180855 17.5140689,165.980855 17.5140689,165.980855 C17.5140689,165.980855 13.3140689,145.780855 17.2140689,126.380855 C17.2140689,126.380855 20.6140689,106.180855 34.4140689,90.5808546 C34.4140689,90.5808546 56.8140689,58.6808546 98.5140689,71.1808546 C98.5140689,71.1808546 107.514069,74.3808546 110.614069,75.9808546 C113.714069,77.4808546 119.114069,79.7808546 119.114069,79.7808546 C148.614069,94.0808546 173.614069,98.5808546 173.614069,98.5808546 C226.514069,107.480855 223.514069,81.6808546 223.514069,81.6808546 L223.514069,81.6808546 Z M156.614069,61.9808546 C153.614069,61.9808546 151.214069,59.5808546 151.214069,56.5808546 C151.214069,53.5808546 153.614069,51.1808546 156.614069,51.1808546 C159.614069,51.1808546 162.014069,53.5808546 162.014069,56.5808546 C162.014069,59.5808546 159.614069,61.9808546 156.614069,61.9808546 Z"/>
<path fill="url(#c)" d="M122.414069,41.4808546 L88.3140689,30.8808546 C88.1140689,30.8808546 87.1140689,30.3808546 85.3140689,30.8808546 C85.3140689,30.8808546 65.2140689,35.9808546 68.7140689,46.9808546 C68.7140689,46.9808546 70.8140689,53.8808546 76.5140689,60.5808546 L114.014069,58.7808546 L122.414069,41.4808546 Z"/></g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

3
assets/scala.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 32 32" height="1em" width="1em">
<path d="M6.12 32c6.047 0 18.411-2.021 19.76-4v-7.641c-1.276 1.88-13.714 3.885-19.76 3.885zm0-10.182c6.047 0 18.411-2.021 19.76-4v-7.635c-1.276 1.875-13.714 3.88-19.76 3.88zm0-10.177c6.047 0 18.411-2.021 19.76-4V0C24.604 1.875 12.166 3.88 6.12 3.88z"/>
</svg>

After

Width:  |  Height:  |  Size: 367 B

3
assets/springboot.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" height="1em" width="1em">
<path d="M20.205 16.392c-2.469 3.289-7.741 2.179-11.122 2.338 0 0-.599.034-1.201.133 0 0 .228-.097.519-.198 2.374-.821 3.496-.986 4.939-1.727 2.71-1.388 5.408-4.413 5.957-7.555-1.032 3.022-4.17 5.623-7.027 6.679-1.955.722-5.492 1.424-5.493 1.424a5.28 5.28 0 0 1-.143-.076c-2.405-1.17-2.475-6.38 1.894-8.059 1.916-.736 3.747-.332 5.818-.825 2.208-.525 4.766-2.18 5.805-4.344 1.165 3.458 2.565 8.866.054 12.21zm.042-13.28a9.212 9.212 0 0 1-1.065 1.89 9.982 9.982 0 0 0-7.167-3.031C6.492 1.971 2 6.463 2 11.985a9.983 9.983 0 0 0 3.205 7.334l.22.194a.856.856 0 1 1 .001.001l.149.132A9.96 9.96 0 0 0 12.015 22c5.278 0 9.613-4.108 9.984-9.292.274-2.539-.476-5.763-1.752-9.596" />
</svg>

After

Width:  |  Height:  |  Size: 790 B

25
assets/sqlite.svg Normal file
View File

@ -0,0 +1,25 @@
<svg viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<g clip-path="url(#a)">
<path
d="M60 0C26.863 0 0 26.863 0 60v136c0 33.137 26.863 60 60 60h108.46c-1.779-5.243-3.172-13.546-3.956-23.023-.675-8.152-.899-17.171-.525-25.87-.101-1.286-.162-2.122-.162-2.122s-1.874-12.61-4.571-22.969c-1.194-4.598-2.553-8.756-3.98-11.166-.735-1.243.08-6.351 2.131-13.916 1.2 2.071 6.263 10.932 7.28 13.788 1.145 3.228 1.385 4.153 1.385 4.153s-2.777-14.272-7.333-22.6a303.417 303.417 0 0 1 3.542-11.066c1.578 2.767 5.165 9.121 6.461 12.132.12.279.228.541.307.757.184.522.339.965.478 1.371.731 2.118.909 2.792.909 2.792s-.271-1.386-.775-3.524c-.213-.903-.478-1.965-.773-3.096-1.148-4.409-2.892-10.181-5.125-14.704 5.732-29.794 24.181-68.807 44.057-89.868 1.713-1.814 3.434-3.511 5.158-5.041 11.619-10.3 23.392-13.78 33.115-5.118 7.034 6.267 9.912 14.925 9.917 24.89V60c0-33.137-26.863-60-60-60H60Z"
fill="#D9D9D9" />
<path
d="M60 0C26.863 0 0 26.863 0 60v136c0 33.137 26.863 60 60 60h108.46c-1.779-5.243-3.172-13.546-3.956-23.023-.675-8.152-.899-17.171-.525-25.87-.101-1.286-.162-2.122-.162-2.122s-1.874-12.61-4.571-22.969c-1.194-4.598-2.553-8.756-3.98-11.166-.735-1.243.08-6.351 2.131-13.916 1.2 2.071 6.263 10.932 7.28 13.788 1.145 3.228 1.385 4.153 1.385 4.153s-2.777-14.272-7.333-22.6a303.417 303.417 0 0 1 3.542-11.066c1.578 2.767 5.165 9.121 6.461 12.132.12.279.228.541.307.757.184.522.339.965.478 1.371.731 2.118.909 2.792.909 2.792s-.271-1.386-.775-3.524c-.213-.903-.478-1.965-.773-3.096-1.148-4.409-2.892-10.181-5.125-14.704 5.732-29.794 24.181-68.807 44.057-89.868 1.713-1.814 3.434-3.511 5.158-5.041 11.619-10.3 23.392-13.78 33.115-5.118 7.034 6.267 9.912 14.925 9.917 24.89V60c0-33.137-26.863-60-60-60H60Z"
fill="url(#b)" />
<path
d="M246.083 36.91c-9.723-8.662-21.496-5.183-33.115 5.118-1.724 1.53-3.445 3.227-5.158 5.04-19.876 21.063-38.325 60.075-44.057 89.869 2.233 4.523 3.977 10.295 5.125 14.704.295 1.131.56 2.193.773 3.096.504 2.138.775 3.524.775 3.524s-.178-.674-.909-2.792c-.139-.406-.294-.849-.478-1.371a15.467 15.467 0 0 0-.307-.757c-1.296-3.011-4.883-9.365-6.461-12.132a303.417 303.417 0 0 0-3.542 11.066c4.556 8.328 7.333 22.6 7.333 22.6s-.24-.925-1.385-4.153c-1.017-2.856-6.08-11.717-7.28-13.788-2.051 7.565-2.866 12.673-2.131 13.916 1.427 2.41 2.786 6.568 3.98 11.166 2.697 10.359 4.571 22.969 4.571 22.969s.061.836.162 2.122c-.374 8.699-.15 17.718.525 25.87.893 10.791 2.575 20.062 4.719 25.023l1.455-.793c-3.148-9.774-4.427-22.584-3.867-37.358.847-22.581 6.05-49.813 15.662-78.196 16.24-42.847 38.772-77.224 59.394-93.642-18.796 16.956-44.235 71.839-51.85 92.163-8.526 22.759-14.569 44.117-18.21 64.579 6.283-19.183 26.598-27.429 26.598-27.429s9.964-12.274 21.608-29.81c-6.975 1.589-18.428 4.309-22.265 5.919-5.658 2.371-7.183 3.18-7.183 3.18s18.33-11.15 34.056-16.198c21.628-34.025 45.19-82.362 21.462-103.505M28.52 49c-3.063 0-5.554.895-7.463 2.683-1.91 1.79-2.878 4.137-2.878 7.012 0 1.49.24 2.848.714 4.093.474 1.247 1.212 2.403 2.203 3.447.992 1.045 2.977 2.465 5.936 4.27 3.63 2.186 6.005 3.96 7.145 5.346 1.141 1.385 1.707 2.836 1.707 4.348 0 2.026-.675 3.642-2.064 4.858-1.391 1.215-3.251 1.82-5.558 1.82-2.433 0-4.552-.845-6.372-2.526-1.82-1.682-2.738-3.908-2.759-6.698H18V87.78h1.131c.346-.959.824-1.45 1.45-1.45.3 0 1.005.205 2.104.588 2.671.938 4.865 1.39 6.59 1.39 2.971 0 5.508-1.026 7.622-3.114 2.11-2.086 3.176-4.602 3.176-7.54 0-2.278-.704-4.305-2.084-6.071-1.381-1.769-4.066-3.826-8.08-6.19-3.452-2.046-5.694-3.713-6.728-5.013-1.036-1.298-1.568-2.733-1.568-4.309 0-1.704.634-3.072 1.885-4.093 1.252-1.022 2.891-1.528 4.943-1.528 2.309 0 4.233.676 5.756 2.037 1.521 1.363 2.401 3.252 2.66 5.68h1.132v-8.774h-1.053c-.128.447-.247.733-.357.861-.106.128-.311.196-.615.196-.366 0-1.019-.152-1.945-.45-1.985-.66-3.816-.999-5.499-.999Zm36.98 0c-3.733 0-7.121.868-10.183 2.605-3.066 1.734-5.493 4.14-7.285 7.207-1.79 3.066-2.68 6.323-2.68 9.793 0 4.662 1.547 8.816 4.665 12.456 3.12 3.638 6.858 5.905 11.195 6.777.992.51 2.41 1.826 4.268 3.956 2.093 2.404 3.864 4.138 5.32 5.17a16.074 16.074 0 0 0 4.684 2.292c1.661.499 3.457.744 5.4.744 2.351 0 4.457-.403 6.311-1.234l-.416-1.018a10.184 10.184 0 0 1-3.434.568c-1.642 0-3.3-.534-4.963-1.606-1.66-1.075-3.736-3.125-6.213-6.15-1.164-1.45-1.967-2.364-2.421-2.722 4.745-.915 8.648-3.184 11.691-6.816 3.043-3.63 4.565-7.774 4.565-12.417 0-5.514-1.988-10.147-5.935-13.925C76.12 50.9 71.262 49 65.5 49Zm23.085 0 .06 1.195c2.484 0 3.876.722 4.188 2.174.115.52.169 1.478.178 2.86l-.02 26.42c-.02 1.973-.305 3.233-.853 3.78-.549.543-1.476.882-2.819 1.018l-.06 1.195h24.773l.635-5.993h-1.131c-.323 1.632-1.064 2.802-2.243 3.466-1.183.67-3.273 1-6.293 1h-2.342c-2.717 0-4.289-.97-4.704-2.92a6.011 6.011 0 0 1-.12-1.253l.1-26.714c0-1.97.252-3.29.774-3.937.528-.643 1.48-1.004 2.858-1.096L101.507 49H88.585Zm-22.688 1.45c4.21 0 7.647 1.635 10.302 4.935 2.654 3.3 3.97 7.824 3.97 13.553 0 5.428-1.335 9.774-4.01 13.044-2.675 3.268-6.235 4.896-10.66 4.896-4.25 0-7.696-1.679-10.34-5.053-2.643-3.374-3.95-7.755-3.95-13.142 0-5.535 1.323-9.967 3.989-13.279 2.665-3.308 6.233-4.955 10.699-4.955Zm56.968 5.679c-.604 0-1.065.201-1.409.607-.353.404-.461.894-.338 1.489.119.576.449 1.082.973 1.508.521.425 1.083.646 1.687.646.584 0 1.03-.221 1.35-.646.32-.426.417-.931.298-1.508-.124-.595-.442-1.085-.933-1.489-.497-.406-1.044-.607-1.628-.607Zm16.336 4.054c-1.027 3.897-3.252 6.006-6.669 6.346l.039 1.116h3.99l-.079 13.2c.006 2.258.076 3.76.238 4.525.393 1.83 1.605 2.761 3.632 2.761 2.934 0 6.012-1.763 9.23-5.288l-.972-.822c-2.324 2.32-4.379 3.486-6.173 3.486-1.103 0-1.787-.626-2.045-1.86a4.658 4.658 0 0 1-.099-1.058l.04-14.944h6.093l-.059-1.782h-6.015v-5.68h-1.151Zm23.561 4.975c-3.408 0-6.181 1.632-8.336 4.877-2.145 3.25-2.809 6.85-1.965 10.81.496 2.32 1.484 4.12 2.997 5.387 1.51 1.267 3.426 1.9 5.716 1.9 2.133 0 5.103-.534 6.352-1.607 1.253-1.072 2.408-2.81 3.474-5.19l-.854-.881c-1.7 3.087-5.133 4.642-7.721 4.642-3.559 0-5.738-1.927-6.55-5.758a13.745 13.745 0 0 1-.239-1.567c4.234-.662 7.442-1.833 9.608-3.526 2.163-1.693 4.336-3.489 3.93-5.386-.242-1.127-.835-2.013-1.747-2.683-.924-.67-3.324-1.018-4.665-1.018Zm-37.257.137-7.344 1.665v1.292l2.54-.313c1.231 0 1.955.55 2.184 1.645.077.367.125.881.139 1.528l-.08 11.849c-.02 1.64-.205 2.593-.575 2.879-.374.287-1.36.43-2.958.43l-.04 1.117h11.652l-.02-1.116c-1.619 0-2.668-.126-3.136-.372-.46-.245-.776-.69-.913-1.371-.106-.492-.152-1.338-.159-2.507l.04-16.726h-1.33Zm35.392 2.194c.709 0 1.394.27 2.084.802.68.531 1.095 1.122 1.23 1.763.665 3.15-2.166 5.328-8.535 6.542-.182-2.297.222-4.383 1.251-6.268 1.021-1.883 2.351-2.84 3.97-2.84Z"
fill="#003B57" />
</g>
<defs>
<linearGradient id="b" x1="147.614" y1="5.239" x2="147.614" y2="241.763"
gradientUnits="userSpaceOnUse">
<stop stop-color="#97D9F6" />
<stop offset=".92" stop-color="#0F80CC" />
<stop offset="1" stop-color="#0F80CC" />
</linearGradient>
<clipPath id="a">
<rect width="256" height="256" rx="60" fill="#fff" />
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

1
assets/stylex.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 0 151 180"><g fill="none"><path fill="#5BD3F3" d="M123.054863 93.4254443C124.041858 95.7626109 128.450105 105.044084 129.355779 107.321152 123.84289 116.561307 122.549601 118.95899 111.024753 133.60593 64.1232983 182.705627 27.9371992 190.639891 5.76263041 167.701852 3.59627766 165.361764 1.67512566 162.319274 0 158.574382.471825684 159.433291 1.09514745 160.379843 1.86996531 161.414039L2.15025371 161.78256C2.19772524 161.844746 2.24602235 161.906931 2.29473227 161.969534L2.59359648 162.349323 2.90484457 162.735791 3.22888933 163.12977 3.56531797 163.530845 3.91454328 163.939431 4.27615246 164.355113 4.65014553 164.77789 5.03734806 165.208179 5.23549007 165.426036 5.64126842 165.867176 5.84890474 166.090459 6.2732589 166.542451 6.49038953 166.771159C33.8818726 191.84228 61.2048315 170.332834 98.3027967 128.773838 103.902786 122.190123 112.153337 110.407464 123.054863 93.4254443ZM137.380118 14.1032604C154.739423 29.1884191 154.739423 52.5968124 141.717364 86.0295639 140.719637 83.5713654 136.323774 73.7444144 135.221609 71.226952 145.472981 42.8320467 145.710752 29.3332399 130.967334 15.8715774 122.485617 8.12762615 116.462513 7.80876984 104.995043 9.69477985L104.244168 9.82123726C104.118678 9.84252217 103.992775 9.86464178 103.866872 9.8867614L103.107328 10.0236526 102.342004 10.1663867 101.956866 10.2402579 92.9145722 12.0507273 92.9145722 12.0340333 93.1139526 11.9605794C111.260459 5.27670019 126.843916 4.74249067 137.380118 14.1032604L137.380118 14.1032604Z"/><path fill="#D573DE" d="M125.890167,63.5141248 C153.449324,115.583313 155.188797,143.75817 146.009025,163.468062 C142.702042,170.570383 134.455253,175.478804 130.907687,177.387749 C122.003636,182.178957 103.568032,179.793293 87.0876824,174.955283 L84.6173661,173.901615 C92.8984649,176.570162 110.89548,180.056296 120.598168,177.387749 C152.463016,168.623747 148.671973,130.669324 116.64467,71.0621007 C84.6173661,11.4548774 49.5757474,-4.8960329 21.9537585,6.3426811 C19.3015581,7.42161421 16.9891503,8.8960871 15,10.7226111 L15.212887,10.4952275 L15.6399012,10.0462588 L15.853615,9.82508786 L16.282696,9.38854448 C19.3635641,6.29215141 22.5576963,3.87542408 25.8493845,2.76294257 C50.8282672,-5.6788289 93.7099159,2.71324123 125.890167,63.5141248 Z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

3
assets/subversion.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 14 14" height="1em" width="1em">
<path d="M13 11.377V8.223c-1.643.648-3.681 1.278-6.115 1.893-2.267.573-4.229.986-5.885 1.238v.022h12zM1 8.038v2.566a51.332 51.332 0 0 0 5.065-.983c1.481-.374 2.623-.738 3.424-1.09.8-.351 1.17-.648 1.11-.89-.054-.21-.424-.318-1.109-.323-.351.005-.835.03-1.452.075-.618.045-1.387.117-2.305.213-1.425.152-2.608.269-3.55.348-.448.037-.842.066-1.183.085Zm.517 1.475c.03 0 .058.013.08.035a.116.116 0 0 1-.128.191.117.117 0 0 1-.037-.025.072.072 0 0 1-.025-.037c0-.008-.008-.023-.008-.045 0-.03.015-.06.037-.083.023-.022.053-.03.09-.03zm.406 0a.12.12 0 0 1 .082.035.115.115 0 0 1 .033.083c0 .033-.011.06-.034.084a.135.135 0 0 1-.135.024.097.097 0 0 1-.038-.025c-.014-.007-.022-.022-.03-.037-.007-.008-.007-.023-.007-.045 0-.03.007-.06.03-.083a.112.112 0 0 1 .082-.03zm-.405-.755c.03 0 .057.011.08.035.023.022.035.05.035.083 0 .031-.012.06-.035.082a.114.114 0 0 1-.082.035.114.114 0 0 1-.084-.035.115.115 0 0 1-.035-.082c0-.034.008-.062.03-.085a.117.117 0 0 1 .083-.034Zm.405 0c.031 0 .058.011.082.035.022.022.033.05.033.083 0 .031-.011.06-.034.082-.03.022-.053.035-.09.035a.106.106 0 0 1-.083-.035.118.118 0 0 1-.037-.082c0-.034.007-.062.03-.085a.116.116 0 0 1 .082-.034ZM13 3.299v2.406c-.818.05-1.84.138-3.069.267-1.245.135-2.26.24-3.046.307-.788.075-1.357.114-1.705.12-.682.016-1.045-.075-1.098-.277-.053-.224.353-.524 1.223-.885.87-.367 2.025-.735 3.45-1.095a43.649 43.649 0 0 1 4.244-.825zm-.428-.675a81.77 81.77 0 0 0-5.056 1.115C4.793 4.426 2.622 5.11 1 5.787V2.624h11.573z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

3
assets/tailwindcss.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
<path d="M7.5 2.5c-1.026 0-1.908.277-2.6.87-.688.59-1.137 1.447-1.387 2.516a.5.5 0 0 0 .897.4c.316-.452.632-.723.936-.863.294-.135.611-.162.975-.065.366.098.65.386 1.095.87l.015.016c.336.365.745.81 1.305 1.156.582.359 1.305.6 2.264.6 1.026 0 1.908-.277 2.6-.87.688-.59 1.138-1.447 1.387-2.516a.5.5 0 0 0-.897-.4c-.316.452-.632.723-.936.863-.294.135-.611.162-.975.065-.366-.098-.65-.386-1.095-.87l-.015-.016c-.336-.365-.745-.81-1.305-1.156-.582-.359-1.305-.6-2.264-.6ZM4 7c-1.026 0-1.908.277-2.6.87C.712 8.46.263 9.317.013 10.386a.5.5 0 0 0 .897.4c.316-.452.632-.723.936-.863.294-.135.611-.162.975-.065.366.098.65.386 1.095.87l.015.016c.336.365.745.81 1.305 1.156.582.359 1.305.6 2.264.6 1.026 0 1.908-.277 2.6-.87.688-.59 1.138-1.447 1.387-2.516a.5.5 0 0 0-.897-.4c-.316.452-.632.723-.936.863-.294.135-.611.162-.975.065-.366-.098-.65-.386-1.095-.87l-.015-.016c-.335-.365-.745-.81-1.305-1.156C5.682 7.24 4.959 7 4 7Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

6
assets/tauri.svg Normal file
View File

@ -0,0 +1,6 @@
<svg viewBox="0 0 256 289" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" height="1em" width="1em">
<path d="M178.497 104.93c0 15.155-12.285 27.44-27.44 27.44-15.153 0-27.438-12.285-27.438-27.44 0-15.153 12.285-27.438 27.439-27.438s27.439 12.285 27.439 27.439Z" fill="#FFC131"/>
<circle fill="#24C8DB" transform="rotate(180 104.91 183.505)" cx="104.911" cy="183.505" r="27.439"/>
<path d="M207.93 192.86a104.766 104.766 0 0 1-36.168 14.717 73.586 73.586 0 0 0 3.617-33.176c29.953-10.472 49.82-38.964 49.292-70.69-.53-31.727-21.336-59.542-51.622-69.008-30.286-9.467-63.23 1.546-81.733 27.324a122.227 122.227 0 0 0-40.16 11.723C64.86 29.536 105.956-.445 152.244.005c46.288.45 86.794 31.224 99.636 75.697 12.841 44.473-5.026 92.103-43.95 117.157ZM52.404 92.832l25.693 3.118a73.586 73.586 0 0 1 3.243-14.593 104.766 104.766 0 0 0-28.936 11.475Z" fill="#FFC131"/>
<path d="M47.913 95.577a104.766 104.766 0 0 1 36.419-14.842 73.46 73.46 0 0 0-4.116 33.3c-29.847 10.619-49.549 39.148-48.906 70.822.642 31.673 21.484 59.38 51.738 68.78 30.253 9.399 63.127-1.62 81.604-27.352a122.227 122.227 0 0 0 40.16-11.6c-13.736 44.169-54.812 74.1-101.064 73.645-46.252-.453-86.733-31.184-99.602-75.612-12.87-44.427 4.92-92.037 43.768-117.141Zm155.528 100.026-.5.25.5-.25Z" fill="#24C8DB"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

3
assets/twitter.svg Normal file
View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
<path d="M283.02655555 307.55600001c140.717 72.074 260.839 66.925 260.839 66.92499999s-44.617-157.87599999 94.384-228.234c138.998-70.359 236.816 48.048 236.816 48.048s24.025-6.863 42.901-13.728 44.617-18.87599999 44.61700001-18.876l-42.90100001 77.222 66.92500001-6.863s-8.579 12.014-34.31900001 36.038c-25.741 24.025-37.754 37.754-37.754 37.754s10.297 190.483-90.95 338.062c-99.53 147.58000001-229.952 235.099-417.002 253.973-187.05 18.87599999-310.606-58.347-310.606-58.347s82.37-5.149 133.852-24.025c51.483-20.592 126.99-73.79 126.99-73.79s-106.397-32.605-145.866-70.35899999-48.048-60.062-48.048-60.06200001l106.397-1.716s-111.542-60.062-142.433-106.397c-30.89-46.333-36.038-92.666-36.038-92.666l80.656 32.605s-66.925-92.666-77.222-163.025c-10.297-72.074 12.014-109.826 12.014-109.826s36.038 65.21 176.752 137.283z"></path>
</svg>

After

Width:  |  Height:  |  Size: 944 B

387
docs/adb.md Normal file
View File

@ -0,0 +1,387 @@
Android Debug Bridge 备忘清单
===
[ADB](https://developer.android.com/studio/command-line/adb.html) 既 Android Debug Bridge是 Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 [ADB](https://developer.android.com/studio/command-line/adb.html) 一起使用的一些最常见的命令及其用法
入门
----
### 设备基础
<!--rehype:wrap-class=row-span-2-->
:-- | --
:-- | --
`adb devices` | 列出已连接的设备
`adb devices -l` | 列出已连接的设备和种类
`adb connect [IP:PORT]` | 连接到指定 IP 和端口的设备
`adb disconnect [IP:PORT]` | 断开指定 IP 和端口的设备连接,若未指定,则断开所有连接
`adb root` | 以 `root` 权限重新启动 `adbd`
`adb start-server` | 启动 `adb` 服务
`adb kill-server` | 停止 `adb` 服务
`adb remount` | 重新挂载具有读/写访问权限的文件系统
`adb reboot` | 重启设备
`adb reboot bootloader` | 将设备重启到 fastboot 模式
`adb reboot recovery` | 将设备重启到恢复模式
`adb disable-verity` | 禁用设备的 dm-verity 安全特性
<!--rehype:className=left-align code-nowrap-->
---
- `wait-for-device` 可以在 `adb` 之后指定,以确保该命令在设备连接后运行
- `-s` 可用于在多个连接时将命令发送到特定设备
#### 示例
```bash
$ adb wait-for-device devices
List of devices attached
somedevice-1234 device
someotherdevice-1234 device
```
```bash
$ adb -s somedevice-1234 root
```
### Logcat
<!--rehype:wrap-class=row-span-2-->
:-- | --
:-- | --
`adb logcat` | 将日志消息打印到标准输出
`adb logcat -g` | 显示当前日志缓冲区大小
`adb logcat -G <size>` | 设置缓冲区大小K 或 M
`adb logcat -c` | 清除日志缓冲区
`adb logcat *:V` | 启用所有日志消息(详细)
`adb logcat -f <filename>` | 将日志转储到指定文件
<!--rehype:className=left-align code-nowrap-->
#### 示例
```bash
$ adb logcat -G 16M
$ adb logcat *:V > output.log
```
#### 过滤日志输出
- `V` 最详细的信息(最低优先级)
- `D` 调试信息
- `I` 普通信息
- `W` 警告信息
- `E` 错误信息
- `F` 致命错误信息
- `S` 静默(最高优先级)
<!--rehype:className=cols-2 shortcuts style-none-->
例如,要显示优先级不低于 `警告` 的所有标记的所有日志消息,可以使用以下命令:
```bash
$ adb logcat *:W
```
### 文件管理
:-- | --
:-- | --
`adb push <local> <remote>` | 将本地文件复制到远程设备
`adb pull <remote> <local>` | 将远程设备文件复制到本地
<!--rehype:className=left-align code-nowrap-->
#### 示例
```bash
$ echo "This is a test" > test.txt
$ adb push test.txt /sdcard/test.txt
$ adb pull /sdcard/test.txt pulledTest.txt
```
### 远程 Shell
:-- | --
:-- | --
`adb shell <command>` | 在设备上运行指定的命令(大多数 Unix 命令在这里工作)
`adb shell wm size` | 显示当前屏幕分辨率
`adb shell wm size WxH` | 将分辨率设置为 WxH
`adb shell pm list packages` | 列出所有已安装的应用包
`adb shell pm list packages -3` | 列出所有已安装的第三方的应用包
`adb shell monkey -p app.package.name <count>` | 启动指定包名的应用程序, 并执行测试
<!--rehype:className=style-list-arrow-->
### 包安装
:-- | --
:-- | --
`adb install <apk>` | 安装应用程序
`adb install <path>` | 从手机路径安装应用
`adb install -r <path>` | 从手机路径安装应用(允许覆盖安装)
`adb uninstall <name>` | 卸载应用程序
<!--rehype:className=left-align code-nowrap-->
### Paths
<!--rehype:wrap-class=row-span-2-->
:-- | --
:-- | --
`/data/data/<package>/databases` | 应用程序数据库
`/data/data/<package>/shared_prefs/` | 共享偏好设置
`/data/app` | 用户安装的 APK
`/system/app` | 系统预装的 APK 文件
`/mnt/asec` | 加密的应用程序App2SD
`/mnt/emmc` | 内部 SD 卡
`/mnt/sdcard` | 外部/内部 SD 卡
`/mnt/sdcard/external_sd` | 外置 SD 卡
<!--rehype:className=style-list-arrow-->
---
:-- | --
:-- | --
`adb shell ls` | 列出目录内容
`adb shell ls -s` | 每个文件的打印尺寸
`adb shell ls -R` | 递归列出子目录
<!--rehype:className=left-align code-nowrap-->
### 手机信息
<!--rehype:wrap-class=row-span-2-->
:-- | --
:-- | --
`adb get-statе` | 打印设备状态
`adb get-serialno` | 获取设备的序列号
`adb shell dumpsys iphonesybinfo` | 获取设备的 IMEI 信息
`adb shell netstat` | 列出设备上的所有 TCP 连接
`adb shell pwd` | 打印当前工作目录
`adb shell dumpsys battery` | 获取设备电池状态
`adb shell pm list features` |列出设备支持的所有功能
`adb shell service list` | 列出设备上运行的所有服务
`adb shell dumpsys activity <package>/<activity>` | 获取指定包和活动的信息
`adb shell ps` | 打印设备上所有运行的进程状态
`adb shell wm size` | 显示当前设备的屏幕分辨率
`dumpsys window windows` \| `grep -E 'mCurrentFocus\|mFocusedApp'` | 打印当前应用程序的打开活动的信息
<!--rehype:className=style-list-arrow-->
### 包信息
:-- | --
:-- | --
`adb shell pm list packages` | 列出包名称
`adb shell pm list packages -f` | 列出包名 + apks 的路径
`adb shell pm list packages -3` | 列出第三方包名称
`adb shell pm list packages -s` | 仅列出系统包
`adb shell pm list packages -u` | 列出出包和未安装包
`adb shell pm list packages -i` | 列出包名称 + 安装来源
`adb shell pm list packages -e` | 列出启用的包
`adb shell pm list packages -d` | 列出禁用的包
`adb shell dumpsys package packages` | 列出所有应用程序的信息
`adb shell dumpsys package <name>` | 列出一个包的信息
`adb shell pm path <package>` | 列出 APK 文件的路径
<!--rehype:className=style-list-arrow-->
### 设备相关命令
<!--rehype:wrap-class=col-span-2 row-span-2-->
:-- | --
:-- | --
`adb reboot recovery` | 重启设备进入恢复模式
`adb reboot fastboot` | 重启设备进入恢复模式
`adb shell screencap -p "/path/to/screenshot.png"` | 截图
`adb shell screenrecord "/path/to/record.mp4"` | 录制设备屏幕
`adb backup -apk -all -f backup.ab` | 备份设置和应用程序
`adb backup -apk -shared -all -f backup.ab` | 备份设置、应用程序和共享存储
`adb backup -apk -nosystem -all -f backup.ab` | 仅备份非系统应用程序
`adb restore backup.ab` | 恢复以前的备份
`adb shell am start -a android.intent.action.VIEW -d URL` | 打开网址
`adb shell am start -t image/* -a android.intent.action.VIEW` | 打开画廊
<!--rehype:className=code-nowrap left-align-->
### 权限
:-- | --
:-- | --
`adb shell permissions groups` | 列出所有已定义的权限组
`adb shell list permissions -g -r` | 列出了所有权限的详细信息
<!--rehype:className=style-list-arrow-->
### Logs
:-- | --
:-- | --
`adb logcat [options] [filter] [filter]` | 查看设备日志
`adb bugreport` | 打印错误报告
<!--rehype:className=style-list-arrow-->
常见的 ADB 命令
---
### 将文件推送到 Android 设备的下载文件夹
```bash
$ adb push example.apk /sdcard/Download/
```
### 列出所有已安装的包并获取完整路径
```bash
$ adb shell pm list packages -f
```
### 从安卓设备中提取文件
```bash
$ adb pull /sdcard/Download/example.apk
```
### 从主机安装 APK 到 Android 设备
```bash
$ adb install example.apk
```
### 从 Android 设备存储安装 APK
```bash
$ adb install /sdcard/Download/example.apk
```
### 设置网络代理
```bash
$ adb shell settings put global http_proxy <address>:<port>
```
### 禁用网络代理
```bash
$ adb shell settings put global http_proxy :0
```
### 显示连接的设备并指定一个设备进行 Shell
```bash
$ adb devices
$ adb -s 7f1c864e shell
```
`7f1c864e` 是设备 `ID`
### 通过 IP 地址连接到设备
```bash
$ adb connect 192.168.56.101:5555
```
### 通过 Wi-Fi 连接 ADB
<!--rehype:wrap-class=row-span-5-->
我们可以通过 `Wi-Fi` 或专门使用 `tcp` 连接使用 `adb`。 要通过 `Wi-Fi` 使用 `adb`,首先通过 `USB` 连接手机并启用 `USB` 调试。然后列出所有设备:
```bash
$ adb devices
# 这应该给出这样的输出:
# device_id device
```
现在检查 `Android` 设备的 `IP`
```bash
$ adb shell ifconfig
# 输出:
wlan0 Link encap:UNSPEC Driver icnss
inet addr:XXX.XXX.X.XX Bcast:XXX.XXX.X.XXX
```
记下 `inet addr` 后的 `IP` 地址。稍后要用。现在在某个端口重新启动 `tcpip`
```bash
$ adb tcpip $port
```
例如 5555
```bash
$ adb tcpip 5555
```
您现在可以断开 USB 线缆使用。 若要连接到设备请键入以下命令:
```bash
$ adb connect $ip:$port
```
例如:
```bash
$ adb connect 192.168.1.4:5555
```
### 将计算机上的 APK 文件安装到设备
```bash
$ adb install /Users/dev/projects/myapp.apk
```
### 查找应用的 APK 路径
```bash
$ adb shell pm path com.example.myapp
```
`com.example.myapp` 替换为您自己的应用程序包名称
### 通过名称查找应用的包名
```bash
$ adb shell pm list packages | grep app_name
```
### 从设备提取 APK 到您的计算机
```bash
$ adb pull /data/app/com.example.myapp.apk ./
```
### 将文件从计算机复制到设备
```bash
$ adb push path/to/local/file /sdcard/foo.txt
```
### 滚动屏幕
```bash
$ adb shell input swipe 300 300 500 1000 # 上
$ adb shell input swipe 500 1000 300 300 # 下
```
### 发文本
使用虚拟键盘发送文本:
```bash
$ adb shell input text "Hello World"
```
### 发送按键事件
```bash
$ adb shell input keyevent 66
# 66 是回车键码
```
### 发送点击
点击屏幕:
```bash
$ adb shell input tap x y
```
### 查看包的日志
```bash
$ adb shell 'logcat --pid=$(pidof -s <package_name>)'
```
查看特定包的日志

354
docs/adobe-lightroom.md Normal file
View File

@ -0,0 +1,354 @@
Adobe Lightroom 键盘快捷键
===
Adobe Lightroom CC 中 251 个键盘快捷键的可视化备忘单
键盘快捷键
--------
### 使用面板
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Tab` | 显示/隐藏侧面板
`Shift` `Tab` | 显示/隐藏所有面板
`T` | 显示/隐藏工具栏
`F5` | 显示/隐藏模块选择器
`F6` | 显示/隐藏胶片
`F7` | 显示/隐藏左侧面板
`F8` | 显示/隐藏右侧面板
`Alt` `(click a panel)` | 切换独奏模式
`Shift` `(click a panel)` | 在不关闭单独面板的情况下打开一个新面板
`Ctrl` `(click a panel)` | 打开/关闭所有面板
`Ctrl` `Shift` `0-5` | 打开/关闭左侧面板,从上到下
`Ctrl` `0-9` | 打开/关闭右侧面板、库和开发模块,从上到下
`Ctrl` `1-7` | 从上到下打开/关闭右面板、幻灯片、打印和 Web 模块
<!--rehype:className=shortcuts-->
### 导航模块
快捷键 | 说明
:- | -
`Ctrl` `Alt` `1` | 转到库模块
`Ctrl` `Alt` `2` | 转到开发模块
`Ctrl` `Alt` `3` | 转到幻灯片模块
`Ctrl` `Alt` `4` | 转到打印模块
`Ctrl` `Alt` `5` | 转到网络模块
`Ctrl` `Alt` `Left/Right` | 返回/前进
`Ctrl` `Alt` `Up` | 返回上一个模块
<!--rehype:className=shortcuts-->
### 使用辅助窗口
快捷键 | 说明
:- | -
`F11` | 打开辅助窗口
`Shift` `G` | 进入网格视图
`Shift` `E` | 进入正常的放大镜视图
`Ctrl` `Shift` `Enter` | 进入锁定的放大镜视图
`Shift` `C` | 进入比较视图
`Shift` `N` | 进入调查视图
`Ctrl` `Alt` `Shift` `Enter` | 进入幻灯片视图
`Shift` `F11` | 进入全屏模式(需要第二台显示器)
`Shift` `\` | 显示/隐藏过滤栏
`Ctrl` `Shift` `+/-` | 放大/缩小
<!--rehype:className=shortcuts-->
### 在开发模块中工作
<!--rehype:wrap-class=row-span-5-->
快捷键 | 说明
:- | -
`V` | 转换为灰度
`Ctrl` `U` | 自动音调
`Ctrl` `Shift` `U` | 自动白平衡
`Ctrl` `E` | 在 Photoshop 中编辑
`Ctrl` `Shift` `C/V` | 复制/粘贴开发设置
`Ctrl` `Alt` `V` | 粘贴上一张照片的设置
`Ctrl` `Alt` `Shift` `Left` | 将之后的设置复制到之前
`Ctrl` `Alt` `Shift` `Right` | 将之前的设置复制到之后
`Ctrl` `Alt` `Shift` `Up` | 交换前后设置
`Up/Down` | 以小增量增加/减少选定的滑块
`Shift` `Up/Down` | 以较大的增量增加/减少选定的滑块
`./,` | 循环浏览基本面板设置(向前/向后)
`(double-click slider name)` | 重置滑块
`Alt` `(click group name)` | 重置一组滑块
`Ctrl` `Shift` `R` | 重置所有设置
`Ctrl` `Shift` `S` | 同步设置
`Ctrl` `Alt` `S` | 绕过同步设置对话框同步设置
`Ctrl` `(click Sync button)` | 切换自动同步
`Ctrl` `Alt` `Shift` `A` | 启用自动同步
`Ctrl` `Alt` `Shift` `M` | 匹配总曝光量
`W` | 选择白平衡工具(来自任何模块)
`R` | 选择裁剪工具(来自任何模块)
`A` | 选择裁剪工具时限制纵横比
`Shift` `A` | 裁剪为与上一次裁剪相同的纵横比
`Alt` `(drag)` | 从照片中心裁剪
`O` | 循环作物网格覆盖
`Shift` `O` | 循环裁剪网格叠加方向
`X` | 在纵向和横向之间切换裁剪
`Ctrl` `Alt` `R` | 重置作物
`Shift` `T` | 选择 Guided Upright 工具
`Q` | 选择 Sopt 删除工具
`Shift` `T` | 选择污点去除工具时在克隆和修复模式之间切换笔刷
`K` | 选择调整画笔工具(来自任何模块)
`M` | 选择渐变滤镜工具
`Shift` `T` | 选择渐变/径向滤镜时在编辑和画笔模式之间切换蒙版
`]/[` | 增大/减小画笔大小
`Shift` `]/[` | 增加/减少笔刷羽化
`/` | 在局部调整刷A和B之间切换
`Alt` `(drag)` | 暂时从画笔 A 或 B 切换到橡皮擦
`Shift` `(drag)` | 绘制水平线或垂直线
`H` | 显示/隐藏局部调整引脚
`O` | 显示/隐藏局部调整蒙版覆盖
`Shift` `O` | 循环局部调整蒙版叠加颜色
`Ctrl` `Alt` `Shift` `T` | 选择目标调整工具以应用色调曲线调整
`Ctrl` `Alt` `Shift` `H` | 选择目标调整工具以应用色相调整
`Ctrl` `Alt` `Shift` `S` | 选择目标调整工具以应用饱和度调整
`Ctrl` `Alt` `Shift` `L` | 选择目标调整工具以应用亮度调整
`Ctrl` `Alt` `Shift` `G` | 选择目标调整工具以应用灰度混合调整
`Ctrl` `Alt` `Shift` `N` | 取消选择目标调整工具
`J` | 显示剪辑
`Ctrl` `]` | 向右旋转照片(顺时针)
`Ctrl` `[` | 向左旋转照片(逆时针)
`Space/Z` | 在放大镜和 1:1 缩放预览之间切换
`Ctrl` `+/-` | 放大/缩小
`Ctrl` `Enter` | 播放即兴幻灯片
`Y` | 查看左/右之前和之后
`Alt` `Y` | 查看顶部/底部之前和之后
`Shift` `Y` | 在分屏中查看之前和之后
`\` | 仅查看之前
`Ctrl` `N` | 创建新快照
`Ctrl` `Shift` `N` | 创建新预设
`Ctrl` `Alt` `N` | 创建一个新的预设文件夹
`Ctrl` `J` | 打开开发视图选项
<!--rehype:className=shortcuts-->
### 更改视图和屏幕模式
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`E` | 进入图书馆放大镜视图
`G` | 进入库网格视图
`C` | 进入图书馆比较视图
`N` | 进入图书馆调查视图
`D` | 在修改照片模块中打开选定的照片
`L` | 通过 Lights Out 模式向前循环
`Shift` `L` | 通过 Lights Out 模式向后循环
`Ctrl` `Shift` `L` | 切换灯光昏暗模式
`F` | 循环屏幕模式
`Ctrl` `Shift` `F` | 在普通和全屏之间切换,隐藏面板
`Ctrl` `Alt` `F` | 进入普通屏幕模式
`I` | 循环信息叠加
`Ctrl` `I` | 显示/隐藏信息覆盖
<!--rehype:className=shortcuts-->
### 管理照片和目录
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Ctrl` `Shift` `I` | 从磁盘导入照片
`Ctrl` `O` | 打开目录
`Ctrl` `,` | 打开首选项
`Ctrl` `Alt` `,` | 打开目录设置
`Ctrl` `Shift` `T` | 创建新的子文件夹(分段联机捕获)
`Ctrl` `T` | 隐藏/显示系绳捕获栏
`Ctrl` `Shift` `N` | 在库模块中创建一个新文件夹
`Ctrl` `'` | 创建虚拟副本(仅限库和开发模块)
`Ctrl` `R` | 在资源管理器/Finder 中显示(仅限库和开发模块)
`Right/Left` | 转到胶片中的下一张/上一张照片
`Shift/Ctrl` `Click` | 选择多个文件夹或集合(在库、幻灯片、打印和 Web 模块中)
`F2` | 重命名照片(在图库模块中)
`Delete` | 删除所选照片
`Alt` `Backspace` | 从目录中删除所选照片
`Ctrl` `Alt` `Shift` `Backspace` | 删除所选照片并移至废纸篓
`Ctrl` `Backspace` | 删除被拒绝的照片
`Ctrl` `E` | 在 Photoshop 中编辑
`Ctrl` `Alt` `E` | 在其他编辑器中打开
`Ctrl` `Shift` `E` | 导出所选照片
`Ctrl` `Alt` `Shift` `E` | 使用以前的设置导出
`Ctrl` `Alt` `Shift` `,` | 打开插件管理器
`Ctrl` `P` | 打印所选照片
`Ctrl` `Shift` `P` | 打开页面设置对话框
<!--rehype:className=shortcuts-->
### 比较图库模块中的照片
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`E/Enter` | 切换到放大视图
`G/Esc` | 切换到网格视图
`C` | 切换到比较视图
`N` | 切换到调查视图
`Space/E` | 从网格切换到放大视图
`Down` | 在比较视图中交换选择和候选照片
`Up` | 在比较视图中选择下一张照片和候选照片
`Z` | 切换缩放视图
`Ctrl` `+/-` | 在放大镜视图中放大/缩小
`PgUp/PgDown` | 在放大视图中向上/向下滚动放大的照片
`Home/End` | 转到网格视图的开头/结尾
`Ctrl` `Enter` | 播放即兴幻灯片
`Ctrl` `]` | 向右旋转照片(顺时针)
`Ctrl` `[` | 向左旋转照片(逆时针)
`=/-` | 增加/减少网格缩略图大小
`PgUp/PgDown` | 向上/向下滚动网格缩略图
`Ctrl` `Shift` `H` | 切换单元格附加功能
`Ctrl` `Alt` `Shift` `H` | 显示/隐藏徽章
`J` | 循环网格视图
`Ctrl` `J` | 打开库视图选项
`Ctrl` `(click)` | 选择多张离散照片
`Shift` `(click)` | 选择多张连续照片
`Ctrl` `A` | 选择所有照片
`Ctrl` `D` | 取消选择所有照片
`Ctrl` `Shift` `D` | 仅选择活动照片
`/` | 取消选择现用照片
`Shift` `Left/Right` | 将上一张/下一张照片添加到选择
`Ctrl` `Alt` `A` | 选择标记的照片
`Ctrl` `Alt` `Shift` `D` | 取消选择未标记的照片
`Ctrl` `G` | 分组入栈
`Ctrl` `Shift` `G` | 拆叠
`S` | 切换堆栈
`Shift` `S` | 移动到堆栈顶部
`Shift` `[` | 在堆栈中向上移动
`Shift` `]` | 在堆栈中向下移动
<!--rehype:className=shortcuts-->
### 评级和过滤照片
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`1-5` | 设置星级
`Shift` `1-5` | 设置星级并转到下一张照片
`0` | 删除星级
`Shift` `0` | 删除星级并转到下一张照片
`]/[` | 将评分提高/降低一颗星
`6` | 分配一个红色标签
`7` | 分配黄色标签
`8` | 分配一个绿色标签
`9` | 分配一个蓝色标签
`Shift` `6-9` | 分配颜色标签并转到下一张照片
`P` | 将照片标记为精选
`Shift` `P` | 将照片标记为精选并转到下一张照片
`X` | 将照片标记为拒绝
`Shift` `X` | 将照片标记为拒绝并转到下一张照片
`U` | 取消标记照片
`Shift` `U` | 取消标记照片并转到下一张照片
`Ctrl` `Up/Down` | 增加/减少标志状态
<code>\`</code> | 循环标志设置
`Ctrl` `Alt` `R` | 优化照片
`\` | 显示/隐藏库过滤器栏
`Shift` `(click filter labels)` | 在过滤器栏中打开多个过滤器
`Shift` `L` | 打开/关闭过滤器
`Ctrl` `F` | 在图库模块中查找照片
<!--rehype:className=shortcuts-->
### 使用集合
快捷键 | 说明
:- | -
`Ctrl` `N` | 在 Library 模块中创建一个新的集合
`B` | 添加到快速收藏
`Shift` `B` | 添加到快速收藏并转到下一张照片
`Ctrl` `B` | 显示快速收藏
`Ctrl` `Alt` `B` | 保存快速收藏
`Ctrl` `Shift` `B` | 清除快速收藏
`Ctrl` `Alt` `Shift` `B` | 设为目标集合
<!--rehype:className=shortcuts-->
### 在库模块中使用元数据和关键字
快捷键 | 说明
:- | -
`Ctrl` `K` | 添加关键字
`Ctrl` `Shift` `K` | 修改关键字
`Ctrl` `Alt` `Shift` `K` | 设置关键字快捷方式
`Shift` `K` | 从所选照片中添加/删除关键字快捷方式
`Ctrl` `Alt` `K` | 启用绘画
`Alt` `1-9` | 将关键字集中的关键字添加到所选照片
`Alt` `0` | 通过关键字集向前循环
`Alt` `Shift` `0` | 通过关键字集循环反向词
`Ctrl` `Alt` `Shift` `C/V` | 复制/粘贴元数据
`Ctrl` `S` | 将元数据保存到文件
<!--rehype:className=shortcuts-->
### 在幻灯片模块中工作
快捷键 | 说明
:- | -
`Enter` | 播放幻灯片
`Ctrl` `Enter` | 播放即兴幻灯片
`Space` | 暂停幻灯片放映
`Alt` `Enter` | 预览幻灯片
`Esc` | 结束幻灯片放映
`Right` | 转到下一张幻灯片
`Left` | 转到上一张幻灯片
`Ctrl` `]` | 向右旋转照片(顺时针)
`Ctrl` `[` | 向左旋转照片(逆时针)
`Ctrl` `Shift` `H` | 显示/隐藏指南
`Ctrl` `J` | 导出 PDF 幻灯片放映
`Ctrl` `Shift` `J` | 导出 JPEG 幻灯片放映
`Ctrl` `Alt` `J` | 导出视频幻灯片
`Ctrl` `N` | 创建新的幻灯片放映模板
`Ctrl` `Shift` `N` | 创建新的幻灯片放映模板文件夹
`Ctrl` `S` | 保存幻灯片放映设置
<!--rehype:className=shortcuts-->
### 在打印模块中工作
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Ctrl` `P` | 打印
`Ctrl` `Alt` `P` | 打印一份
`Ctrl` `Shift` `P` | 打开页面设置对话框
`Ctrl` `Alt` `Shift` `P` | 打开打印设置对话框
`Ctrl` `Shift` `Left` | 转到第一页
`Ctrl` `Shift` `Right` | 转到最后一页
`Ctrl` `Left` | 转到上一页
`Ctrl` `Right` | 转到下一页
`Ctrl` `Shift` `H` | 显示/隐藏指南
`Ctrl` `R` | 显示/隐藏标尺
`Ctrl` `Shift` `J` | 显示/隐藏页面出血
`Ctrl` `Shift` `M` | 显示/隐藏边距和装订线
`Ctrl` `Shift` `K` | 显示/隐藏图像单元格
`Ctrl` `Shift` `U` | 显示/隐藏尺寸
`Ctrl` `Enter` | 播放即兴幻灯片
`Ctrl` `]` | 向右旋转照片(顺时针)
`Ctrl` `[` | 向左旋转照片(逆时针)
`Ctrl` `N` | 创建一个新的打印模板
`Ctrl` `Shift` `N` | 创建一个新的打印模板文件夹
`Ctrl` `S` | 保存打印设置
<!--rehype:className=shortcuts-->
### 在 Web 模块中工作
快捷键 | 说明
:- | -
`Ctrl` `R` | 重新加载网络画廊
`Ctrl` `Alt` `P` | 在浏览器中预览
`Ctrl` `Enter` | 播放即兴幻灯片
`Ctrl` `J` | 导出网络画廊
`Ctrl` `N` | 创建新的 Web 画廊模板
`Ctrl` `Shift` `N` | 创建新的 Web 画廊模板文件夹
`Ctrl` `S` | 保存 Web 画廊设置
<!--rehype:className=shortcuts-->
### 使用帮助
快捷键 | 说明
:- | -
`Ctrl` `/` | 显示当前模块快捷方式
`(click)` | 隐藏当前模块快捷方式
`Ctrl` `Alt` `/` | 转到当前模块帮助
`F1` | 打开社区帮助
<!--rehype:className=shortcuts-->
另见
--------
- [Keyboard shortcuts for Adobe Lightroom CC](https://helpx.adobe.com/lightroom/help/keyboard-shortcuts.html) _(helpx.adobe.com)_

433
docs/adobe-photoshop.md Normal file
View File

@ -0,0 +1,433 @@
Adobe Photoshop 键盘快捷键 备忘清单
===
Adobe Photoshop 中 283 个[键盘快捷键](https://helpx.adobe.com/photoshop/using/default-keyboard-shortcuts.html)的可视化备忘单
键盘快捷键
---------
### 热门快捷方式
快捷键 | 说明
:- | -
`Ctrl` `T` | 自由变换
`[` | 减小画笔大小
`]` | 增加画笔大小
`Shift` `[` | 降低画笔硬度
`Shift` `]` | 增加笔刷硬度
`D` | 默认前景/背景颜色
`X` | 切换前景/背景颜色
`Ctrl` `J` | 通过复制新建图层
`Ctrl` `Shift` `J` | 通过剪切新建图层
`Esc` | 取消任何模态对话框窗口(包括启动工作区)
`Enter` | 选择工具栏的第一个编辑字段
`Tab` | 在字段之间导航
`Shift` `Tab` | 在相反方向的字段之间导航
`Alt` | 更改取消重置
`Ctrl` `F` | 调用搜索体验
<!--rehype:className=shortcuts-->
### 使用功能键
快捷键 | 说明
:- | -
`F1` | 开始帮助
`F2` | 剪切
`F3` | 复制
`F4` | 粘贴
`F5` | 显示/隐藏笔刷面板
`F6` | 显示/隐藏颜色面板
`F7` | 显示/隐藏图层面板
`F8` | 显示/隐藏信息面板
`F9` | 显示/隐藏操作面板
`F12` | 恢复
`Shift` `F5` | 充满
`Shift` `F6` | 羽毛选择
`Shift` `F7` | 反向选择
<!--rehype:className=shortcuts-->
### 选择工具
<!--rehype:wrap-class=row-span-3-->
快捷键 | 说明
:- | -
`V` | 移动工具
`M` | 矩形选框工具
`L` | 套索工具
`W` | 魔棒工具 > 快速选择工具
`C` | 裁剪工具 > 切片工具 > 切片选择工具
`I` | 吸管工具 > 标尺工具 > 注释工具
`J` | 斑点修复笔刷工具 > 修复笔刷工具 > 补丁工具 > 红眼工具
`B` | 画笔工具 > 铅笔工具 > 颜色替换工具 > 混合器画笔工具
`S` | 克隆图章工具 > 图案图章工具
`Y` | 历史画笔工具 > 艺术史画笔工具
`E` | 橡皮擦工具 > 背景橡皮擦工具 > 魔术橡皮擦工具
`G` | 渐变工具>油漆桶工具
`O` | 减淡工具 > 加深工具 > 海绵工具
`P` | 钢笔工具 > 自由钢笔工具
`T` | 横版工具 > 竖版工具 > 横版蒙版工具 > 竖版蒙版工具
`A` | 路径选择工具 > 直接选择工具
`U` | 矩形工具 > 圆角矩形工具 > 椭圆工具 > 多边形工具 > 直线工具
`H` | 手工具
`R` | 旋转视图工具
`Z` | 缩放工具
`D` | 默认前景/背景颜色
`X` | 切换前景/背景颜色
`Q` | 切换标准/快速蒙版模式
`J` | 内容感知移动工具
`C` | 透视裁剪工具
`V` | 画板工具
`R` | 旋转视图工具
`/` | 切换保持透明度
`,` | 上一刷
`.` | 下一刷
`Shift` `,` | 先刷
`Shift` `.` | 最后刷
<!--rehype:className=shortcuts-->
### 查看图片
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Ctrl` `Tab` | 循环浏览打开的文档
`Ctrl` `Shift` `Tab` | 切换到上一个文档
`Ctrl` `Shift` `W` | 在 Photoshop 中关闭文件并打开 Bridge
`F` | 在标准屏幕 > 带菜单栏的全屏 > 全屏模式之间向前切换
`Shift` `F` | 在标准屏幕 > 带菜单栏的全屏 > 全屏模式之间向后切换
`Space` `F` | 向前切换画布颜色
`Shift` `Space` `F` | 向后切换画布颜色
`Space` | 切换到手动工具(当不在文本编辑模式时)
`Ctrl` `Space` | 切换到放大工具
`Alt` `Space` | 切换到缩小工具
`Shift` `Enter` | 应用缩放百分比,并保持缩放百分比框处于活动状态
`PgUp/PgDn` | 向上或向下滚动 1 屏
`Shift` `PgUp/PgDn` | 向上或向下滚动 10 个单位
`Home` | 将视图移动到左上角
`End` | 将视图移动到右下角
`\` | 将图层蒙版打开/关闭为红宝石(必须选择图层蒙版)
<!--rehype:className=shortcuts-->
### 使用木偶变形
快捷键 | 说明
:- | -
`Esc` | 完全取消
`Ctrl` `Z` | 撤消最后一次引脚调整
`Ctrl` `A` | 选择所有引脚
`Ctrl` `D` | 取消选择所有引脚
`H` | 暂时隐藏图钉
<!--rehype:className=shortcuts-->
### 使用优化边缘
快捷键 | 说明
:- | -
`Ctrl` `Alt` `R` | 打开优化边缘对话框
`F` | 通过预览模式向前循环
`Shift` `F` | 通过预览模式向后循环
`X` | 在原始图像和选区预览之间切换
`P` | 在原始选择和优化版本之间切换
`J` | 打开和关闭半径预览
`Shift` `E` | 在 Refine Radius 和 Erase Refinement 工具之间切换
<!--rehype:className=shortcuts-->
### 使用滤镜库
快捷键 | 说明
:- | -
`Ctrl` `Alt` `F` | 重新应用上次使用的过滤器
`Ctrl` | 将取消按钮更改为默认值
`Alt` | 将取消按钮更改为重置
`Ctrl` `Z` | 撤销重做
`Ctrl` `Shift` `Z` | 向前一步
`Ctrl` `Alt` `Z` | 向后退一步
<!--rehype:className=shortcuts-->
### 使用液化滤镜
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`W` | 向前扭曲工具
`R` | 重构工具
`C` | 顺时针旋转工具
`S` | 皱褶工具
`B` | 膨胀工具
`O` | 向左推工具
`M` | 镜像工具
`T` | 湍流工具
`F` | 冻结蒙版工具
`D` | 解冻蒙版工具
`Alt` `(tool)` | 反转膨胀、褶皱、向左推和镜像工具的方向
`Tab` | 从右上角循环浏览控件
`Shift` `Tab` | 从右下角循环浏览控件
`Alt` | 更改取消重置
<!--rehype:className=shortcuts-->
### 使用消失点
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`X` | 缩放 2 倍(临时)
`Ctrl` `+` | 放大
`Ctrl` `-` | 缩小
`Ctrl` `0` | 适合视图
`Ctrl` `Z` | 撤消上次操作
`Ctrl` `Shift` `Z` | 重做上一个动作
`Ctrl` `D` | 取消全选
`Ctrl` `H` | 隐藏选择和窗格
`Arrows` | 将选区移动 1 个像素
`Shift` `Arrows` | 将选区移动 10 个像素
`Ctrl` `C` | 复制
`Ctrl` `V` | 粘贴
`Ctrl` `Shift` `T` | 重复最后一个副本并移动
`Ctrl` `Alt` `T` | 从当前选区创建浮动选区
`Alt` `Shift` | 将选择限制为 15 度旋转
`Backspace` | 创建平面时删除最后一个节点
<!--rehype:className=shortcuts-->
### 使用 Camera Raw 对话框
<!--rehype:wrap-class=row-span-5-->
快捷键 | 说明
:- | -
`Z` | 缩放工具
`H` | 手工具
`I` | 白平衡工具
`S` | 颜色取样器工具
`C` | 裁剪工具
`A` | 拉直工具
`B` | 污点去除工具
`E` | 红眼消除工具
`Ctrl` `Alt` `1` | 基本面板
`Ctrl` `Alt` `2` | 色调曲线面板
`Ctrl` `Alt` `3` | 详情面板
`Ctrl` `Alt` `4` | HSL/灰度面板
`Ctrl` `Alt` `5` | 分离调色板
`Ctrl` `Alt` `6` | 镜头校正面板
`Ctrl` `Alt` `7` | 相机校准面板
`Ctrl` `Alt` `8` | 预设面板
`Ctrl` `Alt` `9` | 打开快照面板
`Ctrl` `Alt` `Shift` `T` | 参数化曲线针对性调整工具
`Ctrl` `Alt` `Shift` `H` | 色相针对性调整工具
`Ctrl` `Alt` `Shift` `S` | 饱和度针对性调整工具
`Ctrl` `Alt` `Shift` `L` | 亮度针对性调整工具
`Ctrl` `Alt` `Shift` `G` | 灰度混合针对性调整工具
`T` | 最后使用的针对性调整工具
`K` | 调整笔刷工具
`G` | 分级过滤工具
`Alt` | 暂时从调整画笔工具的添加模式切换到擦除模式,或从擦除模式切换到添加模式
`Alt` `]/[` | 增加/减少临时调整画笔工具大小
`Alt` `Shift` `]/[` | 增加/减少临时调整笔刷工具羽化
`Alt` `=/-` | 以 10 为增量增加/减少临时调整画笔工具大小流
`N` | 从调整画笔工具或渐变滤镜的添加或擦除模式切换到新建模式
`M` | 为调整画笔工具切换自动蒙版
`Y` | 切换调整画笔工具的显示蒙版
`V` | 调整画笔工具的切换销
`L` | 向左旋转图像
`R` | 向右旋转图像
`Ctrl` | 暂时切换到放大工具
`Alt` | 暂时切换为缩小工具,图片打开按钮改为打开复制
`P` | 切换预览
`F` | 全屏模式
`Shift` | 暂时激活白平衡工具并将打开图像按钮更改为打开对象
`Arrows` | 将曲线面板中的选定点移动 1 个像素
`Shift` `Arrows` | 将曲线面板中的选定点移动 10 像素
`Ctrl` `R` | 从 Bridge 打开 Camera Raw 对话框中的选定图像
`O` | 高亮剪裁警告
`U` | 阴影剪切警告
`Ctrl` `1-5` | 添加 1-5 星级(幻灯片模式)
`Ctrl` `./,` | 增加/减少评分(幻灯片模式)
`Ctrl` `6` | 添加红色标签(幻灯片模式)
`Ctrl` `7` | 添加黄色标签(幻灯片模式)
`Ctrl` `8` | 添加绿色标签(幻灯片模式)
`Ctrl` `9` | 添加蓝色标签(幻灯片模式)
`Ctrl` `Shift` `0` | 添加紫色标签(幻灯片模式)
`Ctrl` `K` | Camera Raw 首选项
`Ctrl` `Alt` | 删除 Adobe Camera Raw 首选项(打开时)
<!--rehype:className=shortcuts-->
### 使用黑白对话框
快捷键 | 说明
:- | -
`Ctrl` `Shift` `Alt` `B` | 打开黑白对话框
`Up/Down` | 将所选值增加/减少 1%
`Shift` `Up/Down` | 将所选值增加/减少 10%
<!--rehype:className=shortcuts-->
### 编辑路径
快捷键 | 说明
:- | -
`Ctrl` | 从路径选择、笔、添加锚点、删除锚点或将点工具转换为直接选择工具
`Alt` | 当指针位于锚点或方向点上时,从钢笔工具切换到自由钢笔工具以转换点工具
<!--rehype:className=shortcuts-->
### 变换选区、选区边框和路径
快捷键 | 说明
:- | -
`Alt` | 从中心变换或反射
`Shift` | 约束
`Ctrl` | 歪曲
`Enter` | 申请
`Ctrl` `.` | 取消
`Ctrl` `Alt` `T` | 具有重复数据的自由变换
`Ctrl` `Shift` `Alt` `T` | 用重复数据再次转换
<!--rehype:className=shortcuts-->
### 使用曲线
快捷键 | 说明
:- | -
`Ctrl` `M` | 打开曲线对话框
`+` | 选择曲线上的下一个点
`-` | 选择曲线上的前一点
`Ctrl` `D` | 取消选择一个点
`Del` | 删除曲线上的一个点
`Arrows` | 将所选点移动 1 个像素
`Shift` `Arrows` | 将所选点移动 10 个像素
<!--rehype:className=shortcuts-->
### 用于绘画
快捷键 | 说明
:- | -
`Alt` `Shift` `0-9` | 混合器画笔更改混合设置
`0-9` | 混合刷改变湿设置
`00` | 搅拌刷变湿并混合至零
`Shift` `+/-` | 循环混合模式
`Backspace` | 在背景或标准图层上打开填充对话框
`Alt` `Backspace` | 填充前景色
`Ctrl` `Backspace` | 填充背景色
`Ctrl` `Alt` `Backspace` | 从历史中填充
`Shift` `Backspace` | 显示填充对话框
`/` | 打开/关闭锁定透明像素
<!--rehype:className=shortcuts-->
### 用于混合模式
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Ctrl` `-/+` | 循环混合模式
`Shift` `Alt` `N` | 普通的
`Shift` `Alt` `I` | 溶解
`Shift` `Alt` `Q` | 背后(仅限画笔工具)
`Shift` `Alt` `R` | 清除(仅限画笔工具)
`Shift` `Alt` `K` | 变暗
`Shift` `Alt` `M` | 乘
`Shift` `Alt` `B` | 烧色
`Shift` `Alt` `A` | 线性燃烧
`Shift` `Alt` `G` | 减轻
`Shift` `Alt` `S` | 屏幕
`Shift` `Alt` `D` | 颜色减淡
`Shift` `Alt` `W` | 直线闪避
`Shift` `Alt` `O` | 覆盖
`Shift` `Alt` `F` | 柔光
`Shift` `Alt` `H` | 强光
`Shift` `Alt` `V` | 鲜艳的光
`Shift` `Alt` `J` | 线性光
`Shift` `Alt` `Z` | 针灯
`Shift` `Alt` `L` | 硬混
`Shift` `Alt` `E` | 区别
`Shift` `Alt` `X` | 排除
`Shift` `Alt` `U` | 色调
`Shift` `Alt` `T` | 饱和
`Shift` `Alt` `C` | 颜色
`Shift` `Alt` `Y` | 亮度
`Shift` `Alt` `N` | 将位图图像的混合模式设置为阈值<br/>所有其他图像的混合模式设置为正常
<!--rehype:className=shortcuts-->
### 格式类型
快捷键 | 说明
:- | -
`Ctrl` `Shift` `L/C/R` | 左对齐、居中或右对齐
`Ctrl` `Shift` `X` | 选择 100% 水平比例
`Ctrl` `Shift` `Alt` `X` | 选择 100% 垂直比例
`Ctrl` `Shift` `Alt` `A` | 选择自动行进
`Ctrl` `Shift` `Q` | 选择 0 进行跟踪
`Ctrl` `Shift` `J` | 对齐段落,左对齐最后一行
`Ctrl` `Shift` `F` | 证明段落,证明所有
`Ctrl` `Shift` `Alt` `H` | 打开/关闭段落断字
`Ctrl` `Shift` `Alt` `T` | 打开/关闭单个/每行作曲家
`Ctrl` `Shift` `</>` | 将所选文本的字号减小或增大 2 磅或像素
`Alt` `Up/Down` | 减少或增加前导 2 点或像素
`Shift` `Alt` `Up/Down` | 减少或增加基线偏移 2 个点或像素
`Alt` `Left/Right` | 减少或增加字距调整/字距调整 20/1000 em
<!--rehype:className=shortcuts-->
### 使用面板
快捷键 | 说明
:- | -
`Shift` `Enter` | 应用值并保持文本框处于活动状态
`Tab` | 显示/隐藏所有面板
`Shift` `Tab` | 显示/隐藏除工具箱和选项栏之外的所有面板
`Enter` | 高亮选项栏(先选择工具)
`Shift` `Up/Down` | 将所选值增加/减少 10
<!--rehype:className=shortcuts-->
### 使用调整图层
快捷键 | 说明
:- | -
`Alt` `3` | 选择红色通道进行调整
`Alt` `4` | 选择绿色通道进行调整
`Alt` `5` | 选择蓝色通道进行调整
`Alt` `2` | 选择复合通道进行调整
`Backspace` | 删除调整图层
<!--rehype:className=shortcuts-->
### 使用画笔面板
快捷键 | 说明
:- | -
`,/.` | 选择上一个/下一个画笔大小
`Shift` `,/.` | 选择第一个/最后一个画笔
`Caps Lock` | 显示画笔的精确十字线
`Shift` `Alt` `P` | 切换喷枪选项
<!--rehype:className=shortcuts-->
### 使用克隆源面板
快捷键 | 说明
:- | -
`Alt` `Shift` | 显示克隆源(覆盖 iamge)
`Alt` `Shift` `(arrows)` | 轻推克隆源
`Alt` `Shift` `</>` | 旋转克隆源
`Alt` `Shift` `[/]` | 缩放(增加或减小大小)克隆源
<!--rehype:className=shortcuts-->
### 使用图层面板
快捷键 | 说明
:- | -
`Ctrl` `Shift` `N` | 新层
`Ctrl` `J` | 通过复制新建图层
`Ctrl` `Shift` `J` | 通过剪切新建图层
`Ctrl` `G` | 图层组
`Ctrl` `Shift` `G` | 取消组合图层
`Ctrl` `Alt` `G` | 创建/释放剪贴蒙版
`Ctrl` `Alt` `A` | 选择所有图层
`Ctrl` `Shift` `E` | 合并可见层
`Alt` `.` | 选择顶层
`Alt` `.` | 选择底层
`Shift` `Alt` `[/]` | 添加到图层面板中的图层选择
`Alt` `[/]` | 向下/向上选择下一层
`Ctrl` `[/]` | 向下/向上移动目标图层
`Ctrl` `Shift` `Alt` `E` | 将所有可见图层的副本合并到目标图层中
`Ctrl` `E` | 合并图层(当图层突出显示时)
`Ctrl` `Shift` `[/]` | 将层移动到底部或顶部
`/` | 切换目标图层的锁定透明度或上次应用的锁定
`\` | 打开/关闭图层蒙版的 rubylith 模式
<!--rehype:className=shortcuts-->
另见
--------
- [Keyboard shortcuts for Adobe Photoshop](https://helpx.adobe.com/photoshop/using/default-keyboard-shortcuts.html) _(helpx.adobe.com)_

194
docs/adobe-xd.md Normal file
View File

@ -0,0 +1,194 @@
Adobe XD 键盘快捷键
===
Adobe XD 中 97 个键盘快捷键的可视化备忘单
键盘快捷键
--------
### 编辑菜单键
快捷键 | 说明
:- | -
`Ctrl` `Z` | 撤消
`Ctrl` `Shift` `Z` | 重做
`Ctrl` `X` | 剪切
`Ctrl` `C` | 复制
`Ctrl` `V` | 粘贴
`Ctrl` `Alt` `V` | 粘贴外观(设计模式)或粘贴交互(原型模式)
`Ctrl` `D` | 复制
`Del` | 删除
`Ctrl` `A` | 全选
`Ctrl` `Shift` `A` | 取消全选
<!--rehype:className=shortcuts-->
### 文件菜单键
快捷键 | 说明
:- | -
`Ctrl` `N` | 新的
`Ctrl` `Shift` `O` | 打开...
`Alt` `F4` | 关闭
`Ctrl` `S` | 节省...
`Ctrl` `Shift` `S` | 另存为...
`Ctrl` `Shift` `E` | 出口批量
`Ctrl` `E` | 导出选择
`Ctrl` `Shift` `I` | 进口
<!--rehype:className=shortcuts-->
### 笔/路径键
快捷键 | 说明
:- | -
`P` | 切换到钢笔工具
`Alt` | 不对称控制点
`Shift` | 捕捉控制点角度
`Shift` | 捕捉锚点角度
`Ctrl` `Alt` `U` | 添加
`Ctrl` `Alt` `S` | 减去
`Ctrl` `Alt` `I` | 相交
`Ctrl` `Alt` `X` | 排除重叠
`Ctrl` `8` | 转换为路径
<!--rehype:className=shortcuts-->
### 图层(对象)、组和画板的键
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
:- | -
`Ctrl` `G` | 图层组
`Ctrl` `Shift` `G` | 取消组合图层
`Ctrl` `K` | 制作组件
`Ctrl` `L` | 锁定/解锁图层
`Ctrl` `,` | 隐藏/显示图层
`Ctrl` `Shift` `M` | 有形状的面具
`Ctrl` `R` | 制作重复网格
`1-9` | 更改图层不透明度
`Ctrl` `;` | 显示/隐藏画板指南
`Ctrl` `Shift` `;` | 锁定画板指南
<!--rehype:className=shortcuts-->
### 对齐键
快捷键 | 说明
:- | -
`Ctrl` `Shift` `Left` | 左边
`Shift` `C` | 中心(水平)
`Ctrl` `Shift` `Right` | 正确的
`Ctrl` `Shift` `Up` | 顶部
`Shift` `M` | 中间(垂直)
`Ctrl` `Shift` `Down` | 底部
<!--rehype:className=shortcuts-->
### 排列键
快捷键 | 说明
:- | -
`Ctrl` `Shift` `]` | 置于最前面
`Ctrl` `]` | 向前进
`Ctrl` `[` | 向后发送
`Ctrl` `Shift` `[` | 发送到后台
<!--rehype:className=shortcuts-->
### 分发键
快捷键 | 说明
:- | -
`Ctrl` `Shift` `H` | 水平的
`Ctrl` `Shift` `V` | 竖的
<!--rehype:className=shortcuts-->
### 文本键
快捷键 | 说明
:- | -
`Ctrl` `B` | 粗体
`Ctrl` `I` | 斜体
`Ctrl` `Shift` `.` | 增加字体大小
`Ctrl` `Shift` `,` | 减小字体大小
<!--rehype:className=shortcuts-->
### 操作菜单键
快捷键 | 说明
:- | -
`Alt` | 从中心
`Shift` | 约束
`Enter` | 编辑文字
`Shift` | 约束旋转15 度)
`Shift` | 线约束旋转45 度)
`Shift` `Alt` | 从中心约束
`Ctrl` | 直接选择
`Ctrl` `Tab` | 在设计和原型模式之间切换
<!--rehype:className=shortcuts-->
### 工具菜单键
快捷键 | 说明
:- | -
`V` | 选择
`R` | 长方形
`E` | 椭圆
`Y` | 多边形
`L` | 线
`P` | 笔
`T` | 文本
`A` | 画板
`Z` | 快速移动
`Ctrl` `3` | 缩放到所选内容
`I` | 滴管
<!--rehype:className=shortcuts-->
### 界面和查看选项的键
快捷键 | 说明
:- | -
`Ctrl` `+` | 放大
`Ctrl` `-` | 缩小
`Ctrl` `0` | 缩放以适合
`Ctrl` `1` | 缩放至 `100%`
`Ctrl` `2` | 缩放至 `200%`
`Space` | 平底锅
`Ctrl` `Shift` `Y` | 资产
`Ctrl` `Y` | 图层
`Ctrl` `Shift` `'` | 显示布局网格
`Ctrl` `'` | 显示方形网格
`Ctrl` `Tab` | 在设计和原型模式之间切换
`Up/Down` | 将字段中的值增加或减少 `1`
`Shift` `Up/Down` | 将字段中的值增加或减少 `10`
<!--rehype:className=shortcuts-->
### 设计规范要点
快捷键 | 说明
:- | -
`Ctrl` `+/-` | 快速移动
`Ctrl` `0` | 重置缩放
`(arrows)` | 平底锅
`Shift` `(arrows)` | 更快的锅
`Esc` | 从规范视图转到用户体验流程视图
`Esc` | 在 UX 流视图中从画板上移除焦点
<!--rehype:className=shortcuts-->
### 矢量编辑键
快捷键 | 说明
:- | -
`Enter` | 开始编辑选定的矢量对象
`Esc` | 停止编辑选定的矢量对象
<!--rehype:className=shortcuts-->
### 原型制作的关键
快捷键 | 说明
:- | -
`Ctrl` `A` | 查看原型模式下的所有连接
`Ctrl` `Enter` | 预览
`Ctrl` `Shift` `E` | 在线分享原型
`Left/Right` | 在预览或共享原型中浏览画板
<!--rehype:className=shortcuts-->
另见
--------
- [Keyboard shortcuts for Adobe XD](https://helpx.adobe.com/xd/help/keyboard-shortcuts.html) _(helpx.adobe.com)_

205
docs/android-studio.md Normal file
View File

@ -0,0 +1,205 @@
Android Studio 键盘快捷键
====
Android Studio 软件中 130 个键盘快捷键的可视化备忘单
键盘快捷键
--------
### 一般的
快捷键 | 说明
---|---
`Ctrl` `S` | 保存全部
`Ctrl` `Alt` `Y` | 同步
`Ctrl` `Shift` `F12` | 最小化或最大化编辑器
`Alt` `Shift` `F` | 添加到收藏夹
`Alt` `Shift` `I` | 使用当前配置文件检查当前文件
`Ctrl` <code>\`</code> | 快速切换方案
`Ctrl` `Alt` `S` | 打开设置对话框
`Ctrl` `Alt` `Shift` `S` | 打开项目结构对话框
`Ctrl` `Tab` | 在选项卡和工具窗口之间切换
<!--rehype:className=shortcuts-->
### 导航和搜索
<!--rehype:wrap-class=row-span-3-->
快捷键 | 说明
---|---
`Shift` `Shift` | 搜索所有内容,包括代码和菜单
`Ctrl` `F` | 寻找
`F3` | 找下一个
`Shift` `F3` | 查找上一个
`Ctrl` `R` | 代替
`Ctrl` `Shift` `A` | 查找操作
`Ctrl` `Alt` `Shift` `N` | 按交易品种名称搜索
`Ctrl` `N` | 查找班级
`Ctrl` `Shift` `N` | 查找文件,而不是类
`Ctrl` `Shift` `F` | 在路径中查找
`Ctrl` `F12` | 打开文件结构弹出窗口
`Alt` `Right/Left` | 在打开的编辑器选项卡之间导航
`Ctrl` `Enter` | 跳转到源
`Shift` `F4` | 在新窗口中打开当前编辑器选项卡
`Ctrl` `E` | 最近打开的文件弹出窗口
`Ctrl` `Shift` `E` | 最近编辑的文件弹出窗口
`Ctrl` `Shift` `Backspace` | 转到上次编辑位置
`Ctrl` `F4` | 关闭活动编辑器选项卡
`Esc` | 从工具窗口返回到编辑器窗口
`Shift` `Esc` | 隐藏活动或最后活动的工具窗口
`Ctrl` `G` | 去线
`Ctrl` `H` | 开放式层次结构
`Ctrl` `Shift` `H` | 打开方法层次结构
`Ctrl` `Alt` `H` | 开放调用层级
<!--rehype:className=shortcuts-->
### 编写代码
<!--rehype:wrap-class=row-span-6-->
快捷键 | 说明
---|---
`Alt` `Insert` | 生成代码例如getters、setters、构造函数、新类
`Ctrl` `O` | 覆盖方法
`Ctrl` `I` | 实现方法
`Ctrl` `Alt` `T` | 用 if...else、try...catch 等包围
`Ctrl` `Y` | 删除插入符处的行
`Ctrl` `-` | 折叠当前代码块
`Ctrl` `+` | 展开当前代码块
`Ctrl` `Shift` `-` | 折叠所有代码块
`Ctrl` `Shift` `+` | 展开所有代码块
`Ctrl` `D` | 复制当前行或选择
`Ctrl` `Space` | 基本代码完成
`Ctrl` `Shift` `Space` | 智能代码完成,按预期类型过滤方法和变量列表
`Ctrl` `Shift` `Enter` | 完整声明
`Ctrl` `Q` | 快速文档查找
`Ctrl` `P` | 显示所选方法的参数
`Ctrl` `B` | 直接去报关
`Ctrl` `Alt` `B` | 转到实施
`Ctrl` `U` | 转到超方法或超类
`Ctrl` `Shift` `I` | 打开快速定义查找
`Alt` `1` | 切换项目工具窗口可见性
`F11` | 切换书签
`Ctrl` `F11` | 使用助记符切换书签
`Ctrl` `/` | 注释或取消注释行注释
`Ctrl` `Shift` `/` | 使用块评论评论或取消评论
`Ctrl` `W` | 选择连续递增的代码块
`Ctrl` `Shift` `W` | 将当前选择减少到以前的状态
`Ctrl` `[` | 移动到代码块开始
`Ctrl` `]` | 移动到代码块末尾
`Ctrl` `Shift` `[` | 选择到代码块开始
`Ctrl` `Shift` `]` | 选择到代码块结束
`Ctrl` `Del` | 删除到一个词的末尾
`Ctrl` `Backspace` | 删除到单词的开头
`Ctrl` `Alt` `O` | 优化导入
`Alt` `Enter` | 项目快速修复、显示意图操作和快速修复
`Ctrl` `Alt` `L` | 重新格式化代码
`Ctrl` `Alt` `I` | 自动缩进行
`Tab` | 缩进线
`Shift` `Tab` | 不缩进线
`Ctrl` `Shift` `J` | 智能线路加入
`Ctrl` `Enter` | 智能分线
`Shift` `Enter` | 开始新行
`F2` | 下一个突出显示的错误
`Shift` `F2` | 上一个突出显示的错误
<!--rehype:className=shortcuts-->
### 查看布局
快捷键 | 说明
---|---
`Ctrl` `+` | 放大
`Ctrl` `-` | 缩小
`Ctrl` `0` | 适应屏幕
`Ctrl` `Shift` `1` | 实际尺寸
<!--rehype:className=shortcuts-->
### 布局编辑器
快捷键 | 说明
---|---
`B` | 在设计和蓝图模式之间切换
`O` | 在人像和风景模式之间切换
`D` | 切换设备
`R` | 强制刷新
`E` | 切换渲染错误面板
`Del` | 删除约束
`Ctrl` `+` | 放大
`Ctrl` `-` | 缩小
`Ctrl` `0` | 缩放以适合
`Ctrl` `B` | 转到 XML
`Ctrl` `A` | 选择所有组件
`Shift` `(click)` | 选择多个组件
<!--rehype:className=shortcuts-->
### 导航编辑器
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
---|---
`Ctrl` `+` | 放大
`Ctrl` `-` | 缩小
`Ctrl` `0` | 缩放以适合
`Ctrl` `B` | 转到 XML
`E` | 切换渲染错误面板
`Ctrl` `G` | 分组为嵌套图
`Tab` | 循环浏览目的地
`Ctrl` `A` | 选择所有目的地
`Ctrl` `(click)` | 选择多个目的地
<!--rehype:className=shortcuts-->
### 构建并运行
快捷键 | 说明
---|---
`Ctrl` `F9` | 建造
`Shift` `F10` | 构建并运行
`Ctrl` `F10` | 应用更改并重新启动活动
`Ctrl` `Alt` `F10` | 应用代码更改
<!--rehype:className=shortcuts-->
### 版本控制
快捷键 | 说明
---|---
`Ctrl` `K` | 提交项目到 VCS
`Ctrl` `T` | 从 VCS 更新项目
`Alt` `Shift` `C` | 查看最近的更改
`Alt` <code>\`</code> | 打开 VCS 弹出窗口
<!--rehype:className=shortcuts-->
### 调试
快捷键 | 说明
---|---
`Shift` `F9` | 调试
`F8` | 跨过
`F7` | 踏入
`Shift` `F7` | 智能步入
`Shift` `F8` | 走出去
`Alt` `F9` | 运行到光标处
`Alt` `F8` | 评估表达
`F9` | 恢复程序
`Ctrl` `F8` | 切换断点
`Ctrl` `Shift` `F8` | 查看断点
<!--rehype:className=shortcuts-->
### 重构
快捷键 | 说明
---|---
`F5` | 复制
`F6` | 移动
`Alt` `Del` | 安全删除
`Shift` `F6` | 改名
`Ctrl` `F6` | 更改签名
`Ctrl` `Alt` `N` | 排队
`Ctrl` `Alt` `M` | 提取方法
`Ctrl` `Alt` `V` | 提取变量
`Ctrl` `Alt` `F` | 提取字段
`Ctrl` `Alt` `C` | 提取常量
`Ctrl` `Alt` `P` | 提取参数
<!--rehype:className=shortcuts-->
另见
--------
- [Keyboard shortcuts for Android Studio](https://developer.android.com/studio/intro/keyboard-shortcuts) _(developer.android.com)_

View File

@ -19,6 +19,7 @@ Ansible 备忘清单
- [Ansible 官方文档](https://docs.ansible.com)
### 配置位置
<!--rehype:wrap-class=col-span-2 row-span-2-->
文件路径 | 说明
:-|-
@ -26,13 +27,27 @@ Ansible 备忘清单
`~/ansible.cfg` | 用户特定的配置
`$pwd/ansible.cfg` | 当前目录下的配置
配置文件优先级
- 如果没有任何其他配置文件,默认使用 `/etc/ansible/ansible.cfg`
- `~/.ansible.cfg` `家`目录下的 `.ansible.cfg`
- 当前目录下的 `ansible.cfg`,即在同一目录下 `ansible.cfg` 优先级高于 `~/.ansible.cfg`
- 环境变量 `exoport ANSIBLE_CONFIG=/$DIR/ansible.cfg`
<!--rehype:className=style-timeline-->
查看正在使用的 `ansible` 配置文件:
```bash
ansible --version | grep "config file"
```
### Inventory文件(hosts列表)
#### 静态Inventory
`/etc/ansible/hosts`
```INI
```ini
mail.example.com
[webservers]
@ -42,7 +57,7 @@ bar.example.com
### Inventory 主机组使用多个IP和域名
```
```ini
[web]
172.18.12.5[1:4]
[webservers]
@ -125,7 +140,7 @@ $ ansible target -m copy -a "src=/tmp/seq dest=/tmp/seq"
### Ansible 命令帮助
<!--rehype:wrap-class=col-span-2 row-span-3-->
```bash
```shell
$ ansible
$ ansible <host-pattern> [options]
```
@ -156,6 +171,7 @@ $ ansible <host-pattern> [options]
`--vault-password-file=VAULT_PASSWORD_FILE` | 保险库密码文件
`-v`, `--verbose` | 详细模式(-vvv 更多,-vvvv 启用连接调试)
`--version` | 显示程序的版本号并退出
<!--rehype:className=left-align-->
控制谁以及如何连接到主机,连接选项:
@ -167,24 +183,26 @@ $ ansible <host-pattern> [options]
`-c CONNECTION`, `--connection=CONNECTION` | 要使用的连接类型 (default=smart)
`-T TIMEOUT`, `--timeout=TIMEOUT` | 以秒为单位覆盖连接超时 (default=10)
`--ssh-common-args=SSH_COMMON_ARGS` | 指定要传递给 sftp/scp/ssh 的常用参数 (e.g. ProxyCommand)
`--sftp-extra-args=SFTP_EXTRA_ARGS` | 指定仅传递给 sftp 的额外参数 (e.g. -f, -l)
`--sftp-extra-args=SFTP_EXTRA_ARGS` | 指定仅传递给 `sftp` 的额外参数 (e.g. -f, -l)
`--scp-extra-args=SCP_EXTRA_ARGS` | 指定仅传递给 `scp` 的额外参数 (e.g. -l)
`--ssh-extra-args=SSH_EXTRA_ARGS` | 指定仅传递给 `ssh` 的额外参数 (e.g. -R)
<!--rehype:className=left-align-->
控制您成为目标主机上的用户的方式和用户,特权升级选项:
:- | -
:- | -
`-s`, `--sudo` | 使用 sudo (nopasswd) 运行操作(已弃用,使用 become)
`-U SUDO_USER`, `--sudo-user=SUDO_USER` | 所需的 sudo 用户(默认=root)(已弃用,使用 become)
`-S`, `--su` | 使用 su 运行操作(已弃用,使用 become)
`-R SU_USER`, `--su-user=SU_USER` | 以该用户身份使用 su 运行操作(默认 = root)(已弃用,使用 become)
~~`-s`~~, ~~`--sudo`~~ | 使用 sudo (nopasswd) 运行操作(已弃用,使用 become)
~~`-U SUDO_USER`~~, ~~`--sudo-user=SUDO_USER`~~ | 所需的 sudo 用户(默认=root)(已弃用,使用 become)
~~`-S`~~, ~~`--su`~~ | 使用 su 运行操作(已弃用,使用 become)
~~`-R SU_USER`~~, ~~`--su-user=SU_USER`~~ | 以该用户身份使用 su 运行操作(默认 = root)(已弃用,使用 become)
`-b`, `--become` | 使用 become 运行操作(不暗示密码提示)
`--become-method=BECOME_METHOD` | 要使用的权限提升方法(默认=sudo),有效选择:[ sudo | su | pbrun | pfexec | runas | doas | dzdo ]
`--become-method=BECOME_METHOD` | 要使用的权限提升方法(默认=sudo),有效选择:\[ `sudo` \| `su` \| `pbrun` \| `pfexec` \| `runas` \| `doas` \| `dzdo` \]
`--become-user=BECOME_USER` | 以该用户身份运行操作(默认=root)
`--ask-sudo-pass` | 询问 sudo 密码(已弃用,使用 become)
`--ask-su-pass` | 询问 su 密码(已弃用,使用 become)
~~`--ask-sudo-pass`~~ | 询问 sudo 密码(已弃用,使用 become)
~~`--ask-su-pass`~~ | 询问 su 密码(已弃用,使用 become)
`-K`, `--ask-become-pass` | 要求提权密码
<!--rehype:className=left-align-->
### Ansible Galaxy 工具
@ -394,6 +412,38 @@ $ ansible-pull -U <repository> [options]
<!-- ### ansible-playbook -->
<!-- todo -->
### ansible常用模块
<!--rehype:wrap-class=col-span-3 -->
`Ansible` 的模块已经高达 `3000+` 之多。但是个人在日常工作中,比较常见的大约 `20` 多个
```bash
$ ansible-doc --list #查询所有模块
$ ansible <host-pattern> [options] # 标准使用方式
```
---
| :- | - | - |
| ---------------- | ------------------------------------------------ | ------------------------------------------------------------ |
| ping | 检查指定节点机器是否还能连通 | `ansible all -m ping` |
| command | 用于在各受控端节点运行指定的命令 | `ansible all -m command -a 'hostname'` |
| shell | shell模块可以特殊字符而command是不支持 | `ansible all -m shell -a 'hostname && date'` |
| hostname | 修改远程受控节点的主机名的模块 | `ansible -i /opt/hosts xx -m hostname -a 'name=ansible-client-199'` |
| copy | 在远程主机执行复制操作文件 | `ansible all -m copy -a 'src=/etc/hosts dest=/opt/hosts backup=yes'` |
| fetch | 从远程主机获取文件到管理节点,但是不支持目录操作 | `ansible all -m fetch -a "src=/etc/yum.repos.d/epel.repo dest=/usr/local/src"` |
| script | 管理端一个脚本,然后在远程服务器上执行 | `ansible all -m script -a '/root/time.sh'` |
| file | 主要用于远程主机上的文件和目录操作 | `ansible all -m file -a "path=/root/rsync.password mode=600 state=touch"` |
| cron | 管理执行任务计划模块(增删改查) | `ansible all -m cron -a "name='test a job' user=root job='/bin/sh /server/scripts/test.sh' minute=* hour=* day=* month=* weekday=*"` |
| yum | RedHat和CentOS的软件包安装和管理 | 安装<br />`ansible all -m yum -a "name=httpd state=present"`<br/>`ansible all -m yum -a "name=httpd state=installed"`<br />卸载<br />`ansible all -m yum -a "name=httpd state=absent"`<br/>`ansible all -m yum -a "name=httpd state=removed"` |
| `service``systemd` | 用于管理远程主机的服务 | `ansible all -m systemd -a "name=httpd state=started enabled=yes"`<br />`ansible all -m systemd -a "name=httpd state=restarted"` |
| user | useradd, userdel, usermod | `ansible all -m user -a 'name=haha remove=no state=absent'` |
| group | groupadd, groupdel, groupmod | `ansible all -m group -a 'name=mygroup state=absent'` |
| setup | 可收集远程主机的facts变量的信息 | `ansible all -m setup -a 'filter=ansible_default_ipv4'` |
| authorized_key | 为特定的用户账号添加或删除 SSH authorized keys | `ansible all -m authorized_key -a "user=root key='{{lookup('file','/root/.ssh/id_rsa.pub')}}' path=/root/.ssh/authorized_keys manage_dir=no"` |
| replace | 和 sed 命令比较类似,用于正则匹配和替换 | `ansible all -m replace -a "path=/etc/fstab regexp=^(UUID.*) replace='#\1'"` |
| lineinfile | 正则匹配,更改某个关键参数值 | `ansible all -m lineinfile -a "path=/etc/selinux/config regexp='^SELINUX=' line='SELINUX=disabled'"` |
<!--rehype:className=left-align-->
另见
---

270
docs/ascii-code.md Normal file
View File

@ -0,0 +1,270 @@
ASCII Code 备忘清单
===
这份速查表是 ASCII 码表的完整列表,包含了它们的数字和名称
ASCII 代码表
---
<!--rehype:body-class=cols-1&style=display:none;-->
### ASCII 代码表
| Symbol(符号) | Dec | Oct | Hex | Bin |
|------------------------------------|------|------|------|----------|
| NUL (Null) | 0 | 0 | 0 | 0 |
| SOH (Start of Heading) | 1 | 1 | 1 | 1 |
| STX (Start of Text) | 2 | 2 | 2 | 10 |
| ETX (End of Text) | 3 | 3 | 3 | 11 |
| EOT (End of Transmission) | 4 | 4 | 4 | 100 |
| ENQ (Enquiry) | 5 | 5 | 5 | 101 |
| ACK (Acknowledgment) | 6 | 6 | 6 | 110 |
| BEL (Bell) | 7 | 7 | 7 | 111 |
| BS (Back Space) | 8 | 10 | 8 | 1000 |
| HT (Horizontal Tab) | 9 | 11 | 9 | 1001 |
| LF (Line Feed) | 10 | 12 | 0A | 1010 |
| VT (Vertical Tab) | 11 | 13 | 0B | 1011 |
| FF (Form Feed) | 12 | 14 | 0C | 1100 |
| CR (Carriage Return) | 13 | 15 | 0D | 1101 |
| SO (Shift Out / X-On) | 14 | 16 | 0E | 1110 |
| SI (Shift In / X-Off) | 15 | 17 | 0F | 1111 |
| DLE (Data Line Escape) | 16 | 20 | 10 | 10000 |
| DC1 (Device Control 1 / oft. XON) | 17 | 21 | 11 | 10001 |
| DC2 (Device Control 2) | 18 | 22 | 12 | 10010 |
| DC3 (Device Control 3 / oft. XOFF) | 19 | 23 | 13 | 10011 |
| DC4 (Device Control 4) | 20 | 24 | 14 | 10100 |
| NAK (Negative Acknowledgement) | 21 | 25 | 15 | 10101 |
| SYN (Synchronous Idle) | 22 | 26 | 16 | 10110 |
| ETB (End of Transmit Block) | 23 | 27 | 17 | 10111 |
| CAN (Cancel) | 24 | 30 | 18 | 11000 |
| EM (End of Medium) | 25 | 31 | 19 | 11001 |
| SUB (Substitute) | 26 | 32 | 1A | 11010 |
| ESC (Escape) | 27 | 33 | 1B | 11011 |
| FS (File Separator) | 28 | 34 | 1C | 11100 |
| GS (Group Separator) | 29 | 35 | 1D | 11101 |
| RS (Record Separator) | 30 | 36 | 1E | 11110 |
| US (Unit Separator) | 31 | 37 | 1F | 11111 |
| (Space) | 32 | 40 | 20 | 100000 |
| ! | 33 | 41 | 21 | 100001 |
| " | 34 | 42 | 22 | 100010 |
| # | 35 | 43 | 23 | 100011 |
| $ | 36 | 44 | 24 | 100100 |
| % | 37 | 45 | 25 | 100101 |
| &amp; | 38 | 46 | 26 | 100110 |
| ' | 39 | 47 | 27 | 100111 |
| ( | 40 | 50 | 28 | 101000 |
| ) | 41 | 51 | 29 | 101001 |
| * | 42 | 52 | 2A | 101010 |
| + | 43 | 53 | 2B | 101011 |
| , | 44 | 54 | 2C | 101100 |
| - | 45 | 55 | 2D | 101101 |
| . | 46 | 56 | 2E | 101110 |
| / | 47 | 57 | 2F | 101111 |
| 0 | 48 | 60 | 30 | 110000 |
| 1 | 49 | 61 | 31 | 110001 |
| 2 | 50 | 62 | 32 | 110010 |
| 3 | 51 | 63 | 33 | 110011 |
| 4 | 52 | 64 | 34 | 110100 |
| 5 | 53 | 65 | 35 | 110101 |
| 6 | 54 | 66 | 36 | 110110 |
| 7 | 55 | 67 | 37 | 110111 |
| 8 | 56 | 70 | 38 | 111000 |
| 9 | 57 | 71 | 39 | 111001 |
| : | 58 | 72 | 3A | 111010 |
| ; | 59 | 73 | 3B | 111011 |
| &lt; | 60 | 74 | 3C | 111100 |
| = | 61 | 75 | 3D | 111101 |
| &gt; | 62 | 76 | 3E | 111110 |
| ? | 63 | 77 | 3F | 111111 |
| @ | 64 | 100 | 40 | 1000000 |
| A | 65 | 101 | 41 | 1000001 |
| B | 66 | 102 | 42 | 1000010 |
| C | 67 | 103 | 43 | 1000011 |
| D | 68 | 104 | 44 | 1000100 |
| E | 69 | 105 | 45 | 1000101 |
| F | 70 | 106 | 46 | 1000110 |
| G | 71 | 107 | 47 | 1000111 |
| H | 72 | 110 | 48 | 1001000 |
| I | 73 | 111 | 49 | 1001001 |
| J | 74 | 112 | 4A | 1001010 |
| K | 75 | 113 | 4B | 1001011 |
| L | 76 | 114 | 4C | 1001100 |
| M | 77 | 115 | 4D | 1001101 |
| N | 78 | 116 | 4E | 1001110 |
| O | 79 | 117 | 4F | 1001111 |
| P | 80 | 120 | 50 | 1010000 |
| Q | 81 | 121 | 51 | 1010001 |
| R | 82 | 122 | 52 | 1010010 |
| S | 83 | 123 | 53 | 1010011 |
| T | 84 | 124 | 54 | 1010100 |
| U | 85 | 125 | 55 | 1010101 |
| V | 86 | 126 | 56 | 1010110 |
| W | 87 | 127 | 57 | 1010111 |
| X | 88 | 130 | 58 | 1011000 |
| Y | 89 | 131 | 59 | 1011001 |
| Z | 90 | 132 | 5A | 1011010 |
| [ | 91 | 133 | 5B | 1011011 |
| \ | 92 | 134 | 5C | 1011100 |
| ] | 93 | 135 | 5D | 1011101 |
| ^ | 94 | 136 | 5E | 1011110 |
| _ | 95 | 137 | 5F | 1011111 |
| <code>\`</code> | 96 | 140 | 60 | 1100000 |
| a | 97 | 141 | 61 | 1100001 |
| b | 98 | 142 | 62 | 1100010 |
| c | 99 | 143 | 63 | 1100011 |
| d | 100 | 144 | 64 | 1100100 |
| e | 101 | 145 | 65 | 1100101 |
| f | 102 | 146 | 66 | 1100110 |
| g | 103 | 147 | 67 | 1100111 |
| h | 104 | 150 | 68 | 1101000 |
| i | 105 | 151 | 69 | 1101001 |
| j | 106 | 152 | 6A | 1101010 |
| k | 107 | 153 | 6B | 1101011 |
| l | 108 | 154 | 6C | 1101100 |
| m | 109 | 155 | 6D | 1101101 |
| n | 110 | 156 | 6E | 1101110 |
| o | 111 | 157 | 6F | 1101111 |
| p | 112 | 160 | 70 | 1110000 |
| q | 113 | 161 | 71 | 1110001 |
| r | 114 | 162 | 72 | 1110010 |
| s | 115 | 163 | 73 | 1110011 |
| t | 116 | 164 | 74 | 1110100 |
| u | 117 | 165 | 75 | 1110101 |
| v | 118 | 166 | 76 | 1110110 |
| w | 119 | 167 | 77 | 1110111 |
| x | 120 | 170 | 78 | 1111000 |
| y | 121 | 171 | 79 | 1111001 |
| z | 122 | 172 | 7A | 1111010 |
| { | 123 | 173 | 7B | 1111011 |
| | 124 | 174 | 7C | 1111100 |
| } | 125 | 175 | 7D | 1111101 |
| ~ | 126 | 176 | 7E | 1111110 |
| (Delete) | 127 | 177 | 7F | 1111111 |
| € | 128 | 200 | 80 | 10000000 |
| | 129 | 201 | 81 | 10000001 |
| | 130 | 202 | 82 | 10000010 |
| ƒ | 131 | 203 | 83 | 10000011 |
| „ | 132 | 204 | 84 | 10000100 |
| … | 133 | 205 | 85 | 10000101 |
| † | 134 | 206 | 86 | 10000110 |
| ‡ | 135 | 207 | 87 | 10000111 |
| ˆ | 136 | 210 | 88 | 10001000 |
| ‰ | 137 | 211 | 89 | 10001001 |
| Š | 138 | 212 | 8A | 10001010 |
| | 139 | 213 | 8B | 10001011 |
| Œ | 140 | 214 | 8C | 10001100 |
| | 141 | 215 | 8D | 10001101 |
| Ž | 142 | 216 | 8E | 10001110 |
| | 143 | 217 | 8F | 10001111 |
| | 144 | 220 | 90 | 10010000 |
| | 145 | 221 | 91 | 10010001 |
| | 146 | 222 | 92 | 10010010 |
| “ | 147 | 223 | 93 | 10010011 |
| ” | 148 | 224 | 94 | 10010100 |
| • | 149 | 225 | 95 | 10010101 |
| | 150 | 226 | 96 | 10010110 |
| — | 151 | 227 | 97 | 10010111 |
| ˜ | 152 | 230 | 98 | 10011000 |
| ™ | 153 | 231 | 99 | 10011001 |
| š | 154 | 232 | 9A | 10011010 |
| | 155 | 233 | 9B | 10011011 |
| œ | 156 | 234 | 9C | 10011100 |
| | 157 | 235 | 9D | 10011101 |
| ž | 158 | 236 | 9E | 10011110 |
| Ÿ | 159 | 237 | 9F | 10011111 |
| (Non-breaking space) | 160 | 240 | A0 | 10100000 |
| ¡ | 161 | 241 | A1 | 10100001 |
| ¢ | 162 | 242 | A2 | 10100010 |
| £ | 163 | 243 | A3 | 10100011 |
| ¤ | 164 | 244 | A4 | 10100100 |
| ¥ | 165 | 245 | A5 | 10100101 |
| ¦ | 166 | 246 | A6 | 10100110 |
| § | 167 | 247 | A7 | 10100111 |
| ¨ | 168 | 250 | A8 | 10101000 |
| © | 169 | 251 | A9 | 10101001 |
| ª | 170 | 252 | AA | 10101010 |
| « | 171 | 253 | AB | 10101011 |
| ¬ | 172 | 254 | AC | 10101100 |
| (Soft hyphen) | 173 | 255 | AD | 10101101 |
| ® | 174 | 256 | AE | 10101110 |
| ¯ | 175 | 257 | AF | 10101111 |
| ° | 176 | 260 | B0 | 10110000 |
| ± | 177 | 261 | B1 | 10110001 |
| ² | 178 | 262 | B2 | 10110010 |
| ³ | 179 | 263 | B3 | 10110011 |
| ´ | 180 | 264 | B4 | 10110100 |
| µ | 181 | 265 | B5 | 10110101 |
| ¶ | 182 | 266 | B6 | 10110110 |
| · | 183 | 267 | B7 | 10110111 |
| ¸ | 184 | 270 | B8 | 10111000 |
| ¹ | 185 | 271 | B9 | 10111001 |
| º | 186 | 272 | BA | 10111010 |
| » | 187 | 273 | BB | 10111011 |
| ¼ | 188 | 274 | BC | 10111100 |
| ½ | 189 | 275 | BD | 10111101 |
| ¾ | 190 | 276 | BE | 10111110 |
| ¿ | 191 | 277 | BF | 10111111 |
| À | 192 | 300 | C0 | 11000000 |
| Á | 193 | 301 | C1 | 11000001 |
| Â | 194 | 302 | C2 | 11000010 |
| Ã | 195 | 303 | C3 | 11000011 |
| Ä | 196 | 304 | C4 | 11000100 |
| Å | 197 | 305 | C5 | 11000101 |
| Æ | 198 | 306 | C6 | 11000110 |
| Ç | 199 | 307 | C7 | 11000111 |
| È | 200 | 310 | C8 | 11001000 |
| É | 201 | 311 | C9 | 11001001 |
| Ê | 202 | 312 | CA | 11001010 |
| Ë | 203 | 313 | CB | 11001011 |
| Ì | 204 | 314 | CC | 11001100 |
| Í | 205 | 315 | CD | 11001101 |
| Î | 206 | 316 | CE | 11001110 |
| Ï | 207 | 317 | CF | 11001111 |
| Ð | 208 | 320 | D0 | 11010000 |
| Ñ | 209 | 321 | D1 | 11010001 |
| Ò | 210 | 322 | D2 | 11010010 |
| Ó | 211 | 323 | D3 | 11010011 |
| Ô | 212 | 324 | D4 | 11010100 |
| Õ | 213 | 325 | D5 | 11010101 |
| Ö | 214 | 326 | D6 | 11010110 |
| × | 215 | 327 | D7 | 11010111 |
| Ø | 216 | 330 | D8 | 11011000 |
| Ù | 217 | 331 | D9 | 11011001 |
| Ú | 218 | 332 | DA | 11011010 |
| Û | 219 | 333 | DB | 11011011 |
| Ü | 220 | 334 | DC | 11011100 |
| Ý | 221 | 335 | DD | 11011101 |
| Þ | 222 | 336 | DE | 11011110 |
| ß | 223 | 337 | DF | 11011111 |
| à | 224 | 340 | E0 | 11100000 |
| á | 225 | 341 | E1 | 11100001 |
| â | 226 | 342 | E2 | 11100010 |
| ã | 227 | 343 | E3 | 11100011 |
| ä | 228 | 344 | E4 | 11100100 |
| å | 229 | 345 | E5 | 11100101 |
| æ | 230 | 346 | E6 | 11100110 |
| ç | 231 | 347 | E7 | 11100111 |
| è | 232 | 350 | E8 | 11101000 |
| é | 233 | 351 | E9 | 11101001 |
| ê | 234 | 352 | EA | 11101010 |
| ë | 235 | 353 | EB | 11101011 |
| ì | 236 | 354 | EC | 11101100 |
| í | 237 | 355 | ED | 11101101 |
| î | 238 | 356 | EE | 11101110 |
| ï | 239 | 357 | EF | 11101111 |
| ð | 240 | 360 | F0 | 11110000 |
| ñ | 241 | 361 | F1 | 11110001 |
| ò | 242 | 362 | F2 | 11110010 |
| ó | 243 | 363 | F3 | 11110011 |
| ô | 244 | 364 | F4 | 11110100 |
| õ | 245 | 365 | F5 | 11110101 |
| ö | 246 | 366 | F6 | 11110110 |
| ÷ | 247 | 367 | F7 | 11110111 |
| ø | 248 | 370 | F8 | 11111000 |
| ù | 249 | 371 | F9 | 11111001 |
| ú | 250 | 372 | FA | 11111010 |
| û | 251 | 373 | FB | 11111011 |
| ü | 252 | 374 | FC | 11111100 |
| ý | 253 | 375 | FD | 11111101 |
| þ | 254 | 376 | FE | 11111110 |
| ÿ | 255 | 377 | FF | 11111111 |
<!--rehype:className=show-header-->

249
docs/aspect-ratio.md Normal file
View File

@ -0,0 +1,249 @@
Aspect Ratio 备忘清单
===
此备忘单列出了一些常见的宽高比及其像素分辨率
入门
----
<!--rehype:body-class=cols-2-->
### 介绍
<!--rehype:wrap-class=col-span-2-->
- 宽高比是屏幕或图像的宽度和高度之间的比率
- 它通常写成由冒号或“x”分隔的两个数字例如16:9 或 16x9
- 这被解释为宽度为 W 像素,高度为每个 H 像素。
- 分辨率是像素数(颜色的各个点)
<!--rehype:className=style-round-->
宽高比列表
--------
### 1080p
<!--rehype:wrap-class=row-span-2-->
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 864 x 1080
1.25 (5:4) | 1350 x 1080
1.33 (4:3) | 1440 x 1080
1.66 (5:3) | 1800 x 1080
1.78 (16:9) | 1920 x 1080
1.85 | 1920 x 1038
1.90 | 1920 x 1011
2.00 | 1920 x 960
2.35 | 1920 x 817
2.37 | 1920 x 810
2.39 | 1920 x 803
2.40 | 1920 x 800
2.44 | 1920 x 787
<!--rehype:className=show-header-->
### 720p
<!--rehype:wrap-class=row-span-2-->
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 576 x 720
1.25 (5:4) | 900 x 720
1.33 (4:3) | 960 x 720
1.66 (5:3) | 1200 x 720
1.78 (16:9) | 1280 x 720
1.85 | 1280 x 692
1.90 | 1280 x 674
2.00 | 1280 x 640
2.35 | 1280 x 545
2.37 | 1280 x 540
2.39 | 1280 x 536
2.40 | 1280 x 533
2.44 | 1280 x 525
<!--rehype:className=show-header-->
### Cinema DCP 4K
纵横比 | 分辨率
:-- | --
Flat (1.85) | 3996 x 2160
Scope (2.39) | 4096 x 1716
Full Container (1.90) | 4096 x 2160
<!--rehype:className=show-header-->
### Cinema DCP 2K
纵横比 | 分辨率
:-- | --
Flat (1.85) | 1998 x 1080
Scope (2.39) | 2048 x 858
Full Container (1.90) | 2048 x 1080
<!--rehype:className=show-header-->
### 8K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 3686 x 4608
1.25 (5:4) | 5760 x 4608
1.33 (4:3) | 6144 x 4608
1.66 (5:3) | 7680 x 4608
1.78 (16:9) | 8192 x 4608
1.85 | 8192 x 4428
1.90 | 8192 x 4320
2.00 | 8192 x 4096
2.35 | 8192 x 3486
2.37 | 8192 x 3456
2.39 | 8192 x 3428
2.40 | 8192 x 3413
2.44 | 8192 x 3357
<!--rehype:className=show-header-->
### 6K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 2765 x 3456
1.25 (5:4) | 4320 x 3456
1.33 (4:3) | 4608 x 3456
1.66 (5:3) | 5760 x 3456
1.78 (16:9) | 6144 x 3456
1.85 | 6144 x 3321
1.90 | 6144 x 3234
2.00 | 6144 x 3072
2.35 | 6144 x 2614
2.37 | 6144 x 2592
2.39 | 6144 x 2571
2.40 | 6144 x 2560
2.44 | 6144 x 2518
<!--rehype:className=show-header-->
### 4K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 2765 x 3456
1.25 (5:4) | 4320 x 3456
1.33 (4:3) | 4608 x 3456
1.66 (5:3) | 5760 x 3456
1.78 (16:9) | 6144 x 3456
1.85 | 6144 x 3321
1.90 | 6144 x 3234
2.00 | 6144 x 3072
2.35 | 6144 x 2614
2.37 | 6144 x 2592
2.39 | 6144 x 2571
2.40 | 6144 x 2560
2.44 | 6144 x 2518
<!--rehype:className=show-header-->
### 3K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 1382 x 1728
1.25 (5:4) | 2160 x 1728
1.33 (4:3) | 2304 x 1728
1.66 (5:3) | 2880 x 1728
1.78 (16:9) | 3072 x 1728
1.85 | 3072 x 1661
1.90 | 3072 x 1620
2.00 | 3072 x 1536
2.35 | 3072 x 1307
2.37 | 3072 x 1296
2.39 | 3072 x 1285
2.40 | 3072 x 1280
2.44 | 3072 x 1259
<!--rehype:className=show-header-->
### 2K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 922 x 1152
1.25 (5:4) | 1440 x 1152
1.33 (4:3) | 1536 x 1152
1.66 (5:3) | 1920 x 1152
1.78 (16:9) | 2048 x 1152
1.85 | 2048 x 1107
1.90 | 2048 x 1078
2.00 | 2048 x 1024
2.35 | 2048 x 871
2.37 | 2048 x 864
2.39 | 2048 x 858
2.40 | 2048 x 853
2.44 | 2048 x 838
<!--rehype:className=show-header-->
### 8K UHD
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 2765 x 3456
1.25 (5:4) | 5400 x 3456
1.33 (4:3) | 5760 x 3456
1.66 (5:3) | 7200 x 3456
1.78 (16:9) | 7680 x 4320
1.85 | 7680 x 4151
1.90 | 7680 x 4042
2.00 | 7680 x 3840
2.35 | 7680 x 3268
2.37 | 7680 x 3240
2.39 | 7680 x 3213
2.40 | 7680 x 3200
2.44 | 7680 x 3148
<!--rehype:className=show-header-->
### 5K
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 2304 x 2880
1.25 (5:4) | 3600 x 2880
1.33 (4:3) | 3840 x 2880
1.66 (5:3) | 4800 x 2880
1.78 (16:9) | 5120 x 2880
1.85 | 5120 x 2768
1.90 | 5120 x 2700
2.00 | 5120 x 2560
2.35 | 5120 x 2179
2.37 | 5120 x 2160
2.39 | 5120 x 2142
2.40 | 5120 x 2133
2.44 | 5120 x 2098
<!--rehype:className=show-header-->
### 4K UHD
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 1728 x 2160
1.25 (5:4) | 2700 x 2160
1.33 (4:3) | 2880 x 2160
1.66 (5:3) | 3600 x 2160
1.78 (16:9) | 3840 x 2160
1.85 | 3840 x 2076
1.90 | 3840 x 2021
2.00 | 3840 x 1920
2.35 | 3840 x 1634
2.37 | 3840 x 1620
2.39 | 3840 x 1607
2.40 | 3840 x 1600
2.44 | 3840 x 1574
<!--rehype:className=show-header-->
### 3K UHD
纵横比 | 分辨率
:-- | --
0.80 (4:5) | 1296 x 1620
1.25 (5:4) | 2025 x 1620
1.33 (4:3) | 2160 x 1620
1.66 (5:3) | 2700 x 1620
1.78 (16:9) | 2880 x 1620
1.85 | 2880 x 1557
1.90 | 2880 x 1516
2.00 | 2880 x 1440
2.35 | 2880 x 1226
2.37 | 2880 x 1215
2.39 | 2880 x 1205
2.40 | 2880 x 1200
2.44 | 2880 x 1180
<!--rehype:className=show-header-->

View File

@ -4,7 +4,7 @@ Bash 备忘清单
这是开始使用 linux bash shell 脚本的快速参考备忘单。
入门
---------------
-----
### hello.sh
@ -61,6 +61,7 @@ bash 注释
`$@` | 所有参数,从第一个开始
`$-` | 当前选项
`$_` | 上一个命令的最后一个参数
<!--rehype:className=left-align-->
见:[特殊参数](http://wiki.bash-hackers.org/syntax/shellvars#special_parameters_and_shell_variables)
@ -152,6 +153,7 @@ Bash 参数扩展
`${FOO:=val}` | 如果未设置,则将 `$FOO` 设置为 `val`
`${FOO:+val}` | `val` 如果设置了`$FOO`
`${FOO:?message}` | 如果 `$FOO` 未设置,则显示消息并退出
<!--rehype:className=code-nowrap left-align-->
### 替代 Substitution
@ -195,15 +197,21 @@ echo ${name:0:length} # => Jo
SRC="/path/to/foo.cpp"
```
---
```bash
BASEPATH=${SRC##*/}
echo $BASEPATH # => "foo.cpp"
```
---
```bash
DIRPATH=${SRC%$BASEPATH}
echo $DIRPATH # => "/path/to/"
```
### Transform
### 转换
```bash
STR="HELLO WORLD!"
@ -265,7 +273,7 @@ for e in "${Fruits[@]}"; do
done
```
#### With index
#### 有索引
```bash
for i in "${!Fruits[@]}"; do
@ -348,12 +356,12 @@ Bash 条件句
条件 | 描述
:- | -
`[[ NUM -eq NUM ]]` | 等于 <yel>Eq</yel>ual |
`[[ NUM -ne NUM ]]` | 不等于 <yel>N</yel>ot <yel>e</yel>qual |
`[[ NUM -lt NUM ]]` | 小于 <yel>L</yel>ess <yel>t</yel>han |
`[[ NUM -le NUM ]]` | 小于等于 <yel>L</yel>ess than or <yel>e</yel>qual |
`[[ NUM -gt NUM ]]` | 大于 <yel>G</yel>reater <yel>t</yel>han |
`[[ NUM -ge NUM ]]` | 大于等于 <yel>G</yel>reater than or <yel>e</yel>qual |
`[[ NUM -eq NUM ]]` | 等于 <yel>Eq</yel>ual
`[[ NUM -ne NUM ]]` | 不等于 <yel>N</yel>ot <yel>e</yel>qual
`[[ NUM -lt NUM ]]` | 小于 <yel>L</yel>ess <yel>t</yel>han
`[[ NUM -le NUM ]]` | 小于等于 <yel>L</yel>ess than or <yel>e</yel>qual
`[[ NUM -gt NUM ]]` | 大于 <yel>G</yel>reater <yel>t</yel>han
`[[ NUM -ge NUM ]]` | 大于等于 <yel>G</yel>reater than or <yel>e</yel>qual
`(( NUM < NUM ))` | 小于
`(( NUM <= NUM ))` | 小于或等于
`(( NUM > NUM ))` | 比...更大
@ -448,10 +456,10 @@ fi
条件 | 描述
:- | -
`[[ -o noclobber ]]` | 如果启用 OPTION
`[[ ! EXPR ]]` | 不是 Not
`[[ X && Y ]]` | 和 And
`[[ X \|\| Y ]]` | 或者 Or
`[[ -o noclobber ]]` | 如果启用 <pur>OPTION</pur>
`[[ ! EXPR ]]` | 不是 <pur>Not</pur>
`[[ X && Y ]]` | 和 <pur>And</pur>
`[[ X \|\| Y ]]` | 或者 <pur>Or</pur>
### 逻辑和,或
@ -536,10 +544,10 @@ done
```bash
for number in $(seq 1 3); do
if [[ $number == 2 ]]; then
# Skip entire rest of loop.
# 跳过整个循环的其余部分。
break;
fi
# This will only print 1
# 这只会打印 1
echo "$number"
done
```
@ -558,7 +566,7 @@ done
```bash
while true; do
# here is some code.
# 下面是一些代码
done
```
@ -566,7 +574,7 @@ done
```bash
while :; do
# here is some code.
# 下面是一些代码
done
```
@ -589,8 +597,9 @@ myfunc() {
}
```
同上(替代语法)
```bash
# 同上(替代语法)
function myfunc() {
echo "hello $1"
}
@ -635,42 +644,61 @@ Bash 选项
### 选项
避免覆盖文件
```bash
# 避免覆盖文件
# (echo "hi" > foo)
set -o noclobber
```
# 用于出错时退出
# 避免级联错误
用于出错时退出,避免级联错误
```bash
set -o errexit
```
# 揭示隐藏的失败
揭示隐藏的失败
```bash
set -o pipefail
```
# 公开未设置的变量
公开未设置的变量
```bash
set -o nounset
```
### 全局选项
不匹配的 glob 被删除
```bash
# 不匹配的 glob 被删除
# ('*.foo' => '')
shopt -s nullglob
shopt -s nullglob # ('*.foo' => '')
```
# 不匹配的 glob 抛出错误
不匹配的 glob 抛出错误
```bash
shopt -s failglob
```
# 不区分大小写的球体
不区分大小写的球体
```bash
shopt -s nocaseglob
```
# 通配符匹配点文件
# ("*.sh" => ".foo.sh")
shopt -s dotglob
通配符匹配点文件
# 允许 ** 进行递归匹配
# ('lib/**/*.rb' => 'lib/a/b/c.rb')
shopt -s globstar
```bash
shopt -s dotglob # ("*.sh" => ".foo.sh")
```
允许 ** 进行递归匹配
```bash
shopt -s globstar # ('lib/**/*.rb' => 'lib/a/b/c.rb')
```
Bash 历史
@ -682,8 +710,9 @@ Bash 历史
命令 | 描述
:- | -
`history` | 显示历史
`sudo !!` | 使用 sudo 运行上一个命令
`sudo !!` | 使用 `sudo` 运行上一个命令
`shopt -s histverify` | 不要立即执行扩展结果
<!--rehype:className=left-align-->
### 表达式
@ -694,6 +723,7 @@ Bash 历史
`!-n` | 展开第 `n` 个最近的命令
`!n` | 展开历史中的第 `n` 个命令
`!<command>` | 展开最近调用的命令 `<command>`
<!--rehype:className=left-align-->
### 操作
@ -704,6 +734,7 @@ Bash 历史
`!!:gs/<FROM>/<TO>/` | 在最近的命令中将所有出现的 `<FROM>` 替换为 `<TO>`
`!$:t` | 仅从最近命令的最后一个参数扩展基本名称
`!$:h` | 仅从最近命令的最后一个参数展开目录
<!--rehype:className=left-align-->
`!!` 和 `!$` 可以替换为任何有效的扩展。
@ -716,34 +747,35 @@ Bash 历史
`!$` | 从最近的命令中展开最后一个标记
`!!:n-m` | 从最近的命令扩展令牌范围
`!!:n-$` | 从最近的命令中将第 `n` 个标记展开到最后
<!--rehype:className=left-align-->
`!!` 可以替换为任何有效的扩展,即 `!cat`、`!-2`、`!42` 等。
杂项
-------------
---
### 数值计算
```bash
$((a + 200)) # Add 200 to $a
$((a + 200)) # $a 加 200
```
```bash
$(($RANDOM%200)) # Random number 0..199
$(($RANDOM%200)) # 随机数 0..199
```
### 子 shell
```bash
(cd somedir; echo "I'm now in $PWD")
pwd # still in first directory
pwd # 仍然在第一个目录
```
### 检查命令
```bash
command -V cd
#=> "cd is a function/alias/whatever"
#=> "cd 是一个函数/别名/其他"
```
### 重定向
@ -837,7 +869,6 @@ if [[ "$1" == '--' ]]; then shift; fi
```
### 检查命令的结果
<!--rehype:wrap-class=col-span-2-->
```bash
if ping -c 1 google.com; then
@ -845,6 +876,73 @@ if ping -c 1 google.com; then
fi
```
### grep 检查
```bash
if grep -q 'foo' ~/.bash_history; then
echo "您过去似乎输入过“foo”"
fi
```
### 写入文件
<!--rehype:wrap-class=row-span-6-->
:-- | --
:-- | --
`cat` | 用于显示文本文件内容,全部输出
`EOF` | `end of file`,表示文本结束符
---
```bash
cat > output.txt <<EOF
this is test eof
this is test eof2
EOF
```
输出 `cat output.txt`
```
this is test eof
this is test eof2
```
追加内容
```bash
cat >>2.txt <<EOF
456
789
EOF
```
`$` 等特殊字符时,须利用转义字符 `\`
```bash
cat > file <<EOF
export ORACLE_SID=yqpt
export PATH=\$PATH:\$ORACLE_HOME/bin
EOF
```
取消变量替换,`EOF` 被加上双引号或者单引号,即可取消变量的替换
```bash
cat << "EOF" > output.sh
echo "This is output"
echo $1
EOF
```
所有TAB键将全部忽略[不能是空格]
```bash
cat << -EOF
echo "This is output"
EOF
```
### 特殊变量
<!--rehype:wrap-class=row-span-2-->
@ -857,15 +955,6 @@ fi
见[特殊参数](http://wiki.bash-hackers.org/syntax/shellvars#special_parameters_and_shell_variables)。
### grep 检查
<!--rehype:wrap-class=col-span-2-->
```bash
if grep -q 'foo' ~/.bash_history; then
echo "您过去似乎输入过“foo”"
fi
```
### 反斜杠转义
<!--rehype:wrap-class=row-span-2-->
@ -907,11 +996,11 @@ END
### 转到上一个目录
```bash
pwd # /home/user/foo
pwd # /home/user/foo
cd bar/
pwd # /home/user/foo/bar
pwd # /home/user/foo/bar
cd -
pwd # /home/user/foo
pwd # /home/user/foo
```
### 读取输入
@ -953,6 +1042,25 @@ echo "${args[@]}"
将参数放入数组中,然后追加
### 调试模式
启用调试模式,会把脚本中的每条命令的执行情况打印出来。它可以在整个会话或脚本上运行,也可以在脚本内以编程方式启用。
以调试模式运行脚本(整个脚本都会打印调试信息)
```bash
$ bash -x myscript.sh
```
在 bash 脚本中打开调试(针对部分内容打印调试信息)
```bash
#!/bin/bash
set -x # Enable debugging
# some code here
set +x # Disable debugging output.
```
Bash 颜色
----
@ -961,10 +1069,6 @@ Bash 颜色
您可以通过为其输出着色来使您的 BASH 脚本更漂亮,使用以下模板编写彩色文本:
```bash
echo -e "\e[COLORm文字变色了\e[0m"
```
#### 示例
```bash
@ -1022,35 +1126,36 @@ m # 设置图形模式
`5` | 缓慢闪烁
`6` | 快速闪烁
`7` | 反显
`8` | 隐藏 | 未广泛支持
`8` | 隐藏 | 未广泛支持
`9` | 划除
<!--rehype:className=left-align-->
### ANSI — 颜色转义码
颜色 | 前景色 | 背景色 | 示例
:- | -- | -- | --
`Black` 黑色 | 30 | 40 | ``<!--rehype:style=background:#000;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Red` 红色 | 31 | 41 | ``<!--rehype:style=background:#c23621;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Green` 绿色 | 32 | 42 | ``<!--rehype:style=background:#25bc26;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Yellow` 黄色 | 33 | 43 | ``<!--rehype:style=background:#cdcd00;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Blue` 蓝色 | 34 | 44 | ``<!--rehype:style=background:#0000ee;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Purple` 紫色 | 35 | 45 | ``<!--rehype:style=background:#cd00cd;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Cyan` 青色 | 36 | 46 | ``<!--rehype:style=background:#00AAAA;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`White` 白色 | 37 | 47 | ``<!--rehype:style=background:#e5e5e5;padding:0.2rem 1.2rem;border: 1px solid #333;-->
颜色 | 名称 | 前景色 | 背景色 | 示例
:- | --| -- | -- | --
`Black` | 黑色 | 30 | 40 | `黑`<!--rehype:style=background:#000;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Red` | 红色 | 31 | 41 | `红`<!--rehype:style=background:#c23621;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Green` | 绿色 | 32 | 42 | `绿`<!--rehype:style=background:#25bc26;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Yellow` | 黄色 | 33 | 43 | `黄`<!--rehype:style=background:#cdcd00;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Blue` | 蓝色 | 34 | 44 | `蓝`<!--rehype:style=background:#0000ee;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Purple` | 紫色 | 35 | 45 | `紫`<!--rehype:style=background:#cd00cd;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Cyan` | 青色 | 36 | 46 | `青`<!--rehype:style=background:#00AAAA;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`White` | 白色 | 37 | 47 | `白`<!--rehype:style=background:#e5e5e5;padding:0.2rem 1.2rem;border: 1px solid #333;-->
<!--rehype:className=show-header left-align-->
### ANSI — 颜色转义码(亮色)
颜色 | 前色 | 背色 | 示例
颜色 | 前色 | 背色 | 示例
:- | -- | -- | --
`Bright Black(Gray)` 灰色 | 90 | 100 | ``<!--rehype:style=background:#555555;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Red` 亮红色 | 91 | 101 | ``<!--rehype:style=background:#FF5555;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Green` 亮绿色 | 92 | 102 | ``<!--rehype:style=background:#55FF55;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Yellow` 亮黄色 | 93 | 103 | ``<!--rehype:style=background:#FFFF55;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Blue` 亮蓝色 | 94 | 104 | ``<!--rehype:style=background:#5555FF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Magenta` 亮紫色 | 95 | 105 | ``<!--rehype:style=background:#FF55FF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Cyan` 亮青色 | 96 | 106 | ``<!--rehype:style=background:#55FFFF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright White` 浅灰 | 97 | 107 | ``<!--rehype:style=background:#ffffff;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`BrightBlack(Gray)` 灰色 | 90 | 100 | `90`<!--rehype:style=background:#555555;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Red` 亮红色 | 91 | 101 | `91`<!--rehype:style=background:#FF5555;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Green` 亮绿色 | 92 | 102 | `92`<!--rehype:style=background:#55FF55;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Yellow` 亮黄色 | 93 | 103 | `93`<!--rehype:style=background:#FFFF55;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Blue` 亮蓝色 | 94 | 104 | `94`<!--rehype:style=background:#5555FF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Magenta` 亮紫色 | 95 | 105 | `95`<!--rehype:style=background:#FF55FF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright Cyan` 亮青色 | 96 | 106 | `96`<!--rehype:style=background:#55FFFF;padding:0.2rem 1.2rem;border: 1px solid #333;-->
`Bright White` 浅灰 | 97 | 107 | `97`<!--rehype:style=background:#ffffff;padding:0.2rem 1.2rem;border: 1px solid #333;-->
<!--rehype:className=show-header left-align-->
### 可用功能
@ -1077,6 +1182,7 @@ m # 设置图形模式
`6n` | DSR 设备状态报告 | 以 `ESC[n;mR` (就像在键盘上输入)向应用程序报告光标位置(CPR),其中 `n`是行, `m` 是列
`s` | SCP 保存光标位置 | 保存光标的当前位置
`u` | RCP 恢复光标位置 | 恢复保存的光标位置
<!--rehype:className=left-align-->
另见
----

263
docs/blender.md Normal file
View File

@ -0,0 +1,263 @@
Blender 键盘快捷键
===
Blender 中 187 个键盘快捷键的视觉备忘单
键盘快捷键
---------
<!--rehype:body-class=cols-2-->
### 普遍的
快捷键 | 说明
---|---
`Esc` | 取消 Blender 功能而不做任何更改
`Space` | 打开工具箱
`Tab` | 启动或退出编辑模式
`F1` | 加载 Blender 文件,将窗口更改为文件窗口
`Shift` `F1` | 附加其他文件中的部分,或作为库数据加载
`F2` | 写入 Blender 文件,将窗口更改为文件窗口
`Shift` `F2` | 将场景导出为 DXF 文件
`Ctrl` `F2` | 将场景导出为 VRML1 文件
`F3` | 如果图片已渲染,并且文件格式如显示按钮中所示,则写入图片
`Ctrl` `F3` | 保存活动窗口的屏幕转储
`Ctrl` `Shift` `F3` | 保存整个 Blender 屏幕的屏幕转储
`F4` | 显示逻辑上下文
`F5` | 显示着色上下文、灯光、材质或世界子上下文
`F6` | 显示着色上下文和纹理子上下文
`F7` | 显示对象上下文
`F8` | 显示着色上下文和世界子上下文
`F9` | 显示编辑上下文
`F10` | 显示场景上下文
`F11` | 隐藏或显示渲染窗口
`F12` | 从活动相机开始渲染
`Left` | 转到上一帧
`Shift` `Left` | 转到第一帧
`Right` | 转到下一帧
`Shift` `Right` | 转到最后一帧
`Up` | 前进 10 帧
`Down` | 后退 10 帧
`Alt` `A` | 将当前Blender窗口更改为动画播放模式光标变为计数器
`Alt` `Shift` `A` | 将当前窗口和所有3D窗口更改为动画播放模式
`I` | 插入按键菜单,该菜单因窗口而异
`J` | 切换渲染缓冲区
`Ctrl` `O` | 打开上次保存的文件
`Q` | 退出搅拌机
`Ctrl` `Alt` `T` | 计时器菜单,此菜单提供有关绘图速度的信息的访问
`Ctrl` `U` | 保存用户默认值当前项目设置将写入默认文件每次启动时都会加载该文件Blender
`Ctrl` `W` | 写入文件而不打开文件窗口
`Alt` `W` | 写入视频景观文件
`Ctrl` `X` | 擦除除渲染缓冲区之外的所有内容,重新加载默认场景
`Ctrl` `Y` | 重做
`Ctrl` `Z` | 撤消
`Ctrl` `Shift` `Z` | 重做
<!--rehype:className=shortcuts-->
### 对象模式
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
---|---
`Home` | 可见层中的所有对象均完整显示,位于窗口中央
`PgUp` | 选择下一个对象键,如果选择了多个对象键,则选择循环向上移动
`Shift` `PgUp` | 将下一个对象键添加到选择中
`PgDn` | 选择上一个对象键,如果选择了多个对象键,则选择循环向上移动
`Shift` `PgDn` | 将前一个对象键添加到选择中
<code>\`</code> | 选择所有图层
`Shift` <code>\`</code> | 恢复到上一层设置
`Tab` | 启动或停止编辑模式
`A` | 选择或取消选择全部
`Ctrl` `A` | 应用尺寸和旋转
`Ctrl` `Shift` `A` | 如果活动对象被自动复制,则会弹出一个用于实际创建对象的菜单
`Shift` `A` | 调出添加菜单,以 ADD 开头的工具箱项目
`B` | 边框选择,用鼠标左键画一个矩形来选择对象
`Shift` `B` | 渲染边框,仅适用于相机视图模式
`C` | 中心视图3D光标的位置成为3D窗口的新中心
`Alt` `C` | 转换菜单,根据活动对象显示弹出菜单,使您可以转换某些类型的 ObData
`Ctrl` `C` | 复制菜单,此菜单将信息从活动对象复制到选定对象
`Shift` `C` | 中心零视图3D 光标设置为零并更改视图,以便可以显示所有对象
`D` | 显示绘图模式菜单
`Shift` `D` | 添加重复项,所选对象被重复
`Alt` `D` | 添加链接副本,创建所选对象的链接副本
`Ctrl` `D` | 将纹理图像绘制为线
`Alt` `E` | 启动或停止编辑模式
`F` | 如果所选对象是混搭,则打开或关闭面选择模式
`Ctrl` `F` | 对面进行排序,活动网格对象的面根据 3D 窗口中的当前视图进行排序
`G` | 抓取模式或翻译模式
`Alt` `G` | 清除以抓取模式给出的翻译
`Shift` `G` | 团体选拔
`I` | 插入对象关键点,在当前帧所有选定对象中插入一个关键位置
`Ctrl` `J` | 连接对象,所有选定的相同类型的对象都添加到活动对象中
`K` | 显示关键点,为所有选定对象打开绘制关键点选项
`Shift` `K` | 显示用于显示和选择所有键的弹出菜单
`L` | 使所选对象成为本地对象,使库链接对象成为当前场景的本地对象
`Ctrl` `L` | 链接选定对象,将一些活动对象数据链接到所有选定对象
`Shift` `L` | 选择链接,选择以某种方式链接到活动对象的所有对象
`M` | 将选定的对象移动到另一层
`Ctrl` `M` | 镜像菜单,可以沿 X、Y 或 Z 轴镜像对象
`N` | 数字面板,显示活动对象的位置、旋转、缩放比例并可修改
`Alt` `O` | 清除原点所有子对象的原点都被删除这导致它们移动到父对象的确切位置objects
`Shift` `O` | 如果选定的对象是网格,则打开或关闭 subsurf
`Ctrl` `P` | 使选定对象成为活动对象的子对象
`Alt` `P` | 清除父级关系,询问用户是否希望保留或清除父级引发的转换
`R` | 旋转模式,适用于选定的对象
`Alt` `R` | 清除旋转,将选定对象的 X、Y 和 Z 旋转设置为零
`S` | 大小模式或缩放模式,适用于选定的对象
`Alt` `S` | 清除大小,将选定对象的 X、Y、Z 尺寸设置为 1
`Shift` `S` | 打开快照菜单
`T` | 纹理空间模式可以以相同的方式更改所选对象的纹理空间维度的位置for grab and size mode
`Ctrl` `T` | 使选定的对象跟踪活动对象
`Alt` `T` | 清除旧样式轨道,约束轨道被删除,因为所有约束都被删除
`U` | 使对象成为单用户,链接的逆操作
`V` | 切换进入和退出顶点绘制模式
`Alt` `V` | 对象图像方面,此热键设置所选对象相对于对象尺寸的 X 和 Y 尺寸image texture they have
`W` | 打开对象布尔菜单
`X` | 删除选定的对象
`Z` | 打开或关闭固体模式
`Shift` `Z` | 打开或关闭着色模式
`Alt` `Z` | 打开或关闭纹理模式
<!--rehype:className=shortcuts-->
### 编辑模式 - 常规
快捷键 | 说明
---|---
`Tab` | 启动或停止编辑模式
`Alt` `E` | 启动或停止编辑模式(替代)
`Ctrl` `Tab` | 在顶点选择、边选择和面选择模式之间切换
`A` | 全选或取消全选
`B` `B` | 圆圈选择
`Ctrl` `H` | 选择顶点后,这将创建一个钩子对象
`N` | 数字面板,比对象模式一简单
`O` | 切换成比例编辑和退出成比例编辑
`Shift` `O` | 在平滑和锐利比例编辑之间切换
`P` | 分开,您可以选择用所有选定的顶点、边、面和曲线来制作一个新对象
`Ctrl` `P` | 使顶点成为父级
`Ctrl` `S` | 剪切,在编辑模式下此操作使您可以使选定的形状倾斜
`U` | 撤消
`W` | 显示特价弹出菜单
`Shift` `W` | 扭曲,使用此选项可以将选定的顶点弯曲成曲线
<!--rehype:className=shortcuts-->
### 编辑模式 - 网格
<!--rehype:wrap-class=row-span-3-->
快捷键 | 说明
---|---
`Ctrl` `+` | 将通过边连接到已选定顶点的所有顶点添加到选择中
`Ctrl` `-` | 从选择中删除选定顶点外环的所有顶点
`C` | 如果使用曲线变形,则打开或关闭曲线循环模式
`E` | 挤出选定的
`Shift` `E` | 折痕海面边缘
`Ctrl` `E` | 标记 LSCM 接缝
`F` | 制作边缘或面
`Shift` `F` | 填充选定,所有选定的由边包围并形成闭合多边形的顶点都用三角形面填充
`Alt` `F` | 美容填充,所有选定的三角形面的边缘都会交换,从而形成相同大小的面
`Ctrl` `F` | 翻转面,将选定的三角形面配对并交换每对的公共边
`H` | 隐藏选定,隐藏所有选定的顶点和面
`Shift` `H` | 隐藏未选中,隐藏所有未选中的顶点和面
`Alt` `H` | Reveal所有隐藏的顶点和面都重新绘制
`Alt` `J` | 连接面,选定的三角形面成对连接并转换为四边形
`K` | 刀工具菜单
`L` | 选择链接
`Shift` `L` | 取消选择链接
`Ctrl` `L` | 选择链接的选定内容
`M` | 镜像,打开一个弹出窗口,询问要镜像的轴
`Alt` `M` | 根据弹出窗口中的选择将选定的顶点合并为重心或光标处
`Ctrl` `N` | 计算外部法线
`Ctrl` `Shift` `N` | 计算内部法线
`Alt` `S` | 沿其局部法线方向缩放每个顶点
`Ctrl` `T` | 制作三角形,所有选定的面都转换为三角形
`U` | 撤消
`Shift` `U` | 重做
`Alt` `U` | 撤消菜单
`W` | 特别菜单
`X` | 删除所选内容
`Y` | 分割,此命令分割网格的选定部分而不删除面
<!--rehype:className=shortcuts-->
### 编辑模式 - 曲线
快捷键 | 说明
---|---
`C` | 将选定的曲线设置为循环或关闭循环
`E` | 挤出曲线
`F` | 添加线段,在两条曲线末端的两个选定顶点之间添加一条线段
`H` | 切换手柄对齐或自由
`Shift` `H` | 将句柄设置为自动
`Ctrl` `H` | 计算句柄
`L` | 选择链接
`Shift` `L` | 取消选择链接
`M` | 与网格中的顶点完全相同地镜像选定的控制点
`T` | 倾斜模式,为 3D 曲线中的每个顶点指定额外的轴旋转
`Alt` `T` | 清晰的倾斜
`V` | 矢量手柄
`W` | 出现曲线专用菜单
`X` | 删除所选内容
<!--rehype:className=shortcuts-->
### 编辑模式 - 曲面
快捷键 | 说明
---|---
`C` | 切换循环菜单
`E` | 挤出选定的
`F` | 添加线段,在两条曲线末端的两个选定顶点之间添加一条线段
`L` | 选择链接
`Shift` `L` | 取消选择链接
`M` | 与网格中的顶点完全相同地镜像选定的控制点
`Shift` `R` | 选择行,从最后一个选定的顶点开始
`W` | 出现曲面的特殊菜单
`X` | 删除所选内容
<!--rehype:className=shortcuts-->
### 编辑模式 - 字体
快捷键 | 说明
---|---
`Right` | 将文本光标向前移动一位
`Shift` `Right` | 将文本光标移至行尾
`Left` | 将文本光标向后移动一位
`Shift` `Left` | 将文本光标移至行首
`Down` | 将文本光标向前移动一行
`Shift` `Down` | 将文本光标移动到文本末尾
`Up` | 将文本光标向后移动一行
`Shift` `Up` | 将文本光标移动到文本开头
`Alt` `U` | 重新加载原始数据
`Alt` `V` | 粘贴文本
<!--rehype:className=shortcuts-->
### 脸部选择
<!--rehype:wrap-class=row-span-2-->
快捷键 | 说明
---|---
`Tab` | 切换到编辑模式
`F` | 选择多个共面的面后,只要它们保持共面,这会将它们合并为一个 FGon
`L` | 选择链接的 UV
`R` | 调用允许旋转 UV 坐标或顶点列的菜单
`U` | 调用 UV 计算菜单
<!--rehype:className=shortcuts-->
### 顶点绘制
快捷键 | 说明
---|---
`Shift` `K` | 所有顶点颜色都被删除,它们更改为当前绘制颜色
`U` | 撤消,按两次重做撤消的操作
`W` | 共享顶点调用,共享顶点的所有面的颜色被混合
<!--rehype:className=shortcuts-->
### 紫外线编辑器
快捷键 | 说明
---|---
`E` | LSCM 展开,在 UV 编辑器中可见的面上启动
`P` | 固定选定的顶点,当执行 LSCM 展开时,它们将保留在 UV 编辑器上的适当位置
`Alt` `P` | 取消固定选定的顶点
<!--rehype:className=shortcuts-->
Also see
--------
- [Keyboard shortcuts for Blender](https://download.blender.org/documentation/BlenderHotkeyReference.pdf) _(download.blender.org)_

262
docs/bun.md Normal file
View File

@ -0,0 +1,262 @@
Bun 备忘清单
===
这是一份 [`Bun`](https://bun.sh/) 软件包管理器备忘单,其中列出了 `Bun` 常用命令使用清单
入门
---
### 安装 Bun
```bash
curl -fsSL https://bun.sh/install | bash
```
### Bun 与 npm/Yarn 命令比较
<!--rehype:wrap-class=col-span-2 row-span-3-->
npm | Yarn | Bun | 说明
:- | :- | :- | :-
`npm install` | `yarn add` | `bun add` | 安装依赖
`npm init` | `yarn init` | `bun init` | 创建 `package.json` 文件
`npm install -g` | `yarn global add` | `bun global add` | 全局安装包
`npm run` | `yarn run` | `bun run` | 运行脚本
`npm uninstall` | `yarn remove` | `bun remove` | 移除包
`npm update` | `yarn upgrade` | `bun upgrade` | 更新包
`npm cache clean` | `yarn cache clean` | `bun cache clean` | 清理缓存目录
<!--rehype:className=left-align-->
参考备忘清单: [npm](./npm.md)、[yarn](./yaml.md)、[pnpm](./pnpm.md)
### 创建项目
```bash
bun create <template> <project-name>
```
示例:
```bash
bun create react my-react-app
```
### 查看已安装包
```bash
bun ls
```
### 安装依赖
<!--rehype:wrap-class=row-span-2-->
```bash
bun add <package>
```
选项:
```bash
--dev, -D # 安装到 devDependencies
--global, -g # 全局安装包
--exact, -E # 将包安装为精确版本
--tilde, -T # 安装有相同次要版本的包的最新版本
```
### 运行脚本
<!--rehype:wrap-class=row-span-3-->
`package.json` 中定义脚本:
```json
"scripts": {
"start": "node index.js",
"test": "jest"
}
```
运行脚本:
```bash
bun run <script>
```
例如:
```bash
bun run start
```
### 移除依赖
```bash
bun remove <package>
```
### 更新依赖
```bash
bun upgrade
```
选项:
```bash
--latest # 更新到最新版本
```
### 清理缓存
```bash
bun cache clean
```
### 安装全局包
```bash
bun global add <package>
```
### 移除全局包
```bash
bun global remove <package>
```
### Bun 提供的其他命令
```bash
bun bunfile # 管理 Bunfile
bun dev # 运行开发服务器
bun test # 运行测试
bun completions # 生成 shell 补全脚本
```
包管理器
---
### bin 目录的路径
要打印本地项目的 `bin` 目录的路径
```bash
bun pm bin
# /path/to/current/pro/node_modules/.bin
```
全局 bin 目录
```bash
bun pm bin -g
# <$HOME>/.bun/bin
```
### 打印依赖项
```bash
bun pm ls --all
# /path/to/project node_modules (135)
# ├── @eslint-community/eslint-utils@4.4.0
# ├── @eslint-community/regexpp@4.5.0
# ├── @eslint/eslintrc@2.0.2
# ├── @eslint/js@8.38.0
# ├── ...
```
打印所有已安装的依赖项,包括 `n` 阶依赖项。
### 打印已安装及已解决依赖项
```bash
bun pm ls
# /path/to/project node_modules (135)
# ├── eslint@8.38.0
# ├── react@18.2.0
# ├── react-dom@18.2.0
# ├── typescript@5.0.4
# └── zod@3.21.4
```
打印当前项目中已安装依赖项及其已解决版本的列表,不包括其依赖项
### 全局模块缓存的路径
```bash
bun pm cache
```
要打印 Bun 的全局模块缓存的路径
### 清除全局模块缓存
```bash
bun pm cache rm
```
### 列出全局安装
列出所有全局安装的软件包:
```bash
bun pm ls -g
```
列出所有全局安装的软件包,包括 n 阶依赖项:
```bash
bun pm ls -g --all
```
示例
---
### 安装包
<!--rehype:wrap-class=row-span-2-->
```bash
# 将包添加到 dependencies
$ bun add <package>
# 将包添加到 devDependencies
$ bun add -D <package>
# 将包安装为精确版本
$ bun add -E <package>
# 全局安装包
$ bun global add <package>
```
### 移除包
```bash
$ bun remove <package>
```
从所有类型的依赖项中删除包
### 查看包
```bash
# 列出已安装的软件包
$ bun ls
```
### 清除缓存
```bash
$ bun cache clean
```
清理缓存目录
### 运行脚本
```bash
$ bun run <script>
```
`package.json` 中定义的脚本将被执行
另见
---
- [Bun 官方文档](https://bun.sh/docs)
- [Bun GitHub 仓库](https://github.com/oven-sh/bun)
- [Bun 快速上手](https://bun.sh/docs/quickstart)

829
docs/c.md

File diff suppressed because it is too large Load Diff

253
docs/canvas.md Normal file
View File

@ -0,0 +1,253 @@
HTML Canvas 备忘清单
===
这份 HTML Canvas 快速参考备忘单列出了常见的 HTML5 Canvas 设计标签,以易读的格式呈现。
入门
---
<!--rehype:body-class=cols-4-->
### 基本设置
<!--rehype:wrap-class=col-span-2-->
```html
<!DOCTYPE html>
<html>
<head>
<title>Canvas 示例</title>
</head>
<body>
<canvas id="myCanvas" width="500" height="400"
style="border:1px solid #000000;">
</canvas>
<script src="script.js"></script>
</body>
</html>
```
### 获取上下文
<!--rehype:wrap-class=col-span-2-->
```js
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
```
绘制形状
---
### 矩形
<!--rehype:wrap-class=col-span-2-->
```js
ctx.fillStyle = "red";
ctx.fillRect(10, 10, 150, 100); // x, y, 宽度, 高度
ctx.strokeStyle = "blue";
ctx.lineWidth = 5;
ctx.strokeRect(200, 10, 150, 100); // x, y, 宽度, 高度
ctx.clearRect(15, 15, 30, 30); // x, y, 宽度, 高度
```
路径
---
### 线条
```js
ctx.beginPath();
ctx.moveTo(50, 50); // 起始点
ctx.lineTo(200, 50); // 结束点
ctx.lineTo(200, 200); // 下一个线条结束点
ctx.closePath(); // 将结束点连接到起始点
ctx.stroke();
```
### 圆形
```js
ctx.beginPath();
// x, y, 半径, 起始角度, 结束角度
ctx.arc(150, 150, 75, 0, 2 * Math.PI);
ctx.fillStyle = "green";
ctx.fill();
ctx.stroke();
```
### 弧
```js
ctx.beginPath();
// x, y, 半径, 起始角度, 结束角度
ctx.arc(150, 150, 75, 0, Math.PI);
ctx.stroke();
```
贝塞尔曲线和二次曲线
---
### 二次曲线
```js
ctx.beginPath();
ctx.moveTo(50, 250);
// cpX, cpY, 终点X, 终点Y
ctx.quadraticCurveTo(200, 100, 400, 250);
ctx.stroke();
```
### 贝塞尔曲线
```js
ctx.beginPath();
ctx.moveTo(50, 300);
// cp1X, cp1Y, cp2X, cp2Y, 终点X, 终点Y
ctx.bezierCurveTo(150, 100, 350, 500, 450, 300);
ctx.stroke();
```
### 文本
```js
ctx.font = "30px Arial";
ctx.fillStyle = "black";
// 文本, x, y
ctx.fillText("Hello Canvas", 10, 50);
// 文本, x, y
ctx.strokeText("Hello Canvas", 10, 100);
```
### 图像
<!--rehype:wrap-class=col-span-3-->
```js
const img = new Image();
img.src = "path/to/image.jpg";
img.onload = () => {
ctx.drawImage(img, 10, 10); // img, x, y
ctx.drawImage(img, 50, 50, 100, 100); // img, x, y, 宽度, 高度
ctx.drawImage(img, 100, 100, 100, 100, 150, 150, 200, 200); // img, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight
};
```
变换
---
### 平移
```js
ctx.translate(100, 100); // x, y
ctx.fillRect(0, 0, 50, 50);
```
### 旋转
```js
// 角度(以弧度为单位)
ctx.rotate((Math.PI / 180) * 45);
ctx.fillRect(100, 100, 50, 50);
```
### 缩放
```js
ctx.scale(2, 2); // x, y
ctx.fillRect(50, 50, 50, 50);
```
渐变
---
### 线性渐变
<!--rehype:wrap-class=col-span-2-->
```js
const linearGradient = ctx.createLinearGradient(0, 0, 200, 0); // x0, y0, x1, y1
linearGradient.addColorStop(0, "red");
linearGradient.addColorStop(1, "blue");
ctx.fillStyle = linearGradient;
ctx.fillRect(10, 10, 200, 100);
```
### 径向渐变
```js
const radialGradient = ctx.createRadialGradient(75, 50, 5, 90, 60, 100); // x0, y0, r0, x1, y1, r1
radialGradient.addColorStop(0, "red");
radialGradient.addColorStop(1, "blue");
ctx.fillStyle = radialGradient;
ctx.fillRect(10, 10, 200, 100);
```
### 图案
<!--rehype:wrap-class=col-span-2-->
```js
const img = new Image();
img.src = "path/to/image.jpg";
img.onload = () => {
// 'repeat', 'repeat-x', 'repeat-y', 'no-repeat'
const pattern = ctx.createPattern(img, "repeat");
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, 300, 300);
};
```
### 阴影
```js
ctx.shadowColor = "rgba(0, 0, 0, 0.5)";
ctx.shadowBlur = 10;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;
ctx.fillStyle = "red";
ctx.fillRect(100, 100, 100, 100);
```
合成
---
### 全局透明度
```js
ctx.globalAlpha = 0.5;
ctx.fillStyle = "red";
ctx.fillRect(100, 100, 100, 100);
ctx.fillStyle = "blue";
ctx.fillRect(150, 150, 100, 100);
```
### 全局合成操作
```js
ctx.globalCompositeOperation = "source-over"; // 默认
ctx.fillStyle = "red";
ctx.fillRect(100, 100, 100, 100);
ctx.globalCompositeOperation = "destination-over";
ctx.fillStyle = "blue";
ctx.fillRect(150, 150, 100, 100);
```
### 动画
```js
let x = 0;
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = "blue";
ctx.fillRect(x, 100, 50, 50);
x += 2;
requestAnimationFrame(draw);
}
draw();
```
参考阅读
---
- [MDN 文档](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)

618
docs/chatgpt.md Normal file
View File

@ -0,0 +1,618 @@
ChatGPT
===
此备忘单列出了来自世界各地的提示和提示,说明如何有效使用 ChatGPT。
入门指南
---
### ChatGPT 介绍
ChatGPT 是 OpenAI 于 2022 年发布的 AI 聊天机器人,基于 GPT-3.5、GPT-4 等模型,支持自动生成文本、问答、总结和编程等多种语言处理任务。
- 网址: <https://chatgpt.com/>
### 国内类似的平台
- [文心一言(百度)](https://yiyan.baidu.com/) _baidu.com_
- [通义千问(阿里)](https://tongyi.aliyun.com/) _aliyun.com_
- [混元(腾讯)](https://hunyuan.tencent.com/) _tencent.com_
- [豆包(字节跳动)](https://www.doubao.com/) _doubao.com_
- [天工Ai](https://www.tiangong.cn/) _tiangong.cn_
- [讯飞星火](https://xinghuo.xfyun.cn/) _xfyun.cn_
### 通用
<!--rehype:wrap-class=row-span-2-->
为你的企业或创意命名
```bash
你能帮我为我的科技创业公司起个有创意的名字吗?
帮我想个朗朗上口的名字给我的面包店。
```
为课程或培训项目创建大纲
```sh
请帮我创建一个面向初学者的网页开发课程大纲。
能否为客户服务工作坊设计一个培训项目的大纲?
```
提供特定职位的面试问题
```sh
我在面试软件工程师职位,你能给我一些面试问题吗?
请给我一些常见的市场经理面试问题。
```
为商业伙伴、客户或客户提供礼物创意
```sh
我需要一些送给客户的礼物创意,你能帮忙吗?
有什么独特的礼物可以送给我的商业伙伴?
```
从一长串名字或邮箱中随机挑选比赛获奖者
```sh
我想从100个名字中挑选一位获奖者你能帮忙吗
能帮我从1000个邮箱中随机挑选5个用于赠品抽奖吗
```
### 编程
<!--rehype:wrap-class=row-span-3-->
解释代码为什么无法正常工作
```js
为什么这段代码不能运行
var x = 5;
var y = 0;
console.log(x/y);
```
解释代码的含义
```js
这段代码的作用是什么
function addNumbers(a, b) {
return a + b;
}
```
将代码转换为指定的语言
```js
把这段代码翻译成 Python:
function addNumbers(a, b) {
return a + b;
}
```
编写完整的软件程序
```js
写一个计算给定数的阶乘的 Python 程序
如何用 JavaScript 发起一个 HTTP 请求
```
生成正则表达式 (regex)
```js
创建一个匹配所有电子邮件地址的正则表达式
生成一个8位密码的正则表达式
```
为代码库添加注释
```js
为这段代码添加注释
function addNumbers(a, b) {
return a + b;
}
```
修改代码行的 CSS
```html
更新这行的 CSS 将字体颜色更改为蓝色?
<p class="example">Hello, World!</p>
```
修改代码行的 HTML
```html
给这个标题标签添加一个 "header" 类?
<h1>Hello, World!</h1>
```
### 电子表格
帮助创建一个电子表格公式
```
你能帮我创建一个公式来计算单元格 A1 到 A10 的总和吗?
```
<!--rehype:className=wrap-text-->
解释一个公式
```
你能用简单的语言解释一下公式 =SUM(A1:A10) 的含义吗?
```
<!--rehype:className=wrap-text-->
创建占位符的虚拟数据
```
你能帮我生成一些虚拟数据,作为我的电子表格的占位符吗?
```
<!--rehype:className=wrap-text-->
帮助创建复杂的宏
```
我需要创建一个宏,计算单元格 B1 到 B10 的平均值并将结果插入到单元格 C1。你能帮我吗
```
<!--rehype:className=wrap-text-->
提供提高电子表格效率的建议
```
你能给我一些提高电子表格效率的建议吗?
```
### 电子邮件
<!--rehype:wrap-class=row-span-2-->
创建电子邮件活动
```
邀请 Jack 周末晚餐的邮件
创建一个针对新客户的引导流程邮件序列
```
格式化和校对邮件
```
帮我校对并格式化我刚写的这封邮件:
Hello, do you have any actual tips or tricks for ChatGPT please?
```
<!--rehype:className=wrap-text-->
提供有效电子邮件营销的建议
```
给我一些提高邮件打开率和点击率的建议
建议一些方法,让我的邮件内容对订阅者更具吸引力和相关性。
```
<!--rehype:className=wrap-text-->
自动回复邮件
```
给他发送邮件,内容为 "That's a good suggestion, it's coming soon":
Hello, do you have any actual tips or tricks for ChatGPT please?
```
<!--rehype:className=wrap-text-->
从文本中提取电子邮件地址
```sh
帮我提取所有的电子邮件地址:
Sed sit amet sodales tom@gmail.com, at jack@gmail.com enim. 18261@outlook.com ut eros
```
<!--rehype:className=wrap-text-->
### 社交媒体
提供任何主题的表情包创意
```
你能给我一些关于【狗狗】的表情包创意吗?
```
提供能提升互动的帖子创意
```
我想发一个关于气候变化的帖子,能与我的粉丝产生互动。你能给我一些创意吗?
```
<!--rehype:className=wrap-text-->
生成标签和配文
```
我需要一些适合风景日落照片的标签和配文。你能帮我生成一些吗?
```
<!--rehype:className=wrap-text-->
提供回复建议
```
我刚收到一条关于项目状态的消息。你能给我一个回复建议吗?
```
<!--rehype:className=wrap-text-->
### 阅读
总结长文本
```
你能帮我总结一下这篇文章吗?[你的文本]
```
翻译外语
```
你能把这句话翻译成西班牙语吗?[你的文本]
```
推荐类似的书籍
```
你能推荐一些和《饥饿游戏》类似的书吗?
```
### 设计
创建 AI 设计提示词
```
你能帮我生成一个为新运动品牌设计标志的提示词吗?
```
博客或视频的缩略图建议
```
你能推荐一些引人注目的缩略图设计,适合我最新关于健康饮食的 YouTube 视频吗?
```
<!--rehype:className=wrap-text-->
字体搭配
```
你能为旅行博客的标题设计推荐一组字体搭配吗?
```
颜色搭配
```
你能推荐一个适合婚礼摄影网站的配色方案吗?
```
### 数据分析
从大量文本中提取数字
```
请从这段文本中提取所有数字:[你的文本]
```
根据你提供的文本或数据创建表格
```
你能根据这些数据创建一个表格吗?:[你的数据]
```
从大列表中筛选数据
```
请根据特定条件筛选此列表:[你的列表]
```
### 付费广告
提供广告创意
```
给我一些新产品发布的广告创意。
```
检查跟踪代码错误(标签管理器等)
```
检查我的标签管理器代码是否有错误。
```
提供广告文案创意
```
为一家【旅游】公司建议广告文案。
```
Facebook 受众建议
```
推荐适合服装系列广告活动的 Facebook 受众。
```
为广告创建正文、标题和/或号召性用语
```
为一个新的健身计划广告创建标题、正文和号召性用语。
```
### 亚马逊 FBA
编写或重写产品描述
```
请帮我为最新商品写一个新颖且吸引人的产品描述。
```
编写或重写申诉信
```
我需要帮助重写我的申诉信,使其更具说服力。
```
编写或重写供应商联系邮件
```
你能帮我写一封有效的邮件,以联系潜在供应商吗?
```
帮助寻找适合打包销售的商品
```
请推荐一些适合为客户打包销售的商品。
```
整理产品和定价数据
```
你能帮我把产品和定价信息整理成一个整洁易管理的表格吗?
```
<!--rehype:className=wrap-text-->
### SEO
<!--rehype:wrap-class=col-span-2 row-span-2-->
生成或查找关键词
- 为[主题]生成一系列相关关键词。
- 识别[主题]内容优化的长尾关键词。
- 查找[主题]的最佳表现关键词。
- 为[主题]生成一系列 LSI 关键词。
- 查找[主题]的低竞争关键词。
- 为[主题]关键词创建同义词列表。
- 查找[主题] PPC 广告活动的最佳关键词。
- 查找[主题]语音搜索优化的最佳关键词。
- 列出[主题]的最佳关键词用于特色摘要。
- 查找[主题]视频优化的最佳关键词。
- 查找[主题]的最佳关键词。
- 查找[主题] AMP 优化的最佳关键词。
- 查找[主题]社交媒体优化的最佳关键词。
<!--rehype:className=style-round-->
更多关于 SEO 的 ChatGPT 提示
- 为[主题]创建元描述和标题标签。
- 查找与[主题]相关的内部链接机会。
- 为[主题]生成博客文章和主题创意。
- 研究[主题]内容中使用的行业术语。
- 查找权威网站以获取与[主题]内容相关的反向链接。
- 创建与[主题]相关的 XML 网站地图示例。
- 研究[主题]的最佳元标签。
- 研究[主题]内容的最佳内部链接结构。
- 生成与[主题]相关的常见问题列表。
- 为与[主题]相关的图片创建最佳替代文本标签列表。
- 为[主题]创建相关子主题列表。
- 查找与[主题]相关的内容发布时间的最佳时机。
- 研究与[主题]相关的最佳外部链接策略。
- 查找与[主题] SEO 使用的最流行工具。
- 为[主题]创建潜在影响者列表。
- 研究[主题]的最佳模式标记。
- 查找[主题]内容的最佳标题标签。
- 为[主题]创建潜在的链接建设机会列表。
- 研究[主题]反向链接的最佳锚文本。
- 创建[主题]的潜在客座博客机会列表。
- 研究[主题]的最佳本地 SEO 策略。
- 研究[主题]网站性能的最佳分析工具。
- 为[主题]创建潜在合作伙伴关系列表。
- 研究[主题]的最佳移动优化策略。
- 研究[主题]的最佳电子商务优化策略,并提供关键词聚类。
- 创建[主题]的潜在联盟营销机会列表。
- [主题]的最佳联盟营销网站有哪些?
- [主题]的最佳国际 SEO 策略是什么?
- 创建与[主题]相关的潜在播客或播客嘉宾机会列表。
- 研究[主题]的最佳 Google 我的商家优化策略。
- 查找与[主题]相关的热门内容主题。
- 研究[主题]的最佳 SEO 策略并提供可操作步骤。
- 创建与[主题]相关的潜在视频系列或网络研讨会创意列表。
- 研究与[主题]相关的竞争对手策略。
- 查找与[主题]相关的规范标签示例。
- 为[主题]创建一个面向多个地理位置的示例关键词列表。
- 生成针对不同客户购买漏斗阶段的[主题]关键词创意。
- 识别与[主题]相关的行业标签。
<!--rehype:className=style-round-->
### 写作/博客
为你的创意写作项目创建标题
```
我短篇小说集的标题:[你的文章]
```
创建大纲
```
关于锻炼的论文大纲。
```
生成内容创意
```
可持续时尚博客的创意?
```
总结你提供的任何文本
```
总结一下这篇关于可再生能源的文章?[你的文章]
```
创建完整的博客文章
```
关于[财务规划]的博客文章?
```
扩展句子、段落或长文本
```
扩展关于爵士音乐的这句话?[你的句子]
```
改变你的写作语气
```
将这份报告的语气改为对话式?[你的报告]
```
校对或编辑你的写作
```
校对这篇文章?[你的文章]
```
用标题格式化文本(适合博客文章)
```
为我的博客文章格式化标题?[你的帖子]
```
检查任何文本的偏见
```
检查这篇文章是否存在偏见?[你的文章]
```
检测任何文本的抄袭
```
检测这篇论文的抄袭情况?[你的论文]
```
提供域名创意
```
我[园艺博客]的域名?
```
### 教师/课程创建者
将事实或统计数据转换为多项选择题
```sh
你能把这份关于世界历史的事实列表转成多项选择题吗?[你的列表]
```
<!--rehype:className=wrap-text-->
特定主题的作业创意
```
我需要一些关于美国独立战争的历史作业创意。你能建议一些吗?
```
<!--rehype:className=wrap-text-->
从学生列表中创建分组
```
我有一份30名学生的名单。你能把他们分成6人一组进行小组项目吗
```
<!--rehype:className=wrap-text-->
根据考试成绩创建曲线
```
我需要根据学生的考试成绩创建一个评分曲线。你能帮忙吗?
```
<!--rehype:className=wrap-text-->
评分作业
```
你能给这篇历史论文评分并提供改进建议吗?
```
### YouTube
从文字稿中创建时间戳
```
你能为这段播客节目的文字稿创建时间戳吗?[你的文字稿]
```
<!--rehype:className=wrap-text-->
将 YouTube 视频转换为带格式的博客文章
```
你能把这段关于烹饪的 YouTube 视频转成带有标题和项目符号的博客文章吗?[视频链接]
```
<!--rehype:className=wrap-text-->
想出视频大纲或脚本
```
我需要一个关于冥想好处的视频大纲。你能帮忙吗?
```
创建对评论的回复
```
你能写一个周到且礼貌的回复,回应我 YouTube 视频上的这条负面评论吗?
```
<!--rehype:className=wrap-text-->
给你缩略图创意
```
我需要一些关于“DIY 家居装饰”视频的缩略图创意。你能建议一些吗?
```
<!--rehype:className=wrap-text-->
分析你的脚本或文字稿并告诉你语气
```
你能分析这段关于环境问题的视频脚本,并告诉我语气是什么吗?[你的脚本]
```
<!--rehype:className=wrap-text-->
任何主题的视频创意
```
我想制作一系列关于时尚的视频。你能给我建议一些单集的创意吗?
```
<!--rehype:className=wrap-text-->
### 研究
帮助研究2021年前发生的任何事情
- 用简单的术语解释量子计算。
- 有什么创意适合10岁生日派对的吗
- 我如何在 JavaScript 中发出 HTTP 请求?
- 你能告诉我美国内战前的事件吗?
- 你能告诉我印刷机的发明吗?
- 你能研究一下奥林匹克运动会的历史吗?
- 你能给我关于法国大革命的信息吗?
- 我对拜占庭帝国的历史感兴趣。你能帮我了解更多吗?
- 等等...
<!--rehype:className=style-round-->
## 参考资料
- [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/)

149
docs/chown.md Normal file
View File

@ -0,0 +1,149 @@
Chown 备忘清单
===
这份快速参考备忘单提供了改变文件或目录的所有者的简要概述,以及 chown 命令的操作
入门
--------
### 介绍
Linux/Unix 系统中的一个命令,全称为 `change owner`,用于改变文件或目录的所有者
```shell
chown [选项] [所有者][:[]] 文件或目录名
```
命令可以更改某个文件或目录的属主owner也可以同时更改其属组group
#### 示例
```shell
$ chown :groupname file1.txt
$ chown -R username:groupname *
$ chown $USER file.txt
```
`注意` 只有超级用户(root)才有权限改变文件或目录的所有者
### 选项
- `-c` : 显示更改的部分的信息
- `-f` : 忽略错误信息
- `-h` :修复符号链接
- `-v` : 显示详细的处理信息
- `-R` : 处理指定目录以及其子目录下的所有文件
- `--help` : 显示辅助说明
- `--version` : 显示版本
示例
--------
### 更改文件所有者
```shell
$ chown root /var/run/httpd.pid
```
`/var/run/httpd.pid` 的所有者设为 `root`
#### 仅更改所有者
```bash
$ chown new_owner file.txt
```
### 递归更改目录及其内容的所有者
<!--rehype:wrap-class=row-span-2-->
```shell
chown -R new_owner:new_group directory/
```
将文件夹 `directory` 的拥有者设为 `new_owner` ,群体的使用者设为 `new_group`
```shell
$ chown username:groupname file1.txt
```
将文件 file1.txt 的拥有者设为 `username` ,群体的使用者设为 `groupname`
```shell
$ chown -R username:groupname *
```
将当前目录以及子目录的所有文件的拥有者设为 `username` ,群体的使用者设为 `groupname`
### 更改所有者为当前用户
```bash
$ chown $USER file.txt
```
递归更改目录及其内容的所有者为当前用户
```bash
sudo chown -R $USER directory/
```
### 递归并且不显示错误信息
```bash
chown -R -f new_owner:new_group directory/
```
更改目录及其内容的所有者和组为 `alice`
```bash
chown -R alice: directory/
```
### 仅更改组
```shell
$ chown :groupname file1.txt
```
不修改文件 `file1.txt` 的拥有者,将文件使用群体改为 `groupname`
### 变更符号链接的所有者
<!--rehype:wrap-class=row-span-2-->
```bash
$ chown -h new_owner:new_group symlink
```
变更符号链接的所有者而不是链接指向的文件
```bash
$ chown -h manager symlink
```
更改符号链接的所有者为"manager"
### 更改所有者为根用户
<!--rehype:wrap-class=row-span-2-->
```bash
sudo chown root:root file.txt
```
#### 递归更改所有者为当前用户
```bash
sudo chown -R $USER directory/
# 更改目录及其内容的所有者和组为"alice":
chown -R alice: directory/
```
### 将文件所有者更改为其他用户,但保留组
```bash
chown new_owner file.txt
```
### 将文件所有者更改为其他用户,同时更改组
```bash
chown new_owner:new_group file.txt
```

123
docs/conda.md Normal file
View File

@ -0,0 +1,123 @@
Conda备忘清单
===
这是开始使用 `conda` 命令的快速参考备忘单,初次学习可参考[这里](https://anaconda.org.cn/anaconda/user-guide/getting-started/#open-nav-win)
入门
-----
<!--rehype:body-class=cols-1-->
### 常用基础命令
命令 | 说明
:-- | --
`conda info` | 查看 conda 的一系列基本信息(版本、源、路径等)
`conda update -n base conda` | 在base环境中更新conda
`conda install anconda=2022.05` | 安装最新的anaconda发行版(见[发行说明](https://docs.anaconda.com/navigator/release-notes/?utm_source=cheatsheet))
`conda create --name <ENVNAME>` | 创建一个新的环境
`conda activate <ENVNAME>` | 激活/切换/选择一个环境
`conda env list 或者 conda info -e` | 列出所有的环境和位置看
`conda list -n <ENVNAME> --show-channel-urls` | 列出某个环境所有包和包的下载源路径
`conda install -n <ENVNAME> <PKG1> <PKG2>` | 在某个环境中安装包
`conda uninstall <PKGNAME包名> -n <ENVNAME环境名>` | 从某个环境删除某个包
`conda update --all -n <ENVNAME环境名>` | 升级某个环境的所有包
<!--rehype:className=show-header-->
环境与包管理
-----
### 包与源管理
<!--rehype:wrap-class=col-span-2-->
> 在使用 `conda` 时,包依赖关系和平台细节会**自动解决**
查看命令均可搭配 `grep` 命令使用,例如:
```bash
conda list | grep torch #列出所有包含torch的包
```
Command | Description
:-- | --
`conda list` | 列出所有安装的包
`conda list --show-channel-urls` |列出包含源信息的已安装包
`conda update --all` | 更新所有包
`conda install -c <CHANNELNAME源地址> <PKG1包> <PKG2>` | 从特定源(如清华源、阿里源)安装包
`conda install PKGNAME=3.1.4` | 安装指定版本的包
`conda install "PKGNAME>2.5,<3.2"` | 使用AND逻辑安装包
`conda install "<PKGNAME> [version='2.5\|3.2']"` |
`conda uninstall <PKGNAME>` | 卸载包
`conda config --show-sources` | 查看源地址(位置越靠上,搜索的时候越优先)
`conda config --add channels <CHANNELNAME>` | 添加conda的源地址
`conda config --remove channels <CHANNELNAME>`| 移除conda的源地址
### 更改环境
Command | Description
:-- | --
`conda create -n <ENVNAME> python=3.10` | 指定Python版本创建环境
`conda create --clone <ENVNAME> -n <NEWENV>` | 从已有环境克隆一个新环境
`conda rename -n <ENVNAME> <NEWENVNAME>` | 对环境名字重命名
`conda remove -n <ENVNAME> --all` | 通过名字删除一个环境
`conda env remove -n <ENVNAME>` | 通过名字删除一个环境
`conda list -n <ENVNAME> --revisions` | 列出环境的各个修订版本
`conda install -n <ENVNAME> --revision <NUMBER>"` | 回滚到环境的某个版本本
<!--rehype:className=style-list-arrow-->
关于 `conda` 环境回滚可参考:[这里](https://www.pybloggers.com/2016/06/conda-revisions-letting-you-rollback-to-a-previous-version-of-your-environment/)
### 导出环境配置
<!--rehype:wrap-class=col-span-2 row-span-2-->
建议将导出文件命名为“environment”环境名称将被保留
Command | Description
:-- | --
`conda env export --from-history>ENV.yml` | 跨平台兼容需(通过这种方式,可以省去所有其他可能是特定于平台的依赖项)
`conda env export -n ENVNAME > ENV.yml` | 导出指定环境到yml文件
`conda env export > ENV.yml` | 导出当前环境到yml文件
`conda list --explicit>ENV.txt` | 导出包信息到当前目录
`conda env create -n ENVNAME --file ENV.yml` | 从yml文件导入
`conda create -n ENVNAME --file ENV.txt` | 从txt文件导入
<!--rehype:className=style-list-arrow-->
### 另外
查看命令帮助
```bash
conda <COMMAND> --help
conda search <PKGNAME> --info
conda clean --all # 清除所有未使用的文件
conda config --show # 检查conda配置
```
设置指定环境为默认环境
```bash
vim ~/.bashrc
export PATH="~/anaconda/envs/ENVNAME/bin:$PATH" # 文件末尾添加
conda activate ENVNAME # :wq 保存并关闭
source ~/.bashrc # 更新
conda config --set auto_activate_base false # 禁用auto activate base环境
```
### 额外提示
```bash
conda COMMAND --help # 获得任何命令的帮助
# 获取任何包裹的信息
conda search PKGNAME --info
# 运行没有用户提示的命令,例如,安装多个包
conda COMMAND ARG --yes
conda install PKG1 PKG2 --yes
conda clean --all # 删除所有未使用的文件
conda config --show # 检查 conda 配置
```
另见
----
- [Anaconda文档](https://anaconda.org.cn/)
- [官网命令Cheat sheet](https://conda.io/projects/conda/en/latest/user-guide/cheatsheet.html)
- [Conda cheatsheet PDF](https://conda.io/projects/conda/en/latest/_downloads/843d9e0198f2a193a3484886fa28163c/conda-cheatsheet.pdf)

View File

@ -73,6 +73,11 @@ int a = 5, b = 10;
std::swap(a, b);
// 输出: a=10, b=5
std::cout << "a=" << a << ", b=" << b;
// 整数交换的奇技淫巧
(x ^= y), (y ^= x), (x ^= y);
// 注意! 以下操作会造成 undefined behavior
x ^= y ^= x ^= y;
```
### 注释
@ -108,13 +113,13 @@ for (int i = 0; i < 10; i++) {
```cpp
#include <iostream>
void hello(); // 声明
int main() { // 主函数
hello(); // 执行函数
}
void hello() { // 定义
std::cout << "Hello Quick Reference!\n";
}
@ -155,7 +160,7 @@ using namespace ns1;
using namespace std;
int main()
{
cout << val();
cout << val();
}
```
@ -172,7 +177,7 @@ marks[0] = 92;
marks[1] = 97;
marks[2] = 98;
// 定义和初始化
std::array<int, 3> = {92, 97, 98};
std::array<int, 3> marks = {92, 97, 98};
// 有空成员
std::array<int, 3> marks = {92, 97};
std::cout << marks[2]; // 输出: 0
@ -237,7 +242,7 @@ for (int i = 0; i < 2; ++i) {
std::cout << x[i][j] << " ";
}
}
// 输出: 1 2 3 4 5 6 6 5 4 3 2 1
// 输出: 1 2 3 4 5 6 6 5 4 3 2 1
```
C++ 条件
@ -475,7 +480,7 @@ for (char c: hello)
{
std::cout << c << " ";
}
// 输出: Q u i c k R e f . M E
// 输出: Q u i c k R e f . M E
```
### 中断语句
@ -502,6 +507,16 @@ for (int i = 0, j = 2; i < 3; i++, j--){
// 输出: i=0,j=2;i=1,j=1;i=2,j=0;
```
### auto
```cpp
std:: string s = "hello world";
for(auto c: s){
std:: cout << c << " ";
}
// 输出: h e l l o w o r l d
```
C++ 函数
------------
@ -510,10 +525,10 @@ C++ 函数
```cpp
#include <iostream>
int add(int a, int b) {
return a + b;
return a + b;
}
int main() {
std::cout << add(10, 20);
std::cout << add(10, 20);
}
```
@ -538,13 +553,515 @@ void fun(int a) {
```cpp
#include <iostream>
#include <cmath> // 导入库
int main() {
// sqrt() 来自 cmath
std::cout << sqrt(9);
}
```
### Lambda 表达式
<!--rehype:wrap-class=col-span-2-->
Lambda 表达式可以在函数内定义,可以理解为在函数内定义的临时函数。格式:
```cpp
auto func = []() -> return_type { };
```
- `[]`为捕获列表,能够捕获其所在函数的局部变量
- 一个空的捕获列表代表Lambda表达式不捕获任何的变量
- 对于值捕获,直接在中括号中填写要捕获的变量即可:
```cpp
int val = 5;
auto func = [val]() -> return_type { };
```
- 对于引用捕获,需要在捕获的变量前添加`&`
```cpp
string str("hello world!");
auto func = [&str]() -> return_type { };
```
- 如果变量太多,需要编译器根据我们编写的代码自动捕获,可以采用隐式捕获的方式。
- 全部值捕获:
```cpp
int val1, val2;
auto func = [=]() -> int
{
return val1 + val2;
};
```
- 全部引用捕获:
```cpp
string str1("hello"), str2("word!");
auto func = [&]() -> string
{
return str1 + str2;
};
```
- 混合隐式捕获:
如果希望对一部分变量采用值捕获,对其他变量采用引用捕获,可以混合使用:
```cpp
int val1 = 123, val2 = 456;
string str1("123"), str2(456);
auto func1 = [=, &str1]() -> int
{
return val1 == std::stoi(str1)
? val1 : val2;
};
auto func2 = [&, val1]() -> int
{
return str1 == std::to_string(val1)
? str1 : str2;
};
```
- `()` 是参数列表,我们只需要按照普通函数的使用方法来使用即可
- `return_type` 是函数的返回类型,`-> return_type` 可以不写,编译器会自动推导
- `{}` 中的内容就是函数体,依照普通函数的使用方法使用即可
<!--rehype:className=style-timeline-->
此处给出一个 Lambda 表达式的实际使用例子(当然可以使用 `str::copy`):
```cpp
// vec中包含1, 2, 3, 4, 5
std::vector<int> vec({1, 2, 3, 4, 5});
std::for_each(vec.begin(), vec.end(),
[](int& ele) -> void
{
std::cout << ele
<< " ";
});
```
## C++多线程
### 多线程介绍
g++编译选项:`-std=c++11`。包含头文件:
- `#include <thread>`C++多线程库
- `#include <mutex>`C++互斥量库
- `#include <future>`C++异步库
### 线程的创建
<!--rehype:wrap-class=row-span-2-->
以普通函数作为线程入口函数:
```cpp
void entry_1() { }
void entry_2(int val) { }
std::thread my_thread_1(entry_1);
std::thread my_thread_2(entry_2, 5);
```
以类对象作为线程入口函数:
```cpp
class Entry
{
void operator()() { }
void entry_function() { }
};
Entry entry;
// 调用operator()()
std::thread my_thread_1(entry);
// 调用Entry::entry_function
std::thread my_thread_2(&Entry::entry_function, &entry);
```
以lambda表达式作为线程入口函数
```cpp
std::thread my_thread([]() -> void
{
// ...
});
```
### 线程的销毁
```cpp
thread my_thread;
// 阻塞
my_thread.join();
// 非阻塞
my_thread.detach();
```
### `this_thread`
```cpp
// 获取当前线程ID
std::this_thread::get_id();
// 使当前线程休眠一段指定时间
std::this_thread::sleep_for();
// 使当前线程休眠到指定时间
std::this_thread::sleep_until();
// 暂停当前线程的执行,让别的线程执行
std::this_thread::yield();
```
### 锁
<!--rehype:wrap-class=row-span-5-->
> `#include <mutex>`
#### 锁的基本操作
创建锁
```cpp
std::mutex m;
```
上锁
```cpp
m.lock();
```
解锁
```cpp
m.unlock();
```
尝试上锁:成功返回`true`,失败返回`false`
```cpp
m.try_lock();
```
解锁
```cpp
m.unlock();
```
#### 更简单的锁 —— `std::lock_guard<Mutex>`
构造时上锁,析构时解锁
```cpp
std::mutex m;
std::lock_guard<std::mutex> lock(m);
```
额外参数:`std::adopt_lock`:只需解锁,无需上锁
```cpp
// 手动上锁
m.lock();
std::lock_guard<mutex> lock(m,
std::adopt_lock);
```
#### `unique_lock<Mutex>`
构造上锁,析构解锁
```cpp
std::mutex m;
std::unique_lock<mutex> lock(m);
```
##### `std::adopt_lock`
只需解锁,无需上锁
```cpp
// 手动上锁
m.lock();
std::unique_lock<mutex> lock(m,
std::adopt_lock);
```
##### `std::try_to_lock`
尝试上锁,可以通过`std::unique_lock<Mutex>::owns_lock()`查看状态
```cpp
std::unique_lock<mutex> lock(m,
std::try_to_lock);
if (lock.owns_lock())
{
// 拿到了锁
}
else
{
// 没有
}
```
##### `std::defer_lock`
绑定锁,但不上锁
```cpp
std::unique_lock<mutex> lock(m,
std::defer_lock);
lock.lock();
lock.unlock();
```
##### `std::unique_lock<Mutex>::release`
返回所管理的`mutex`对象指针,**释放所有权。**一旦释放了所有权,那么如果原来互斥量处于互斥状态,程序员有责任手动解锁。
#### `std::call_once`
当多个线程通过这个函数调用一个可调用对象时,只会有一个线程成功调用。
```cpp
std::once_flag flag;
void foo() { }
std::call_once(flag, foo);
```
### `std::condition_variable`
#### 创建条件变量
```cpp
std::condition_variable cond;
```
#### 等待条件变量被通知
```cpp
std::unique_lock<std::mutex>
lock;
extern bool predicate();
// 调用方式 1
cond.wait(lock);
// 调用方式 2
cond.wait(lock, predicate);
```
----
- `wait`不断地尝试重新获取并加锁该互斥量,如果获取不到,它就卡在这里并反复尝试重新获取,如果获取到了,执行流程就继续往下走
- `wait`在获取到互斥量并加锁了互斥量之后:
- 如果`wait`被提供了可调用对象,那么就执行这个可调用对象:
- 如果返回值为`false`,那么`wait`继续加锁,直到再次被 notified
- 如果返回值为`true`,那么`wait`返回,继续执行流程
- 如果`wait`没有第二个参数,那么直接返回,继续执行
#### `std::condition_variable::notify_one`
`notify_one` 唤醒一个调用 `wait` 的线程。注意在唤醒之前要解锁,否则调用 `wait` 的线程也会因为无法加锁而阻塞。
#### `std::condition_variable::notify_all`
唤醒所有调用 `wait` 的线程。
### 获取线程的运行结果
<!--rehype:wrap-class=row-span-5-->
> `#include <future>`
#### 创建异步任务
```cpp
double func(int val);
// 使用std::async创建异步任务
// 使用std::future获取结果
// future模板中存放返回值类型
std::future<double> result =
std::async(func, 5);
```
#### 获取异步任务的返回值
等待异步任务结束,但是不获取返回值:
```cpp
result.wait();
```
获取异步任务的返回值:
```cpp
int val = result.get();
```
注:
- `get()`返回右值,因此只可调用一次
- 只要调用上述任意函数,线程就会一直阻塞到返回值可用(入口函数运行结束)
#### `std::async` 的额外参数
额外参数可以被放在 `std::async` 的第一个参数位置,用于设定 `std::async` 的行为:
- `std::launch::deferred`:入口函数的运行会被推迟到`std::future<T>::get()`或者`std::future<T>::wait()`被调用时。此时调用线程会直接运行线程入口函数,换言之,**不会创建子线程**
- `std::launch::async`:立即创建子线程,并运行线程入口函数
- `std::launch::deferred | std::launch::async`:默认值,由系统自行决定
#### 返回值的状态
让当前线程等待一段时间(等待到指定时间点),以期待返回值准备好:
```cpp
extern double foo(int val) {}
std::future<double> result =
async(foo, 5);
//返回值类型
std::future_status status;
// 等待一段时间
status = result.wait_for(
std::chrono::seconds(1)
);
// 等待到某一时间点
status = result.wait_for(
std::chrono::now() +
std::chrono::seconds(1)
);
```
在指定的时间过去后,可以获取等待的结果:
```cpp
// 返回值已经准备好
if (status ==
std::future_status::ready)
{
}
// 超时:尚未准备好
else if (status ==
std::future_status::timeout)
{ }
// 尚未启动: std::launch::deferred
else if (status ==
std::future_status::deferred)
{ }
```
#### 多个返回值
如果要多次获取结果,可以使用`std::shared_future`,其会返回结果的一个**拷贝**。
```cpp
std::shared_future<T> result;
```
对于不可拷贝对象,可以在`std::shared_future`中存储对象的指针,而非指针本身。
### 创建线程
```cpp
void threadFunction() {
// 线程函数体
std::cout << "From thread" << std::endl;
}
int main() {
// 创建线程并开始执行线程函数
std::thread t(threadFunction);
// 等待线程执行完毕
t.join();
return 0;
}
```
### 传递参数给线程函数
```cpp
void threadFunction(int value) {
// 线程函数体
std::cout << "Received value: " << value << std::endl;
}
int main() {
int data = 42;
std::thread t(threadFunction, data);
t.join();
return 0;
}
```
### 使用Lambda表达式创建线程
```cpp
int main() {
int data = 42;
std::thread t([data]() {
// Lambda 表达式作为线程函数
std::cout << "Received value: " << data << std::endl;
});
t.join();
return 0;
}
```
### **处理线程间的同步:**
```cpp
#include <mutex>
std::mutex mtx;
void threadFunction() {
std::lock_guard<std::mutex> lock(mtx);
std::cout << "Thread safe output." << std::endl;
}
int main() {
std::thread t1(threadFunction);
std::thread t2(threadFunction);
t1.join();
t2.join();
return 0;
}
```
### **使用`std::async`启动异步任务:**
```cpp
#include <future>
int taskFunction() {
// 异步任务
return 42;
}
int main() {
// 启动异步任务
std::future<int> fut = std::async(std::launch::async, taskFunction);
// 获取异步任务的结果
int result = fut.get();
std::cout << "Result: " << result << std::endl;
return 0;
}
```
C++ 预处理器
------------

1335
docs/cs.md

File diff suppressed because it is too large Load Diff

View File

@ -13,8 +13,6 @@ CSS 功能丰富,不仅仅是布局页面
#### 外部样式表 `<link>`
`
```html
<link
href="./path/to/stylesheet/style.css"
@ -158,7 +156,7 @@ div {
```css
#container {
display: grid;
s grid: repeat(2, 60px) / auto-flow 80px;
grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
@ -1266,10 +1264,13 @@ CSS 函数
### calc()
```css
width: calc(100% - 80px);
div {
width: calc(100% - 30px);
height: calc(100% - 30px);
}
```
声明 CSS 属性值时执行一些计算
[`calc()`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/calc) CSS 函数允许您在指定 CSS 属性值时执行计算
### clamp()
@ -1470,6 +1471,35 @@ html {
[点击我](#入门)页面会平滑滚动到入门
### 修改浏览器自动填充 input 样式
```css
input[type="text"]:autofill {
box-shadow: 0 0 0 1000px #000 inset;
-webkit-text-fill-color: white;
}
```
另见: [:autofill](https://developer.mozilla.org/en-US/docs/Web/CSS/:autofill)
### 修改 input type="color" 样式
<!--rehype:wrap-class=col-span-2 row-span-2-->
```css
input[type="color"] {
-webkit-appearance: none;
border: none;
width: 32px;
height: 32px;
}
input[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
}
input[type="color"]::-webkit-color-swatch {
border: none;
}
```
### 忽略用作间距的换行符 \<br />
```css
@ -1487,11 +1517,13 @@ br + br {
```
### CSS 重置
<!--rehype:wrap-class=row-span-2-->
```css
html {
box-sizing: border-box;
}
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
@ -1501,7 +1533,82 @@ html {
有助于在不同的浏览器之间强制样式一致性,并为样式元素提供干净的盒子
### 设置光标样式
```css
body {
caret-color: red;
}
```
### 设置整个页面灰色
<!--rehype:wrap-style=-webkit-filter: grayscale(.95);-->
```css
html {
-webkit-filter: grayscale(.95);
}
```
上面示例设置了当前卡片灰色
### `<textarea>`自动增加其高度
```css
textarea {
form-sizing: normal
}
```
### 定义容器的长宽比
```css
div {
aspect-ratio: 1/1
}
```
属性 [aspect-ratio](https://developer.mozilla.org/zh-CN/docs/Web/CSS/aspect-ratio) 可以非常容易的定义一个容器的长宽比
### 使用 unset 而不是重置所有属性
使用 `all` 速记来指定元素的所有属性。将值设置为 `unset` 会将元素的属性更改为其初始值:
```css
button {
all: unset;
}
```
注意:`IE11` 不支持 `all` 和 `unset` 速记
### 超出显示省略号
```css
p {
overflow: hidden;/*超出部分隐藏*/
/* 超出部分显示省略号 */
text-overflow:ellipsis;
/* 规定段落中的文本不进行换行 */
white-space: nowrap;
width: 250px;/*需要配合宽度来使用*/
}
```
### 给正文添加行高
您不需要为每个 `<p>`、`<h*>` 等添加行高。相反,将其添加到正文:
```css
body {
line-height: 1.5;
}
```
这样文本元素可以很容易地从 `body` 继承
### 使用图像作为光标
<!--rehype:wrap-class=col-span-2-->
```css
div {
@ -1538,17 +1645,6 @@ div {
多行文本截断到特定的行数,末尾显示省略号 _(...)_
### 计算函数
```css
div {
width: calc(100% - 30px);
height: calc(100% - 30px);
}
```
[`calc()`](https://developer.mozilla.org/zh-CN/docs/Web/CSS/calc) CSS 函数允许您在指定 CSS 属性值时执行计算
### 粘性定位元素
```css
@ -1622,15 +1718,274 @@ div {
通过样式来控制一个元素 `div` 是否可以编辑
### 定义容器的长宽比
### 等宽表格单元格
```
div {
aspect-ratio: 1/1
尝试使用 `table-layout: fixed` 以保持单元格宽度相等:
```css
table {
table-layout: fixed;
}
```
属性 [aspect-ratio](https://developer.mozilla.org/zh-CN/docs/Web/CSS/aspect-ratio) 可以非常容易的定义一个容器的长宽比
### 利用属性选择器来选择空链接
当 `<a>` 元素没有文本内容,但有 `href` 属性的时候,显示它的 `href` 属性:
```css
a[href^="http"]:empty::before {
content: attr(href);
}
```
### 给 “默认” 链接定义样式
给 “默认” 链接定义样式:
```css
a[href]:not([class]) {
color: #008000;
text-decoration: underline;
}
```
通常没有 `class` 属性,以上样式可以甄别它们,而且不会影响其它样式
### 用 rem 调整全局大小;用 em 调整局部大小
<!--rehype:wrap-class=row-span-2-->
在根元素设置基本字体大小后 (`html { font-size: 100%; }`), 使用 em 设置文本元素的字体大小:
```css
h2 {
font-size: 2em;
}
p {
font-size: 1em;
}
```
然后设置模块的字体大小为 rem:
```css
article {
font-size: 1.25rem;
}
aside .module {
font-size: .9rem;
}
```
现在,每个模块变得独立,更容易、灵活的样式便于维护
### 隐藏没有静音、自动播放的影片
这是一个自定义用户样式表的不错的技巧。避免在加载页面时自动播放。如果没有静音,则不显示视频:
```css
video[autoplay]:not([muted]) {
display: none;
}
```
再次,我们利用了 `:not()` 的优点
### 为更好的移动体验,为表单元素设置字体大小
当触发 `<select>` 的下拉列表时为了避免表单元素在移动浏览器iOS Safari 和其它上的缩放加上font-size
```css
input[type="text"],
input[type="number"],
select,
textarea {
font-size: 16px;
}
```
### 使用指针事件来控制鼠标事件
指针事件允许您指定鼠标如何与其触摸的元素进行交互。要禁用按钮上的默认指针事件,例如:
```css
button:disabled {
opacity: .5;
pointer-events: none;
}
```
就这么简单
### 子元素选中父元素
```css
div:has(img) {
background: black;
}
```
设置包含子元素 `img` 的 `div` 元素样式,还可以嵌套:
```css
div:has(h2):has(ul) {
background: black;
}
```
### 在用作间距的换行符上设置 `display: none`
用户使用额外的换行符
```css
br + br {
display: none;
}
```
### 给 `body` 添加行高
```css
body {
line-height: 1.5;
}
```
您不需要为每个 `<p>`、`<h*>` 等分别添加行高。相反,将其添加到正文
### 检查本地是否安装了字体
<!--rehype:wrap-class=row-span-2-->
```css
@font-face {
font-family: "Dank Mono";
src:
/* Full name */
local("Dank Mono"),
/* Postscript name */
local("Dank-Mono"),
/* 否则,请下载它! */
url("//...a.server/DankMono.woff");
}
code {
font-family: "Dank Mono",
system-ui-monospace;
}
```
您可以在远程获取字体之前检查是否在本地安装了字体,这也是一个很好的性能提示
### 获取 HTML 元素的属性
```html
<a href="https://example.com">超链接</a>
```
attr HTML 元素的属性名。
```css
a:after {
content: " (" attr(href) ")";
}
```
### 为表单元素设置 `:focus`
```css
a:focus, button:focus, input:focus,
select:focus, textarea:focus {
box-shadow: none;
outline: #000 dotted 2px;
outline-offset: .05em;
}
```
有视力的键盘用户依靠焦点来确定键盘事件在页面中的位置。使表单元素的焦点比浏览器的默认实现更加突出和一致
### 垂直居中任何东西
<!--rehype:wrap-class=row-span-2-->
```css
html, body {
height: 100%;
margin: 0;
}
body {
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-flex;
display: flex;
}
```
...还有 CSS 网格:
```css
body {
display: grid;
height: 100vh;
margin: 0;
place-items: center center;
}
```
### 图片对齐不变形
```css
img {
width: 200px;
height: 200px;
/** 确保图片按原始宽高比例进行缩放 */
object-fit: cover;
object-position: left top;
transition: 1s;
}
img:hover {
/** 指定图片显示的位置,结合鼠标移动+过渡动画 */
object-position: right bottom;
}
```
### 多行截断,展示省略号
```css
.clamp {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
```
`html` 文本超过 3 行将被截断,显示省略号...
```html
<p class="clamp">
展示多行文本,超过 3 行将被截断,显示省略号...
</p>
```
### 逗号分隔列表
```css
ul > li:not(:last-child)::after {
content: ",";
}
```
使列表项看起来像一个真实的逗号分隔列表,使用 `:not()` 伪类,最后一项不会添加逗号
### 表格中数字使用制表数字
```css
.revenue {
font-variant-numeric: tabular-nums;
}
```
表格中一列数字列对其
另见
---------

View File

@ -63,14 +63,16 @@ Curl 是一种在服务器之间传输数据的工具,支持协议,包括 HT
### 头信息 Headers
```bash
-A <str> # --user-agent
-A <str> # --user-agent
-b name=val # --cookie
-b name=val # --cookie
# 从 URL 的指定文件加载 cookie
-b, --cookie FILE
# 将 cookie 从 URL 保存到指定文件
-c, --cookie-jar FILE
-b FILE # --cookie
-H "X-Foo: y" # --header
--compressed # 使用 deflate/gzip
```

View File

@ -9,6 +9,8 @@ Dart 备忘清单
### 安装 Dart
<!--rehype:wrap-class=row-span-2-->
> 完整教程请参阅 Dart 中文社区 [https://dart.cn/get-dart/](https://dart.cn/get-dart/)
#### Windows
```bash
@ -88,8 +90,8 @@ double height = 1.85;
// 您还可以将变量声明为 num
// x 可以同时具有 int 和 double 值
num x = 1;
num += 2.5;
print(num); // 打印: 3.5
x += 2.5;
print(x); // 打印: 3.5
String name = "Nicola";
bool isFavourite = true;
@ -130,6 +132,15 @@ import 'dart:math';
import 'package:test/test.dart';
// 导入文件
import 'path/to/my_other_file.dart';
// 指定前缀
import 'package:lib/lib.dart' as lib;
lib.Element element = lib.Element();
// 仅导入 foo
import 'package:lib1/lib1.dart' show foo;
// 不导入 foo
import 'package:lib2/lib2.dart' hide foo;
// 延迟导入,仅在需要时导入
import 'package:greetings/hello.dart' deferred as hello;
```
操作符
@ -184,10 +195,84 @@ print(3 >= 3); // 打印: true - 大于或等于
print(2 <= 3); // 打印: true - 小于或等于
```
### 运算符优先级示例
```dart
// 括号可以提高可读性。
if ((n % i == 0) && (d % i == 0)) ...
// 虽然难以阅读,但等效。
if (n % i == 0 && d % i == 0) ...
```
### 位运算符和移位运算符
操作符 | 含义
:-|-
`&` | 与AND
`\|` | 或OR
`^` | 异或XOR
`~expr` | 一元位补码<br>_(0 变为 11 变为 0)_
`<<` | 左移
`>>` | 右移
`>>>` | 无符号右移
<!--rehype:className=left-align-->
----
```dart
final value = 0x22;
final bitmask = 0x0f;
// 与AND
assert((value & bitmask) == 0x02);
// 非与AND NOT
assert((value & ~bitmask) == 0x20);
// 或OR
assert((value | bitmask) == 0x2f);
// 异或XOR
assert((value ^ bitmask) == 0x2d);
assert((value << 4) == 0x220); // 左移
assert((value >> 4) == 0x02); // 右移
```
### 级联表示法
级联 (.., ?..) 允许您对同一对象进行一系列操作。除了访问实例成员之外,您还可以调用同一对象的实例方法。这通常可以节省您创建临时变量的步骤,并允许您编写更流畅的代码。考虑以下代码:
```dart
var paint = Paint()
..color = Colors.black
..strokeCap = StrokeCap.round
..strokeWidth = 5.0;
```
示例相当于以下代码:
```dart
var paint = Paint();
paint.color = Colors.black;
paint.strokeCap = StrokeCap.round;
paint.strokeWidth = 5.0;
```
`?...`开头可确保不会对该空对象进行任何级联操作。
```dart
querySelector('#confirm') // 获取一个对象
?..text = 'Confirm' // 使用它的成员
..classes.add('important')
..onClick.listen((e) => {
window.alert('Confirmed!')
})
..scrollIntoView();
```
控制流:条件
------
### if 和 else if
<!--rehype:wrap-class=row-span-2-->
```dart
if(age < 18){
@ -200,11 +285,12 @@ if(age < 18){
```
### switch case
<!--rehype:wrap-class=row-span-2-->
```dart
enum Pet {dog, cat}
Pet myPet = Pet.dog;
switch(myPet){
switch(myPet) {
case Pet.dog:
print('My Pet is Dog.');
break;
@ -217,6 +303,25 @@ switch(myPet){
// 打印: My Pet is Dog.
```
### 三元操作符
```dart
int age = 20;
String message = age >= 18 ? "成人" : "儿童";
print("年龄类别: $message");
// 输出: 年龄类别: 成人
```
### 三元操作符嵌套使用
```dart
int x = 10;
int y = 5;
int result = x > y ? x : y > 0 ? y : 0;
print("Result: $result");
// 输出: Result: 10
```
控制流:循环
-----
@ -276,7 +381,7 @@ const constantCities = const ["New York", "Mumbai", "Tokyo"];
```dart
// 映射是关联键和值的对象
var person = Map<String, String>();
// 要初始化地图,请执行以下操作:
// 要初始化映射,请执行以下操作:
person['firstName'] = 'Nicola';
person['lastName'] = 'Tesla';
print(person);
@ -301,7 +406,7 @@ var halogens = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'};
// 创建一个空集
var names = <String>{};
Set<String> names = {}; // 这也有效
//var names = {}; // 创建地图,而不是集合
//var names = {}; // 创建映射,而不是集合
```
函数
@ -320,7 +425,7 @@ int sum = add(2,3); // 回报5
int totalSum = add(2, add(2,3)); // 返回7
```
### 箭头语法 (=>)
### 箭头函数 (=>)
```dart
// 只包含一个表达式的函数,您可以使用简写语法
@ -346,6 +451,63 @@ list.forEach(
```
<!--rehype:className=wrap-text-->
### 扩展函数 (Extension)
```dart
//extension 定义扩展名称 on 扩展类
extension StringExtension on String {
//扩展方法
String capitalize() {
if (isEmpty) {
return this;
}
// 将字符串的首字母大写
String topStr = this[0].toUpperCase();
return '${topStr}${substring(1)}';
}
}
void main(List<String> args) {
print("apple".capitalize());
// Print: Apple
print("苹果apple".capitalize());
// Print: 苹果apple
}
```
在不修改 String 类的前提下为其新增了 capitalize 方法
<!--rehype:className=wrap-text-->
### 运算符重载 (Extension)
<!--rehype:wrap-class=col-span-2-->
```dart
class Money {
final num amount;
Money({required this.amount});
}
// 利用扩展函数特性
extension MoneyOperatorExtension<T> on Money {
// operator 重载运算符
Money operator +(Money elements) {
Money newMoney = Money(amount: this.amount + elements.amount);
return newMoney;
}
}
void main(List<String> args) {
// 怎么样?两个类加起来了
Money appleMoney = Money(amount: 10.0);
Money cardMoney = Money(amount: 6.0);
Money allMoney = cardMoney + appleMoney;
print(allMoney.amount);
//Print: 16.0
}
```
类和对象
----------
@ -680,7 +842,8 @@ Future<String> login() {
// 异步
main() async {
print('Authenticating please wait...');
print(await userName());
String result = await login();
print(result);
}
```
@ -721,8 +884,50 @@ userObject?.userName?.toString()
// 如果 userObject 或 userObject.userName 为 null则前面的代码返回 null 并且从不调用 toString()
```
### 扩展运算符 (...)
```dart
// 将多个值插入到集合中
var list = [1, 2, 3];
var list2 = [0, ...list];
print(list2.length); // 打印: 4
```
### enum
<!--rehype:wrap-class=col-span-2 row-span-2-->
定义enum"enumeration"的缩写)是一种特殊的数据类型,可使变量成为一组预定义的常量。枚举用于定义只能从一小组可能值中选择一个的变量。通过为这些值集提供有意义的名称,枚举有助于提高代码的可读性,减少出错率。
```dart
// 定义枚举类型
enum TrafficLight {
red,
yellow,
green
}
// 根据交通灯状态打印消息的函数
void printTrafficLightMessage(TrafficLight light) {
switch (light) {
case TrafficLight.red:
print('Stop!');
break;
case TrafficLight.yellow:
print('Get ready...');
break;
case TrafficLight.green:
print('Go!');
break;
}
}
void main() {
// 枚举类型的示例用法
TrafficLight currentLight = TrafficLight.green;
// 打印当前交通灯状态的消息
printTrafficLightMessage(currentLight);
}
```
### 级联符号 (..)
<!--rehype:wrap-class=row-span-2-->
```dart
// 允许您对同一对象进行一系列操作
@ -738,16 +943,23 @@ var user = User()
..age = 24;
```
### 扩展运算符 (...)
### 延迟初始化
```dart
// 将多个值插入到集合中
var list = [1, 2, 3];
var list2 = [0, ...list];
print(list2.length); // 打印: 4
// token 类型非空,但是不用立即赋值
late String token;
void main(List<String> args) {
/// print(token);
/// 字段 "token "尚未初始化
/// 在初始化前调用就会报错
token = "tokenContent";
print(token);
}
```
另见
----
- [Dart 官方文档](https://dart.dev/) _(dart.dev)_
- [Dart 中文社区官方文档](https://dart.cn/) _(dart.cn)_

660
docs/docker-compose.md Normal file
View File

@ -0,0 +1,660 @@
Docker Compose 备忘清单
===
这是 [docker-compose](https://docs.docker.com/compose/) 的快速参考备忘单。你可以在这里找到最常见的 Docker Compose 使用方式。
入门
---
### Docker Compose 是什么?
- `Docker-compsoe` 是一个开源项目,用于定义和运行多容器 `Docker` 应用程序的工具。由 `Docker` 社区维护。
- 通过一个 `YAML` 文件来配置应用程序的服务,以便可以使用一个命令启动、停止和重启整个应用程序。
- [Docker Compose 开源地址](https://github.com/docker/compose)
- [Docker Compose 发行地址](https://github.com/docker/compose/releases) _github.com_
### 基本概念
- **服务 (services):** 一个服务指的是一个容器,即一个应用程序的一个实例。
- **容器 (container):** `Docker` 容器,其中运行着应用程序的一个实例。
- **镜像 (image):** `Docker` 镜像,用于创建容器的模板。
- **Docker-Compose 文件:** 一个 `YAML` 文件,描述了应用程序的各个服务以及它们之间的关系、配置等信息。
### Docker-Compose 文件结构
- `version`: _Docker-Compose_ 文件的版本。
- `services`: 定义了各个服务,每个服务都有自己的配置项,如镜像、端口映射、依赖等。
- `networks`: 定义了应用程序使用的网络,可以自定义网络以控制服务之间的通信。
- `volumes`: 定义了应用程序使用的卷,用于持久化数据或与主机共享文件。
### 安装
<!--rehype:wrap-class=row-span-2-->
对于 Ubuntu 和 Debian运行
```bash
sudo apt-get update
sudo apt-get install docker-compose-plugin
```
对于基于 RPM 的发行版,运行:
```bash
sudo yum update
sudo yum install docker-compose-plugin
```
通过检查版本来验证 Docker Compose 是否正确安装
```sh
docker compose version
# Docker Compose version v2.17.3
docker --version
# Docker version 23.0.5, build bc4487a
docker version
# Client: Docker Engine - Community
# Cloud integration: v1.0.31
# Version: 23.0.5
# API version: 1.42
# <...>
```
### 独立安装 Compose
```sh
curl -SL https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
```
<!--rehype:className=wrap-text-->
如果命令 `docker-compose` 安装失败,请检查你的路径。你也可以创建一个符号链接,指向 `/usr/bin` 或路径中的任何其他目录。例如
```sh
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```
<!--rehype:className=wrap-text-->
### 更新 Compose
对于 Ubuntu 和 Debian运行
```sh
sudo apt-get update
sudo apt-get install docker-compose-plugin
```
对于基于 RPM 的发行版,运行:
```sh
sudo yum update
sudo yum install docker-compose-plugin
```
### 卸载 Docker Compose
<!--rehype:wrap-class=col-span-2-->
Ubuntu, Debian:
```sh
sudo apt-get remove docker-compose-plugin
```
基于 RPM 的发行版
```sh
sudo yum remove docker-compose-plugin
```
如果您使用curl安装Compose CLI插件要卸载它请运行
```sh
rm $DOCKER_CONFIG/cli-plugins/docker-compose
```
为所有用户删除,或者,如果您已为所有用户安装 Compose请运行
```sh
rm /usr/local/lib/docker/cli-plugins/docker-compose
```
### 检查 Compose 的安装位置
<!--rehype:wrap-class=col-span-3-->
```sh
docker info --format '{{range .ClientInfo.Plugins}}{{if eq .Name "compose"}}{{.Path}}{{end}}{{end}}'
```
### 常用命令
<!--rehype:wrap-class=col-span-2-->
| docker compose命令 | 说明 | 常见参数说明 |
| ------------------------ | ---------------- | -------------------- |
| `docker compose up` | 启动容器 | `-d` 后台运行容器 |
| `docker compose down` | 停止容器 | `-v` 删除容器和卷 |
| `docker compose logs` | 查看容器日志 | `-f` 跟随日志输出 |
| `docker compose exec` | 进入容器 | `-it` 启动交互式终端 |
| `docker compose pull` | 拉取镜像 | |
| `docker compose build` | 构建镜像 | |
| `docker compose images` | 列出镜像 | |
| `docker compose push` | 推送镜像 | |
| `docker compose config` | 显示配置信息 | |
| `docker compose version` | 查看版本信息 | |
<!--rehype:className=left-align-->
### 常用运维命令
| docker compose命令 | 说明 |
| ------------------------ | ---------------- |
| `docker compose stop` | 停止容器 |
| `docker compose start` | 启动容器 |
| `docker compose rm` | 删除容器 |
| `docker compose restart` | 重启容器 |
| `docker compose run` | 运行一个临时容器 |
| `docker compose ps` | 查看容器状态 |
<!--rehype:className=left-align-->
Docker Compose 配置
---
### 示例配置文件
<!--rehype:wrap-class=col-span-2-->
`docker-compose` 的配置文件是一个 `YAML` 文件,用于定义和运行多容器 Docker 应用程序。通常命名为 `docker-compose.yml`,它使用单一的 YAML 文件来定义多个容器的集合,以及它们之间的依赖关系和服务。以下是一份 `docker-compose.yml` 文件的配置模板,包含了常用配置项和解释:
```yml
name: myapp
version: '3' # 已过时
services: # 定义一个或多个服务
service1: # 服务名称
image: nginx:latest # 使用的 Docker 镜像,这里是 Nginx 的最新版本
# 或者使用构建指令来从 Dockerfile 构建镜像
build:
context: ./path/to/Dockerfile # Dockerfile 所在的目录
dockerfile: Dockerfile-alternative # 可选的 Dockerfile 名称,默认是 Dockerfile
# 容器启动时执行的命令,覆盖默认的命令
command:
- "nginx"
- "-g"
- "daemon off;" # 以数组形式指定,防止 shell 解析
ports: # 容器端口与主机端口映射
- "80:80" # 主机 80 端口映射到容器的 80 端口
volumes: # 数据卷挂载
- ./nginx.conf:/etc/nginx/nginx.conf:ro # 将主机上的 nginx.conf
# 挂载到容器的 /etc/nginx/nginx.conf只读
- ./logs:/var/log/nginx # 将 logs 目录挂载到容器的 /var/log/nginx
environment: # 设置环境变量
- MYSQL_HOST=database # 可以引用其他服务,这里假设有一个名为 database 的服务
- MYSQL_PORT=3306
depends_on: # 服务启动顺序,这里表明 service1 依赖于 database 服务
- database
networks: # 定义网络
- my_network # 参与名为 my_network 的网络
service2: # 另一个服务示例
# ... 类似地定义其他服务
networks: # 定义网络
my_network: # 网络名称
driver: bridge # 网络驱动,通常是 bridge 模式
volumes: # 定义数据卷
nginx_logs: # 卷名称
```
备忘录事项
- 使用 Docker-Compose 可以简化多容器应用程序的部署和管理,但需要注意容器之间的依赖关系和通信。
- 配置文件中的缩进必须使用空格,不能使用制表符。
- 可以使用环境变量来动态设置配置项,如数据库密码。
- 当你修改了 `docker-compose.yml` 文件后,需要重新运行 `docker-compose up` 来使改动生效。
- 使用 `docker-compose build` 仅重建镜像,而不启动容器。
- 使用 `docker-compose restart` 重启容器。
- 记得清理不再需要的容器和镜像,以避免磁盘空间不足。
### 使用环境变量
`docker run -e VARIABLE=VALUE ...` 相同
```yml
web:
environment:
- DEBUG=1
```
您可以选择不设置值并将环境变量从 shell 直接传递到容器。它的工作方式与 `docker run -e VARIABLE ...` 相同:
```yml
web:
environment:
- DEBUG
web:
environment:
- DEBUG=${DEBUG}
```
`env_file` 属性允许您在 Compose 应用程序中使用多个 `.env` 文件。
它的工作方式与 `docker run --env-file=FILE ...` 相同。
```yml
web:
env_file:
- web-variables.env
```
#### 额外的信息
```yml
env_file:
- path: ./default.env
required: true # default
- path: ./override.env
required: false
```
- 如果指定了多个文件,则它们将按顺序进行评估,可以覆盖先前文件中设置的值。
-`.env` 文件中声明的环境变量不能在 Compose 文件中单独再次引用。
- 如果同时使用 `env_file``environment` 属性,则由 `environment` 设置的环境变量优先级更高。
-`env_file` 属性中指定的 `.env` 文件的路径是相对于 compose.yml 文件的位置的。
- `.env` 文件中的值可以通过使用 `docker compose run -e` 命令行来从命令行覆盖。
- 如果使用 `--env-file` 替换了另一个 `.env`,则您的 `.env` 文件可以被另一个 `.env` 文件覆盖。
- 从 Docker Compose 版本 2.24.0 开始,您可以通过使用 `required` 字段将 `.env` 文件设置为可选项。当 `required` 设置为 `false``.env` 文件丢失时Compose 将静默忽略该条目
### image
```yml
image: redis
image: redis:5
image: redis@sha256:0ed5d5928d473745...
image: library/redis
image: docker.io/library/redis
image: my_private.registry:5000/redis
```
### ports 端口
<!--rehype:wrap-class=col-span-2 row-span-2-->
```yml
ports:
# 将容器的端口 3000 映射到主机的随机端口
- "3000"
# 将容器的端口范围从 3000 到 3005 映射到主机的相同端口范围
- "3000-3005"
# 将容器的端口 8000 映射到主机的端口 8000
- "8000:8000"
# 将容器的端口范围从 8080 到 8081 映射到主机的端口范围从 9090 到 9091
- "9090-9091:8080-8081"
# 将容器的端口 22SSH端口映射到主机的端口 49100
- "49100:22"
# 将容器的端口范围从 8000 到 9000 映射到主机的端口 80
- "8000-9000:80"
# 将容器的端口 8001 映射到主机的 127.0.0.1 地址的端口 8001
- "127.0.0.1:8001:8001"
# 将容器的端口范围从 5000 到 5010 映射到主机的 127.0.0.1 地址的相同端口范围
- "127.0.0.1:5000-5010:5000-5010"
# 将容器的 UDP 端口 6060 映射到主机的端口 6060
- "6060:6060/udp"
```
暴露容器端口
### platform 平台
```yml
platform: darwin
platform: windows/amd64
platform: linux/arm64/v8
```
定义了服务容器运行的目标平台。值必须符合 [OCI Image Spec](https://github.com/opencontainers/image-spec/blob/v1.0.2/image-index.md) 使用的约定
### command
<!--rehype:wrap-class=col-span-2-->
会覆盖容器镜像声明的默认命令,例如 Dockerfile 的 CMD。
```yml
command: bundle exec thin -p 3000
```
该值也可以是一个列表,其方式类似于 Dockerfile
```yml
command: [ "bundle", "exec", "thin", "-p", "3000" ]
```
如果该值为 null则使用映像中的默认命令。如果值为 [](空列表)或 ''(空字符串),则忽略图像声明的默认命令,即覆盖为空。
### depends_on
```yml
services:
web:
build: .
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
```
服务之间的启动和关闭依赖关系。
### volumes
<!--rehype:wrap-class=col-span-2-->
下面的示例显示了双服务设置,其中数据库的数据目录作为名为 db-data 的卷与另一个服务共享,以便定期备份。
```yml
services:
backend:
image: example/database
volumes:
- db-data:/etc/data
backup:
image: backup-service
volumes:
- db-data:/var/lib/backup/data
volumes:
db-data:
```
db-data 卷安装在 `/var/lib/backup/data``/etc/data` 容器路径中,分别用于备份和后端。如果卷尚不存在,则运行 `docker compose up` 会创建该卷。否则,如果在 Compose 外部手动删除现有卷,则会使用并重新创建现有卷。
#### driver
指定应使用哪个卷驱动程序。如果驱动程序不可用Compose 将返回错误并且不会部署应用程序。
```yml
volumes:
db-data:
driver: foobar
```
#### driver_opts
指定一个选项列表,作为键值对传递给此卷的驱动程序。这些选项取决于驾驶员。
```yml
volumes:
example:
driver_opts:
type: "nfs"
o: "addr=10.40.0.199,nolock,soft,rw"
device: ":/docker/example"
```
#### external
```yml
services:
backend:
image: example/database
volumes:
- db-data:/etc/data
volumes:
db-data:
external: true
```
在示例中Compose 不会尝试创建名为 `{project_name}_db-data` 的卷,而是查找名为 `db-data` 的现有卷,并将其挂载到后端服务的容器中。
#### labels
标签用于将元数据添加到卷中。您可以使用数组或字典。
```yml
volumes:
db-data:
labels:
com.example.description: "Database volume"
com.example.department: "IT/Ops"
com.example.label-with-empty-value: ""
```
```yml
volumes:
db-data:
labels:
- "com.demo.description=Database volume"
- "com.demo.department=IT/Ops"
- "com.demo.label-with-empty-value"
```
#### name
设置卷的自定义名称。名称字段可用于引用包含特殊字符的卷。该名称按原样使用,并且不受堆栈名称的限制。
```yml
volumes:
db-data:
name: "my-app-data"
```
这使得可以将此查找名称作为 Compose 文件的参数,以便卷的模型 ID 被硬编码,但平台上的实际卷 ID 是在部署期间在运行时设置的。例如,如果 `.env` 文件中的 `DATABASE_VOLUME=my_volume_001`
```yml
volumes:
db-data:
name: ${DATABASE_VOLUME}
```
它还可以与外部属性结合使用。这意味着用于在平台上查找实际卷的卷名称与用于在 Compose 文件中引用它的名称分开设置:
```yml
volumes:
db-data:
external:
name: actual-name-of-volume
```
### networks
<!--rehype:wrap-class=row-span-3-->
```yml
services:
some-service:
networks:
- some-network
- other-network
```
#### aliases
声明网络上服务的替代主机名。同一网络上的其他容器可以使用服务名称或别名来连接到服务的容器之一
```yml
services:
some-service:
networks:
some-network:
aliases:
- alias1
- alias3
other-network:
aliases:
- alias2
```
在以下示例中,服务前端能够通过主机名 `backend` 或者 `back-tier` 网络上的数据库来访问 `backend` 服务。服务 `monitoring` 能够在 admin 网络上通过主机名 `backend` 或者 `mysql` 来访问相同的 `backend` 服务。
```yml
services:
frontend:
image: example/webapp
networks:
- front-tier
- back-tier
monitoring:
image: example/monitoring
networks:
- admin
backend:
image: example/backend
networks:
back-tier:
aliases:
- database
admin:
aliases:
- mysql
networks:
front-tier:
back-tier:
admin:
```
#### ipv4_address, ipv6_address
加入网络时为服务容器指定静态IP地址。
```yml
services:
frontend:
image: example/webapp
networks:
front-tier:
ipv4_address: 172.16.238.10
ipv6_address: 2001:3984:3989::10
networks:
front-tier:
ipam:
driver: default
config:
- subnet: "172.16.238.0/24"
- subnet: "2001:3984:3989::/64"
```
#### link_local_ips
指定了链接本地IP的列表。链路本地IP是属于知名子网的特殊IP纯粹由运营商管理通常取决于部署它们的架构。
```yml
services:
app:
image: busybox
command: top
networks:
app_net:
link_local_ips:
- 57.123.22.11
- 57.123.22.13
networks:
app_net:
driver: bridge
```
#### mac_address
设置服务容器连接特定网络时使用的 MAC 地址。
#### priority 优先级
将服务的容器连接到其网络的顺序。如果未指定,默认值为 0。在以下示例中应用服务首先连接到 `app_net_1`,因为它具有最高优先级。然后它连接到 `app_net_3`,然后是 `app_net_2`,后者使用默认优先级值 0。
```yml
services:
app:
image: busybox
command: top
networks:
app_net_1:
priority: 1000
app_net_2:
app_net_3:
priority: 100
networks:
app_net_1:
app_net_2:
app_net_3:
```
### expose
```yml
expose:
- "3000"
- "8000"
- "8080-8085/tcp"
```
定义 Compose 从容器公开的(传入)端口或端口范围。这些端口必须可供链接服务访问,并且不应发布到主机。只能指定内部容器端口。
### links
```yml
web:
links:
- db
- db:database
- redis
```
定义到另一个服务中的容器的网络链接。同时指定服务名称和链接别名 (SERVICE:ALIAS),或者仅指定服务名称。
### pids_limit
```yml
pids_limit: 10
```
调整容器的 PID 限制。设置为 -1 以获取无限 PID。
### devices
```yml
devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
- "/dev/sda:/dev/xvda:rwm"
```
定义已创建容器的设备映射列表
```sh
HOST_PATH:CONTAINER_PATH[:CGROUP_PERMISSIONS]
```
### dns
```yml
dns: 8.8.8.8
dns:
- 8.8.8.8
- 9.9.9.9
```
定义在容器网络接口配置上设置的自定义 DNS 服务器。它可以是单个值或列表。
### dns_opt
```yml
dns_opt:
- use-vc
- no-tld-query
```
列出要传递给容器的 DNS 解析器Linux 上的 /etc/resolv.conf 文件)的自定义 DNS 选项。
### dns_search
```yml
dns_search: example.com
dns_search:
- dc1.example.com
- dc2.example.com
```
定义在容器网络接口配置上设置的自定义 DNS 搜索域。它可以是单个值或列表。

File diff suppressed because it is too large Load Diff

View File

@ -28,8 +28,8 @@ FROM [--platform=<platform>] <image> [AS <name>]
示例
```dockerfile
FROM ruby:2.2.2
FROM golang:1.19-alpine3.16 AS build-env
FROM ruby:3.3.0
FROM golang:1.20-alpine3.16 AS build-env
```
### 变量 ENV
@ -214,8 +214,8 @@ Dockerfile 示例
### 服务静态网站的最小 Docker 镜像
```dockerfile
FROM lipanski/docker-static-website:latest
# 使用 .dockerignore 文件来控制像中的内容!
FROM wcjiang/docker-static-website:latest
# 使用 .dockerignore 文件来控制像中的内容!
# 复制当前目录内容,到容器中
COPY ./ .
```
@ -223,13 +223,13 @@ COPY ./ .
这会产生一个 **`154KB +`** 的单层镜像。 如果您需要以不同的方式配置 `httpd`,您可以覆盖 CMD 行:
```dockerfile
FROM lipanski/docker-static-website:latest
FROM wcjiang/docker-static-website:latest
COPY . .
CMD ["/busybox","httpd","-f","-v","-p","3000","-c","httpd.conf"]
```
缩小镜像过程[查看原文](https://lipanski.com/posts/smallest-docker-image-static-website),镜像 [Dockerfile 源码](https://github.com/lipanski/docker-static-website)。
缩小镜像过程[查看原文](https://lipanski.com/posts/smallest-docker-image-static-website),镜像 [Dockerfile 源码](https://github.com/forksss/docker-static-website)。
### Docker 镜像多阶段构建

329
docs/ejs.md Normal file
View File

@ -0,0 +1,329 @@
Ejs 备忘清单
====
[![NPM version](https://img.shields.io/npm/v/ejs.svg?style=flat)](https://www.npmjs.com/package/ejs)
[![Downloads](https://img.shields.io/npm/dm/ejs.svg?style=flat)](https://www.npmjs.com/package/ejs)
[![Repo Dependents](https://badgen.net/github/dependents-repo/mde/ejs)](https://github.com/mde/ejs/network/dependents)
[![Github repo](https://badgen.net/badge/icon/Github?icon=github&label)](https://github.com/mde/ejs)
EJS嵌入式 JavaScript是一种简单的模板语言可让您使用纯 JavaScript 生成 HTML 标记
<!--rehype:style=padding-top: 12px;-->
入门
----
### Hello world
#### 安装
```shell
$ npm install ejs
```
#### hello.ejs
```ejs
<% if (user.email) { %>
<h1><%= user.email %></h1>
<% } %>
```
#### 命令 CLI
```shell
$ ejs hello.ejs -o hello.html
```
### 使用数据渲染
```js
let ejs = require('ejs');
let people = ['geddy', 'neil', 'alex'];
let tpl = '<%= people.join(", "); %>';
let html = ejs.render(tpl, {
people: people
});
console.log(html);
```
`EJS` 传递模板字符串和一些数据
### 浏览器支持
```html
<script src="ejs.js"></script>
<script>
let people = ['geddy', 'neil', 'alex'];
let html = ejs.render(
'<%= people.join(", "); %>',
{ people: people }
);
</script>
```
在脚本标签中使用 `ejs`
### 变量
| | |
|--------------|----------------------------------|
| `<%= var %>` | 打印变量的值 |
| `<%- var %>` | 打印时不进行 HTML 转义 |
### CLI
渲染并指定输出文件
```shell
$ ejs hello.ejs -o hello.html
```
为其提供模板文件和数据文件
```shell
$ ejs hello.ejs -f data.json -o hello.html
```
### 注释
```ejs
<%# 该行将表示一条注释 %>
```
--------
```ejs
<%# 这是一个多行 EJS 注释。
它可以跨越多行,
但不会显示
在最终的 HTML 输出中。
%>
```
### 方法
```js
let ejs = require('ejs');
let template = ejs.compile(str, options);
template(data);
// => 渲染的 HTML 字符串
ejs.render(str, data, options);
// => 渲染的 HTML 字符串
ejs.renderFile(filename, data, options,
function(err, str){
// str => 渲染的 HTML 字符串
}
);
```
### 包括文件
<!--rehype:wrap-class=col-span-2-->
```ejs
<%- include('partials/navbar.ejs') %>
```
包含带有数据的模板:
```ejs
<% include('header', { title: 'My Page' }) %>
```
--------
```ejs
<ul>
<% users.forEach(function(user){ %>
<%- include('item', {user: user}); %>
<% }); %>
</ul>
```
要包含模板,需要文件名选项,路径是相对的
文档
--------
### 条件句
```ejs
<% if (userLoggedIn) { %>
<p>Welcome, <%= username %>!</p>
<% } else { %>
<p>Please log in.</p>
<% } %>
```
### 使用循环
```ejs
<% if (userLoggedIn) { %>
<p>Welcome, <%= username %>!</p>
<% } else { %>
<p>Please log in.</p>
<% } %>
```
### 自定义分隔符
<!--rehype:wrap-class=row-span-2-->
```js
let ejs = require('ejs'),
users = ['geddy', 'neil', 'alex'];
// 只需一个模板
ejs.render('<?= users.join(" | "); ?>',
{users: users},
{delimiter: '?'});
// => 'geddy | neil | alex'
// 或全局范围内
ejs.delimiter = '$';
ejs.render('<$= users.join(" | "); $>',
{users: users});
// => 'geddy | neil | alex'
```
### 缓存
```js
let ejs = require('ejs'),
LRU = require('lru-cache');
// LRU 缓存具有 100 项限制
ejs.cache = LRU(100);
```
### 布局
```ejs
<%- include('header'); -%>
<h1> Title </h1>
<p>
My page
</p>
<%- include('footer'); -%>
```
### 自定义文件加载器
<!--rehype:wrap-class=col-span-2-->
```js
let ejs = require('ejs');
let myFileLoader = function (filePath) {
return 'myFileLoader: ' + fs.readFileSync(filePath);
};
ejs.fileLoader = myFileLoader;
```
客户端支持
-----
<!--rehype:body-class=cols-2-->
### 例子
```html
<div id="output"></div>
<script src="ejs.min.js"></script>
<script>
let people = ['geddy', 'neil', 'alex'],
html = ejs.render('<%= people.join(", "); %>', {people: people});
// With jQuery:
$('#output').html(html);
// Vanilla JS:
document.getElementById('output').innerHTML = html;
</script>
```
### 注意事项
```js
let str = "Hello <%= include('file', {person: 'John'}); %>",
fn = ejs.compile(str, {client: true});
fn(data, null, function(path, d){ // include callback
// path -> 'file'
// d -> {person: 'John'}
// Put your code here
// Return the contents of file as a string
}); // returns rendered string
```
## 选项
<!--rehype:body-class=cols-1-->
### 选项列表
选项 | 描述
:---|---
`cache` | 编译后的函数被缓存,需要文件名
`filename` | 由缓存用于关键缓存,并用于包含
`root` | 使用绝对路径(例如 `/file.ejs`)设置包含项目的根目录。 可以是一个数组来尝试解析来自多个目录的包含。
`views` | 解析包含相对路径时要使用的路径数组。
`context` | 函数执行上下文
`compileDebug` | 当 `false` 时,不编译任何调试工具
`client` | 返回独立编译的函数
`delimiter` | 用于内部分隔符的字符,默认为 `%`
`openDelimiter` | 用于打开分隔符的字符,默认为 `<`
`closeDelimiter` | 用于结束分隔符的字符,默认为 `>`
`debug` | 输出生成的函数体
`strict` | 当设置为 `true` 时,生成的函数处于严格模式
`_with` | 是否使用 `with() {}` 构造。 如果为 `false`,则局部变量将存储在局部变量对象中。 (暗示`--strict`
`localsName` | 不使用时用于存储局部变量的对象的名称 默认为局部变量
`rmWhitespace` | 删除所有可安全删除的空格,包括前导和尾随空格。 它还为所有 `scriptlet` 标记启用了更安全版本的 `-%>` 行吸收(它不会在行中间去除新的标记行)
`escape` | 与 `<%=` 构造一起使用的转义函数。 它用于渲染,并在生成客户端函数时进行 `.toString()` 处理。 (默认情况下转义 XML
`outputFunctionName` | 设置为字符串(例如 `echo``print`),以便函数在 `scriptlet` 标签内打印输出
`async` | 当 `true`EJS 将使用异步函数进行渲染。 (取决于 `JS` 运行时中的 `async`/`await` 支持
## 标签
<!--rehype:body-class=cols-1-->
### 标签列表
标签 | 描述
:---|---
`<%` | 'Scriptlet' 标签,用于控制流,无输出
`<%_` | “Whitespace Slurping”Scriptlet 标签,删除其前面的所有空格
`<%=` | 将值输出到模板中HTML 转义)
`<%-` | 将未转义的值输出到模板中
`<%#` | 注释标签,不执行,不输出
`<%%` | 输出文字 `<%`
`%>` | 普通结束标签
`-%>` | 修剪模式('newline slurp')标签,修剪换行符后的内容
`_%>` | “Whitespace Slurping”结束标签删除其后的所有空格
## Cli
<!--rehype:body-class=cols-1-->
### Cli 列表
选项 | 描述
:---|---
`cache` | 编译后的函数被缓存,需要文件名
`-o / --output-file FILE` | 将渲染的输出写入 FILE 而不是 stdout。
`-f / --data-file FILE` | 必须是 JSON 格式。 使用来自 FILE 的解析输入作为渲染数据。
`-i / --data-input STRING` | 必须采用 JSON 格式和 URI 编码。 使用来自 STRING 的解析输入作为渲染数据。
`-m / --delimiter CHARACTER` | 使用带有尖括号的 CHARACTER 来表示打开/关闭(默认为 %)。
`-p / --open-delimiter CHARACTER` | 使用 CHARACTER 而不是左尖括号来打开。
`-c / --close-delimiter CHARACTER` | 使用 CHARACTER 而不是右尖括号来结束。
`-s / --strict` | 当设置为 `true` 时,生成的函数处于严格模式
`-n / --no-with` | 对变量使用 `locals` 对象,而不是使用 `with`(隐含--strict
`-l / --locals-name` | 不使用“with”时用于存储局部变量的对象的名称。
`-w / --rm-whitespace` | 删除所有可安全删除的空格,包括前导和尾随空格。
`-d / --debug` | 输出生成的函数体
`-h / --help` | 显示此帮助消息。
`-V/v / --version` | 显示 EJS 版本。
使用示例:
```bash
$ ejs -p [ -c ] ./template_file.ejs -o ./output.html
$ ejs ./test/fixtures/user.ejs name=Lerxst
$ ejs -n -l _ ./some_template.ejs -f ./data_file.json
```

606
docs/elasticsearch.md Normal file
View File

@ -0,0 +1,606 @@
Elasticsearch 备忘清单
===
这是 [Elasticsearch](https://www.elastic.co/guide/index.html) 的官方文档。 你可以在这里找到 elasticsearch 的所有文档。
入门
---
### 入门
<!--rehype:wrap-class=row-span-2-->
Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎具有HTTP Web接口和无模式JSON文档。
#### 下载
注意: `${VERSION}` 需替换为指定版本,官方包有的功能只能试用,完整功能需要付费,请仔细阅读官网文档。
#### Windows
```
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-windows-x86_64.zip
```
<!--rehype:className=wrap-text-->
#### linux
```shell
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512
$ shasum -a 512 -c elasticsearch-${VERSION}-linux-x86_64.tar.gz.sha512
$ tar -xzf elasticsearch-${VERSION}-linux-x86_64.tar.gz
$ cd elasticsearch-${VERSION}/
```
<!--rehype:className=wrap-text-->
#### macos
```shell
$ curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz
$ curl https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${VERSION}-darwin-x86_64.tar.gz.sha512 | shasum -a 512 -c -
$ tar -xzf elasticsearch-${VERSION}-darwin-x86_64.tar.gz
$ cd elasticsearch-${VERSION}/
```
<!--rehype:className=wrap-text-->
### 启动
<!--rehype:wrap-class=col-span-2-->
- 启动 Elasticsearch
```shell
$ ./bin/elasticsearch
```
- 设置密码
```shell
export ELASTIC_PASSWORD="your_password"
```
- 测试是否启动成功
```shell
curl --cacert $ES_HOME/config/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200
```
<!--rehype:className=wrap-text-->
- 成功则返回样例如下:
```json
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "${VERSION}",
"build_type" : "tar",
"build_hash" : "f27399d",
"build_flavor" : "default",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "9.10.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}
```
<!--rehype:className=style-timeline-->
### Elasticsearch 和 RDMS 的对比
| RDMS | elasticsearch |
| ----------------------- | ----------------- |
| 数据库(database) | 索引(index) |
| 表(table) | 类型(type) |
| 行(row) | 文档(document) |
| 列(column) | 字段(field) |
| 表结构 | 映射 |
| 索引 | 全文索引 |
| SQL | 查询DSL |
| SELECT * FROM tablename | GET http://... |
| UPDATE table SET | PUT http://... |
| DELETE | DELETE http://... |
<!--rehype:className=left-align show-header-->
操作
---
### 基础语法规则
```shell
$ curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
```
<!--rehype:className=wrap-text-->
- `VERB HTTP` 方法GET, POST, PUT, HEAD, DELETE
- `PROTOCOL`http 或者 https 协议(只有在 Elasticsearch 前面有 https 代理的时候可用)
- `HOST`Elasticsearch 集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫 localhost
- `PORT`Elasticsearch HTTP 服务所在的端口,默认为 9200
- `PATH API 路径`例如_count 将返回集群中文档的数量PATH可以包含多个组件例如_cluster/stats 或者_nodes/stats/jvm
- `QUERY_STRING`:一些可选的查询请求参数,例如?pretty 参数将使请求返回更加美观易读的 JSON 数据
- `BODY`:一个 JSON 格式的请求主体(如果请求需要的话)
### 创建索引
<!--rehype:wrap-class=col-span-2 row-span-3-->
#### 统一请求 api 前缀
```
http://localhost:9200/
```
#### DSL语法
```json
PUT /user_info
{
"settings": { "number_of_replicas": 1, "number_of_shards": 1 },
"mappings": {
"properties": {
"id": { "type": "long", "index": true },
"username": { "type": "keyword", "index": true },
"nickname": { "type": "keyword", "index": true },
"password": { "type": "keyword", "index": false },
"age": { "type": "integer", "index": true },
"info": { "type": "text", "index": true },
"remark": { "type": "text", "index": true }
}
}
}
```
#### curl
```shell
curl -XPUT "http://localhost:9200/user_info" -H 'Content-Type: application/json' -d'{ "settings": { "number_of_replicas": 1, "number_of_shards": 1 }, "mappings": { "properties": { "id": { "type": "long", "index": true }, "username": { "type": "keyword", "index": true }, "nickname": { "type": "keyword", "index": true }, "password": { "type": "keyword", "index": false }, "age": { "type": "integer", "index": true }, "info": { "type": "text", "index": true }, "remark": { "type": "text", "index": true } } } }'
```
<!--rehype:className=wrap-text-->
#### 参数说明
- `settings`: 设置索引的信息
- `number_of_shards`: 每个索引的主分片数,一旦索引创建后,无法修改此配置
- `number_of_replicas`: 每个主分片的副本数,此配置可随时修改
- `mappings`: 索引映射定义
- `properties`: 字段定义。使用 JSON 配置,键为字段名称(自定义),值为嵌套 JSON其中 `type` 指定字段的类型
其他参数很多,请参考官网资料
### 删除索引
#### DSL语法
```http
DELETE /user_info
```
#### curl
```shell
curl -XDELETE "http://localhost:9200/user_info"
```
<!--rehype:className=wrap-text-->
### 判断索引是否存在
#### DSL语法
```http
# 查看索引是否存在
HEAD /user_info
```
#### curl
```shell
# 查看索引是否存在
curl -XHEAD "http://localhost:9200/user_info"
```
<!--rehype:className=wrap-text-->
### 开启/关闭索引
#### 开启DSL语法
```shell
POST /user_info/_open
```
`curl`
```shell
curl -XPOST "http://localhost:9200/user_info/_open"
```
<!--rehype:className=wrap-text-->
#### 关闭 DSL 语法
```shell
POST /user_info/_close
```
`curl`
```shell
curl -XPOST "http://localhost:9200/user_info/_close"
```
<!--rehype:className=wrap-text-->
### 索引的别名
<!--rehype:wrap-class=col-span-2-->
- 添加别名 DSL 语法
```shell
POST /user_info/_alias/user1
```
```shell
curl -XPOST "http://localhost:9200/user_info/_alias/user1"
```
- 删除别名DSL语法
```shell
DELETE /user_info/_alias/user1
```
```shell
curl -XDELETE "http://localhost:9200/user_info/_alias/user1"
```
- 查看别名DSL语法
```shell
GET /_alias/user1
```
```shell
curl -XGET "http://localhost:9200/_alias/useraa"
```
Mapping 操作
---
类似修改数据库中列的操作
### 查看 mapping
#### DSL语法
```shell
GET /user_info/_mapping
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_mapping"
```
<!--rehype:className=wrap-text-->
### 新增 mapping
<!--rehype:wrap-class=col-span-2-->
#### DSL语法
```shell
PUT /user_info/_mapping
{
"properties":{
"sex":{ "type":"keyword" }
}
}
```
---
```shell
curl -XPUT "http://localhost:9200/user_info/_mapping" -H 'Content-Type: application/json' -d'{ "properties":{ "sex":{ "type":"keyword" } } }'
```
<!--rehype:className=wrap-text-->
`注意`: 需要注意的是字段映射只能增加,不能更改删除
文档的操作
---
### 添加文档
<!--rehype:wrap-class=row-span-2-->
#### 新增一条数据 - DSL语法
```shell
POST /user_info/_doc/1
{
"id":1,
"username":"username",
"password":"123456",
"nickname":"nickname",
"age":18,
"info":"一些个人相关的介绍",
"remark":"备注信息",
"sex":"男"
}
```
---
```shell
curl -XPOST "http://localhost:9200/user_info/_doc/1" -H 'Content-Type: application/json' -d'{ "id":1, "username":"username", "password":"123456", "nickname":"nickname", "age":18, "info":"一些个人相关的介绍", "remark":"备注信息", "sex":"男" }'
```
<!--rehype:className=wrap-text-->
### 查询指定索引的所有文档
<!--rehype:wrap-class=row-span-2-->
类似数据库中的 `select * from user_info;`
#### DSL语法
```json
GET /user_info/_search
{
"query": {
"match_all": {}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} } }'
```
<!--rehype:className=wrap-text-->
### 通过 id 查询文档
类似数据库中的 `select * from user_info where id = 1;`
#### DSL语法
```shell
GET /user_info/_doc/1
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_doc/1"
```
<!--rehype:className=wrap-text-->
### 模糊查找
类似数据库中的模糊查询 `select * from user_info where info like '%人%';`
#### DSL语法
```json
GET /user_info/_search
{
"query": { "match": { "info": "人" } }
}
```
### 通过条件查询文档
<!--rehype:wrap-class=col-span-2-->
类似数据库中的 `select * from user_info where username = 'username';`
#### 通过条件查询 - DSL语法
```json
GET /user_info/_search
{
"query": {
"bool": {
"must": [ { "term": { "username": "username" } } ]
}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "term": { "username": "username" } } ] } } }'
```
<!--rehype:className=wrap-text-->
### 范围查找
类似数据库中的范围查询 `select * from user_info where age between 18 and 30;`
#### DSL语法
```json
GET /user_info/_search
{
"query": {
"range": {
"age": {
"gt": 18,
"lt": 30
}
}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "range": { "age": { "gt": 18, "lt": 30 } } } }'
```
<!--rehype:className=wrap-text-->
### and 查询
<!--rehype:wrap-class=col-span-2-->
类似数据库中的 and 查询 `select * from user_info where age > 18 and sex = '男';`
#### DSL语法
```json
GET /user_info/_search
{
"query": {
"bool": {
"must": [
{ "range": { "age": { "gt": 18 } } },
{ "term": { "sex": "男" } }
]
}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "must": [ { "range": { "age": { "gt": 17 } } }, { "term": { "sex": "男" } } ] } } }'
```
<!--rehype:className=wrap-text-->
### limit 查找
类似数据库中的 limit 查询 `select * from user_info limit 10;`
#### DSL语法
```json
GET /user_info/_search
{
"size": 10,
"query": {
"match_all": {}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 1, "query": { "match_all": {} } }'
```
<!--rehype:className=wrap-text-->
### limit offset 查找
类似数据库中的 limit 查询 `select * from user_info limit 0,10;`
#### DSL语法
```http
GET /user_info/_search
{
"size": 2,
"from": 1,
"query": {
"match_all": {}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "size": 2, "from": 1, "query": { "match_all": {} } }'
```
<!--rehype:className=wrap-text-->
#### 参数说明
- `size`: 10 表示我们想要返回的结果数量是10条
- `from`: 20 表示我们想要从结果集中的第21条记录开始返回因为偏移是从0开始的
- `query`: `{"match_all": {}}` 是一个匹配所有文档的查询,因为我们没有特定的查询条件,只是想要分页结果
### or 查询
<!--rehype:wrap-class=col-span-2-->
类似数据库中的 or 查询 `select * from user_info where age > 18 or sex = '男';`
#### DSL语法
```json
GET /user_info/_search
{
"query": {
"bool": {
"should": [
{
"range": {
"age": { "gt": 18 }
}
},
{
"term": { "sex": "男" }
}
]
}
}
}
```
---
```shell
curl -XGET "http://localhost:9200/user_info/_search" -H 'Content-Type: application/json' -d'{ "query": { "bool": { "should": [ { "range": { "age": { "gt": 18 } } }, { "term": { "sex": "男" } } ] } } }'
```
<!--rehype:className=wrap-text-->
删除文档
---
### 删除指定 id
类似数据库中的 delete 查询 `delete from user_info where id = 3;`
#### DSL语法
```shell
# 删除文档
DELETE /user_info/_doc/3
```
---
```shell
# 删除文档
curl -XDELETE "http://localhost:9200/user_info/_doc/3"
```
<!--rehype:className=wrap-text-->
### 删除指定条件
<!--rehype:wrap-class=col-span-2-->
类似数据库中的 delete 查询 `delete from user_info where age > 18;`
#### DSL语法
```json
POST /user_info/_delete_by_query
{
"query": {
"range": { "age": { "gt": 18 } }
}
}
```
---
```shell
curl -XPOST "http://localhost:9200/user_info/_delete_by_query" -H 'Content-Type: application/json' -d'{"query":{"range":{"age":{"gt":18}}}}'
```
<!--rehype:className=wrap-text-->

View File

@ -1,7 +1,13 @@
Electron 备忘清单
====
此快速参考备忘单提供了 Electron v21 API 说明和使用示例。
[![NPM version](https://img.shields.io/npm/v/electron.svg?style=flat)](https://www.npmjs.com/package/electron)
[![Downloads](https://img.shields.io/npm/dm/electron.svg?style=flat)](https://www.npmjs.com/package/electron)
[![Repo Dependents](https://badgen.net/github/dependents-repo/electron/electron)](https://github.com/electron/electron/network/dependents)
[![Github repo](https://badgen.net/badge/icon/Github?icon=github&label)](https://github.com/electron/electron)
此快速参考备忘单提供了 Electron v21 API 说明和使用示例
<!--rehype:style=padding-top: 12px;-->
入门
----

802
docs/elixir.md Normal file
View File

@ -0,0 +1,802 @@
Elixir 备忘清单
===
提供基本语法和方法的 Elixir 快速参考备忘单。
入门
------
### 安装 Elixir
<!--rehype:wrap-class=row-span-2-->
Elixir 自带了 `iex` 这样一个交互 shell可以随时计算 Elixir 表达式的值,运行`iex`命令,继续输入几个简单的表达式试试:
```shell
iex 2+3
5
iex 2+3 == 5
true
iex String.length("快速的狐狸跳过了懒惰的狗")
43
```
每个操作系统的文档可以在[官网](https://elixir-lang.org)网站上 [Installing Elixir](http://elixir-lang.org/install.html) 部分找到
### hello.exs
```elixir
IO.puts("Hello world from Elixir")
```
Elixir 运行命令
```shell
$ elixir hello.exs
```
### 基本类型
<!--rehype:wrap-class=row-span-3-->
Elixir 支持多种基本类型:整数、浮点、布尔值、原子和字符串。其他数据类型,如列表和元组
```elixir
# integer 整数
iex> 1
# integer支持2进制、8进制和16进制的整数
iex> 0x1F
# float
iex> 1.0
# boolean
iex> true
# atom / symbol
iex> :atom
# string
iex> "elixir"
# list
iex> [1, 2, 3]
# tuple
iex> {1, 2, 3}
```
### 注释
```elixir
# 这是一个单行注释
```
### 字符串插值与拼接
```elixir
iex> name = "Sean"
iex> "Hello #{name}"
"Hello Sean"
iex> "Hello " <> "world!"
"Hello world!"
```
### 变量和模式匹配
```elixir
x = 1
# => x 现在等于 1
{a, b} = {1, 2}
# => a 等于 1b 等于 2
```
在 Elixir 中,使用 `=` 来进行赋值操作,但实际上是模式匹配。左边是模式,右边是值
### 原子Atoms
```elixir
:ok
```
原子是常量,它们的名称就是它们的值
### 列表Lists
```elixir
list = [1, 2, 3]
```
### 元组Tuples
```elixir
tuple = {:ok, "value"}
```
### 函数定义
```elixir
defmodule MyModule do
def my_function(parameter) do
# 函数体
end
end
```
### 匿名函数
```elixir
add = fn a, b -> a + b end
```
### 控制结构
<!--rehype:wrap-class=row-span-2-->
`if/else`
```elixir
if x > 0 do
"Positive"
else
"Non-positive"
end
```
`case`
```elixir
case {1, 2} do
{1, x} -> "Matched #{x}"
_ -> "Not matched"
end
```
`cond`
```elixir
cond do
x > 2 -> "Greater than 2"
x == 2 -> "Equal to 2"
true -> "Less than 2"
end
```
### 基本算术
<!--rehype:wrap-class=row-span-4-->
```elixir
iex> 1 + 2
3
iex> 5 * 5
25
iex> 10 / 2
5.0
```
运算符`/`总是返回一个 float。如果你想做整数除法或得到除法余数你可以调用 div 和 rem 函数:
```elixir
iex> div(10, 2)
5
```
允许在调用需要一个或多个参数的函数时删除括号
```elixir
iex> div 10, 2
5
iex> rem 10, 3
1
```
可以调用 round 函数来获取与给定浮点数最接近的整数,或者调用 trunc 函数来获取浮点数的整数部分
```elixir
iex> round(3.58)
4
iex> trunc(3.58)
3
```
可以使用 is_integer、is_float 或 is_number 分别检查参数是否为 integer、float 或 number 类型
```elixir
iex> is_integer(1)
true
iex> is_float(2.0)
true
iex> is_number(2.0)
false
```
### 布尔算术
<!--rehype:wrap-class=row-span-4-->
Elixir 提供了 `||``&&``!` 布尔操作符,它们支持任何类型的操作:
```elixir
iex> -20 || true
-20
iex> false || 42
42
iex> 42 && true
true
iex> 42 && nil
nil
iex> !42
false
iex> !false
true
```
还有三个操作符and、or、not它们的第一个参数**必须是布尔类型**true 和 false:
```elixir
iex> true and 42
42
iex> false or true
true
iex> not false
true
iex> 42 and true
** (ArgumentError) argument error: 42
iex> not 42
** (ArgumentError) argument error
```
### 模块和函数导入
```elixir
import List, only: [duplicate: 2]
```
### 管道操作符
```elixir
result = data
|> process1()
|> process2()
```
`|>` 用于链式调用函数,将前一个函数的结果作为下一个函数的第一个参数
### 比较运算符
比较运算符 `==`, `!=`, `===`, `!==`, `<=`, `>=`, `<``>`
```elixir
iex> 1 > 2
false
iex> 1 != 2
true
iex> 2 == 2
true
iex> 2 <= 3
true
```
集合
------
>
> 列表list、元组tuple、关键字列表keyword list、映射map
>
### 列表List
<!--rehype:wrap-class=row-span-2-->
```elixir
iex> [3.14, :pie, "Apple"]
[3.14, :pie, "Apple"]
iex> list = [3.14, :pie, "Apple"]
iex> [3.14, :pie, "Apple"]
```
列表的开头添加元素
```elixir
iex> ["π" | list]
["π", 3.14, :pie, "Apple"]
```
列表的尾部添加元素/列表拼接
```elixir
iex> list ++ ["Cherry"]
[3.14, :pie, "Apple", "Cherry"]
```
获取列表的头部元素
```elixir
iex> hd [3.14, :pie, "Apple"]
3.14
```
获取列表的尾部元素
```elixir
iex> tl [3.14, :pie, "Apple"]
[:pie, "Apple"]
```
### 元组Tuple
```elixir
iex> {3.14, :pie, "Apple"}
{3.14, :pie, "Apple"}
```
### 关键字列表Keyword List
```elixir
iex> [foo: "bar", hello: "world"]
[foo: "bar", hello: "world"]
iex> [{:foo, "bar"}, {:hello, "world"}]
[foo: "bar", hello: "world"]
```
关键字列表非常重要,它有以下的特性:
-key都是原子atom
-key是有序的定义后顺序不会改变
-key不必是唯一的
因为这些原因,常见的用法是作为参数传递给函数
### 映射Map
Elixir 的映射maps是键值对结构的第一选择和关键字列表keywords不同映射允许任意类型的数据作为键而且数据并不严格排序。 你可以使用 %{} 来定义映射:
```elixir
iex> map = %{:foo => "bar", "hello" => :world}
%{:foo => "bar", "hello" => :world}
iex> map[:foo]
"bar"
iex> map["hello"]
:world
```
模式匹配
------
>
> 模式匹配是 Elixir 很强大的特性,它允许我们匹配简单值、数据结构、甚至函数。
>
### 匹配元组
```elixir
iex> {a, b, c} = {:hello, "world", 42}
{:hello, "world", 42}
iex> a
:hello
iex> b
"world"
```
### 匹配列表
```
iex> [a, b, c] = [1, 2, 3]
[1, 2, 3]
iex> a
1
```
### 匹配列表的头部元素
```
iex> [head | tail] = [1, 2, 3]
[1, 2, 3]
iex> head
1
iex> tail
[2, 3]
```
### Pin 操作符
pin 操作符,就是用已经绑定的值去匹配,而不是重新绑定一个新值。
```elixir
iex> {x, ^x} = {2, 1}
{2, 1}
iex> x
2
```
### 使用下划线 `_` 忽略匹配的值
```elixir
iex> [head | _] = [1, 2, 3]
[1, 2, 3]
iex> head
1
```
控制语句
------
### if/else/end
```elixir
if condition do
# 条件成立时执行的代码
else
# 条件不成立时执行的代码
end
```
### case/end
```elixir
case expression do
pattern1 -> # 匹配 pattern1 时执行的代码
pattern2 -> # 匹配 pattern2 时执行的代码
_ -> # 其他情况执行的代码
end
```
### cond/end
```elixir
cond do
condition1 -> # 条件1成立时执行的代码
condition2 -> # 条件2成立时执行的代码
true -> # 如果没有任何条件成立,执行这里的代码
end
```
### unless/do/end
```elixir
unless condition do
# 条件为假时执行的代码
end
```
### try/rescue/end
```elixir
try do
# 可能会引发异常的代码
rescue
pattern1 -> # 匹配 pattern1 的异常处理代码
pattern2 -> # 匹配 pattern2 的异常处理代码
_ -> # 其他异常处理代码
end
```
### case
<!--rehype:wrap-class=row-span-2-->
允许将一个值与许多模式进行比较,直到找到匹配的模式:
```elixir
iex> case {1, 2, 3} do
{4, 5, 6} ->
"This clause won't match"
{1, x, 3} ->
"该子句将匹配并绑定 x 到该子句中的 2"
_ ->
"This clause would match any value"
end
"该子句将匹配并绑定 x 到该子句中的 2"
```
还可以使用when指定额外的条件
```elixir
iex> case {1, 2, 3} do
{1, x, 3} when x > 0 ->
"Will match"
_ ->
"如果不满足保护条件,将匹配"
end
"Will match"
```
### cond
当我们需要根据条件进行匹配而不是值时,类似于其他语言的 `else if``elsif`,可以使用 `cond` 控制结构。
```elixir
iex> cond do
2 + 2 == 5 ->
"This will not be true"
2 * 2 == 3 ->
"Nor this"
1 + 1 == 2 ->
"But this will"
end
"But this will"
```
如果所有的条件都返回 `nil``false`则会引发一个错误CondClauseError。因此需要添加一个 `final` 条件,等于 `true`,它将始终匹配:
```elixir
iex> cond do
2 + 2 == 5 ->
"This is never true"
2 * 2 == 3 ->
"Nor this"
true ->
"这始终为真(等同于 else"
end
"这始终为真(等同于 else"
```
### 变量的作用域
如果在if、case和类似的构造中声明或更改了任何变量则声明和更改将只在构造中可见。
```elixir
iex> x = 1
1
if true do
x = x + 1
end
2
iex> x
1
```
如果要更改值则必须从if返回值
```elixir
iex> x = 1
1
iex> x = if true do
x + 1
else
x
end
2
```
函数
------
### 函数定义
```elixir
def function_name(param1, param2) do
# 函数体
end
```
示例:
```elixir
def sum(a, b) do
a + b
end
```
### 模式匹配的多个函数定义
<!--rehype:wrap-class=row-span-2-->
```elixir
def fun_name(:atom) do
# 对于 :atom 的处理
end
def fun_name("string") do
# 对于 "string" 的处理
end
def fun_name(number) when is_integer(number) do
# 对于整数的处理
end
```
示例:
```elixir
def is_positive(number) when number > 0 do
true
end
def is_positive(_), do: false
```
### 函数调用
```elixir
module_name.function_name(arg1, arg2)
```
示例:
```elixir
Enum.map([1, 2, 3], &(&1 * 2))
```
### 函数参数默认值
```elixir
def function_name(parameter \\ 默认值) do
# 函数体
end
```
示例:
```elixir
def greet(name \\ "World") do
"Hello, #{name}!"
end
```
### 可变参数数量
```elixir
def function_name(param1, param2 \\ []) do
# 函数体
end
```
示例:
```elixir
def sum(numbers) do
Enum.sum(numbers)
end
```
### 函数文档注释
```elixir
@doc """
这是函数的文档。
"""
```
示例:
```elixir
@doc """
Adds two numbers together.
## 示例
iex> MyModule.add(1, 2)
3
"""
def add(a, b) do
a + b
end
```
这些是 Elixir 函数语法的基本要点,可以帮助你开始编写函数。
### 匿名函数
```elixir
iex> sum = fn (a, b) -> a + b end
iex> sum.(2, 3)
5
```
可以使用 & 语法来简化匿名函数的定义:
```elixir
iex> sum = &(&1 + &2)
iex> sum.(2, 3)
5
```
### 闭包
匿名函数去引用外部的变量,这通常被称为闭包。
```elixir
iex> double = fn a -> add.(a, a) end
#Function<6.71889879/1 in :erl_eval.expr/5>
double.(2)
4
```
闭包与守卫
```elixir
iex> f = fn
x, y when x > 0 -> x + y
x, y -> x * y
end
iex> f.(1, 3)
4
iex> f.(-1, 3)
-3
```
### 命名函数
命名函数是通过 def 关键字定义在某个模块中
```elixir
defmodule Greeter do
def hello(name) do
"Hello, " <> name
end
end
iex> Greeter.hello("Sean")
"Hello, Sean"
```
简写为一行:
```elixir
defmodule Greeter do
def hello(name), do: "Hello, " <> name
end
```
私有函数
```elixir
defmodule Greeter do
def hello(name), do: phrase <> name
# 使用defp来定义私有函数
defp phrase, do: "Hello, "
end
```
函数的默认参数:使用 `\\` 来定义默认参数
```elixir
defmodule Greeter do
def hello(name, language_code \\ "en") do
phrase(language_code) <> name
end
defp phrase("en"), do: "Hello, "
defp phrase("es"), do: "Hola, "
end
```
Enumerables 与 Streams
------
>
> Elixir 提供了 Enum 和 Stream 两个模块,用于处理集合。
>
### Enum
>
> Enum 模块提供了对集合的常用操作,如 map、filter、reduce、sort、chunk、join、into 等。
```elixir
iex> Enum.map([1, 2, 3], fn x -> x * 2 end)
[2, 4, 6]
iex> Enum.map(%{1 => 2, 3 => 4}, fn {k, v} -> k * v end)
[2, 12]
```
### Stream
>
> 作为Enum的替代品Elixir提供了支持懒惰操作的Stream模块
```elixir
iex> 1..100_000 |> Stream.map(&(&1 * 3)) |> Stream.filter(odd?) |> Enum.sum()
7500000000
```
> 流文件操作
```elixir
iex> stream = File.stream!("path/to/file")
%File.Stream{
line_or_bytes: :line,
modes: [:raw, :read_ahead, :binary],
path: "path/to/file",
raw: true
}
Enum.take(stream, 10)
# 上面的例子将提取所选文件的前10行。这意味着流对于处理大型文件甚至是网络资源等慢速资源非常有用。
```
另见
----
- [Elixir 官方](https://elixir-lang.org/) _(elixir-lang.org)_
- [Elixir School](https://elixirschool.com/) _(elixirschool.com)_

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