Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: 重写教程与进阶指南 #1604

Merged
merged 77 commits into from
Mar 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
dc2d443
:memo: rewrite documentation
yanyongyu Jan 18, 2023
039da4b
:memo: add application docs
yanyongyu Jan 19, 2023
5b3dc84
:memo: add fundamentals
yanyongyu Jan 19, 2023
4786829
:pencil2: change docs
yanyongyu Jan 19, 2023
9bbc800
:green_heart: fix ci build
yanyongyu Jan 20, 2023
5182169
:memo: add store usage
yanyongyu Jan 20, 2023
9faff48
:memo: add create and load plugin
yanyongyu Jan 21, 2023
b7b92cd
:memo: add matcher and handler docs
yanyongyu Jan 22, 2023
e98235a
:memo: add event and message docs
yanyongyu Jan 23, 2023
a8509e1
:memo: add appendices
yanyongyu Jan 23, 2023
70212d4
:memo: add docs outline
yanyongyu Jan 24, 2023
3e82097
:pencil2: fix typo
yanyongyu Jan 24, 2023
375f713
:sparkles: add scheduler storage tracking docs
yanyongyu Jan 25, 2023
b2b01ee
:memo: write config docs
yanyongyu Jan 30, 2023
570341f
:memo: add custom rule docs
yanyongyu Jan 31, 2023
cdefca2
:memo: write session docs
yanyongyu Feb 1, 2023
c9dd218
:pencil2: fix link error
yanyongyu Feb 1, 2023
4dbaa58
:sparkles: add api calling docs
yanyongyu Feb 2, 2023
ef51217
:bug: fix call api doc bug
yanyongyu Feb 2, 2023
faf0f12
:sparkles: add logger docs
yanyongyu Feb 3, 2023
1a3a254
:memo: add permission docs
yanyongyu Feb 4, 2023
39a9802
:sparkles: add sidebar config
yanyongyu Feb 4, 2023
178ce3c
:memo: add overload docs
yanyongyu Feb 5, 2023
9c75ac7
:memo: add state docs
yanyongyu Feb 5, 2023
8679210
:pencil2: fix typo
yanyongyu Feb 6, 2023
1f4dae1
:pencil2: fix link and typo
yanyongyu Feb 11, 2023
6920359
:sparkles: add deployment guide
yanyongyu Feb 16, 2023
6ae676b
:memo: update deploy guide
yanyongyu Feb 19, 2023
adbec32
:construction: write nonebug testing
yanyongyu Feb 22, 2023
1b07133
:pencil2: fix typo
yanyongyu Feb 22, 2023
51e5415
:memo: update nonebug docs
yanyongyu Feb 22, 2023
2c2b2cf
:bug: fix link
yanyongyu Feb 22, 2023
13691d3
:memo: write behavior
yanyongyu Feb 23, 2023
9207fba
:sparkles: add example
yanyongyu Feb 24, 2023
6f879b8
:memo: add session test
yanyongyu Feb 25, 2023
751676f
:memo: add mock network docs
yanyongyu Feb 28, 2023
fb3fa0a
:memo: write configs
yanyongyu Mar 1, 2023
b0a74db
:bug: fix config link
yanyongyu Mar 1, 2023
22dd255
:art: improve code block
yanyongyu Mar 1, 2023
64eb8c2
:memo: add session control methods
yanyongyu Mar 3, 2023
d8452af
:memo: add missing example
yanyongyu Mar 3, 2023
75f7a2b
:memo: add advanced sidebar config
yanyongyu Mar 5, 2023
f63fe13
:memo: add plugin info docs
yanyongyu Mar 5, 2023
c6486ea
:sparkles: reorder sidebar and navbar
yanyongyu Mar 6, 2023
25bd8f3
:bug: fix navbar config typo
yanyongyu Mar 6, 2023
c8c2ad1
:bug: fix navbar config error
yanyongyu Mar 6, 2023
d21ee93
:fire: remove versioned files
yanyongyu Mar 6, 2023
5098fe7
:bug: fix driver store link
yanyongyu Mar 6, 2023
0545c4c
:memo: add contributing guide
yanyongyu Mar 7, 2023
97ece3f
:memo: add driver docs
yanyongyu Mar 7, 2023
903317c
:memo: add adapter docs
yanyongyu Mar 7, 2023
f267019
:memo: add nested plugin docs
yanyongyu Mar 10, 2023
d42dae8
:memo: add require docs
yanyongyu Mar 10, 2023
ca2dfd5
:memo: update routing docs
yanyongyu Mar 11, 2023
b8e89b8
:memo: add matcher components
yanyongyu Mar 12, 2023
5cef3cf
:memo: add matcher rule docs
yanyongyu Mar 12, 2023
edaaa20
:construction: write dependency injection
yanyongyu Mar 13, 2023
f33a47d
:memo: write di docs
yanyongyu Mar 14, 2023
4b0092c
:bug: fix links
yanyongyu Mar 14, 2023
8df2ad3
:bug: fix link
yanyongyu Mar 14, 2023
5ab6103
:memo: add matcher provider docs
yanyongyu Mar 15, 2023
e5ddd2d
:memo: add session update docs
yanyongyu Mar 19, 2023
6a3a0bc
:memo: emphasize project template choices
yanyongyu Mar 19, 2023
4a9340f
:memo: add runtime hook docs
yanyongyu Mar 19, 2023
f30c2c0
:pencil2: change some small representation
yanyongyu Mar 20, 2023
eb0d502
:twisted_rightwards_arrows: merge branch master
yanyongyu Mar 20, 2023
7620bf2
:fire: remove unused files from merge
yanyongyu Mar 20, 2023
1104c0a
:memo: add developer docs index
yanyongyu Mar 21, 2023
03d5a2a
:memo: update test docs
yanyongyu Mar 21, 2023
555a6eb
:bug: fix links
yanyongyu Mar 21, 2023
fccafcc
:pencil2: check first three chapters
yanyongyu Mar 21, 2023
3cd2320
:sparkles: improve docs
yanyongyu Mar 23, 2023
08e1045
:memo: update asciinema for installation
yanyongyu Mar 23, 2023
3e04a2a
:sparkles: improve quick start
yanyongyu Mar 24, 2023
08713d1
:sparkles: update store asciinema
yanyongyu Mar 24, 2023
47d29ed
:wrench: add rc3 old docs link
yanyongyu Mar 24, 2023
a4075e7
:pencil2: fix bot api hook typo
yanyongyu Mar 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,17 @@ yarn start

