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

Obsidian 开发文档 PKMer 中文翻译 #614

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 27 additions & 2 deletions .obsidian/plugins/obsidian-git/data.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
"updateSubmodules": false,
"syncMethod": "merge",
"customMessageOnAutoBackup": false,
"autoBackupAfterFileChange": false,
"autoBackupAfterFileChange": true,
"treeStructure": false,
"refreshSourceControl": true,
"basePath": "",
"differentIntervalCommitAndPush": false,
"differentIntervalCommitAndPush": true,
"changedFilesInStatusBar": false,
"showedMobileNotice": true,
"refreshSourceControlTimer": 7000,
Expand All @@ -26,5 +26,30 @@
"submoduleRecurseCheckout": false,
"gitDir": "",
"showFileMenu": true,
"lineAuthor": {
"show": false,
"followMovement": "inactive",
"authorDisplay": "initials",
"showCommitHash": false,
"dateTimeFormatOptions": "date",
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
"dateTimeTimezone": "viewer-local",
"coloringMaxAge": "1y",
"colorNew": {
"r": 255,
"g": 150,
"b": 150
},
"colorOld": {
"r": 120,
"g": 160,
"b": 255
},
"textColorCss": "var(--text-muted)",
"ignoreWhitespace": false,
"gutterSpacingFallbackLength": 5,
"lastShownAuthorDisplay": "initials",
"lastShownDateTimeFormatOptions": "date"
},
"autoCommitMessage": "vault backup: {{date}}"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
原文档链接:https://docs.obsidian.md/Home
# Obsidian 开发者文档
欢迎来到Obsidian开发者官方文档,在这里你可以学习如何创建Obdian插件和主题。关于如何使用Obsidian的技巧,请移步[Obsidian官方帮助站点](https://help.obsidian.md/)。
## Plugins 插件
使用TypeScript来构建插件,拓展Obsidian中已有的功能。

- [[构建插件|构建您的第一个插件]]
- [[提交您的插件|提交您的插件]]
## Themes 主题
使用CSS为Obsidian设计美观的主题和模板。
- [[构建一个主题|构建您的第一个主题]]
- [[提交您的主题]]
- [[CSS 变量]]
## 加入开发者社区
如果您卡住了,或需要获取反馈,[加入社区](https://obsidian.md/community)
- Discord上的 #plugin-dev 和 #theme-dev 频道
- 官方论坛的 [Developers & API](https://forum.obsidian.md/c/developers-api/14) 和 [Share & showcase](https://forum.obsidian.md/c/share-showcase/9) 板块
## 贡献
如果您在这个站点发现了错误或改进的空间,或想要提交PR,尽可以在[我们的GitHub仓库](https://github.com/obsidianmd/obsidian-developer-docs)开放议题。更多的细节可在我们的[readme](https://github.com/obsidianmd/obsidian-developer-docs#readme)找到。I

再次为贡献表示感谢!
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# 提交您的插件

如果您想在Obsidian社区中分享您的插件,最好的方式时把它提交到官方清单中。一旦我们预览并发布了您的插件,用户可以直接通过Obsidian安装它,我们也会在Obsidian的站点上在[插件目录](https://obsidian.md/plugins)中展示它。

你只需要将您插件的原始版本提交。在您的插件发布后,用户可以通过GitHub直接从Obsidian下载新版本。

## 前提条件

为完成此指南,您需要:

- 一个 [GitHub](https://github.com/signup)账号。

## 在开始前

在提交您的插件前,确认您的仓库根文件夹下有如下文件:

- 一个描述插件目的的 `README.md` 和如何使用它。
- 一个 `LICENSE` 以明确其他人被允许如何使用该插件和它的源码。如果你需要帮助为你的插件[添加license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository),可以参考[选择一个License](https://choosealicense.com/).
- 一个描述你的插件的`manifest.json`。更多信息,参考 [Manifest](https://docs.obsidian.md/Reference/Manifest)

## 第1步:发布您的插件到GitHub

模板仓库

如果您从我们的模板仓库创建了插件,可以跳过此步骤

为了预览您的插件,我们需要在GitHub上获得源码。如果您不熟悉GitHub,请参考如何[创建一个新仓库](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository)

## 第2步:创建一个发布版

在这一步骤,您会准备好一个准备提交插件的发布版

1. 在`manifest.json`中更新到一个新版本,并带有详情(遵守此规则 [Semantic Versioning](https://semver.org/)),如`1.0.0`作为原始发布示例。你只可以用数字和句点。

2. [创建一个GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)。发布的标签版本可以与您中的版本相匹配

3. 为发布版输入一个名字,并在描述栏中加以描述。Obsidian不会用发布名做任何事,所以尽可能地放轻松,以你喜欢的方式来命名。

4. 上传如下发布版插件附件,以二进制附件的形式。

- `main.js`
- `manifest.json`
- `styles.css` (optional)(可选项)

## 第3步:提交您的插件以供预览

在这一步,你会向Obsidian团队提交您的插件以供预览。

1. 在[community-plugins.json](https://github.com/obsidianmd/obsidian-releases/edit/master/community-plugins.json)中,添加一个位于末尾的新入口

```json
{
"id": "doggo-dictation",
"name": "Doggo Dictation",
"author": "John Dolittle",
"description": "Transcribes dog speech into notes.",
"repo": "drdolittle/doggo-dictation"
}
```

- `id`, `name`, `author`, 和 `description` 决定了您的插件如何展示给用户,并且与您对应的 [Manifest](https://docs.obsidian.md/Reference/Manifest)中的属性相对应。
- 您插件有唯一的`id`,搜索`community-plugins.json`以确认现存插件没有相同的id。该`id`不会包含`obsidian`
- `repo`是您GitHub仓库的路径,举个例子,如果您的GitHub repo位于[https://github.com/your-username/your-repo-name](https://github.com/your-username/your-repo-name),路径就是`your-username/your-repo-name`

记得在前一个entry入口的闭合大括号`}`后添加一个逗号。

2. Select **Commit changes...** in the upper-right corner. 在右上角选择**提交更改…**

3. Select **Propose changes**. 选择**确认变更**

4. Select **Create pull request**. 选择**创建PR**

5. Select **Preview**, and then select **Community Plugin**.选择预览,然后选择**社区插件**

6. Click **Create pull request**. 点击**创建PR**

7. 在PR的name中输入“添加[...]插件”,[...]就在你插件的name

8. 在描述中填入PR详细信息。对于复选框内的括号内,插入`x`,把他们标记为完成。

9. Click **Create pull request** (for the last time 🤞).点击创建PR(最后一次)


现在您已经将插件提交到了Obsidian 的插件目录。稍后会收到我们可爱的机器人的初始审批。得到最后的结果需要几分钟时间

- 如果看到你的 PR 上出现 **Ready to review (审核就绪)** 标签,意味着您的提交已经通过了自动审批
- 如果看到在你的 PR 上出现**Validation failed(确认失败)** 标签,你需要解决所有列表上的问题直到机器人分配 **Ready to review** 标签。

一旦您的提交审核就绪,你可以等待 Obsidian 团队来审核。

需要多长时间审核我的插件?

审核您的提交所需的时间要看 Obsidian 团队的工作负荷情况。团队还比较小,所以当您等待插件审核时请保持耐心

## 第4步:处理审核意见

一旦审核员审核完您的插件,他们会为您的 PR添加一个审核结果。审核员可能会要求你升级插件,或他们会提供如何改进的建议。

处理所有要求的更改并更新 GitHub release。在 PR 上留个 comment,以便让我们知道你已经处理完反馈意见了。不要开个新 PR。

如果所有的更改要求已经处理过了,我们会尽快发布插件。

Note 注意

一旦 Obsidian 团队成员发布了您的插件,其他社区成员也能够同时审核你的提交

## 接下来

一旦我们预览并发布了您的插件,是时候将它公布到社区了:


 在论坛的 [Share & showcase](https://forum.obsidian.md/c/share-showcase/9)( 分享和展示)中发布
- 在 [Discord](https://discord.gg/veuWUTm)的`#updates` 频道发布。你需要[`developer`role(开发者身份) ](https://discord.com/channels/686053708261228577/702717892533157999/830492034807758859)才能在`#updates`频道上发布

LINKS TO THIS PAGE 链接到此页面

[Beta-testing plugins](https://docs.obsidian.md/Plugins/Releasing/Beta-testing+plugins) Beta 测试插件

[Home](https://docs.obsidian.md/Home)主页

[Release your plugin with GitHub Actions](https://docs.obsidian.md/Plugins/Releasing/Release+your+plugin+with+GitHub+Actions)使用 GitHub Actions 发布你的插件
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
插件让您可以使用属于自己的特性来拓展Obsidian,创造一种自定义的笔记体验。

在这个指南里,您可以从源码中编译一个范例插件并加载到Obsidian中。

## 您将学会
在完成这个指南后,您将可以:

- 设置开发Obsidian插件的环境
- 从源码编译一个插件。
- 在做出一些改动后,重载插件。
## 前提条件
为完成本指南,您需要:

- 在您的本地计算机上安装[Git](https://git-scm.com/)
- 一个[Node.js](https://node.js.org/en/about/)的本地开发环境
- 一个代码编辑器,比如:[Visual Studio Code](https://code.visualstudio.com/)

## 在开始之前

当开发插件时,一个失误就可能会导致您的仓库出现意外。为防止数据丢失,[创建一个空仓库](https://help.obsidian.md/Getting+started/Create+a+vault#Create+empty+vault).

## 第1步:下载范例插件

在这一步中,你会下载一个范例插件`plugins` 文件夹到你的仓库中的[`.obsidian` 文件夹](https://help.obsidian.md/Advanced+topics/How+Obsidian+stores+data#Per+vault+data)中,以便Obsidian可以找到它。

在指南中要用到的范例插件也可以在[GitHub 仓库](https://github.com/obsidianmd/obsidian-sample-plugin)中找到。

1. 打开一个终端窗口并将项目目录更改到 `plugins` 文件夹下面
```bash
cd path/to/vault
mkdir .obsidian/plugins
cd .obsidian/plugins
```
2. 使用Git将范例插件克隆下来

```bash
git clone https://github.com/obsidianmd/obsidian-sample-plugin.git
```

GitHub模板仓库

范例插件仓库是一个GitHub模板仓库,这意味着你可以用范例插件创建自己的仓库。想要了解更多,参考[用模板创建一个仓库](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#creating-a-repository-from-a-template)

记得克隆范例仓库时,使用你自己的仓库URL

## 第2步:构建插件

在这一步骤,你会编译插件让Obsidian可以加载它

1. 定位到插件目录

```bash
cd obsidian-sample-plugin
```

2. 安装依赖

```bash
npm install
```

3. 编译源码。下方的命令确保运行在终端并在修改源码时重构插件

```bash
npm run dev
```


注意现在插件文件夹中有了个 `main.js`,其中包含编译完成版本的插件

## 第3步:开启插件

想要在Obsidian中加载插件,首先要开启它

1. 在Obsidian中打开**Settings**。
2. 在侧边栏,选择**Community plugins**。
3. 选择**开启社区插件**。
4. 在**已安装的插件下**,选择旁边的切换按钮,开启**the Sample Plugin**。

现在你已经可以使用Obsidian中的插件了。下一步,我们将对插件做出一些改变。

## 第4步:更新插件加载清单

在这一步骤,你将会通过重命名来更新插件加载清单,`manifest.json`。加载清单中包含了与你的插件相关的信息,比如名字和描述。

1. 在你的代码编辑器中打开`manifest.json`。
2. 将 `id` 改为一个特殊的标识符, 比如 `"hello-world"`。
3. 将 `name` 修改为一个便于理解的, 比如 `"Hello world"`。
4. 重启Obsidian把新的改动加载到插件加载清单。

回到**已安装的插件**并注意,插件的名称已经更新,证明你的改动生效了

无论何时你改动了`manifest.json`,记得重启Obsidian。

## 第5步:更新源码

为了让用户与你的插件交互,添加一个标签图标,当用户选择插件时表示问候。

1. 在你的代码编辑器中打开 `main.ts` 。

2. 将插件的类从`MyPlugin`重命名为`HelloWorldPlugin`。

3. 从 `obsidian` 包中导入Import `Notice` 。

```ts
import { Notice, Plugin } from "obsidian";
```

4. 在 `onload()` 方法中,添加如下代码:

```ts
this.addRibbonIcon('dice', 'Greet', () => {
new Notice('Hello, world!');
});
```

5. 在**命令面板**,选择**重载app而不保存**以重新加载插件。

现在你可以在Obsidian窗口的左侧边栏看到一个骰子图标,选择它在右上角会显示一条信息。

记住,**在改动了源码后,需要重载你的插件**。可以通过在社区插件面板关闭再开启的方式,或像这步骤中的第5部分那样,使用命令面板。

热重载

安装[Hot-Reload](https://github.com/pjeby/hot-reload)插件以便在开发中自动重载插件。

## 小结

在这个指南中,你已经通过**TypeScript API**构建了第一个Obsidian插件。你已经会调整插件并重载以实现Obsidian的内部改动。

LINKS TO THIS PAGE 链接到此页面

[Home](https://docs.obsidian.md/Home)

[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)
Loading