UNPKG

yarle-evernote-to-md

Version:

Yet Another Rope Ladder from Evernote

62 lines 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processNode = void 0; const os_1 = require("os"); const templates_1 = require("./utils/templates/templates"); const utils_1 = require("./utils"); const yarle_1 = require("./yarle"); const process_resources_1 = require("./process-resources"); const convert_html_to_md_1 = require("./convert-html-to-md"); const convert_to_html_1 = require("./convert-to-html"); const loggerInfo_1 = require("./utils/loggerInfo"); const runtime_properties_1 = require("./runtime-properties"); const LanguageFactory_1 = require("./outputLanguages/LanguageFactory"); const get_title_1 = require("./utils/get-title"); const processNode = (pureNote, notebookName) => { const dateStarted = new Date(); (0, loggerInfo_1.loggerInfo)(os_1.EOL); (0, loggerInfo_1.loggerInfo)(`Conversion started at ${dateStarted}`); const runtimeProps = runtime_properties_1.RuntimePropertiesSingleton.getInstance(); runtimeProps.setCurrentNoteName(pureNote.title); let noteData = { created: pureNote.created, title: (0, get_title_1.performRegexpOnTitle)(yarle_1.yarleOptions, pureNote.title), noteName: pureNote.title, content: Array.isArray(pureNote.content) ? pureNote.content.join('') : pureNote.content, originalContent: pureNote.content, }; // tslint:disable-next-line:no-console (0, loggerInfo_1.loggerInfo)(`Converting note "${noteData.title}"...`); try { let htmlContent = noteData.content; if ((0, utils_1.hasResource)(pureNote)) { htmlContent = (0, process_resources_1.processResources)(pureNote); } htmlContent = (0, process_resources_1.prepareContentByExtractingDataUrlResources)(pureNote, htmlContent); noteData.markdownContent = (0, convert_html_to_md_1.convertHtml2MdContent)(yarle_1.yarleOptions, htmlContent); noteData = Object.assign(Object.assign({}, noteData), (0, utils_1.getMetadata)(pureNote, notebookName)); noteData.tags = (0, utils_1.getTags)(pureNote); noteData.appliedMarkdownContent = (0, templates_1.applyTemplate)(noteData, yarle_1.yarleOptions); // tslint:disable-next-line:no-console // loggerInfo(`data =>\n ${JSON.stringify(data)} \n***`); const langaugeFactory = new LanguageFactory_1.LanguageFactory(); const targetLanguage = langaugeFactory.createLanguage(yarle_1.yarleOptions.outputFormat); targetLanguage.noteProcess(yarle_1.yarleOptions, noteData, pureNote); if (yarle_1.yarleOptions.keepOriginalHtml) { noteData.htmlContent = htmlContent; (0, convert_to_html_1.convert2Html)(noteData); (0, utils_1.saveHtmlFile)(noteData, pureNote); } } catch (e) { // tslint:disable-next-line:no-console (0, loggerInfo_1.loggerInfo)(`Failed to convert note: ${noteData.title}, ${JSON.stringify(e)}`); } // tslint:disable-next-line:no-console const dateFinished = new Date(); const conversionDuration = (dateFinished.getTime() - dateStarted.getTime()) / 1000; // in seconds. (0, loggerInfo_1.loggerInfo)(`Conversion finished at ${dateFinished}`); (0, loggerInfo_1.loggerInfo)(`Note "${noteData.title}" converted successfully in ${conversionDuration} seconds.`); }; exports.processNode = processNode; //# sourceMappingURL=process-node.js.map