3.4 KiB
3.4 KiB
ZeroQ QoL Modules
Модульный плагин для Obsidian с набором QoL-функций, которые можно включать и отключать в настройках.
Установка
- Скачайте
main.js,manifest.jsonиstyles.cssиз релизов - Поместите их в папку
.obsidian/plugins/zeroq-qol-modules/вашего хранилища - В Obsidian: Настройки → Community plugins → Включить
- Активируйте плагин ZeroQ QoL Modules
Модули
| Модуль | Описание |
|---|---|
| Attachment Clean Paste | Заменяет ![[вложение]] на `[[вложение |
Каждый модуль включается/отключается в настройках плагина.
Разработка
Добавление нового модуля
- Создайте папку
src/modules/my-module/ - Создайте класс, унаследованный от
BaseModule:
import { BaseModule } from '../base-module';
export class MyModule extends BaseModule {
id = 'my-module';
name = 'My Module';
description = 'Описание модуля';
get defaultSettings() {
return { /* настройки по умолчанию */ };
}
onload(plugin, moduleSettings) {
// инициализация: регистрация событий, команд, настроек
}
onunload(plugin) {
// очистка (cleanup происходит автоматически через registerCleanup)
}
}
- Зарегистрируйте модуль в
src/modules/index.ts:
import { MyModule } from './my-module';
export const MODULES: QoLModule[] = [
new AttachmentCleanPasteModule(),
new MyModule(),
];
- Если модулю нужна своя вкладка настроек — создайте
PluginSettingTabи добавьте её черезplugin.addSettingTab()вonload
Сборка
npm run build # production-сборка
npm run dev # dev-сборка с sourcemap
Архитектура
src/
├── main.ts # точка входа, Plugin class
├── settings.ts # общая панель настроек
├── types.ts # базовые типы
└── modules/
├── index.ts # реестр модулей (статический импорт)
├── base-module.ts # абстрактный класс модуля
└── attachment-clean-paste/
└── index.ts # реализация модуля
Принцип работы:
main.tsзагружает настройки, итерируетMODULESи вызываетonload()для включённых- Каждый модуль через
registerCleanup()регистрирует функции отчистки, которые вызываются при выключении модуля или выгрузке плагина - В настройках отображаются все модули с чекбоксами вкл/выкл
Лицензия
MIT