yarle-evernote-to-md
Version:
Yet Another Rope Ladder from Evernote
850 lines (714 loc) • 26.1 kB
text/typescript
import { YarleTest } from './yarle-test';
import { OutputFormat } from "../src/output-format";
import * as path from 'path';
import { YarleTestModifierOptions } from './yarle-test-modifier-options';
const dataFolder = `${path.sep}data${path.sep}`;
const testDataFolder = `${path.sep}test${dataFolder}`;
export const yarleTests: Array<YarleTest> = [
{
name: 'Enex file with note containing text only',
options: {
enexSources: [ `${__dirname}${path.sep}..${path.sep}${testDataFolder}test-justText.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-justText${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-justText.md`,
},
{
name: 'Enex file with note containing text only - remove characters which break obsidian links',
options: {
enexSources: [ `${__dirname}${path.sep}..${path.sep}${testDataFolder}test-justText-linkbreakingNote.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-justText-linkbreakingNote${path.sep}test -note _with text only.md`,
expectedOutputPath: `${dataFolder}test -note _with text only.md`,
},
{
name: 'Enex file with note WithHyperlinkRefs',
options: {
enexSources: [ `.${testDataFolder}test-bracketlinks.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-bracketlinks${path.sep}test - bracketlinks.md`,
expectedOutputPath: `${dataFolder}test-bracketlinks.md`,
},
{
name: 'Enex file with note containing text only',
options: {
enexSources: [ `.${testDataFolder}test-justText.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-justText${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-justText.md`,
},
{
name: 'Note with code block',
options: {
enexSources: [ `.${testDataFolder}test-noteWithCodeBlock.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-noteWithCodeBlock${path.sep}Note with code block.md`,
expectedOutputPath: `${dataFolder}test-noteWithCodeBlock.md`,
},
{
name: 'Note with tags',
options: {
enexSources: [ `.${testDataFolder}test-noteWithTags.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-noteWithTags${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithTags.md`,
},
{
name: 'Note with nested tags',
options: {
enexSources: [ `.${testDataFolder}test-noteWithNestedTags.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
nestedTags: {
separatorInEN: '_',
replaceSeparatorWith: '/'
},
useHashTags: true
},
testOutputPath: `notes${path.sep}test-noteWithNestedTags${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithNestedTags.md`,
},
{
name: 'Note with nested tags containing spaces',
options: {
enexSources: [ `.${testDataFolder}test-noteWithNestedTagsAndSpaces.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
nestedTags: {
separatorInEN: '_',
replaceSeparatorWith: '/'
},
useHashTags: true
},
testOutputPath: `notes${path.sep}test-noteWithNestedTagsAndSpaces${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithNestedTagsAndSpaces.md`,
},
{
name: 'Note with nested tags containing spaces and a specific character to be replaced to',
options: {
enexSources: [ `.${testDataFolder}test-noteWithNestedTagsAndSpacesCustom.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
nestedTags: {
separatorInEN: '_',
replaceSeparatorWith: '/',
replaceSpaceWith: '->'
},
useHashTags: true
},
testOutputPath: `notes${path.sep}test-noteWithNestedTagsAndSpacesCustom${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithNestedTagsAndSpacesCustom.md`,
},
{
name: 'Note with notebook name',
options: {
enexSources: [ `.${testDataFolder}test-noteWithNotebookName.enex` ],
templateFile: `.${testDataFolder}notebook-template.tmpl`,
outputDir: 'out',
},
testOutputPath: `notes${path.sep}test-noteWithNotebookName${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithNotebookName.md`,
},
{
name: 'Note with notebook name and tags',
options: {
enexSources: [ `.${testDataFolder}test-noteWithNotebookNameAndTags.enex` ],
templateFile: `.${testDataFolder}notebook-template.tmpl`,
outputDir: 'out',
},
testOutputPath: `notes${path.sep}test-noteWithNotebookNameAndTags${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithNotebookNameAndTags.md`,
},
{
name: 'Note with zettelkastel id',
options: {
enexSources: [ `.${testDataFolder}test-noteWithZettelKasten.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
isZettelkastenNeeded: true,
useZettelIdAsFilename: false
},
testOutputPath: `notes${path.sep}test-noteWithZettelKasten${path.sep}201810060943 test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithZettelKasten.md`,
},
{
name: 'Note with tel in link id',
options: {
enexSources: [ `.${testDataFolder}link to telephone 202-555-0179.enex` ],
outputDir: 'out',
outputFormat: OutputFormat.ObsidianMD,
isMetadataNeeded: true,
isZettelkastenNeeded: true,
useZettelIdAsFilename: false
},
testOutputPath: `notes${path.sep}link to telephone 202-555-0179${path.sep}202309161735 link to telephone_ 202-555-0179.md`,
expectedOutputPath: `${dataFolder}link to telephone_ 202-555-0179.md`,
},
{
name: 'Note text styles',
options: {
enexSources: [ `.${testDataFolder}text styles.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
useZettelIdAsFilename: false
},
testOutputPath: `notes${path.sep}text styles${path.sep}text styles.md`,
expectedOutputPath: `${dataFolder}text styles.md`,
},
{
name: 'Note with zettelkastel id - use as filename',
options: {
enexSources: [ `.${testDataFolder}test-noteWithZettelKasten.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
isZettelkastenNeeded: true,
useZettelIdAsFilename: true,
},
testOutputPath: `notes${path.sep}test-noteWithZettelKasten${path.sep}201810060943.md`,
expectedOutputPath: `${dataFolder}test-noteWithZettelKasten.md`,
},
{
name: 'Note with zettelkastel id - no title',
options: {
enexSources: [ `.${testDataFolder}test-noteWithZettelKasten-notitle.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
isZettelkastenNeeded: true,
},
testOutputPath: `notes${path.sep}test-noteWithZettelKasten-notitle${path.sep}201810060943.md`,
expectedOutputPath: `${dataFolder}test-noteWithZettelKasten-notitle.md`,
},
{
name: 'Note without metadata',
options: {
enexSources: [ `.${testDataFolder}test-noteWithoutMetadata.enex` ],
templateFile: `.${testDataFolder}nometadata-template.tmpl`,
outputDir: 'out',
isMetadataNeeded: false,
isZettelkastenNeeded: false,
},
testOutputPath: `notes${path.sep}test-noteWithoutMetadata${path.sep}test -note without metadata.md`,
expectedOutputPath: `${dataFolder}test-noteWithoutMetadata.md`,
},
{
name: 'Note with latlong',
options: {
enexSources: [ `.${testDataFolder}test-noteWithLatLong.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-noteWithLatLong${path.sep}Test.md`,
expectedOutputPath: `${dataFolder}test-noteWithLatLong.md`,
},
{
name: 'Note with only source-url',
options: {
enexSources: [ `.${testDataFolder}test-noteWithSourceUrl.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-noteWithSourceUrl${path.sep}Test.md`,
expectedOutputPath: `${dataFolder}test-noteWithSourceUrl.md`,
},
{
name: 'Skips images without src attribute',
options: {
enexSources: [ `.${testDataFolder}test-imageWithoutSrc.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
},
testOutputPath: `notes${path.sep}test-imageWithoutSrc${path.sep}test-imageWithoutSrc.md`,
expectedOutputPath: `${dataFolder}test-imageWithoutSrc.md`,
},
{
name: 'Enex file plaintextonly - skipping note that has resource in it',
options: {
enexSources: [ `.${testDataFolder}test-threePictures.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: true,
},
testOutputPath: `notes${path.sep}test-threePictures${path.sep}test - note with more pictures.md`,
},
{
name: ' Pure external url',
options: {
enexSources: [ `.${testDataFolder}test-pure-external-url.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
skipLocation: true,
},
testOutputPath: `notes${path.sep}test-pure-external-url${path.sep}pure-external-url.md`,
expectedOutputPath: `${dataFolder}test-pure-external-url.md`,
},
{
name: 'Enex file skip Location',
options: {
enexSources: [ `.${testDataFolder}test-skipLocation.enex` ],
templateFile: `.${testDataFolder}nolocation-template.tmpl`,
outputDir: 'out',
isMetadataNeeded: true,
skipLocation: true,
},
testOutputPath: `notes${path.sep}test-skipLocation${path.sep}SkipLocation.md`,
expectedOutputPath: `${dataFolder}test-skipLocation.md`,
},
{
name: 'Enex file with table',
options: {
enexSources: [ `.${testDataFolder}test-table.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-table${path.sep}table.md`,
expectedOutputPath: `${dataFolder}test-table.md`,
},
{
name: 'Enex file with specialItems',
options: {
enexSources: [ `.${testDataFolder}test-specialItems.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-specialItems${path.sep}special items.md`,
expectedOutputPath: `${dataFolder}test-specialItems.md`,
},
{
name: 'Enex file with links ',
options: {
enexSources: [ `.${testDataFolder}test-externalLink.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-externalLink${path.sep}External Link.md`,
expectedOutputPath: `${dataFolder}test-externalLink.md`,
},
{
name: 'Enex file with links, pure link (no text) ',
options: {
enexSources: [ `.${testDataFolder}test-externalLink-notext.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-externalLink-notext${path.sep}External Link.md`,
expectedOutputPath: `${dataFolder}test-externalLink-notext.md`,
},
{
name: 'Enex file with file links ',
options: {
enexSources: [ `.${testDataFolder}test-externalFileLink.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-externalFileLink${path.sep}External File Link.md`,
expectedOutputPath: `${dataFolder}test-externalFileLink.md`,
},
{
name: 'Enex file with links with resources',
options: {
enexSources: [ `.${testDataFolder}test-externalLinkWithPicture.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-externalLinkWithPicture${path.sep}Link With Picture.md`,
expectedOutputPath: `${dataFolder}test-externalLinkWithPicture.md`,
},
{
name: 'Enex file with highlighted text',
options: {
enexSources: [ `.${testDataFolder}test-highlights.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
},
testOutputPath: `notes${path.sep}test-highlights${path.sep}Highlights.md`,
expectedOutputPath: `${dataFolder}test-highlights.md`,
},
{
name: 'Enex file with highlighted text - Obsidian-style',
options: {
enexSources: [ `.${testDataFolder}test-highlights.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
},
testOutputPath: `notes${path.sep}test-highlights${path.sep}Highlights.md`,
expectedOutputPath: `${dataFolder}test-highlightsObsidian.md`,
},
{
name: 'Enex file with highlighted text - 2nd implementation',
options: {
enexSources: [ `.${testDataFolder}test-highlights2.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
},
testOutputPath: `notes${path.sep}test-highlights2${path.sep}Highlights impl2.md`,
expectedOutputPath: `${dataFolder}test-highlightsImpl2.md`,
},
{
name: 'Enex file - no span style',
options: {
enexSources: [ `.${testDataFolder}test-nospanstyle.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
keepMDCharactersOfENNotes: false,
}
,
testOutputPath: `notes${path.sep}test-nospanstyle${path.sep}test-nospanstyle.md`,
expectedOutputPath: `${dataFolder}test-nospanstyle.md`,
},
{
name: 'Note with strikethrough',
options: {
enexSources: [ `.${testDataFolder}test-strikethrough.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-strikethrough${path.sep}test - strikethrough.md`,
expectedOutputPath: `${dataFolder}test-strikethrough.md`,
},
{
name: 'Note with sublists',
options: {
enexSources: [ `.${testDataFolder}test-sublists.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-sublists${path.sep}test - sublists.md`,
expectedOutputPath: `${dataFolder}test-sublists.md`,
},
{
name: 'Note empty en-todo',
options: {
enexSources: [ `.${testDataFolder}test-empty-en-todo.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-empty-en-todo${path.sep}test-empty-en-todo.md`,
expectedOutputPath: `${dataFolder}test-empty-en-todo.md`,
},
{
name: 'Note checkboxes',
options: {
enexSources: [ `.${testDataFolder}test-checkboxes.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-checkboxes${path.sep}checkboxes.md`,
expectedOutputPath: `${dataFolder}test-checkboxes.md`,
},
{
name: 'Note with sublists (valid html)',
options: {
enexSources: [ `.${testDataFolder}test-sublists-valid.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-sublists-valid${path.sep}test - sublists - valid.md`,
expectedOutputPath: `${dataFolder}test-sublists-valid.md`,
},
{
name: 'Note with sublists (invalid html)',
options: {
enexSources: [ `.${testDataFolder}test-sublists-invalid.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-sublists-invalid${path.sep}Test note.md`,
expectedOutputPath: `${dataFolder}test-sublists-invalid.md`,
},
{
name: 'Note with headings - default turndown options',
options: {
enexSources: [ `.${testDataFolder}test-headings.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-headings${path.sep}test - headings.md`,
expectedOutputPath: `${dataFolder}test-headings.md`,
},
{
name: 'Note with headings - config turndown options',
options: {
enexSources: [ `.${testDataFolder}test-headings.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
},
testOutputPath: `notes${path.sep}test-headings${path.sep}test - headings.md`,
expectedOutputPath: `${dataFolder}test-headings-setext.md`,
},
{
name: 'Note with checklists',
options: {
enexSources: [ `.${testDataFolder}test-checklist.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-checklist${path.sep}test-checkbox.v10.48.md`,
expectedOutputPath: `${dataFolder}test-checklist.md`,
},
{
name: 'Enex file urlEncode whitespace',
options: {
enexSources: [ `.${testDataFolder}test-urlencode.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
urlEncodeFileNamesAndLinks: true,
},
testOutputPath: `notes${path.sep}test-urlencode${path.sep}test - note with picture (filename with spaces).md`,
expectedOutputPath: `${dataFolder}test-urlencode.md`,
},
{
name: 'Note with sublists (multiple)',
options: {
enexSources: [ `.${testDataFolder}test-sublists-multiple.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-sublists-multiple${path.sep}test - sublists - multiple.md`,
expectedOutputPath: `${dataFolder}test-sublists-multiple.md`,
},
{
name: 'Note with lists (simple)',
options: {
enexSources: [ `.${testDataFolder}test-list.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
},
testOutputPath: `notes${path.sep}test-list${path.sep}test - list.md`,
expectedOutputPath: `${dataFolder}test-list.md`,
},
{
name: 'Webclip - article',
options: {
enexSources: [ `.${testDataFolder}test-webclip_article.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
},
testOutputPath: `notes${path.sep}test-webclip_article${path.sep}yarle evernote.md`,
expectedOutputPath: `${dataFolder}test-webclip_article.md`,
},
{
name: 'Webclip - simplified article',
options: {
enexSources: [ `.${testDataFolder}test-webclip_simplifiedarticle.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
},
testOutputPath: `notes${path.sep}test-webclip_simplifiedarticle${path.sep}yarle evernote.md`,
expectedOutputPath: `${dataFolder}test-webclip_simplifiedarticle.md`,
},
{
name: 'Webclip - bookmark',
options: {
enexSources: [ `.${testDataFolder}test-webclip_bookmark.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
}
,
testOutputPath: `notes${path.sep}test-webclip_bookmark${path.sep}Yarle.md`,
expectedOutputPath: `${dataFolder}test-webclip_bookmark.md`,
},
{
name: 'Webclip - screenshot',
options: {
enexSources: [ `.${testDataFolder}test-webclip_screenshot.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
plainTextNotesOnly: false,
outputFormat: OutputFormat.ObsidianMD,
}
,
testOutputPath: `notes${path.sep}test-webclip_screenshot${path.sep}Yarle.md`,
expectedOutputPath: `${dataFolder}test-webclip_screenshot.md`,
},
{
name: 'applies template passed as parameter',
options: {
enexSources: [ `.${testDataFolder}test-template.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}template_tags_bottom.templ`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
},
testOutputPath: `notes${path.sep}test-template${path.sep}test - templates.md`,
expectedOutputPath: `${dataFolder}test - templates.md`,
},
{
name: 'applies template passed as parameter - skip metadata if it doesn\'t exists',
options: {
enexSources: [ `.${testDataFolder}test-template-nometa.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}template_tags_bottom.templ`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
skipLocation: false,
skipSourceUrl: false,
skipCreationTime: false,
skipUpdateTime: false,
skipTags: false,
useHashTags: true,
},
testOutputPath: `notes${path.sep}test-template-nometa${path.sep}TEST - templates.md`,
expectedOutputPath: `${dataFolder}test - templates-nometa.md`,
},
{
name: 'only renders content with a template with just the content block',
options: {
enexSources: [ `.${testDataFolder}test-template 2.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}bare_template.templ`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
},
testOutputPath: `notes${path.sep}test-template 2${path.sep}test - templates just content.md`,
expectedOutputPath: `${dataFolder}test - templates just content.md`,
},
{
name: 'monospace code blocks',
options: {
enexSources: [ `.${testDataFolder}test-monospace-codeblocks.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}bare_template.templ`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
monospaceIsCodeBlock: true,
},
testOutputPath: `notes${path.sep}test-monospace-codeblocks${path.sep}test-monospace-codeblocks.md`,
expectedOutputPath: `${dataFolder}test-monospace-codeblocks.md`,
},
{
name: 'keep Markdown characters - noop escape function in turndown',
options: {
enexSources: [ `.${testDataFolder}test-markdown-en.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}bare_template.templ`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
keepMDCharactersOfENNotes: true,
},
testOutputPath: `notes${path.sep}test-markdown-en${path.sep}test-markdown-en.md`,
expectedOutputPath: `${dataFolder}test-markdown-en.md`,
},
{
name: ' Pure external url with unescapeable characters',
options: {
enexSources: [ `.${testDataFolder}test-externalLink-escape.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
skipLocation: true,
keepMDCharactersOfENNotes: true,
},
testOutputPath: `notes${path.sep}test-externalLink-escape${path.sep}External Link.md`,
expectedOutputPath: `${dataFolder}test-externalLink-escape.md`,
},
{
name: ' Pure external url naked',
options: {
enexSources: [ `.${testDataFolder}test-externalLink-naked.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
skipLocation: true,
keepMDCharactersOfENNotes: true,
generateNakedUrls: true,
},
testOutputPath: `notes${path.sep}test-externalLink-naked${path.sep}External Link.md`,
expectedOutputPath: `${dataFolder}test-externalLink-naked.md`,
},
{
name: ' Custom date format',
options: {
enexSources: [ `.${testDataFolder}test-justTextButCustomDate.enex` ],
outputDir: 'out',
isMetadataNeeded: true,
skipLocation: true,
keepMDCharactersOfENNotes: true,
dateFormat: 'YYYY-MM-DD',
},
testOutputPath: `notes${path.sep}test-justTextButCustomDate${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-justTextButCustomDate.md`,
},
{
name: 'multiple metadata content',
options: {
enexSources: [ `.${testDataFolder}test-noteWithTags.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}multimeta-template.tmpl`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
keepMDCharactersOfENNotes: true,
},
testOutputPath: `notes${path.sep}test-noteWithTags${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-noteWithTags-multi.md`,
},
{
name: 'multiple metadata content',
options: {
enexSources: [ `.${testDataFolder}test-intend-newlines.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}multimeta-template.tmpl`,
isMetadataNeeded: true,
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
keepMDCharactersOfENNotes: true,
keepOriginalAmountOfNewlines: true,
},
testOutputPath: `notes${path.sep}test-intend-newlines${path.sep}test -note with text only.md`,
expectedOutputPath: `${dataFolder}test-intend-newlines.md`,
},
{
name: 'hanging enex',
options: {
enexSources: [ `.${testDataFolder}huge-html.enex` ],
outputDir: 'out',
templateFile: `.${testDataFolder}multimeta-template.tmpl`,
isMetadataNeeded: true,
turndownOptions: {headingStyle: 'setext'},
outputFormat: OutputFormat.ObsidianMD,
skipEnexFileNameFromOutputPath: false,
keepMDCharactersOfENNotes: true,
},
testOutputPath: `notes${path.sep}huge-html${path.sep}Untitled Note.md`,
expectedOutputPath: `${dataFolder}test-hugeHtml.md`,
},
]