Obsidian Full Calendar 插件使用教程
1. 项目的目录结构及介绍
Obsidian Full Calendar 插件的目录结构如下:
obsidian-full-calendar/
├── .github/
├── assets/
├── dist/
├── src/
│ ├── main.ts
│ ├── styles.css
│ └── ...
├── .gitignore
├── config.mjs
├── esbuild.config.mjs
├── jest.config.js
├── manifest.json
├── mkdocs.yml
├── package-lock.json
├── package.json
├── tsconfig.json
├── version-bump.mjs
└── versions.json
目录结构介绍
- .github/: 包含 GitHub 相关的配置文件,如 GitHub Actions 的工作流配置。
- assets/: 存放项目的静态资源文件,如图片等。
- dist/: 编译后的文件存放目录。
- src/: 源代码目录,包含 TypeScript 和 CSS 文件。
- main.ts: 项目的入口文件。
- styles.css: 项目的样式文件。
- .gitignore: Git 忽略文件配置。
- config.mjs: 项目的配置文件。
- esbuild.config.mjs: esbuild 打包工具的配置文件。
- jest.config.js: Jest 测试框架的配置文件。
- manifest.json: Obsidian 插件的清单文件,包含插件的基本信息。
- mkdocs.yml: MkDocs 文档生成工具的配置文件。
- package-lock.json: npm 包锁定文件。
- package.json: npm 包管理文件,包含项目的依赖和脚本。
- tsconfig.json: TypeScript 编译配置文件。
- version-bump.mjs: 版本更新脚本。
- versions.json: 版本历史记录文件。
2. 项目的启动文件介绍
项目的启动文件是 src/main.ts
。这个文件是插件的入口点,负责初始化插件并加载必要的模块和资源。
启动文件内容概览
// src/main.ts
import { Plugin } from 'obsidian';
import { FullCalendarPlugin } from './fullCalendarPlugin';
export default class FullCalendar extends Plugin {
async onload() {
console.log('FullCalendar plugin loaded');
this.addRibbonIcon('calendar', 'FullCalendar', () => {
this.activateView();
});
}
async activateView() {
this.app.workspace.detachLeavesOfType('full-calendar');
await this.app.workspace.getRightLeaf(false).setViewState({
type: 'full-calendar',
active: true,
});
this.app.workspace.revealLeaf(
this.app.workspace.getLeavesOfType('full-calendar')[0]
);
}
}
启动文件功能
- 导入模块: 导入 Obsidian 的
Plugin
类和自定义的FullCalendarPlugin
类。 - 定义插件类: 定义
FullCalendar
类,继承自Plugin
。 - 加载插件: 在
onload
方法中,输出日志并添加侧边栏图标,点击图标时激活日历视图。 - 激活视图: 在
activateView
方法中,设置并显示日历视图。
3. 项目的配置文件介绍
项目的配置文件主要包括 config.mjs
、esbuild.config.mjs
、jest.config.js
、manifest.json
、mkdocs.yml
、package.json
和 tsconfig.json
。
config.mjs
config.mjs
文件包含了项目的全局配置信息,如插件的 ID、名称、版本等。
// config.mjs
export const config = {
id: 'obsidian-full-calendar',
name: 'FullCalendar',
version: '1.0.0',
// 其他配置项
};
esbuild.config.mjs
esbuild.config.mjs
文件是 esbuild 打包工具的配置文件,定义了打包