diff --git a/Dockerfile b/Dockerfile index 104c4fc84..31281ddd1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:12.4.0-alpine +FROM node:12.6.0-alpine # Create app directory WORKDIR /usr/src/app diff --git a/bin/build-server.sh b/bin/build-server.sh index 811d00f05..91357675b 100755 --- a/bin/build-server.sh +++ b/bin/build-server.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash PKG_DIR=dist/trilium-linux-x64-server -NODE_VERSION=12.4.0 +NODE_VERSION=12.6.0 rm -r $PKG_DIR mkdir $PKG_DIR diff --git a/package-lock.json b/package-lock.json index cdf25d296..cfb0f5f0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5287,9 +5287,9 @@ } }, "file-type": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.0.0.tgz", - "integrity": "sha512-VV3aQAyoV/fHl0I9uU3/DGjItgh5nylAoJPHOXkZXHW4nFFrxJnHR2xdVqsqyw/9fqYy80m+tS+Rf77w0FTKqg==" + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.0.1.tgz", + "integrity": "sha512-YIs1E51cmqcmgF38ODjy0+M/l5DyfIIy3vngTOujQr/lXqkaSskfBniaZoZ1HVIpa5FTf5e7hCXS4TzxfNGMRQ==" }, "filename-regex": { "version": "2.0.1", diff --git a/package.json b/package.json index dd4cbaa89..5cab3dbf6 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "electron-window-state": "5.0.3", "express": "4.17.1", "express-session": "1.16.2", - "file-type": "12.0.0", + "file-type": "12.0.1", "fs-extra": "8.1.0", "get-port": "5.0.0", "helmet": "3.18.0", diff --git a/src/routes/api/clipper.js b/src/routes/api/clipper.js index 5cb5099e7..53af2ab05 100644 --- a/src/routes/api/clipper.js +++ b/src/routes/api/clipper.js @@ -10,48 +10,44 @@ const path = require('path'); const Link = require('../../entities/link'); async function createNote(req) { - const {title, html, url, images} = req.body; + const {title, content, url, images} = req.body; const todayNote = await dateNoteService.getDateNote(dateUtils.localNowDate()); - const {note} = await noteService.createNote(todayNote.noteId, title, html, { - attributes: [ - { - type: 'label', - name: 'sourceUrl', - value: url - } - ] - }); + const {note} = await noteService.createNote(todayNote.noteId, title, content); - let rewrittenHtml = html; - - for (const {src, dataUrl, imageId} of images) { - const filename = path.basename(src); - - if (!dataUrl.startsWith("data:image")) { - log.info("Image could not be recognized as data URL:", dataUrl.substr(0, Math.min(100, dataUrl.length))); - continue; - } - - const buffer = Buffer.from(dataUrl.split(",")[1], 'base64'); - - const {note: imageNote, url} = await imageService.saveImage(buffer, filename, note.noteId, true); - - await new Link({ - noteId: note.noteId, - targetNoteId: imageNote.noteId, - type: 'image' - }).save(); - - console.log(`Replacing ${imageId} with ${url}`); - - rewrittenHtml = rewrittenHtml.replace(imageId, url); + if (url) { + await note.setLabel('sourceUrl', url); } - console.log("Done", rewrittenHtml); + let rewrittenContent = content; - await note.setContent(rewrittenHtml); + if (images) { + for (const {src, dataUrl, imageId} of images) { + const filename = path.basename(src); + + if (!dataUrl.startsWith("data:image")) { + log.info("Image could not be recognized as data URL:", dataUrl.substr(0, Math.min(100, dataUrl.length))); + continue; + } + + const buffer = Buffer.from(dataUrl.split(",")[1], 'base64'); + + const {note: imageNote, url} = await imageService.saveImage(buffer, filename, note.noteId, true); + + await new Link({ + noteId: note.noteId, + targetNoteId: imageNote.noteId, + type: 'image' + }).save(); + + console.log(`Replacing ${imageId} with ${url}`); + + rewrittenContent = rewrittenContent.replace(imageId, url); + } + } + + await note.setContent(rewrittenContent); return { noteId: note.noteId @@ -105,6 +101,8 @@ async function openNote(req) { type: 'open-note', noteId: req.params.noteId }); + + return {}; } async function ping(req, res) {