From f776cb30d488d70994afdc174bb8035cf100b810 Mon Sep 17 00:00:00 2001 From: Antonella Sgarlatta Date: Tue, 24 Jun 2025 23:15:22 -0300 Subject: [PATCH] fix: fix simplenote converter --- .../SimplenoteConverter.ts | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/ui-services/src/Import/SimplenoteConverter/SimplenoteConverter.ts b/packages/ui-services/src/Import/SimplenoteConverter/SimplenoteConverter.ts index bfff99631..77931713b 100644 --- a/packages/ui-services/src/Import/SimplenoteConverter/SimplenoteConverter.ts +++ b/packages/ui-services/src/Import/SimplenoteConverter/SimplenoteConverter.ts @@ -50,10 +50,10 @@ export class SimplenoteConverter implements Converter { return false } - convert: Converter['convert'] = async (file, { insertNote: createNote, readFileAsText }) => { + convert: Converter['convert'] = async (file, { insertNote: createNote, convertMarkdownToSuper, readFileAsText }) => { const content = await readFileAsText(file) - const notes = await this.parse(content, createNote) + const notes = await this.parse(content, createNote, convertMarkdownToSuper) if (!notes) { throw new Error('Could not parse notes') @@ -65,13 +65,18 @@ export class SimplenoteConverter implements Converter { } } - createNoteFromItem(item: SimplenoteItem, trashed: boolean, createNote: InsertNoteFn): ReturnType { + createNoteFromItem( + item: SimplenoteItem, + trashed: boolean, + createNote: InsertNoteFn, + convertMarkdownToSuper: (markdown: string) => string, + ): ReturnType { const createdAtDate = new Date(item.creationDate) const updatedAtDate = new Date(item.lastModified) const splitContent = splitAtFirst(item.content, '\r\n') const title = splitContent[0] ?? createdAtDate.toLocaleString() - const text = splitContent[1] ?? item.content + const text = convertMarkdownToSuper(splitContent[1] ?? item.content) return createNote({ createdAt: createdAtDate, @@ -83,14 +88,18 @@ export class SimplenoteConverter implements Converter { }) } - async parse(data: string, createNote: InsertNoteFn) { + async parse(data: string, createNote: InsertNoteFn, convertMarkdownToSuper: (markdown: string) => string) { try { const parsed = JSON.parse(data) as SimplenoteData const activeNotes = await Promise.all( - parsed.activeNotes.reverse().map((item) => this.createNoteFromItem(item, false, createNote)), + parsed.activeNotes + .reverse() + .map((item) => this.createNoteFromItem(item, false, createNote, convertMarkdownToSuper)), ) const trashedNotes = await Promise.all( - parsed.trashedNotes.reverse().map((item) => this.createNoteFromItem(item, true, createNote)), + parsed.trashedNotes + .reverse() + .map((item) => this.createNoteFromItem(item, true, createNote, convertMarkdownToSuper)), ) return [...activeNotes, ...trashedNotes]