Skip to content

Commit b1b25ab

Browse files
committed
feat(capture): extract page main content as Markdown
Clipping a page with nothing selected captured only its title, URL, and a one-line description, which is closer to a bookmark than a clip. - Prefill the editor with the page's article body as Markdown, preserving headings, lists, code blocks, and tables - Run extraction in the popup against an inert document, so the injected capture stays self-contained and the extractor is testable without a tab - Load the extractor lazily, leaving the popup's initial parse unchanged - Keep an explicit selection ahead of the extracted article - Drop images from extracted articles rather than hotlinking them, since images are uploaded as attachments; figure captions are kept - Explain the fallback when a page has no article to extract
1 parent edb43c4 commit b1b25ab

19 files changed

Lines changed: 509 additions & 28 deletions

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ To verify a download on Linux, run `sha256sum --ignore-missing -c SHA256SUMS` in
2727

2828
## Features
2929

30-
- Capture the page title, URL, and readable description.
30+
- Capture a page's main content as Markdown, with its title, URL, and readable description.
3131
- Convert selected text, links, lists, code, and tables to Markdown.
3232
- Upload selected images as Memos attachments.
3333
- Review and edit every clip before saving.
@@ -39,6 +39,14 @@ To verify a download on Linux, run `sha256sum --ignore-missing -c SHA256SUMS` in
3939

4040
The default template keeps the captured content first and adds a link back to the source. Empty fields are removed automatically.
4141

42+
## What gets captured
43+
44+
Selecting text before you clip captures exactly that selection, quoted, along with any images in it.
45+
46+
With nothing selected, the clipper extracts the page's main content — the article body, without navigation, sidebars, or footers — and converts it to Markdown, preserving headings, lists, code blocks, and tables. Images in an extracted article are left out rather than linked, so a clip never depends on someone else's server staying up; select an image, or the region containing it, to save it as an attachment.
47+
48+
Pages with no article to extract, such as dashboards, search results, and feeds, fall back to the page's own summary and link. The popup says which of these happened, and every clip is editable before you save it.
49+
4250
## How to use
4351

4452
1. Open the extension settings and choose a connection method:

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"@fontsource-variable/geist-mono": "^5.2.8",
2828
"class-variance-authority": "^0.7.1",
2929
"clsx": "^2.1.1",
30+
"defuddle": "^0.19.2",
3031
"lucide-react": "^1.22.0",
3132
"next-themes": "^0.4.6",
3233
"react": "^19.2.7",

pnpm-lock.yaml

Lines changed: 151 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/_locales/de/messages.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@
152152
"popupCaptureNoDescriptionSelection": {
153153
"message": "Auswahl und Seitenlink wurden erfasst – keine lesbare Beschreibung gefunden."
154154
},
155+
"popupCaptureNoArticle": { "message": "Seitenbeschreibung und Seitenlink wurden erfasst – kein lesbarer Artikel gefunden." },
155156
"popupCaptureNoDescription": {
156157
"message": "Nur der Seitenlink wurde erfasst – keine lesbare Beschreibung gefunden."
157158
},

0 commit comments

Comments
 (0)