aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-11-15 16:47:20 +0000
committerGitHub <noreply@github.com>2025-11-15 16:47:20 +0000
commit0c80f515ec9e20c70b69380031886ccc0e4bc06d (patch)
treea5f1c9a3c063761671ede8935d9913e8f51c3577 /apps
parent4350666961132ffe68afea8686b567f361a58f57 (diff)
downloadkarakeep-0c80f515ec9e20c70b69380031886ccc0e4bc06d.tar.zst
feat: import from mymind (#2138)
* feat: add mymind importer support This commit adds support for importing bookmarks from mymind CSV exports. Changes: - Added mymind to ImportSource type in parsers.ts - Implemented parseMymindBookmarkFile() to parse mymind CSV format - Added mymind case to parseImportFile() switch statement - Added mymind import card to ImportExport UI component - Added English translation for mymind import description - Added comprehensive test for mymind CSV parsing The mymind CSV format includes: - WebPages (URLs with optional notes) - Notes (text content without URLs) - Tags (comma-separated) - Created timestamps (ISO format) Fixes #654 * format * use zod for parsing --------- Co-authored-by: Claude <noreply@anthropic.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/web/components/settings/ImportExport.tsx17
-rw-r--r--apps/web/lib/i18n/locales/en/translation.json1
2 files changed, 18 insertions, 0 deletions
diff --git a/apps/web/components/settings/ImportExport.tsx b/apps/web/components/settings/ImportExport.tsx
index ee220342..7d127443 100644
--- a/apps/web/components/settings/ImportExport.tsx
+++ b/apps/web/components/settings/ImportExport.tsx
@@ -228,6 +228,23 @@ export function ImportExportRow() {
</FilePickerButton>
</ImportCard>
<ImportCard
+ text="mymind"
+ description={t("settings.import.import_bookmarks_from_mymind_export")}
+ >
+ <FilePickerButton
+ size={"sm"}
+ loading={false}
+ accept=".csv"
+ multiple={false}
+ className="flex items-center gap-2"
+ onFileSelect={(file) =>
+ runUploadBookmarkFile({ file, source: "mymind" })
+ }
+ >
+ <p>Import</p>
+ </FilePickerButton>
+ </ImportCard>
+ <ImportCard
text="Karakeep"
description={t(
"settings.import.import_bookmarks_from_karakeep_export",
diff --git a/apps/web/lib/i18n/locales/en/translation.json b/apps/web/lib/i18n/locales/en/translation.json
index 4fc58be7..7f322a8a 100644
--- a/apps/web/lib/i18n/locales/en/translation.json
+++ b/apps/web/lib/i18n/locales/en/translation.json
@@ -233,6 +233,7 @@
"import_bookmarks_from_linkwarden_export": "Import Bookmarks from Linkwarden export",
"import_bookmarks_from_karakeep_export": "Import Bookmarks from Karakeep export",
"import_bookmarks_from_tab_session_manager_export": "Import Bookmarks from Tab Session Manager",
+ "import_bookmarks_from_mymind_export": "Import Bookmarks from mymind export",
"export_links_and_notes": "Export Links and Notes",
"imported_bookmarks": "Imported Bookmarks"
},