mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
Fix clipping html with parser when using web-clipper
This commit is contained in:
parent
0c86dece5f
commit
bb6ab0fe45
@ -14,6 +14,8 @@ const path = require('path');
|
|||||||
const BAttribute = require('../../becca/entities/battribute');
|
const BAttribute = require('../../becca/entities/battribute');
|
||||||
const htmlSanitizer = require('../../services/html_sanitizer');
|
const htmlSanitizer = require('../../services/html_sanitizer');
|
||||||
const {formatAttrForSearch} = require("../../services/attribute_formatter");
|
const {formatAttrForSearch} = require("../../services/attribute_formatter");
|
||||||
|
const jsdom = require("jsdom");
|
||||||
|
const { JSDOM } = jsdom;
|
||||||
|
|
||||||
function findClippingNote(clipperInboxNote, pageUrl, clipType) {
|
function findClippingNote(clipperInboxNote, pageUrl, clipType) {
|
||||||
//Avoid searching for empty of browser pages like about:blank
|
//Avoid searching for empty of browser pages like about:blank
|
||||||
@ -83,7 +85,7 @@ function addClipping(req) {
|
|||||||
|
|
||||||
const existingContent = clippingNote.getContent();
|
const existingContent = clippingNote.getContent();
|
||||||
|
|
||||||
clippingNote.setContent(`${existingContent}${existingContent.trim() ? "<br/>" : ""}${rewrittenContent}`);
|
clippingNote.setContent(`${existingContent}${existingContent.trim() ? "<br>" : ""}${rewrittenContent}`);
|
||||||
|
|
||||||
if (clippingNote.parentNoteId != dailyNote.noteId){
|
if (clippingNote.parentNoteId != dailyNote.noteId){
|
||||||
cloneService.cloneNoteToParentNote(clippingNote.noteId, dailyNote.noteId);
|
cloneService.cloneNoteToParentNote(clippingNote.noteId, dailyNote.noteId);
|
||||||
@ -188,6 +190,15 @@ function processContent(images, note, content) {
|
|||||||
|
|
||||||
// fallback if parsing/downloading images fails for some reason on the extension side (
|
// fallback if parsing/downloading images fails for some reason on the extension side (
|
||||||
rewrittenContent = noteService.downloadImages(note.noteId, rewrittenContent);
|
rewrittenContent = noteService.downloadImages(note.noteId, rewrittenContent);
|
||||||
|
// Check if rewrittenContent contains at least one HTML tag
|
||||||
|
if (!/<.+?>/.test(rewrittenContent)) {
|
||||||
|
rewrittenContent = '<p>'+rewrittenContent + '</p>';
|
||||||
|
}
|
||||||
|
// Create a JSDOM object from the existing HTML content
|
||||||
|
let dom = new JSDOM(rewrittenContent);
|
||||||
|
|
||||||
|
// Get the content inside the body tag and serialize it
|
||||||
|
rewrittenContent = dom.window.document.body.innerHTML;
|
||||||
|
|
||||||
return rewrittenContent;
|
return rewrittenContent;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user