/
githubmirror
/
obsidian-clipper
Обзор
Документация
Войти
/
githubmirror
/
obsidian-clipper
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/reader-script.ts
37 строк
1 KB
kepano
Fade in transition into Reader
10 апр 2026, 04:44
10 апр 2026, 04:44
e276730
Код
Авторство
О чём код?
import { Reader } from './utils/reader'; import browser from './utils/browser-polyfill'; // Initialize reader mode (function() { // Check if the script has already been initialized if (window.hasOwnProperty('obsidianReaderInitialized')) { return; // Exit if already initialized } // Mark as initialized (window as any).obsidianReaderInitialized = true; // Listen for messages from the content script browser.runtime.onMessage.addListener((request: any, sender: browser.Runtime.MessageSender, sendResponse: (response?: any) => void) => { if (request.action === "toggleReaderMode") { // When deactivating, respond before restore triggers a page reload if (document.documentElement.classList.contains('obsidian-reader-active')) { sendResponse({ success: true, isActive: false }); Reader.toggle(document); return; } (async () => { try { const isActive = await Reader.toggle(document); document.documentElement.classList.toggle('obsidian-reader-active', isActive); browser.runtime.sendMessage({ action: "readerModeChanged", isActive }); sendResponse({ success: true, isActive }); } catch (error: unknown) { console.error('Error toggling reader mode:', error); sendResponse({ success: false, error: error instanceof Error ? error.message : 'Unknown error' }); } })(); return true; } }); })();