@notable/dumper
Advanced tools
Comparing version 1.3.1 to 1.3.2
@@ -5,5 +5,7 @@ "use strict"; | ||
const turndown = require("../../src/html2markdown/_turndown.js"); //UGLY | ||
const utils_1 = require("../utils"); | ||
/* HTML 2 MARKDOWN */ | ||
//TODO: Maybe publish as a standalone package | ||
//TODO: Decouple providers-specific logic | ||
// Custom elements are transformed into regular non-empty "<div>" elements, otherwise they will be ignored | ||
function html2markdown(html, options) { | ||
@@ -15,2 +17,3 @@ html = html.replace(/<!DOCTYPE(.*?)>/g, '') // Remove HTML doctype | ||
.replace(/(<div>(\s*)<br ?\/>(\s*)<\/div>){2,}/g, '<div><br /></div>'); // Remove extra line breaks | ||
html = html.replace(/<en-media([^>]+)><\/en-media>/g, '<div node="EN-MEDIA"$1>placeholder</div>'); // Preserving `<en-media>` | ||
html = html.replace(/<en-todo checked="true"(.*?)\/?>/g, '<input type="checkbox" checked />') // Replace enex checked checkbox | ||
@@ -51,6 +54,10 @@ .replace(/<en-todo checked="false"(.*?)\/?>/g, '<input type="checkbox" />') // Replace enex unchecked checkbox | ||
return ''; | ||
const alignment = style.match(/text-align:\s*(\S+);/); | ||
const alignment = style.match(/text-align:\s*(\S+?);/); | ||
if (!alignment) | ||
return `${str}\n\n`; | ||
return `<p align="${alignment[1]}">${str}</p>\n\n`; | ||
const nodeName = ele.nodeName; | ||
const tag = /^h\d$/i.test(nodeName) ? nodeName.toLowerCase() : 'p'; | ||
if (str.includes('\n')) | ||
str = `\n\n${str}\n\n`; | ||
return `<${tag} align="${alignment[1]}">${str}</${tag}>\n\n`; | ||
} | ||
@@ -69,2 +76,17 @@ }); | ||
}); | ||
service.addRule('media-enex', { | ||
filter: node => node.nodeName === 'DIV' && node.getAttribute('node') === 'EN-MEDIA' && !!node.getAttribute('hash') && !!node.getAttribute('type'), | ||
replacement: (str, ele) => { | ||
const hash = ele.getAttribute('hash'); | ||
const type = ele.getAttribute('type') || ''; | ||
const filename = `${hash}${utils_1.default.mime.inferExtension(type)}`; | ||
const isImage = utils_1.default.mime.isImage(type); | ||
if (isImage) { | ||
return `<img src="@attachment/${filename}" />`; | ||
} | ||
else { | ||
return `<a href="@attachment/${filename}">${filename}</a>`; | ||
} | ||
} | ||
}); | ||
service.addRule('mixed', { | ||
@@ -155,2 +177,2 @@ filter: ['font', 'span'], | ||
exports.default = html2markdown; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHRtbDJtYXJrZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsWUFBWTs7QUFFWixpRUFBcUUsQ0FBQyxNQUFNO0FBSTVFLHFCQUFxQjtBQUVyQiw2Q0FBNkM7QUFDN0MseUNBQXlDO0FBRXpDLFNBQVMsYUFBYSxDQUFHLElBQVksRUFBRSxPQUFpQjtJQUV0RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBRyxrQkFBa0IsRUFBRSxFQUFFLENBQUUsQ0FBQyxzQkFBc0I7U0FDekQsT0FBTyxDQUFHLGVBQWUsRUFBRSxFQUFFLENBQUUsQ0FBQyxzREFBc0Q7U0FDdEYsT0FBTyxDQUFHLHlCQUF5QixFQUFFLEVBQUUsQ0FBRSxDQUFDLHFCQUFxQjtTQUMvRCxPQUFPLENBQUcsb0JBQW9CLEVBQUUsRUFBRSxDQUFFLENBQUMsb0JBQW9CO1NBQ3pELE9BQU8sQ0FBRyx1Q0FBdUMsRUFBRSxtQkFBbUIsQ0FBRSxDQUFDLENBQUMsMkJBQTJCO0lBRWpILElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFHLG1DQUFtQyxFQUFFLG1DQUFtQyxDQUFFLENBQUMsZ0NBQWdDO1NBQ3JILE9BQU8sQ0FBRyxvQ0FBb0MsRUFBRSwyQkFBMkIsQ0FBRSxDQUFDLGtDQUFrQztTQUNoSCxPQUFPLENBQUcseURBQXlELEVBQUUsV0FBVyxDQUFFLENBQUMsMkJBQTJCO1NBQzlHLE9BQU8sQ0FBRywwQ0FBMEMsRUFBRSxXQUFXLENBQUUsQ0FBQyw2QkFBNkI7U0FDakcsT0FBTyxDQUFHLGtEQUFrRCxFQUFFLFFBQVEsQ0FBRSxDQUFDLDJCQUEyQjtTQUNwRyxPQUFPLENBQUcsbUNBQW1DLEVBQUUsUUFBUSxDQUFFLENBQUMsNkJBQTZCO1NBQ3ZGLE9BQU8sQ0FBRyxxQkFBcUIsRUFBRSxFQUFFLENBQUUsQ0FBQyxDQUFDLG1CQUFtQjtJQUV0RSxNQUFNLE9BQU8sR0FBb0IsSUFBSSxRQUFRLENBQUcsT0FBTyxDQUFFLENBQUM7SUFFMUQsT0FBTyxDQUFDLE9BQU8sQ0FBRyxlQUFlLEVBQUU7UUFDakMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztRQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsT0FBTyxDQUFHLFdBQVcsRUFBRTtRQUM3QixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsT0FBTyxDQUFHLGFBQWEsRUFBRTtRQUMvQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsT0FBTyxDQUFHLFdBQVcsRUFBRTtRQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFFLElBQUksQ0FBQyxZQUFZLENBQUcsT0FBTyxDQUFFLElBQUksRUFBRSxDQUFFLENBQUMsUUFBUSxDQUFHLGFBQWEsQ0FBRTtRQUMvRyxXQUFXLEVBQUUsQ0FBRSxHQUFHLEVBQUUsR0FBZ0IsRUFBRyxFQUFFO1lBQ3ZDLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFHLENBQUM7WUFDbEIsSUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNO2dCQUFHLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUcsT0FBTyxDQUFFLENBQUM7WUFDM0MsSUFBSyxDQUFDLEtBQUs7Z0JBQUcsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBRyxzQkFBc0IsQ0FBRSxDQUFDO1lBQ3pELElBQUssQ0FBQyxTQUFTO2dCQUFHLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUN0QyxPQUFPLGFBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3JELENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsT0FBTyxDQUFHLFdBQVcsRUFBRTtRQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssSUFBSSxDQUFFLElBQUksQ0FBQyxZQUFZLENBQUcsT0FBTyxDQUFFLElBQUksRUFBRSxDQUFFLENBQUMsUUFBUSxDQUFHLGVBQWUsQ0FBRTtRQUMvRyxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDakIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBRSxDQUFDLE9BQU8sQ0FBRyxVQUFVLEVBQUUsRUFBRSxDQUFFLENBQUM7WUFDaEUsSUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNO2dCQUFHLE9BQU8sRUFBRSxDQUFDO1lBQzdCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFHLGdCQUFnQixFQUFFLEVBQUUsQ0FBRSxDQUFDO1lBQzNDLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFHLElBQUksQ0FBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQzVFLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxPQUFPLENBQUcsT0FBTyxFQUFFO1FBQ3pCLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFDeEIsV0FBVyxFQUFFLENBQUUsR0FBRyxFQUFFLEdBQWdCLEVBQUcsRUFBRTtZQUN2QyxJQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRztnQkFBRyxPQUFPLEVBQUUsQ0FBQztZQUM5QixXQUFXO1lBQ1gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBRyxPQUFPLENBQUUsQ0FBQztZQUMzQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSyxLQUFLLEVBQUc7Z0JBQ1gsZ0JBQWdCO2dCQUNoQixJQUFLLEtBQUssQ0FBQyxLQUFLLENBQUcsNEJBQTRCLENBQUUsRUFBRyxFQUFFLFlBQVk7b0JBQ2hFLEdBQUcsR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDO2lCQUN2QjtnQkFDRCxJQUFLLEtBQUssQ0FBQyxLQUFLLENBQUcsK0JBQStCLENBQUUsRUFBRyxFQUFFLGdCQUFnQjtvQkFDdkUsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7aUJBQ3BCO2dCQUNELElBQUssS0FBSyxDQUFDLEtBQUssQ0FBRyxvQkFBb0IsQ0FBRSxFQUFHLEVBQUUsU0FBUztvQkFDckQsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7aUJBQ2xCO2dCQUNELElBQUssS0FBSyxDQUFDLEtBQUssQ0FBRyxtQkFBbUIsQ0FBRSxFQUFHLEVBQUUsT0FBTztvQkFDbEQsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7aUJBQ3BCO2dCQUNELGFBQWE7Z0JBQ2IsSUFBSyxHQUFHLENBQUMsS0FBSyxDQUFHLFVBQVUsQ0FBRSxFQUFHLEVBQUUsNkJBQTZCO29CQUM3RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFHLHFCQUFxQixDQUFFLENBQUM7b0JBQ3BELElBQUssS0FBSyxFQUFHO3dCQUNYLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQzt3QkFDL0IsSUFBSyxFQUFFLElBQUksRUFBRSxFQUFHLEVBQUUsS0FBSzs0QkFDckIsR0FBRyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7eUJBQ2xCOzZCQUFNLElBQUssRUFBRSxJQUFJLEVBQUUsRUFBRyxFQUFFLEtBQUs7NEJBQzVCLEdBQUcsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO3lCQUNuQjs2QkFBTSxJQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUcsRUFBRSxLQUFLOzRCQUM1QixHQUFHLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQzt5QkFDcEI7NkJBQU0sSUFBSyxFQUFFLElBQUksRUFBRSxFQUFHLEVBQUUsU0FBUzt5QkFDakM7NkJBQU0sSUFBSyxFQUFFLElBQUksRUFBRSxFQUFHLEVBQUUsUUFBUTs0QkFDL0IsR0FBRyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7eUJBQy9COzZCQUFNLEVBQUUsYUFBYTs0QkFDcEIsR0FBRyxHQUFHLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO3lCQUM5QztxQkFDRjtpQkFDRjtnQkFDRCxzQkFBc0I7Z0JBQ3RCLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUcsNEJBQTRCLENBQUUsQ0FBQztnQkFDckUsSUFBSyxlQUFlLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxLQUFLLG9CQUFvQixJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUc7b0JBQ3hHLFFBQVEsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0Y7WUFDRCxXQUFXO1lBQ1gsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFDLFFBQVE7WUFDeEQsSUFBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRztnQkFDMUMsUUFBUSxJQUFJLFVBQVUsU0FBUyxHQUFHLENBQUE7YUFDbkM7WUFDRCxJQUFLLEtBQUssRUFBRztnQkFDWCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFHLHFCQUFxQixDQUFFLENBQUM7Z0JBQ3pELElBQUssVUFBVSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUc7b0JBQy9DLFFBQVEsSUFBSSxVQUFVLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsZUFBZTtZQUNmLElBQUssUUFBUSxFQUFHO2dCQUNkLEdBQUcsR0FBRyxnQkFBZ0IsUUFBUSxLQUFLLEdBQUcsU0FBUyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLElBQUksQ0FBRSxDQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7SUFFL0MsSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUcsSUFBSSxDQUFFLENBQUM7SUFFakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFHLGlCQUFpQixFQUFFLElBQUksQ0FBRSxDQUFDLDJCQUEyQjtTQUMvRCxPQUFPLENBQUcscUJBQXFCLEVBQUUsT0FBTyxDQUFFLENBQUMsMkJBQTJCO1NBQ3RFLE9BQU8sQ0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFFLENBQUMsdUJBQXVCO1NBQ2hELE9BQU8sQ0FBRyxpQkFBaUIsRUFBRSxLQUFLLENBQUUsQ0FBQywrQ0FBK0M7U0FDcEYsT0FBTyxDQUFHLHlDQUF5QyxFQUFFLE1BQU0sQ0FBRSxDQUFDLHdEQUF3RDtTQUN0SCxPQUFPLENBQUcsZUFBZSxFQUFFLEtBQUssQ0FBRSxDQUFDLDZDQUE2QztTQUNoRixPQUFPLENBQUcsaUJBQWlCLEVBQUUsTUFBTSxDQUFFLENBQUMseUJBQXlCO1NBQy9ELE9BQU8sQ0FBRyw0QkFBNEIsRUFBRSxTQUFTLENBQUUsQ0FBQyxrQ0FBa0M7U0FDdEYsT0FBTyxDQUFHLGVBQWUsRUFBRSxFQUFFLENBQUUsQ0FBQywrQ0FBK0M7U0FDL0UsSUFBSSxFQUFHLENBQUMsQ0FBQyx3Q0FBd0M7QUFFL0QsQ0FBQztBQUVELFlBQVk7QUFFWixrQkFBZSxhQUFhLENBQUMifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHRtbDJtYXJrZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsWUFBWTs7QUFFWixpRUFBcUUsQ0FBQyxNQUFNO0FBRzVFLG9DQUE2QjtBQUU3QixxQkFBcUI7QUFFckIsNkNBQTZDO0FBQzdDLHlDQUF5QztBQUV6QywwR0FBMEc7QUFFMUcsU0FBUyxhQUFhLENBQUcsSUFBWSxFQUFFLE9BQWlCO0lBRXRELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFHLGtCQUFrQixFQUFFLEVBQUUsQ0FBRSxDQUFDLHNCQUFzQjtTQUN6RCxPQUFPLENBQUcsZUFBZSxFQUFFLEVBQUUsQ0FBRSxDQUFDLHNEQUFzRDtTQUN0RixPQUFPLENBQUcseUJBQXlCLEVBQUUsRUFBRSxDQUFFLENBQUMscUJBQXFCO1NBQy9ELE9BQU8sQ0FBRyxvQkFBb0IsRUFBRSxFQUFFLENBQUUsQ0FBQyxvQkFBb0I7U0FDekQsT0FBTyxDQUFHLHVDQUF1QyxFQUFFLG1CQUFtQixDQUFFLENBQUMsQ0FBQywyQkFBMkI7SUFFakgsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUcsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUUsQ0FBQyxDQUFDLDBCQUEwQjtJQUVoSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBRyxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBRSxDQUFDLGdDQUFnQztTQUNySCxPQUFPLENBQUcsb0NBQW9DLEVBQUUsMkJBQTJCLENBQUUsQ0FBQyxrQ0FBa0M7U0FDaEgsT0FBTyxDQUFHLHlEQUF5RCxFQUFFLFdBQVcsQ0FBRSxDQUFDLDJCQUEyQjtTQUM5RyxPQUFPLENBQUcsMENBQTBDLEVBQUUsV0FBVyxDQUFFLENBQUMsNkJBQTZCO1NBQ2pHLE9BQU8sQ0FBRyxrREFBa0QsRUFBRSxRQUFRLENBQUUsQ0FBQywyQkFBMkI7U0FDcEcsT0FBTyxDQUFHLG1DQUFt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 |
@@ -25,4 +25,4 @@ import { Promisable } from 'type-fest'; | ||
provider: AbstractProvider<NoteRaw, AttachmentRaw>; | ||
get(attachment: AttachmentRaw): Promise<Attachment>; | ||
getMetadata(attachment: AttachmentRaw): Promisable<Partial<AttachmentMetadata>>; | ||
get(attachment: AttachmentRaw): Promise<Attachment[]>; | ||
getMetadata(attachment: AttachmentRaw): Promisable<Partial<AttachmentMetadata> | Partial<AttachmentMetadata>[]>; | ||
sanitizeMetadata(metadata: Partial<AttachmentMetadata>): AttachmentMetadata; | ||
@@ -29,0 +29,0 @@ getContent(attachment: AttachmentRaw, metadata: AttachmentMetadata): Promisable<Content>; |
@@ -16,3 +16,3 @@ "use strict"; | ||
isSupported(source) { | ||
return !!this.extensions.find(ext => utils_1.default.lang.isString(source) && source.endsWith(ext)); | ||
return utils_1.default.lang.isString(source) && !!this.extensions.find(ext => source.endsWith(ext)); | ||
} | ||
@@ -55,3 +55,3 @@ async getDetails(source) { | ||
return { | ||
title: metadata.title ? sanitize_basename_1.default(html_entities_decode_1.default(metadata.title).trim()) || titleFallback : titleFallback, | ||
title: metadata.title ? sanitize_basename_1.default(html_entities_decode_1.default(String(metadata.title)).trim()) || titleFallback : titleFallback, | ||
tags: metadata.tags ? metadata.tags.map(tag => String(tag).trim()).filter(tag => tag) : [], | ||
@@ -67,3 +67,4 @@ attachments: metadata.attachments ? metadata.attachments.map(attachment => { | ||
created, | ||
modified | ||
modified, | ||
sourceUrl: utils_1.default.lang.isString(metadata.sourceUrl) ? metadata.sourceUrl : undefined | ||
}; | ||
@@ -81,4 +82,4 @@ } | ||
async get(attachment) { | ||
const metadata = this.sanitizeMetadata(await this.getMetadata(attachment)), content = await this.getContent(attachment, metadata); | ||
return { metadata, content }; | ||
const metadatas = utils_1.default.lang.castArray(await this.getMetadata(attachment)).map(metadata => this.sanitizeMetadata(metadata)), contents = await Promise.all(metadatas.map(metadata => this.getContent(attachment, metadata))), attachments = metadatas.map((metadata, i) => ({ metadata, content: contents[i] })); | ||
return attachments; | ||
} | ||
@@ -92,3 +93,4 @@ getMetadata(attachment) { | ||
created: metadata.created && utils_1.default.lang.isDateValid(metadata.created) ? metadata.created : new Date('invalid'), | ||
modified: metadata.modified && utils_1.default.lang.isDateValid(metadata.modified) ? metadata.modified : new Date('invalid') //UGLY: we are using this invalid date as kind of like a global variable | ||
modified: metadata.modified && utils_1.default.lang.isDateValid(metadata.modified) ? metadata.modified : new Date('invalid'), | ||
mime: metadata.mime | ||
}; | ||
@@ -101,2 +103,2 @@ } | ||
exports.AbstractAttachment = AbstractAttachment; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxZQUFZOztBQUVaLCtEQUEwQztBQUMxQyx5REFBeUM7QUFHekMsc0NBQStCO0FBQy9CLG9DQUE2QjtBQUU3QixjQUFjO0FBRWQsTUFBZSxnQkFBZ0I7SUFRN0IsWUFBYyxPQUFvRCxZQUFZLEVBQUUsYUFBZ0Usa0JBQWtCO1FBRWhLLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksVUFBVSxFQUFHLENBQUM7UUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRXZELENBQUM7SUFFRCxXQUFXLENBQUcsTUFBYztRQUUxQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFHLE1BQU0sQ0FBRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUcsR0FBRyxDQUFFLENBQUUsQ0FBQztJQUVyRyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBRyxNQUFjO1FBRS9CLElBQUssQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRyxNQUFNLENBQUU7WUFBRyxPQUFPLEVBQUUsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLE1BQU0sZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUcsTUFBTSxDQUFFO1lBQ3hDLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7SUFFSixDQUFDO0lBRUQsVUFBVSxDQUFHLE1BQWM7UUFFekIsSUFBSyxlQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRyxNQUFN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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxZQUFZOztBQUVaLCtEQUEwQztBQUMxQyx5REFBeUM7QUFHekMsc0NBQStCO0FBQy9CLG9DQUE2QjtBQUU3QixjQUFjO0FBRWQsTUFBZSxnQkFBZ0I7SUFRN0IsWUFBYyxPQUFvRCxZQUFZLEVBQUUsYUFBZ0Usa0JBQWtCO1FBRWhLLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksVUFBVSxFQUFHLENBQUM7UUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRXZELENBQUM7SUFFRCxXQUFXLENBQUcsTUFBYztRQUUxQixPQUFPLGVBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFHLE1BQU0sQ0FBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUcsR0FBRyxDQUFFLENBQUUsQ0FBQztJQUVyRyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBRyxNQUFjO1FBRS9CLElBQUssQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRyxNQUFNLENBQUU7WUFBRyxPQUFPLEVBQUUsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLE1BQU0sZUFBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUcsTUFBTSxDQUFFO1lBQ3hDLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7SUFFSixDQUFDO0lBRUQsVUFBVSxDQUFHLE1BQWM7UUFFekIsSUFBSyxlQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBRyxNQUFN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 |
@@ -14,2 +14,4 @@ import { AttachmentMetadata, NoteMetadata, Content, SourceDetails } from '../types'; | ||
getContent(note: NoteRaw): Content; | ||
formatAttachmentsLinks(content: string): string; | ||
formatContent(content: Content, metadata: NoteMetadata): Content; | ||
} | ||
@@ -16,0 +18,0 @@ declare class BoostnoteAttachment extends AbstractAttachment<NoteRaw, AttachmentRaw> { |
@@ -27,3 +27,3 @@ "use strict"; | ||
tags: note.tags, | ||
attachments: await Promise.all(attachmentsPaths.map(attachmentPath => this.provider.attachment.get(attachmentPath))), | ||
attachments: utils_1.default.lang.flatten(await Promise.all(attachmentsPaths.map(attachmentPath => this.provider.attachment.get(attachmentPath)))), | ||
deleted: note.isTrashed, | ||
@@ -44,2 +44,10 @@ favorited: note.isStarred, | ||
} | ||
formatAttachmentsLinks(content) { | ||
return content.replace(/\]\(:storage\/[a-z0-9-]+\/([^)]+)\)/i, '](@attachment/$1)'); | ||
} | ||
formatContent(content, metadata) { | ||
let str = content.toString().trim(); | ||
str = this.formatAttachmentsLinks(str); | ||
return Buffer.from(str); | ||
} | ||
} | ||
@@ -59,2 +67,2 @@ exports.BoostnoteNote = BoostnoteNote; | ||
exports.default = new BoostnoteProvider(BoostnoteNote, BoostnoteAttachment); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vc3Rub3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9ib29zdG5vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVoseUNBQWtDO0FBQ2xDLDZCQUE2QjtBQUM3QixtREFBd0M7QUFFeEMsb0NBQTZCO0FBQzdCLHlDQUE4RTtBQU85RSxlQUFlO0FBRWYsTUFBTSxpQkFBa0IsU0FBUSwyQkFBd0M7SUFBeEU7O1FBRUUsU0FBSSxHQUFHLFdBQVcsQ0FBQztRQUNuQixlQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQVF6QixDQUFDO0lBTkMsV0FBVyxDQUFHLE9BQWdCO1FBRTVCLE9BQU8sQ0FBQyxtQkFBUyxDQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUcsQ0FBRSxDQUFDLENBQUM7SUFFN0MsQ0FBQztDQUVGO0FBNERPLDhDQUFpQjtBQTFEekIsTUFBTSxhQUFjLFNBQVEsdUJBQW9DO0lBRTlELEtBQUssQ0FBQyxXQUFXLENBQUcsSUFBYSxFQUFFLE9BQXNCO1FBRXZELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFHLElBQUksRUFBRSxPQUFPLENBQUUsQ0FBQztRQUVwRSxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksZUFBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFFO1lBQzVFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFdBQVcsRUFBRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFHLGNBQWMsQ0FBRSxDQUFFLENBQUU7WUFDN0gsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksQ0FBRyxJQUFJLENBQUMsU0FBUyxDQUFFO1lBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksSUFBSSxDQUFHLElBQUksQ0FBQyxTQUFTLENBQUU7U0FDeEQsQ0FBQztJQUVKLENBQUM7SUFFRCxtQkFBbUIsQ0FBRyxJQUFhLEVBQUUsT0FBc0I7UUFFekQsSUFBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQUcsT0FBTyxFQUFFLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx3QkFBVSxDQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsMkJBQTJCLENBQUUsQ0FBQSxDQUFDLENBQUMsRUFBRSxFQUM5RixjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBRSxFQUM1SixnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFHLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBRSxDQUFDO1FBRWxHLE9BQU8sZ0JBQWdCLENBQUM7SUFFMUIsQ0FBQztJQUVELFVBQVUsQ0FBRyxJQUFhO1FBRXhCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBRSxDQUFDO0lBRTVDLENBQUM7Q0FFRjtBQXNCMEIsc0NBQWE7QUFwQnhDLE1BQU0sbUJBQW9CLFNBQVEsNkJBQTBDO0lBRTFFLFdBQVcsQ0FBRyxVQUF5QjtRQUVyQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUcsVUFBVSxDQUFFO1NBQ25DLENBQUM7SUFFSixDQUFDO0lBRUQsVUFBVSxDQUFHLFVBQXlCO1FBRXBDLE9BQU8sZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUcsVUFBVSxDQUFFLENBQUM7SUFFeEMsQ0FBQztDQUVGO0FBSXlDLGtEQUFtQjtBQUM3RCxrQkFBZSxJQUFJLGlCQUFpQixDQUFHLGFBQWEsRUFBRSxtQkFBbUIsQ0FBRSxDQUFDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vc3Rub3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9ib29zdG5vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVoseUNBQWtDO0FBQ2xDLDZCQUE2QjtBQUM3QixtREFBd0M7QUFFeEMsb0NBQTZCO0FBQzdCLHlDQUE4RTtBQU85RSxlQUFlO0FBRWYsTUFBTSxpQkFBa0IsU0FBUSwyQkFBd0M7SUFBeEU7O1FBRUUsU0FBSSxHQUFHLFdBQVcsQ0FBQztRQUNuQixlQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQVF6QixDQUFDO0lBTkMsV0FBVyxDQUFHLE9BQWdCO1FBRTVCLE9BQU8sQ0FBQyxtQkFBUyxDQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUcsQ0FBRSxDQUFDLENBQUM7SUFFN0MsQ0FBQztDQUVGO0FBNEVPLDhDQUFpQjtBQTFFekIsTUFBTSxhQUFjLFNBQVEsdUJBQW9DO0lBRTlELEtBQUssQ0FBQyxXQUFXLENBQUcsSUFBYSxFQUFFLE9BQXNCO1FBRXZELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFHLElBQUksRUFBRSxPQUFPLENBQUUsQ0FBQztRQUVwRSxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksZUFBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFFO1lBQzVFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFdBQVcsRUFBRSxlQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFHLGNBQWMsQ0FBRSxDQUFFLENBQUUsQ0FBRTtZQUNwSixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksSUFBSSxDQUFHLElBQUksQ0FBQyxTQUFTLENBQUU7WUFDdEQsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLENBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRTtTQUN4RCxDQUFDO0lBRUosQ0FBQztJQUVELG1CQUFtQixDQUFHLElBQWEsRUFBRSxPQUFzQjtRQUV6RCxJQUFLLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFBRyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHdCQUFVLENBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsQ0FBRSxDQUFBLENBQUMsQ0FBQyxFQUFFLEVBQzlGLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFFLEVBQzVKLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUcsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFFLENBQUM7UUFFbEcsT0FBTyxnQkFBZ0IsQ0FBQztJQUUxQixDQUFDO0lBRUQsVUFBVSxDQUFHLElBQWE7UUFFeEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFFLENBQUM7SUFFNUMsQ0FBQztJQUVELHNCQUFzQixDQUFHLE9BQWU7UUFFdEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFHLHNDQUFzQyxFQUFFLG1CQUFtQixDQUFFLENBQUM7SUFFekYsQ0FBQztJQUVELGFBQWEsQ0FBRyxPQUFnQixFQUFFLFFBQXNCO1FBRXRELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUcsQ0FBQyxJQUFJLEVBQUcsQ0FBQztRQUV0QyxHQUFHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFHLEdBQUcsQ0FBRSxDQUFDO1FBRTFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBRyxHQUFHLENBQUUsQ0FBQztJQUU3QixDQUFDO0NBRUY7QUFzQjBCLHNDQUFhO0FBcEJ4QyxNQUFNLG1CQUFvQixTQUFRLDZCQUEwQztJQUUxRSxXQUFXLENBQUcsVUFBeUI7UUFFckMsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFHLFVBQVUsQ0FBRTtTQUNuQyxDQUFDO0lBRUosQ0FBQztJQUVELFVBQVUsQ0FBRyxVQUF5QjtRQUVwQyxPQUFPLGVBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFHLFVBQVUsQ0FBRSxDQUFDO0lBRXhDLENBQUM7Q0FFRjtBQUl5QyxrREFBbUI7QUFDN0Qsa0JBQWUsSUFBSSxpQkFBaUIsQ0FBRyxhQUFhLEVBQUUsbUJBQW1CLENBQUUsQ0FBQyJ9 |
@@ -15,6 +15,7 @@ import { AttachmentMetadata, NoteMetadata, Content } from '../types'; | ||
getContent(note: NoteRaw): Content; | ||
formatSourceUrl(content: string, sourceUrl: string): string; | ||
formatContent(content: Content, metadata: NoteMetadata): Content; | ||
} | ||
declare class EnexAttachment extends AbstractAttachment<NoteRaw, AttachmentRaw> { | ||
getMetadata(attachment: AttachmentRaw): Partial<AttachmentMetadata>; | ||
getMetadata(attachment: AttachmentRaw): Partial<AttachmentMetadata>[]; | ||
getContent(attachment: AttachmentRaw): Content; | ||
@@ -21,0 +22,0 @@ } |
@@ -25,5 +25,6 @@ "use strict"; | ||
tags: note.tag && utils_1.default.lang.castArray(note.tag), | ||
attachments: await Promise.all(resources.map(resource => this.provider.attachment.get(resource))), | ||
attachments: utils_1.default.lang.flatten(await Promise.all(resources.map(resource => this.provider.attachment.get(resource)))), | ||
created: note.created && this.parseDate(note.created), | ||
modified: note.updated && this.parseDate(note.updated) | ||
modified: note.updated && this.parseDate(note.updated), | ||
sourceUrl: note['note-attributes']['source-url'] | ||
}; | ||
@@ -42,4 +43,10 @@ } | ||
} | ||
formatSourceUrl(content, sourceUrl) { | ||
return `${content.trim()}\n\n---\n\n> Source: ${sourceUrl}`; | ||
} | ||
formatContent(content, metadata) { | ||
return Buffer.from(utils_1.default.format.html.convert(content.toString(), metadata.title)); | ||
let str = utils_1.default.format.html.convert(content.toString(), metadata.title); | ||
if (metadata.sourceUrl) | ||
str = this.formatSourceUrl(str, metadata.sourceUrl); | ||
return Buffer.from(str); | ||
} | ||
@@ -50,5 +57,14 @@ } | ||
getMetadata(attachment) { | ||
return { | ||
name: attachment['resource-attributes'] && attachment['resource-attributes']['file-name'] | ||
}; | ||
const metadatas = [], mime = attachment.mime, name = attachment['resource-attributes'] && attachment['resource-attributes']['file-name']; | ||
if (name) { | ||
metadatas.push({ name, mime }); | ||
} | ||
if (attachment.recognition) { | ||
const recognition = fast_xml_parser_1.parse(attachment.recognition, { ignoreAttributes: false }); | ||
if (recognition.recoIndex && recognition.recoIndex['@_objID']) { | ||
const ext = utils_1.default.mime.inferExtension(attachment.mime), name = `${recognition.recoIndex['@_objID']}${ext}`; | ||
metadatas.push({ name, mime }); | ||
} | ||
} | ||
return metadatas; | ||
} | ||
@@ -61,2 +77,2 @@ getContent(attachment) { | ||
exports.default = new EnexProvider(EnexNote, EnexAttachment); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5leC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvZW5leC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsWUFBWTs7QUFFWixxREFBZ0Q7QUFFaEQsb0NBQTZCO0FBQzdCLHlDQUE4RTtBQVE5RSxVQUFVO0FBRVYsTUFBTSxZQUFhLFNBQVEsMkJBQXdDO0lBQW5FOztRQUVFLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsZUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFRekIsQ0FBQztJQU5DLFdBQVcsQ0FBRyxPQUFnQjtRQUU1QixPQUFPLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLHVCQUFNLENBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUM7SUFFbkYsQ0FBQztDQUVGO0FBaUVPLG9DQUFZO0FBL0RwQixNQUFNLFFBQVMsU0FBUSx1QkFBb0M7SUFFekQsS0FBSyxDQUFDLFdBQVcsQ0FBRyxJQUFhO1FBRS9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQyxNQUFNLENBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVuSSxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksZUFBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFFO1lBQ3hFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLElBQUksQ0FBQyxHQUFHLENBQUU7WUFDbkQsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBRyxTQUFTLENBQUMsR0FBRyxDQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFHLFFBQVEsQ0FBRSxDQUFFLENBQUU7WUFDMUcsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBRyxJQUFJLENBQUMsT0FBTyxDQUFFO1lBQ3hELFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUMxRCxDQUFDO0lBRUosQ0FBQztJQUVELFNBQVMsQ0FBRyxJQUFZO1FBRXRCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUcsRUFBRSxDQUFFLENBQUM7UUFFaEMsS0FBSyxDQUFDLE1BQU0sQ0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBRSxDQUFDO1FBQzVCLEtBQUssQ0FBQyxNQUFNLENBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsTUFBTSxDQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBRSxDQUFDO1FBRTNCLE9BQU8sSUFBSSxJQUFJLENBQUcsS0FBSyxDQUFDLElBQUksQ0FBRyxFQUFFLENBQUUsQ0FBRSxDQUFDO0lBRXhDLENBQUM7SUFFRCxVQUFVLENBQUcsSUFBYTtRQUV4QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUUsQ0FBQztJQUU1QyxDQUFDO0lBRUQsYUFBYSxDQUFHLE9BQWdCLEVBQUUsUUFBc0I7UUFFdEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFHLGVBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRyxPQUFPLENBQUMsUUFBUSxFQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBRSxDQUFFLENBQUM7SUFFM0YsQ0FBQztDQUVGO0FBc0JxQiw0QkFBUTtBQXBCOUIsTUFBTSxjQUFlLFNBQVEsNkJBQTBDO0lBRXJFLFdBQVcsQ0FBRyxVQUF5QjtRQUVyQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUMxRixDQUFDO0lBRUosQ0FBQztJQUVELFVBQVUsQ0FBRyxVQUF5QjtRQUVwQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUUsQ0FBQztJQUVuRCxDQUFDO0NBRUY7QUFJK0Isd0NBQWM7QUFDOUMsa0JBQWUsSUFBSSxZQUFZLENBQUcsUUFBUSxFQUFFLGNBQWMsQ0FBRSxDQUFDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5leC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvZW5leC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsWUFBWTs7QUFFWixxREFBZ0Q7QUFFaEQsb0NBQTZCO0FBQzdCLHlDQUE4RTtBQVE5RSxVQUFVO0FBRVYsTUFBTSxZQUFhLFNBQVEsMkJBQXdDO0lBQW5FOztRQUVFLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsZUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFRekIsQ0FBQztJQU5DLFdBQVcsQ0FBRyxPQUFnQjtRQUU1QixPQUFPLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLHVCQUFNLENBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUM7SUFFbkYsQ0FBQztDQUVGO0FBbUdPLG9DQUFZO0FBakdwQixNQUFNLFFBQVMsU0FBUSx1QkFBb0M7SUFFekQsS0FBSyxDQUFDLFdBQVcsQ0FBRyxJQUFhO1FBRS9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQyxNQUFNLENBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVuSSxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksZUFBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFFO1lBQ3hFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLGVBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLElBQUksQ0FB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 |
@@ -15,2 +15,3 @@ /// <reference types="node" /> | ||
modified: Date; | ||
mime?: string; | ||
}; | ||
@@ -30,2 +31,3 @@ declare type Note = { | ||
modified: Date; | ||
sourceUrl?: string; | ||
}; | ||
@@ -32,0 +34,0 @@ declare type Dump = (note: Note) => Promisable<void>; |
@@ -6,2 +6,2 @@ "use strict"; | ||
exports.Stats = fs_1.Stats; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVosMkJBQXlCO0FBdUQyRixnQkF2RDVHLFVBQUssQ0F1RDRHIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVosMkJBQXlCO0FBeUQyRixnQkF6RDVHLFVBQUssQ0F5RDRHIn0= |
@@ -11,3 +11,8 @@ /// <reference types="node" /> | ||
castArray<T>(x: T | T[]): T[]; | ||
flatten<T>(x: T[][]): T[]; | ||
}; | ||
mime: { | ||
inferExtension(type: string): string; | ||
isImage(type: string): boolean; | ||
}; | ||
file: { | ||
@@ -14,0 +19,0 @@ checkSize(filePath: string): Promise<void>; |
@@ -5,2 +5,3 @@ "use strict"; | ||
const fs = require("fs"); | ||
const mime = require("mime-types"); | ||
const path = require("path"); | ||
@@ -29,4 +30,16 @@ const config_1 = require("./config"); | ||
return Utils.lang.isArray(x) ? x : [x]; | ||
}, | ||
flatten(x) { | ||
return [].concat.apply([], x); | ||
} | ||
}, | ||
mime: { | ||
inferExtension(type) { | ||
const ext = mime.extension(type); | ||
return ext ? `.${ext}` : ''; | ||
}, | ||
isImage(type) { | ||
return type.includes('image'); | ||
} | ||
}, | ||
file: { | ||
@@ -112,2 +125,2 @@ checkSize(filePath) { | ||
exports.default = Utils; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVoseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUU3QixxQ0FBOEI7QUFDOUIsbURBQTRDO0FBRTVDLFdBQVc7QUFFWCxNQUFNLEtBQUssR0FBRztJQUVaLElBQUksRUFBRTtRQUVKLE9BQU8sQ0FBRyxDQUFDO1lBRVQsT0FBTyxDQUFDLFlBQVksS0FBSyxDQUFDO1FBRTVCLENBQUM7UUFFRCxTQUFTLENBQUcsQ0FBQztZQUVYLE9BQU8sT0FBTyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBRWhDLENBQUM7UUFFRCxRQUFRLENBQUcsQ0FBQztZQUVWLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO1FBRS9CLENBQUM7UUFFRCxRQUFRLENBQUcsQ0FBQztZQUVWLE9BQU8sQ0FBQyxZQUFZLE1BQU0sQ0FBQztRQUU3QixDQUFDO1FBRUQsV0FBVyxDQUFHLENBQU87WUFFbkIsT0FBTyxDQUFDLEtBQUssQ0FBRyxDQUFDLENBQUMsT0FBTyxFQUFHLENBQUUsQ0FBQztRQUVqQyxDQUFDO1FBRUQsU0FBUyxDQUFNLENBQVU7WUFFdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBRyxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVDLENBQUM7S0FFRjtJQUVELElBQUksRUFBRTtRQUVKLFNBQVMsQ0FBRyxRQUFnQjtZQUUxQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFHLFFBQVEsQ0FBRSxDQUFDLElBQUksQ0FBRyxLQUFLLENBQUMsRUFBRTtnQkFFbEQsSUFBSyxLQUFLLENBQUMsSUFBSSxHQUFHLFVBQVUsSUFBSSxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUUsT0FBTyxDQUFHLElBQUksQ0FBRSxDQUFD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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLFlBQVk7O0FBRVoseUJBQXlCO0FBQ3pCLG1DQUFtQztBQUNuQyw2QkFBNkI7QUFFN0IscUNBQThCO0FBQzlCLG1EQUE0QztBQUU1QyxXQUFXO0FBRVgsTUFBTSxLQUFLLEdBQUc7SUFFWixJQUFJLEVBQUU7UUFFSixPQUFPLENBQUcsQ0FBQztZQUVULE9BQU8sQ0FBQyxZQUFZLEtBQUssQ0FBQztRQUU1QixDQUFDO1FBRUQsU0FBUyxDQUFHLENBQUM7WUFFWCxPQUFPLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQztRQUVoQyxDQUFDO1FBRUQsUUFBUSxDQUFHLENBQUM7WUFFVixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztRQUUvQixDQUFDO1FBRUQsUUFBUSxDQUFHLENBQUM7WUFFVixPQUFPLENBQUMsWUFBWSxNQUFNLENBQUM7UUFFN0IsQ0FBQztRQUVELFdBQVcsQ0FBRyxDQUFPO1lBRW5CLE9BQU8sQ0FBQyxLQUFLLENBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRyxDQUFFLENBQUM7UUFFakMsQ0FBQztRQUVELFNBQVMsQ0FBTSxDQUFVO1lBRXZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUcsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QyxDQUFDO1FBRUQsT0FBTyxDQUFNLENBQVE7WUFFbkIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFFbkMsQ0FBQztLQUVGO0lBRUQsSUFBSSxFQUFFO1FBRUosY0FBYyxDQUFHLElBQVk7WUFFM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRyxJQUFJLENBQUUsQ0FBQztZQUVwQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTlCLENBQUM7UUFFRCxPQUFPLENBQUcsSUFBWTtZQUVwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUcsT0FBTyxDQUFFLENBQUM7UUFFbkMsQ0FBQztLQUVGO0lBRUQsSUFBSSxFQUFFO1FBRUosU0FBUyxDQUFHLFFBQWdCO1lBRTFCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUcsUUFBUSxDQUFFLENBQUMsSUFBSSxDQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUVsRCxJQUFLLEtBQUssQ0FBQyxJQUFJLEdBQUcsVUFBVSxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBRSxPQUFPLENBQUcsSUFBSSxDQUFFLENBQUMsaUJBQWlCLEVBQUcsQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFFO29CQUFHLE9BQU87Z0JBRXRILE1BQU0sSUFBSSxLQUFLLENBQUcsb0RBQW9ELENBQUUsQ0FBQztZQUUzRSxDQUFDLENBQUMsQ0FBQztRQUVMLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFHLFFBQWdCO1lBRTNCLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUcsUUFBUSxDQUFFLENBQUM7WUFFeEMsT0FBTyxJQUFJLE9BQU8sQ0FBRyxDQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUcsRUFBRTtnQkFFekMsRUFBRSxDQUFDLFFBQVEsQ0FBRyxRQUFRLEVBQUUsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFHLEVBQUU7b0JBRXRDLElBQUssR0FBRzt3QkFBRyxPQUFPLE1BQU0sQ0FBRyxHQUFHLENBQUUsQ0FBQztvQkFFakMsT0FBTyxDQUFHLElBQUksQ0FBRSxDQUFDO2dCQUVuQixDQUFDLENBQUMsQ0FBQztZQUVMLENBQUMsQ0FBQyxDQUFDO1FBRUwsQ0FBQztRQUVELEtBQUssQ0FBRyxRQUFnQjtZQUV0QixPQUFPLElBQUksT0FBTyxDQUFHLENBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRyxFQUFFO2dCQUV6QyxFQUFFLENBQUMsSUFBSSxDQUFHLFFBQVEsRUFBRSxDQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUcsRUFBRTtvQkFFbkMsSUFBSyxHQUFHO3dCQUFHLE9BQU8sTUFBTSxDQUFHLEdBQUcsQ0FBRSxDQUFDO29CQUVqQyxPQUFPLENBQUcsS0FBSyxDQUFFLENBQUM7Z0JBRXBCLENBQUMsQ0FBQyxDQUFDO1lBRUwsQ0FBQyxDQUFDLENBQUM7UUFFTCxDQUFDO0tBRUY7SUFFRCxJQUFJLEVBQUU7UUFFSixJQUFJLENBQUcsUUFBZ0I7WUFFckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFHLFFBQVEsQ0FBRSxDQUFFLENBQUM7UUFFL0QsQ0FBQztLQUVGO0lBRUQsTUFBTSxFQUFFO1FBRU4sR0FBRyxFQUFFO1lBRUgsVUFBVSxDQUFHLE9BQWU7Z0JBRTFCLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBRyxZQUFZLENBQUUsQ0FBQztnQkFFeEQsSUFBSyxnQkFBZ0I7b0JBQUcsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUcsQ0FBQztZQUU3RCxDQUFDO1NBRUY7UUFFRCxRQUFRLEVBQUU7WUFFUixVQUFVLENBQUcsT0FBZTtnQkFFMUIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBRyw4QkFBOEIsQ0FBRSxDQUFDO2dCQUV0RSxJQUFLLFlBQVk7b0JBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFHLENBQUM7WUFFckQsQ0FBQztTQUVGO1FBRUQsSUFBSSxFQUFFO1lBRUosVUFBVSxDQUFHLE9BQWU7Z0JBRTFCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUcsOEJBQThCLENBQUUsQ0FBQztnQkFFdEUsSUFBSyxZQUFZO29CQUFHLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRyxDQUFDO2dCQUVuRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFHLG9DQUFvQyxDQUFFLENBQUM7Z0JBRTFFLElBQUssVUFBVTtvQkFBRyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUcsQ0FBQztZQUVqRCxDQUFDO1lBRUQsV0FBVyxDQUFHLE9BQWUsRUFBRSxLQUFhO2dCQUUxQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFHLDhCQUE4QixDQUFFLENBQUM7Z0JBRXRFLElBQUssWUFBWTtvQkFBRyxPQUFPLE9BQU8sQ0FBQztnQkFFbkMsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLE9BQU8sRUFDOUIsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUcsUUFBUSxDQUFFLENBQUM7Z0JBRS9DLElBQUssU0FBUyxJQUFJLENBQUMsRUFBRztvQkFFcEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFHLFNBQVMsQ0FBRSxFQUFFLENBQUM7aUJBRTdGO3FCQUFNO29CQUVMLE9BQU8sR0FBRyxRQUFRLEdBQUcsT0FBTyxFQUFFLENBQUM7aUJBRWhDO1lBRUgsQ0FBQztZQUVELE9BQU8sQ0FBRyxPQUFlLEVBQUUsS0FBYztnQkFFdkMsS0FBSyxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUcsT0FBTyxDQUFFLENBQUM7Z0JBRTFELElBQUssS0FBSztvQkFBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFHLE9BQU8sRUFBRSxLQUFLLENBQUUsQ0FBQztnQkFFeEUsT0FBTyx1QkFBYSxDQUFHLE9BQU8sRUFBRSxnQkFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUUsQ0FBQztZQUVqRSxDQUFDO1NBRUY7S0FFRjtDQUVGLENBQUM7QUFFRixZQUFZO0FBRVosa0JBQWUsS0FBSyxDQUFDIn0= |
{ | ||
"name": "@notable/dumper", | ||
"description": "Library for extracting attachments, notes and metadata out of formats used by popular note-taking apps.", | ||
"version": "1.3.1", | ||
"version": "1.3.2", | ||
"main": "dist/index.js", | ||
@@ -40,4 +40,5 @@ "files": [ | ||
"cson2json": "^1.0.0", | ||
"fast-xml-parser": "3.13.0", | ||
"html-entities-decode": "^1.0.0", | ||
"fast-xml-parser": "3.16.0", | ||
"html-entities-decode": "^1.0.1", | ||
"mime-types": "^2.1.26", | ||
"sanitize-basename": "^1.0.0", | ||
@@ -51,2 +52,3 @@ "string-matches": "^1.1.3", | ||
"devDependencies": { | ||
"@types/mime-types": "^2.1.0", | ||
"@types/node": "^12.6.8", | ||
@@ -53,0 +55,0 @@ "@types/turndown": "^5.0.0", |
@@ -7,2 +7,3 @@ | ||
import TurndownService = require ( 'turndown' ); | ||
import Utils from '../utils'; | ||
@@ -14,2 +15,4 @@ /* HTML 2 MARKDOWN */ | ||
// Custom elements are transformed into regular non-empty "<div>" elements, otherwise they will be ignored | ||
function html2markdown ( html: string, options?: Options ): string { | ||
@@ -23,2 +26,4 @@ | ||
html = html.replace ( /<en-media([^>]+)><\/en-media>/g, '<div node="EN-MEDIA"$1>placeholder</div>' ); // Preserving `<en-media>` | ||
html = html.replace ( /<en-todo checked="true"(.*?)\/?>/g, '<input type="checkbox" checked />' ) // Replace enex checked checkbox | ||
@@ -62,5 +67,8 @@ .replace ( /<en-todo checked="false"(.*?)\/?>/g, '<input type="checkbox" />' ) // Replace enex unchecked checkbox | ||
if ( !style ) return ''; | ||
const alignment = style.match ( /text-align:\s*(\S+);/ ); | ||
const alignment = style.match ( /text-align:\s*(\S+?);/ ); | ||
if ( !alignment ) return `${str}\n\n`; | ||
return `<p align="${alignment[1]}">${str}</p>\n\n`; | ||
const nodeName = ele.nodeName; | ||
const tag = /^h\d$/i.test ( nodeName ) ? nodeName.toLowerCase () : 'p'; | ||
if ( str.includes ( '\n' ) ) str = `\n\n${str}\n\n`; | ||
return `<${tag} align="${alignment[1]}">${str}</${tag}>\n\n`; | ||
} | ||
@@ -80,2 +88,17 @@ }); | ||
service.addRule ( 'media-enex', { | ||
filter: node => node.nodeName === 'DIV' && node.getAttribute ( 'node' ) === 'EN-MEDIA' && !!node.getAttribute ( 'hash' ) && !!node.getAttribute ( 'type' ), | ||
replacement: ( str, ele: HTMLElement ) => { | ||
const hash = ele.getAttribute ( 'hash' ); | ||
const type = ele.getAttribute ( 'type' ) || ''; | ||
const filename = `${hash}${Utils.mime.inferExtension ( type )}`; | ||
const isImage = Utils.mime.isImage ( type ); | ||
if ( isImage ) { | ||
return `<img src="@attachment/${filename}" />`; | ||
} else { | ||
return `<a href="@attachment/${filename}">${filename}</a>`; | ||
} | ||
} | ||
}); | ||
service.addRule ( 'mixed', { | ||
@@ -82,0 +105,0 @@ filter: ['font', 'span'], |
@@ -32,3 +32,3 @@ | ||
return !!this.extensions.find ( ext => Utils.lang.isString ( source ) && source.endsWith ( ext ) ); | ||
return Utils.lang.isString ( source ) && !!this.extensions.find ( ext => source.endsWith ( ext ) ); | ||
@@ -106,3 +106,3 @@ } | ||
return { | ||
title: metadata.title ? sanitize ( decode ( metadata.title ).trim () ) || titleFallback : titleFallback, | ||
title: metadata.title ? sanitize ( decode ( String ( metadata.title ) ).trim () ) || titleFallback : titleFallback, | ||
tags: metadata.tags ? metadata.tags.map ( tag => String ( tag ).trim () ).filter ( tag => tag ) : [], | ||
@@ -118,3 +118,4 @@ attachments: metadata.attachments ? metadata.attachments.map ( attachment => { | ||
created, | ||
modified | ||
modified, | ||
sourceUrl: Utils.lang.isString ( metadata.sourceUrl ) ? metadata.sourceUrl : undefined | ||
}; | ||
@@ -142,12 +143,13 @@ | ||
async get ( attachment: AttachmentRaw ): Promise<Attachment> { | ||
async get ( attachment: AttachmentRaw ): Promise<Attachment[]> { | ||
const metadata = this.sanitizeMetadata ( await this.getMetadata ( attachment ) ), | ||
content = await this.getContent ( attachment, metadata ); | ||
const metadatas = Utils.lang.castArray ( await this.getMetadata ( attachment ) ).map ( metadata => this.sanitizeMetadata ( metadata ) ), | ||
contents = await Promise.all ( metadatas.map ( metadata => this.getContent ( attachment, metadata ) ) ), | ||
attachments = metadatas.map ( ( metadata, i ) => ({ metadata, content: contents[i] }) ); | ||
return { metadata, content }; | ||
return attachments; | ||
} | ||
getMetadata ( attachment: AttachmentRaw ): Promisable<Partial<AttachmentMetadata>> { | ||
getMetadata ( attachment: AttachmentRaw ): Promisable<Partial<AttachmentMetadata> | Partial<AttachmentMetadata>[]> { | ||
@@ -163,3 +165,4 @@ throw new Error ( 'Missing implementation: Attachment#getMetadata' ); | ||
created: metadata.created && Utils.lang.isDateValid ( metadata.created ) ? metadata.created : new Date ( 'invalid' ), //UGLY: we are using this invalid date as kind of like a global variable | ||
modified: metadata.modified && Utils.lang.isDateValid ( metadata.modified ) ? metadata.modified : new Date ( 'invalid' ) //UGLY: we are using this invalid date as kind of like a global variable | ||
modified: metadata.modified && Utils.lang.isDateValid ( metadata.modified ) ? metadata.modified : new Date ( 'invalid' ), //UGLY: we are using this invalid date as kind of like a global variable | ||
mime: metadata.mime | ||
}; | ||
@@ -166,0 +169,0 @@ |
@@ -40,3 +40,3 @@ | ||
tags: note.tags, | ||
attachments: await Promise.all ( attachmentsPaths.map ( attachmentPath => this.provider.attachment.get ( attachmentPath ) ) ), | ||
attachments: Utils.lang.flatten ( await Promise.all ( attachmentsPaths.map ( attachmentPath => this.provider.attachment.get ( attachmentPath ) ) ) ), | ||
deleted: note.isTrashed, | ||
@@ -68,2 +68,18 @@ favorited: note.isStarred, | ||
formatAttachmentsLinks ( content: string ): string { | ||
return content.replace ( /\]\(:storage\/[a-z0-9-]+\/([^)]+)\)/i, '](@attachment/$1)' ); | ||
} | ||
formatContent ( content: Content, metadata: NoteMetadata ): Content { | ||
let str = content.toString ().trim (); | ||
str = this.formatAttachmentsLinks ( str ); | ||
return Buffer.from ( str ); | ||
} | ||
} | ||
@@ -70,0 +86,0 @@ |
@@ -39,5 +39,6 @@ | ||
tags: note.tag && Utils.lang.castArray ( note.tag ), | ||
attachments: await Promise.all ( resources.map ( resource => this.provider.attachment.get ( resource ) ) ), | ||
attachments: Utils.lang.flatten ( await Promise.all ( resources.map ( resource => this.provider.attachment.get ( resource ) ) ) ), | ||
created: note.created && this.parseDate ( note.created ), | ||
modified: note.updated && this.parseDate ( note.updated ) | ||
modified: note.updated && this.parseDate ( note.updated ), | ||
sourceUrl: note['note-attributes']['source-url'] | ||
}; | ||
@@ -66,6 +67,16 @@ | ||
formatSourceUrl ( content: string, sourceUrl: string ): string { | ||
return `${content.trim ()}\n\n---\n\n> Source: ${sourceUrl}`; | ||
} | ||
formatContent ( content: Content, metadata: NoteMetadata ): Content { | ||
return Buffer.from ( Utils.format.html.convert ( content.toString (), metadata.title ) ); | ||
let str = Utils.format.html.convert ( content.toString (), metadata.title ); | ||
if ( metadata.sourceUrl ) str = this.formatSourceUrl ( str, metadata.sourceUrl ); | ||
return Buffer.from ( str ); | ||
} | ||
@@ -77,8 +88,31 @@ | ||
getMetadata ( attachment: AttachmentRaw ): Partial<AttachmentMetadata> { | ||
getMetadata ( attachment: AttachmentRaw ): Partial<AttachmentMetadata>[] { | ||
return { | ||
name: attachment['resource-attributes'] && attachment['resource-attributes']['file-name'] | ||
}; | ||
const metadatas: Partial<AttachmentMetadata>[] = [], | ||
mime = attachment.mime, | ||
name = attachment['resource-attributes'] && attachment['resource-attributes']['file-name']; | ||
if ( name ) { | ||
metadatas.push ({ name, mime }); | ||
} | ||
if ( attachment.recognition ) { | ||
const recognition = xml2js ( attachment.recognition, { ignoreAttributes: false } ); | ||
if ( recognition.recoIndex && recognition.recoIndex['@_objID'] ) { | ||
const ext = Utils.mime.inferExtension ( attachment.mime ), | ||
name = `${recognition.recoIndex['@_objID']}${ext}`; | ||
metadatas.push ({ name, mime }); | ||
} | ||
} | ||
return metadatas; | ||
} | ||
@@ -85,0 +119,0 @@ |
@@ -21,3 +21,4 @@ | ||
created: Date, | ||
modified: Date | ||
modified: Date, | ||
mime?: string | ||
}; | ||
@@ -38,3 +39,4 @@ | ||
created: Date, | ||
modified: Date | ||
modified: Date, | ||
sourceUrl?: string | ||
}; | ||
@@ -41,0 +43,0 @@ |
@@ -5,2 +5,3 @@ | ||
import * as fs from 'fs'; | ||
import * as mime from 'mime-types'; | ||
import * as path from 'path'; | ||
@@ -51,2 +52,8 @@ import {Stats} from './types'; | ||
}, | ||
flatten<T> ( x: T[][] ): T[] { | ||
return [].concat.apply ( [], x ); | ||
} | ||
@@ -56,2 +63,20 @@ | ||
mime: { | ||
inferExtension ( type: string ): string { | ||
const ext = mime.extension ( type ); | ||
return ext ? `.${ext}` : ''; | ||
}, | ||
isImage ( type: string ): boolean { | ||
return type.includes ( 'image' ); | ||
} | ||
}, | ||
file: { | ||
@@ -58,0 +83,0 @@ |
123444
2281
8
10
+ Addedmime-types@^2.1.26
+ Addedfast-xml-parser@3.16.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
- Removedfast-xml-parser@3.13.0(transitive)
Updatedfast-xml-parser@3.16.0
Updatedhtml-entities-decode@^1.0.1