diff --git a/src/utils/folder-utils.ts b/src/utils/folder-utils.ts index 7e471d9f..5357c004 100644 --- a/src/utils/folder-utils.ts +++ b/src/utils/folder-utils.ts @@ -90,7 +90,7 @@ export const setPaths = (enexSource: string): void => { // loggerInfo('setting paths'); const enexFolder = enexSource.split(path.sep); // loggerInfo(`enex folder split: ${JSON.stringify(enexFolder)}`); - const enexFile = (enexFolder.length >= 1 ? enexFolder[enexFolder.length - 1] : enexFolder[0]).split('.')[0]; + const enexFile = (enexFolder.length >= 1 ? enexFolder[enexFolder.length - 1] : enexFolder[0]).split(/.enex$/)[0]; // loggerInfo(`enex file: ${enexFile}`); const outputDir = path.isAbsolute(yarleOptions.outputDir) diff --git a/test/data/test.dots.in.enex.File.Name.enex b/test/data/test.dots.in.enex.File.Name.enex new file mode 100644 index 00000000..aa5088f9 --- /dev/null +++ b/test/data/test.dots.in.enex.File.Name.enex @@ -0,0 +1,5 @@ + + + +test.dots.in.enex.File.Name
This is the content
]]>
20181006T084349Z20181006T084411Ztag1tag2akosdesktop.mac0
+
diff --git a/test/data/test.dots.in.enex.File.Name.md b/test/data/test.dots.in.enex.File.Name.md new file mode 100644 index 00000000..a4a8dbf7 --- /dev/null +++ b/test/data/test.dots.in.enex.File.Name.md @@ -0,0 +1,14 @@ +# test.dots.in.enex.File.Name + + +--- +Tags: ["tag1","tag2"] + +--- + + +This is the content + + Created at: 2018-10-06T09:43:49+01:00 + Updated at: 2018-10-06T09:44:11+01:00 + Notebook: test.dots.in.enex.File.Name diff --git a/test/yarle-special-cases.spec.ts b/test/yarle-special-cases.spec.ts index db3e0bb2..93031256 100644 --- a/test/yarle-special-cases.spec.ts +++ b/test/yarle-special-cases.spec.ts @@ -1088,4 +1088,36 @@ dateFormat: undefined, fs.readFileSync(`${__dirname}/data/test -note with tags array.md`, 'utf8'), ); }); + + + + it('dots in enex file name', async () => { + const options: YarleOptions = { + dateFormat: undefined, + enexSources: [ `${testDataFolder}test.dots.in.enex.File.Name.enex` ], + outputDir: 'out', + templateFile: `${testDataFolder}tags-array_template.templ`, + isMetadataNeeded: true, + outputFormat: OutputFormat.ObsidianMD, + skipEnexFileNameFromOutputPath: false, + skipTags: false, + useHashTags: false, + + }; + await yarle.dropTheRope(options); + assert.equal( + fs.existsSync( + `${__dirname}/../out/notes/test.dots.in.enex.File.Name/test.dots.in.enex.File.Name.md`, + ), + true, + ); + assert.equal( + eol.auto(fs.readFileSync( + `${__dirname}/../out/notes/test.dots.in.enex.File.Name/test.dots.in.enex.File.Name.md`, + 'utf8', + )), + fs.readFileSync(`${__dirname}/data/test.dots.in.enex.File.Name.md`, 'utf8'), + ); + }); + });