Obsidian Google Calendar 插件使用教程
项目目录结构及介绍
Obsidian Google Calendar 插件的目录结构如下:
obsidian-google-calendar/
├── .github/
│ └── workflows/
│ └── ci.yml
├── .obsidian/
│ └── plugins/
│ └── obsidian-google-calendar/
├── .gitignore
├── LICENSE
├── README.md
├── main.ts
├── manifest.json
├── styles.css
└── tsconfig.json
各目录和文件的介绍如下:
.github/workflows/ci.yml
: GitHub Actions 的持续集成配置文件。.obsidian/plugins/obsidian-google-calendar/
: Obsidian 插件的存储目录。.gitignore
: Git 忽略文件列表。LICENSE
: 项目许可证文件。README.md
: 项目说明文档。main.ts
: 项目的主入口文件。manifest.json
: Obsidian 插件的清单文件,包含插件的基本信息。styles.css
: 插件的样式文件。tsconfig.json
: TypeScript 配置文件。
项目的启动文件介绍
项目的启动文件是 main.ts
。这个文件是插件的入口点,负责初始化插件并注册各种事件和命令。以下是 main.ts
的主要内容:
import { Plugin } from 'obsidian';
import { GoogleCalendarSettingsTab } from './settings';
import { GoogleCalendarApi } from './api';
export default class GoogleCalendarPlugin extends Plugin {
settings: any;
async onload() {
console.log('加载 Google Calendar 插件');
this.addSettingTab(new GoogleCalendarSettingsTab(this.app, this));
this.addCommand({
id: 'fetch-calendar',
name: 'Fetch Calendar Events',
callback: () => {
new GoogleCalendarApi(this.settings).fetchEvents();
}
});
}
async loadSettings() {
this.settings = Object.assign({}, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}
onload()
: 插件加载时调用的方法,注册设置页面和命令。addSettingTab()
: 添加设置页面。addCommand()
: 添加命令,用于获取日历事件。loadSettings()
: 加载设置。saveSettings()
: 保存设置。
项目的配置文件介绍
项目的配置文件是 manifest.json
。这个文件包含了插件的基本信息,如 ID、名称、版本等。以下是 manifest.json
的内容:
{
"id": "obsidian-google-calendar",
"name": "Google Calendar",
"version": "1.0.0",
"minAppVersion": "0.12.0",
"description": "Integrate Google Calendar with Obsidian.",
"author": "YukiGasai",
"authorUrl": "https://github.com/YukiGasai",
"isDesktopOnly": false
}
id
: 插件的唯一标识符。name
: 插件的名称。version
: 插件的版本号。minAppVersion
: 插件支持的最低 Obsidian 版本。description
: 插件的描述。author
: 插件的作者。authorUrl
: 作者的 URL。isDesktopOnly
: 是否仅支持桌面版 Obsidian。