mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
using included note should create a relation, closes #820
This commit is contained in:
parent
67bdffb27b
commit
759e47bfcf
@ -805,7 +805,7 @@ class Note extends Entity {
|
|||||||
WHERE noteId = ? AND
|
WHERE noteId = ? AND
|
||||||
isDeleted = 0 AND
|
isDeleted = 0 AND
|
||||||
type = 'relation' AND
|
type = 'relation' AND
|
||||||
name IN ('internalLink', 'imageLink', 'relationMapLink')`, [this.noteId]);
|
name IN ('internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink')`, [this.noteId]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -147,7 +147,7 @@ async function importTar(taskContext, fileBuffer, importRootNote) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attr.type === 'relation' && ['internalLink', 'imageLink', 'relationMapLink'].includes(attr.name)) {
|
if (attr.type === 'relation' && ['internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink'].includes(attr.name)) {
|
||||||
// these relations are created automatically and as such don't need to be duplicated in the import
|
// these relations are created automatically and as such don't need to be duplicated in the import
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -242,6 +242,20 @@ function findInternalLinks(content, foundLinks) {
|
|||||||
return content.replace(/href="[^"]*#root/g, 'href="#root');
|
return content.replace(/href="[^"]*#root/g, 'href="#root');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function findIncludeNoteLinks(content, foundLinks) {
|
||||||
|
const re = /<section class="include-note" data-note-id="([a-zA-Z0-9]+)">/g;
|
||||||
|
let match;
|
||||||
|
|
||||||
|
while (match = re.exec(content)) {
|
||||||
|
foundLinks.push({
|
||||||
|
name: 'includeNoteLink',
|
||||||
|
value: match[1]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
function findRelationMapLinks(content, foundLinks) {
|
function findRelationMapLinks(content, foundLinks) {
|
||||||
const obj = JSON.parse(content);
|
const obj = JSON.parse(content);
|
||||||
|
|
||||||
@ -263,10 +277,11 @@ async function saveLinks(note, content) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const foundLinks = [];
|
const foundLinks = [];
|
||||||
|
console.log("Scanning", content);
|
||||||
if (note.type === 'text') {
|
if (note.type === 'text') {
|
||||||
content = findImageLinks(content, foundLinks);
|
content = findImageLinks(content, foundLinks);
|
||||||
content = findInternalLinks(content, foundLinks);
|
content = findInternalLinks(content, foundLinks);
|
||||||
|
content = findIncludeNoteLinks(content, foundLinks);
|
||||||
}
|
}
|
||||||
else if (note.type === 'relation-map') {
|
else if (note.type === 'relation-map') {
|
||||||
findRelationMapLinks(content, foundLinks);
|
findRelationMapLinks(content, foundLinks);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user