aboutsummaryrefslogtreecommitdiff
path: root/apps/browser-extension/entrypoints/background.ts
diff options
context:
space:
mode:
authorMaheshtheDev <[email protected]>2025-11-03 00:41:58 +0000
committerMaheshtheDev <[email protected]>2025-11-03 00:41:59 +0000
commit8d8d6d91aa8cdec49e7e6ef87cbc5622d0bc16ed (patch)
tree27862f7558d837615d2af6cea8c30ea03d414096 /apps/browser-extension/entrypoints/background.ts
parentchore: update readme with recent updates and latest demo (#547) (diff)
downloadsupermemory-8d8d6d91aa8cdec49e7e6ef87cbc5622d0bc16ed.tar.xz
supermemory-8d8d6d91aa8cdec49e7e6ef87cbc5622d0bc16ed.zip
feat(browser-extension): webpages capture with markdown conversion (#548)10-31-feat_browser-extension_webpages_capture_with_markdown_conversion
Improved browser extension memory saving with better content handling and added markdown conversion. ### What changed? - Enhanced memory content handling in the background script to prioritize different content types (explicit content, highlighted text, markdown, HTML, or URL) - Added HTML to markdown conversion using TurndownService when saving entire pages - Improved HTML handling by removing script tags before processing - Updated the web app to display the saved URL from metadata when available - Added turndown library and its type definitions as dependencies
Diffstat (limited to 'apps/browser-extension/entrypoints/background.ts')
-rw-r--r--apps/browser-extension/entrypoints/background.ts32
1 files changed, 28 insertions, 4 deletions
diff --git a/apps/browser-extension/entrypoints/background.ts b/apps/browser-extension/entrypoints/background.ts
index 7461af37..131207c2 100644
--- a/apps/browser-extension/entrypoints/background.ts
+++ b/apps/browser-extension/entrypoints/background.ts
@@ -117,12 +117,36 @@ export default defineBackground(() => {
console.warn("Failed to get default project, using fallback:", error)
}
+ let content: string
+ if (data.content) {
+ content = data.content
+ } else if (data.highlightedText) {
+ content = `${data.highlightedText}\n\n${data?.url || ""}`
+ } else if (data.markdown) {
+ content = `${data.markdown}\n\n${data?.url || ""}`
+ } else if (data.html) {
+ content = `${data.html}\n\n${data?.url || ""}`
+ } else {
+ content = data?.url || ""
+ }
+
+ const metadata: MemoryPayload["metadata"] = {
+ sm_source: "consumer",
+ website_url: data.url,
+ }
+
+ if (data.ogImage) {
+ metadata.website_og_image = data.ogImage
+ }
+
+ if (data.title) {
+ metadata.website_title = data.title
+ }
+
const payload: MemoryPayload = {
containerTags: [containerTag],
- content:
- data.content ||
- `${data.highlightedText}\n\n${data.html}\n\n${data?.url}`,
- metadata: { sm_source: "consumer" },
+ content,
+ metadata,
}
const responseData = await saveMemory(payload)