NoneBot2 文档并没有具体的行文风格规范,但我们建议你尽量写得简单易懂。

以下是比较重要的排版规范。目前 NoneBot2 文档中仍有部分文档不完全遵守此规范,如果在阅读时发现欢迎提交 PR。
以下是比较重要的编写与排版规范。目前 NoneBot2 文档中仍有部分文档不完全遵守此规范,如果在阅读时发现欢迎提交 PR。

1. 中文与英文、数字、半角符号之间需要有空格。例:`NoneBot2 是一个可扩展的 Python 异步机器人框架。`
2. 若非英文整句,使用全角标点符号。例:`现在你可以看到机器人回复你:“Hello, World !”。`
3. 直引号`「」`和弯引号`“”`都可接受,但同一份文件里应使用同种引号。
4. **不要使用斜体**,你不需要一种与粗体不同的强调。除此之外,你也可以考虑使用 docusaurus 提供的[告示](https://docusaurus.io/zh-CN/docs/markdown-features/admonitions)功能。
5. 文档中应以“我们”指代机器人开发者,以“机器人用户”指代机器人的使用者。

这是社区创始人 richardchien 的中文排版规范,可供参考:<https://stdrc.cc/style-guides/chinese>
以上由[社区创始人 richardchien 的中文排版规范](https://stdrc.cc/style-guides/chinese)补充修改得到

如果你需要编辑器提示 Markdown 规范,可以安装 VSCode 上的 markdownlint 插件
如果你需要编辑器检查 Markdown 规范,可以在 VSCode 中安装 markdownlint 扩展

### 参与开发

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ _✨ 跨平台 Python 异步机器人框架 ✨_
</p>

<p align="center">
<a href="https://asciinema.org/a/464654">
<a href="https://asciinema.org/a/569440">
<img src="https://v2.nonebot.dev/img/setup.svg">
</a>
</p>
Expand Down
20 changes: 10 additions & 10 deletions website/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,44 @@ slug: /

# 概览

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。
NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架(下称 NoneBot),它基于 Python 的类型注解和异步优先特性(兼容同步),能够为你的需求实现提供便捷灵活的支持。同时,NoneBot 拥有大量的开发者为其开发插件,用户无需编写任何代码,仅需完成环境配置及插件安装,就可以正常使用 NoneBot

需要注意的是,NoneBot2 仅支持 **Python 3.8 以上版本**
需要注意的是,NoneBot 仅支持 **Python 3.8 以上版本**

## 特色

### 异步优先

NoneBot2 基于 Python [asyncio](https://docs.python.org/3/library/asyncio.html) 编写,并在异步机制的基础上进行了一定程度的同步函数兼容。
NoneBot 基于 Python [asyncio](https://docs.python.org/zh-cn/3/library/asyncio.html) 编写,并在异步机制的基础上进行了一定程度的同步函数兼容。

### 完整的类型注解

NoneBot2 参考 [PEP 484](https://www.python.org/dev/peps/pep-0484/) 等 PEP 完整实现了类型注解,通过 `pyright`/`pylance` 检查。配合编辑器的类型推导功能,能将绝大多数的 Bug 杜绝在编辑器中([编辑器支持](./start/editor-support))。
NoneBot 参考 [PEP 484](https://www.python.org/dev/peps/pep-0484/) 等 PEP 完整实现了类型注解,通过 Pyright(Pylance) 检查。配合编辑器的类型推导功能,能将绝大多数的 Bug 杜绝在编辑器中([编辑器支持](./editor-support))。

### 开箱即用

NoneBot2 提供了使用便捷、具有交互式功能的命令行工具--`nb-cli`,使得初次接触 NoneBot2 时更容易上手。详细使用方法请参考各文档章节以及[使用脚手架](./start/nb-cli)。
NoneBot 提供了使用便捷、具有交互式功能的命令行工具--`nb-cli`,使得用户初次接触 NoneBot 时更容易上手。使用方法请阅读本文档[指南](./quick-start.mdx)以及 [CLI 文档](https://cli.nonebot.dev/)。

### 插件系统

插件系统是 NoneBot2 的核心,通过它可以实现机器人的模块化以及功能扩展,便于维护和管理。
插件系统是 NoneBot 的核心,通过它可以实现机器人的模块化以及功能扩展,便于维护和管理。

### 依赖注入系统

NoneBot2 采用了一套自行定义的依赖注入系统,可以让事件的处理过程更加的简洁、清晰,增加代码的可读性,减少代码冗余。
NoneBot 采用了一套自行定义的依赖注入系统,可以让事件的处理过程更加的简洁、清晰,增加代码的可读性,减少代码冗余。

#### 什么是依赖注入

[**依赖注入**](https://zh.m.wikipedia.org/wiki/%E6%8E%A7%E5%88%B6%E5%8F%8D%E8%BD%AC)意思是,在编程中,有一种方法可以让你的代码声明它工作和使用所需要的东西,即**“依赖”**。
[**依赖注入**](https://zh.m.wikipedia.org/wiki/%E6%8E%A7%E5%88%B6%E5%8F%8D%E8%BD%AC)意思是,在编程中,有一种方法可以让你的代码声明它工作和使用所需要的东西,即**『依赖』**。

系统(在这里是指 NoneBot2)将负责做任何需要的事情,为你的代码提供这些必要依赖(即**“注入”**依赖性)
系统(在这里是指 NoneBot)将负责做任何需要的事情,为你的代码提供这些必要依赖(即**『注入』**依赖性)

这在你有以下情形的需求时非常有用:

- 这部分代码拥有共享的逻辑(同样的代码逻辑多次重复)
- 共享数据库以及网络请求连接会话
- 比如 `httpx.AsyncClient`、`aiohttp.ClientSession` 和 `sqlalchemy.Session`
- 用户权限检查以及认证
- 机器人用户权限检查以及认证
- 还有更多...

它在完成上述工作的同时,还能尽量减少代码的耦合和重复
207 changes: 0 additions & 207 deletions website/docs/advanced/README.md

This file was deleted.

Loading