Media Extended 开源项目教程
1. 项目的目录结构及介绍
Media Extended 项目的目录结构如下:
media-extended/
├── .github/
│ └── workflows/
│ └── main.yml
├── assets/
│ ├── icon-obs.svg
│ ├── icon-youtube.svg
│ └── style.css
├── src/
│ ├── main.ts
│ ├── settings.ts
│ └── util.ts
├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── package.json
├── tsconfig.json
└── webpack.config.js
目录结构介绍
.github/workflows/main.yml
: GitHub Actions 的工作流配置文件,用于自动化构建和部署。assets/
: 存放项目的静态资源,如图标和样式文件。src/
: 项目的源代码目录,包含主要的 TypeScript 文件。.gitignore
: 指定 Git 版本控制系统忽略的文件和目录。.npmrc
: npm 配置文件。LICENSE
: 项目的开源许可证。README.md
: 项目说明文档。package.json
: 项目的 npm 配置文件,包含依赖和脚本。tsconfig.json
: TypeScript 编译配置文件。webpack.config.js
: Webpack 打包配置文件。
2. 项目的启动文件介绍
项目的启动文件位于 src/main.ts
。这个文件是项目的入口点,负责初始化插件和加载必要的模块。
启动文件内容概述
import { Plugin } from 'obsidian';
import { MediaExtendedSettingsTab, DEFAULT_SETTINGS, MediaExtendedSettings } from './settings';
import { MediaExtendedPlugin } from './util';
export default class MediaExtended extends Plugin {
settings: MediaExtendedSettings;
async onload() {
await this.loadSettings();
this.addSettingTab(new MediaExtendedSettingsTab(this.app, this));
this.registerExtensions(["media", "mediaext"], "media-extended");
}
async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
}
}
启动文件功能
onload()
: 插件加载时调用的方法,负责加载设置和注册文件扩展名。loadSettings()
: 加载用户设置。saveSettings()
: 保存用户设置。
3. 项目的配置文件介绍
项目的配置文件主要包括 package.json
和 tsconfig.json
。
package.json
package.json
文件包含了项目的元数据和依赖项。以下是部分关键内容:
{
"name": "media-extended",
"version": "2.10.0",
"description": "Extended media experience for Obsidian.md",
"main": "main.js",
"scripts": {
"dev": "rollup -c -w",
"build": "rollup -c"
},
"keywords": [
"obsidian",
"media",
"video",
"audio"
],
"author": "AidenLx",
"license": "MIT",
"devDependencies": {
"@rollup/plugin-commonjs": "^15.1.0",
"@rollup/plugin-node-resolve": "^9.0.0",
"@rollup/plugin-typescript": "^6.0.0",
"obsidian": "latest",
"rollup": "^2.32.1",
"tslib": "^2.0.3",
"typescript": "^4.0.3"
}
}
tsconfig.json
tsconfig.json
文件用于配置 TypeScript 编译选项。以下是部分关键内容:
{
"compilerOptions": {
"target": "ES6",
"module": "CommonJS",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考