not generating externalLink labels anymore since there can be too many and benefit is too small

This commit is contained in:
zadam 2020-04-05 16:06:13 +02:00
parent 8d312515dd
commit 081693f263
5 changed files with 8 additions and 49 deletions

View File

@ -811,11 +811,9 @@ class Note extends Entity {
SELECT * SELECT *
FROM attributes FROM attributes
WHERE noteId = ? AND WHERE noteId = ? AND
isDeleted = 0 AND isDeleted = 0 AND
((type = 'relation' AND type = 'relation' AND
name IN ('internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink')) name IN ('internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink')`, [this.noteId]);
OR
(type = 'label' AND name = 'externalLink'))`, [this.noteId]);
} }
/** /**

View File

@ -69,19 +69,7 @@ export default class AttributesWidget extends CollapsibleWidget {
async renderAttributes(attributes, $container) { async renderAttributes(attributes, $container) {
for (const attribute of attributes) { for (const attribute of attributes) {
if (attribute.type === 'label') { if (attribute.type === 'label') {
if (attribute.name === 'externalLink') { $container.append(utils.formatLabel(attribute) + " ");
$container.append('@' + attribute.name + "=");
$container.append(
$('<a>')
.text(attribute.value)
.attr('href', attribute.value)
.addClass('external')
);
$container.append(" ");
}
else {
$container.append(utils.formatLabel(attribute) + " ");
}
} else if (attribute.type === 'relation') { } else if (attribute.type === 'relation') {
if (attribute.value) { if (attribute.value) {
$container.append('@' + attribute.name + "="); $container.append('@' + attribute.name + "=");

View File

@ -152,11 +152,6 @@ async function importTar(taskContext, fileBuffer, importRootNote) {
continue; continue;
} }
if (attr.type === 'label' && attr.name === 'externalLink') {
// also created automatically
continue;
}
if (attr.type === 'relation') { if (attr.type === 'relation') {
attr.value = getNewNoteId(attr.value); attr.value = getNewNoteId(attr.value);
} }

View File

@ -154,11 +154,6 @@ async function importZip(taskContext, fileBuffer, importRootNote) {
continue; continue;
} }
if (attr.type === 'label' && attr.name === 'externalLink') {
// also created automatically
continue;
}
if (attr.type === 'relation') { if (attr.type === 'relation') {
attr.value = getNewNoteId(attr.value); attr.value = getNewNoteId(attr.value);
} }

View File

@ -225,20 +225,6 @@ function findInternalLinks(content, foundLinks) {
return content.replace(/href="[^"]*#root/g, 'href="#root'); return content.replace(/href="[^"]*#root/g, 'href="#root');
} }
function findExternalLinks(content, foundLinks) {
const re = /href="([a-zA-Z]+:\/\/[^"]*)"/g;
let match;
while (match = re.exec(content)) {
foundLinks.push({
name: 'externalLink',
value: match[1]
});
}
return content;
}
function findIncludeNoteLinks(content, foundLinks) { function findIncludeNoteLinks(content, foundLinks) {
const re = /<section class="include-note" data-note-id="([a-zA-Z0-9]+)">/g; const re = /<section class="include-note" data-note-id="([a-zA-Z0-9]+)">/g;
let match; let match;
@ -392,7 +378,6 @@ async function saveLinks(note, 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 = findExternalLinks(content, foundLinks);
content = findIncludeNoteLinks(content, foundLinks); content = findIncludeNoteLinks(content, foundLinks);
content = await downloadImages(note.noteId, content); content = await downloadImages(note.noteId, content);
@ -407,11 +392,9 @@ async function saveLinks(note, content) {
const existingLinks = await note.getLinks(); const existingLinks = await note.getLinks();
for (const foundLink of foundLinks) { for (const foundLink of foundLinks) {
if (foundLink.name !== 'externalLink') { const targetNote = await repository.getNote(foundLink.value);
const targetNote = await repository.getNote(foundLink.value); if (!targetNote || targetNote.isDeleted) {
if (!targetNote || targetNote.isDeleted) { continue;
continue;
}
} }
const existingLink = existingLinks.find(existingLink => const existingLink = existingLinks.find(existingLink =>
@ -421,7 +404,7 @@ async function saveLinks(note, content) {
if (!existingLink) { if (!existingLink) {
const newLink = await new Attribute({ const newLink = await new Attribute({
noteId: note.noteId, noteId: note.noteId,
type: foundLink.name === 'externalLink' ? 'label' : 'relation', type: 'relation',
name: foundLink.name, name: foundLink.name,
value: foundLink.value, value: foundLink.value,
}).save(); }).save();