From 1961d25839ddec0fe8a0ad35558154ad5d978a0b Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Fri, 26 Jan 2024 17:49:51 +0800 Subject: :memo: feat(docs): transfer old documents into old docs and add new docs --- README.md | 171 +++----------------------------------------------------------- 1 file changed, 6 insertions(+), 165 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index fe02a8ae..02f9eb2c 100644 --- a/README.md +++ b/README.md @@ -1,170 +1,11 @@ -

infini'水系核心

+# Infini Generator 2 -

- - - - - pypi - - - hydro - +Infini 文本输入输出流 2 -[![.github/workflows/python-publish.yml](https://github.com/HydroRoll-Team/infini/actions/workflows/python-publish.yml/badge.svg)](https://github.com/HydroRoll-Team/infini/actions/workflows/python-publish.yml) -[![CodeQL](https://github.com/HydroRoll-Team/infini/actions/workflows/codeql.yml/badge.svg)](https://github.com/HydroRoll-Team/infini/actions/workflows/codeql.yml) -[![Netlify Status](https://api.netlify.com/api/v1/badges/ecbe4af3-223f-4fa4-a182-a37a776fd05b/deploy-status)](https://app.netlify.com/sites/grps-v1/deploys) +## 版本 -

+此文档为 Infini 2 文档,如果你正在搜寻 Infini 1.x 的文档,请前往[旧的 Infini 文档](./docs/v1.0/README.md)。 -## 🎁 `Getting` hydro +## 版权 -> [!IMPORTANT] -> -> 强烈推荐使用 `pdm` 等能创建虚拟环境的包管理工具管理你的 `HydroRollBot` 项目。 - -1. 安装库 - - 在终端中执行: - - ```bash - git clone https://github.com/HydroRoll-Team/infini.git - cd infini - pdm install - ``` - - 你可以使用`pip`进行安装: - - ```bash - pip install infini - ``` - -2. 创建规则包实例 - - 确保你的`infini`正确安装后,打开终端并执行: - - ``` shell - python -m infini new MyRule - ``` - - 你可以在生成的 `MyRule\rule.py` 创建一个或者多个继承 `Handler` 基类的实例, 通过编写合适的相关方法与类注册规则包实现规则的自定义。 - - ``` python - from infini import Handler, Result - - __handlers__ = ["HandlerRule"] - - - class HandlerRule(Handler): - """自设业务函数""" - - name = "MyRule" # 规则包名 - priority: int = 0 # 规则包权重 - - def process(self, **kwargs) -> Result: - """声明规则包检定方式""" - return Result("event1", True) - ``` - - `process`函数应当返回一个`Result`对象,它应当包含一个消息事件名(例如示例中的`event1`),该消息事件名应当在 `MyRule\event.py` 中被注册。消息事件的动态内容通过`{name}`的方式声明并通过`name="内容"`的方式实现。 - -3. 创建你的测试文件 - - 在 `MyRule\tests.py` 中的 `test` 函数中给出测试函数,并返回一个 `list`,应当包含所有异常内容。 - -4. 测试你的规则包 - - 执行指令: - - ```bash - python -m infini test MyRule - ``` - -## 🌟 `contribute` - -在此之前,请先克隆本仓库。 - -```shell -git clone https://github.com/HydroRoll-Team/infini.git -``` - -### 贡献手册 - -本段内容主要针对想要为[通用规则包标准(GRPS)]的`docs 文档` 或 `Python 实现` 作贡献的社区朋友,若您想要推广 `GRPS-1` 标准的其他语言实现,请提交相关 `PR`,届时修改下方的[资源列表]。 - -您需要确保自己的硬件环境有 `Python` 解释器,您需要全局安装 `pdm` 依赖以实现局部开发 `infini` 文档或源码的目的。 - -```shell -pip3 install pdm -``` - -接着在 `infini` 仓库主分支的根目录下激活 `pdm` 虚拟环境。 - -```shell -cd infini -pdm venv list -pdm venv activate in-project -``` - -**一、 在本地部署文档** - -在 `infini` 仓库根目录下安装 `docs` 组的依赖。 - -```shell -pdm install -dG docs -``` - -依赖安装完毕后,可进行版本控制或直接进行文档贡献。 - -> 版本控制 | `mike` 的其他指令具体可查看 [jimporter/mike](https://github.com/jimporter/mike)。 - -```shell -pdm run mike serve -``` - -这样便可以查看不同版本的文档了。 - -> 文档贡献 | 这样贡献出来的文档永远是 `dev` 分支或 `latests` 分支的,这也是最为普遍的文档贡献方式,`mkdocs` 具体的配置教程可查看 [squidfunk/mkdocs]()。 - -```shell -pdm run mkdocs serve -``` - -接着就可以在本地 `8000` 端口查看文档了,同时由于 `mkdocs` 是热加载的,因此您可以直接在 `serve` 指令预览最新文档后,修改对应文档的内容,保存后仅需等待文档内容变化即可。 - -> [!WARNING] -> -> 注意,强烈建议学习 [mkdocs-materials](https://squidfunk.github.io/mkdocs-material/) 的文档语法后进行文档内容的贡献 `PR`,同时还请遵循水系核心的[文档规范]。 - -### 贡献源码 - -在贡献源码之前,请先知悉水系有一套渐进式开发文档,水系核心 `infini` 的开发是极其内核的,但是,此 `repo` 所代表的仅仅只是 `GRPS-1` 的一个 `Python` 实现,因此如果已经相当了解水系架构和通用规则包标准,那么可以遵循以下说明进行适当的开发。 - -水系核心主要由三部分构成:`Rule API`、`Rule Wiki`、`Rule Event-Handler`。 - -1. `Rule API` - -该部分由网络库编写,为其他组件提供一个接入或把 `infini` 接入的可能。 - -3. `Rule Wiki` - -该部分主要用于读取 `__doc__` 并格式化为 `mkdocs` 站点以及成品规则书 `pdf`。 - -4. `Rule Event-Handler` - -该部分用于实际与 `HydroRoll` 插件通信。 - -## 🎍 `resources` - - _(recommend)_ - -~~~~ - -## 📄 `License` - -[MIT](https://github.com/HydroRoll-Team/infini/blob/master/LICENSE) © 2023-PRESENT [简律纯](https://github.com/HsiangNianian) - - -[通用规则包标准(GRPS)]: https://grps.hydroroll.team/dev/standard/what-is-rule-package/ -[资源列表]: https://github.com/HydroRoll-Team/infini?tab=readme-ov-file#-resources -[文档规范]: https://grps.hydroroll.team/dev/contribute/ \ No newline at end of file +水系 × [浊莲](https://github.com/noctisynth)依照 MIT 协议开源 Infini。 -- cgit v1.2.3-70-g09d2