Skip to content

Commit

Permalink
更新插件相关文档
Browse files Browse the repository at this point in the history
  • Loading branch information
HelloWRC committed Dec 15, 2024
1 parent dea344c commit 47b2c87
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/.vuepress/sidebar/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ export const zhSidebar = sidebar({
collapsible: true,
prefix: "plugins/",
children: [
"README.md",
"create-project.md",
"basics.md",
"plugin-base.md",
Expand Down
7 changes: 5 additions & 2 deletions src/dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ ClassIsland 使用了如下技术栈。在参与 ClassIsland 开发或为 ClassI
您可以通过以下方法来不同程度地扩展 ClassIsland 的功能。

- **[与 ClassIsland 跨进程联动](./ipc/README.md)** 您可以通过跨进程通信技术,从其它进程访问 ClassIsland 的数据(如当前课表、当前上课科目等等),以及调用 ClassIsland 的功能。
- **[开发 ClassIsland 插件](./plugins/create-project.md)** 您可以通过插件,轻松地扩展 ClassIsland 的功能,比如添加自定义组件、显示自定义提醒等等。同时也可以与跨进程联动配合,从其他进程调用插件功能。
- **[开发 ClassIsland 插件](./plugins/README.md)** 您可以通过插件,轻松地扩展 ClassIsland 的功能,比如添加自定义组件、显示自定义提醒等等。同时也可以与跨进程联动配合,从其他进程调用插件功能。
- **修改 ClassIsland 本体:** 如果上面的方法不能满足您的需求,您也可以通过修改 ClassIsland 本体来实现更高程度的自定义。您也可以向 ClassIsland 代码仓库发起 PR,将您的更改合并到主分支上。

## 开始
Expand All @@ -58,7 +58,7 @@ ClassIsland 使用了如下技术栈。在参与 ClassIsland 开发或为 ClassI
- **开始**
- [配置 ClassIsland **本体**开发环境](./get-started/devlopment.md)
- [配置 ClassIsland **插件**开发环境](./get-started/devlopment-plugins.md)
- **插件**
- [**插件**](./plugins/README.md)
- [开始编写插件](./plugins/create-project.md)
- [插件基础知识](./plugins/basics.md)
- [插件入口类](./plugins/plugin-base.md)
Expand All @@ -72,4 +72,7 @@ ClassIsland 使用了如下技术栈。在参与 ClassIsland 开发或为 ClassI
- 扩展菜单
- [设置页面](settings-page.md)
- 档案附加设置
- [**跨进程通信**](./ipc/README.md)
- [使用 IPC](./ipc/ipc.md)
- [IPC 参考](./ipc/reference.md)
- 参考文档
11 changes: 11 additions & 0 deletions src/dev/plugins/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# 插件

![插件管理界面](image.png)

插件可以在不修改 ClassIsland 应用本体的情况下,轻易地扩展 ClassIsland 的功能,比如添加自定义组件、显示自定义提醒等等。同时也可以与跨进程联动配合,从其他进程调用插件功能。制作好的插件可以通过[上架到插件市场](./publishing.md)等方式,与其他用户共享。

## 开始编写插件

您可以通过阅读文章[开始编写插件](create-project.md)来了解如何开发插件。

如果您想要以开发插件的形式对 ClassIsland 生态进行贡献,但不知道要做什么时,[插件功能请求板块](https://github.com/ClassIsland/ClassIsland/discussions/categories/%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD%E8%AF%B7%E6%B1%82)是一个很好的寻找灵感的地方。
12 changes: 5 additions & 7 deletions src/dev/plugins/create-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

本文章将介绍如何创建、调试并运行 ClassIsland 的插件项目。

::: warning
本文章所涉及内容仍在开发中,随时可能发生变动。请注意关注文档更变。
:::
## 设置开发环境

在开始之前,您需要按照[设置 ClassIsland 插件开发环境](../get-started/devlopment-plugins.md)的指引设置插件开发环境。

Expand Down Expand Up @@ -50,7 +48,7 @@
```
:::

4. 打开项目文件,添加 `EnableDynamicLoading` 属性以允许插件被动态加载,并在 `ClassIsland.PluginSdk` 的引用项上设置`ExcludeAssets` 属性为 `runtime` 以阻止插件 SDK 相关依赖项流入构建结果。
4. 打开项目文件,添加 `EnableDynamicLoading` 属性以允许插件被动态加载,并在 `ClassIsland.PluginSdk` 的引用项上设置`ExcludeAssets` 属性为 `runtime; native` 以阻止插件 SDK 相关依赖项流入构建结果。

```xml title="MyPlugin.csproj" hl_lines="9 13"
<Project Sdk="Microsoft.NET.Sdk">
Expand All @@ -64,8 +62,8 @@
<EnableDynamicLoading>True</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ClassIsland.PluginSdk" Version="1.0.0">
<ExcludeAssets>runtime</ExcludeAssets>
<PackageReference Include="ClassIsland.PluginSdk" Version="1.5.0.*">
<ExcludeAssets>runtime; native</ExcludeAssets>
</PackageReference>
</ItemGroup>
</Project>
Expand Down Expand Up @@ -214,4 +212,4 @@ using System.Windows;

## 继续深入

您可以继续阅读文章来进一步了解相关 API 的用法,或者查看 GitHub 上的 [插件示例](https://github.com/ClassIsland/ExamplePlugins)。
您可以继续阅读本文档来进一步了解相关 API 的用法,或者查看 GitHub 上的 [插件示例](https://github.com/ClassIsland/ExamplePlugins)。您也可以看看[插件功能请求板块](https://github.com/ClassIsland/ClassIsland/discussions/categories/%E6%8F%92%E4%BB%B6%E5%8A%9F%E8%83%BD%E8%AF%B7%E6%B1%82)来寻找灵感
Binary file added src/dev/plugins/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 47b2c87

Please sign in to comment.