diff --git a/src/public/app/services/link.js b/src/public/app/services/link.js
index 73ad58704..cee987305 100644
--- a/src/public/app/services/link.js
+++ b/src/public/app/services/link.js
@@ -42,6 +42,7 @@ async function createLink(notePath, options = {}) {
const showNotePath = options.showNotePath === undefined ? false : options.showNotePath;
const showNoteIcon = options.showNoteIcon === undefined ? false : options.showNoteIcon;
const referenceLink = options.referenceLink === undefined ? false : options.referenceLink;
+ const autoConvertToImage = options.autoConvertToImage === undefined ? false : options.autoConvertToImage;
const { noteId, parentNoteId } = treeService.getNoteIdAndParentIdFromUrl(notePath);
const viewScope = options.viewScope || {};
@@ -58,6 +59,16 @@ async function createLink(notePath, options = {}) {
}
}
+ const note = await froca.getNote(noteId);
+
+ if (autoConvertToImage && ['image', 'canvas', 'mermaid'].includes(note.type) && viewMode === 'default') {
+ const encodedTitle = encodeURIComponent(linkTitle);
+
+ return $("
")
+ .attr("src", `api/images/${noteId}/${encodedTitle}?${Math.random()}`)
+ .attr("alt", linkTitle);
+ }
+
const $container = $("");
if (showNoteIcon) {
diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js
index ad0d41a87..6f70fc78f 100644
--- a/src/public/app/widgets/note_tree.js
+++ b/src/public/app/widgets/note_tree.js
@@ -402,11 +402,11 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
}));
if (notes.length === 1) {
- linkService.createLink(notes[0].noteId, {referenceLink: true})
+ linkService.createLink(notes[0].noteId, {referenceLink: true, autoConvertToImage: true})
.then($link => data.dataTransfer.setData("text/html", $link[0].outerHTML));
}
else {
- Promise.all(notes.map(note => linkService.createLink(note.noteId, {referenceLink: true}))).then(links => {
+ Promise.all(notes.map(note => linkService.createLink(note.noteId, {referenceLink: true, autoConvertToImage: true}))).then(links => {
const $list = $("").append(...links.map($link => $("- ").append($link)));
data.dataTransfer.setData("text/html", $list[0].outerHTML);