Obsidian Google Tasks 插件使用教程
1. 项目的目录结构及介绍
Obsidian Google Tasks 插件的目录结构如下:
obsidian-google-tasks/
├── main.ts
├── styles.css
├── package.json
├── README.md
├── src/
│ ├── commands.ts
│ ├── main.ts
│ ├── settings.ts
│ └── views.ts
├── lang/
│ └── en.ts
└── assets/
└── icon.svg
目录结构介绍
main.ts
: 项目的入口文件。styles.css
: 项目的样式文件。package.json
: 项目的依赖和配置文件。README.md
: 项目的说明文档。src/
: 包含项目的源代码文件。commands.ts
: 定义插件的命令。main.ts
: 主逻辑文件。settings.ts
: 配置相关的逻辑文件。views.ts
: 视图相关的逻辑文件。
lang/
: 包含多语言支持文件。en.ts
: 英文语言文件。
assets/
: 包含项目的静态资源文件。icon.svg
: 插件的图标文件。
2. 项目的启动文件介绍
项目的启动文件是 main.ts
,它负责初始化插件并注册命令。以下是 main.ts
的主要内容:
import { Plugin } from 'obsidian';
import { GoogleTasksSettingsTab } from './src/settings';
import { GoogleTasksPlugin } from './src/main';
export default class GoogleTasksPlugin extends Plugin {
settings: GoogleTasksSettings;
async onload() {
console.log('加载 Google Tasks 插件');
this.addSettingTab(new GoogleTasksSettingsTab(this.app, this));
this.addCommand({
id: 'list-google-tasks',
name: '列出 Google Tasks',
callback: () => {
this.listTasks();
}
});
this.addCommand({
id: 'create-google-task',
name: '创建 Google Task',
callback: () => {
this.createTask();
}
});
}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}
启动文件介绍
main.ts
导出一个继承自Plugin
的类GoogleTasksPlugin
。onload
方法在插件加载时调用,注册设置页面和命令。loadSettings
和saveSettings
方法用于加载和保存插件的设置。
3. 项目的配置文件介绍
项目的配置文件是 package.json
,它包含了插件的依赖、脚本和其他配置信息。以下是 package.json
的主要内容:
{
"name": "obsidian-google-tasks",
"version": "1.0.0",
"description": "Add Google Tasks inside Obsidian",
"main": "main.ts",
"scripts": {
"build": "tsc -p ./",
"dev": "tsc -p ./ -w"
},
"keywords": [
"obsidian",
"google tasks"
],
"author": "YukiGasai",
"license": "GPL-3.0",
"dependencies": {
"obsidian": "^0.12.0"
},
"devDependencies": {
"typescript": "^4.3.5"
}
}
配置文件介绍
name
: 插件的名称。version
: 插件的版本号。description
: 插件的描述。main
: 入口文件。scripts
: 包含构建和开发脚本。keywords
: 插件的关键词。author
: 插件的作者。license
: 插件的许可证。dependencies
: 插
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考