/
githubmirror
/
obsidian-clipper
Обзор
Документация
Войти
/
githubmirror
/
obsidian-clipper
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/utils/clip-utils.ts
21 строка
844 B
kepano
Remove innerHTML
22 апр 2026, 00:14
22 апр 2026, 00:14
83bf59a
Код
Авторство
О чём код?
import Defuddle from 'defuddle/full'; import { setElementHTML } from './dom-utils'; // Parse document content for clipping. In reader mode, extracts from // the article's original HTML to avoid reader UI artifacts. export function parseForClip(doc: Document) { const readerArticle = doc.querySelector('.obsidian-reader-active .obsidian-reader-content article'); if (readerArticle) { const readerDoc = doc.implementation.createHTMLDocument(); const originalHtml = readerArticle.getAttribute('data-original-html'); if (originalHtml) { setElementHTML(readerDoc.body, originalHtml); } else { readerDoc.body.replaceChildren( ...Array.from(readerArticle.childNodes).map(n => readerDoc.importNode(n, true)) ); } return new Defuddle(readerDoc, { url: '' }).parse(); } return new Defuddle(doc, { url: doc.URL }).parse(); }