{"id":49581875,"url":"https://github.com/jaredatch/page-content-to-markdown","last_synced_at":"2026-05-03T20:42:19.747Z","repository":{"id":348310508,"uuid":"1187363489","full_name":"jaredatch/page-content-to-markdown","owner":"jaredatch","description":"Browser extension to convert page content to markdown","archived":false,"fork":false,"pushed_at":"2026-05-01T18:28:32.000Z","size":1687,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-01T20:22:56.186Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"elad12390/browser-extension-copy-page-as-markdown","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/supported-sites.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-20T16:33:29.000Z","updated_at":"2026-05-01T18:28:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jaredatch/page-content-to-markdown","commit_stats":null,"previous_names":["jaredatch/page-content-to-markdown"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jaredatch/page-content-to-markdown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredatch%2Fpage-content-to-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredatch%2Fpage-content-to-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredatch%2Fpage-content-to-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredatch%2Fpage-content-to-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredatch","download_url":"https://codeload.github.com/jaredatch/page-content-to-markdown/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredatch%2Fpage-content-to-markdown/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32584651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-03T20:42:17.816Z","updated_at":"2026-05-03T20:42:19.453Z","avatar_url":"https://github.com/jaredatch.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Copy Page as Markdown\n\nA browser extension that turns web pages into clean markdown. It finds the meaningful content of a page and skips the chrome around it (nav, ads, footers, comments). For X, Claude, and Grok, dedicated extractors produce even cleaner output.\n\nFirefox-first, with Chrome support.\n\n## Features\n\n- **Content extraction.** Skips nav, ads, footers, comments, and other page chrome by default. [How it works](docs/content-extraction.md)\n- **Selective conversion.** Hover and click to pick specific elements, or right-click selected text.\n- **Site actions for X, Claude, and Grok.** Dedicated extractors that produce cleaner output than the general path. On X, the popup detects what's actually on the page and only shows the options that fit (single tweet, thread, or article). [Supported sites](docs/supported-sites.md)\n- **GFM output.** Tables, strikethrough, task lists.\n- **Clipboard or file.** Copy to clipboard or save as `.md`.\n- **Page info as inline metadata or YAML frontmatter.** Title, URL, and date/time at the top of every save — as bold key-value lines or as YAML for Obsidian, Logseq, Hugo, Jekyll, and similar tools.\n- **Image and link handling.** Keep them, replace with alt text, strip them, or collect image URLs at the end of the doc. Useful when feeding output to LLMs that don't need the noise.\n- **Tracking-parameter strip.** `utm_*`, `fbclid`, `gclid`, and other analytics noise removed from URLs by default.\n- **Customizable filenames.** Template-based with tokens (`{title}`, `{date}`, `{domain}`, `{slug}`, etc.) and a choice of preserve / kebab-case / snake_case.\n- **Formatting preferences.** Heading style, bullet markers, code blocks, link style.\n- **Keyboard shortcuts and context menus.** `Cmd+Shift+M` / `Ctrl+Shift+M` toggles selection mode. A second shortcut (no default — bind it yourself in your browser's extension shortcut settings) runs your default Copy/Save action with the smart-detected content type, no popup needed. Right-click to convert selected text or pick an element.\n\n## Install\n\n1. Clone and build:\n   ```bash\n   git clone https://github.com/jaredatch/page-content-to-markdown.git\n   cd page-content-to-markdown\n   npm install\n   npm run build\n   ```\n\n2. Load the extension:\n   - **Firefox:** `about:debugging` → \"This Firefox\" → \"Load Temporary Add-on\" → `dist/manifest.json`\n   - **Chrome:** `chrome://extensions` → Developer Mode → \"Load unpacked\" → `dist/`\n\n## Usage\n\nClick the extension icon to open the popup. Pick what you want to capture (Page content, or — on a supported site — a Tweet, Thread, Conversation, etc.), then hit **Copy** or **Save**. The popup remembers your last pick per site.\n\n- **Pick elements:** \"or select elements on page\" link → hover and click → Copy or Save from the floating action bar (selection persists, so you can fire both on the same set)\n- **Selected text:** right-click → \"Copy selection as Markdown\"\n- **Default action:** Copy or Save — whichever you set as default in the options page becomes the filled primary button\n- **Settings:** click the gear icon in the popup header to configure output, formatting, and the page-info format\n\n## Documentation\n\n- [How content extraction works](docs/content-extraction.md): the capture/strip strategy and an FAQ for when something looks wrong\n- [Supported sites](docs/supported-sites.md): the site action catalog\n- [Contributing](CONTRIBUTING.md): setup, tests, PR guide\n- [Building site extractors](docs/building-site-extractors.md): workflow for adding a new site\n\n## Development\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for setup, tests, and PR workflow. For deeper architecture notes, see [CLAUDE.md](CLAUDE.md).\n\n## Browser compatibility\n\n- Firefox (primary target): MV3 with `background.scripts`\n- Chrome: MV3 with `service_worker`\n- Keyboard shortcuts: `Cmd+Shift+M` / `Ctrl+Shift+M` for selection mode (avoids Firefox's `Cmd+Shift+S` screenshot conflict). Quick-extract has no default key — bind your own.\n\n## Acknowledgments\n\nOriginally forked from [elad12390/browser-extension-copy-page-as-markdown](https://github.com/elad12390/browser-extension-copy-page-as-markdown). The project has been substantially rewritten since. The fallback text extractor (`simple-universal-extractor.js`) is the main piece of the original code that remains. Thanks to Elad for the initial scaffold.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredatch%2Fpage-content-to-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredatch%2Fpage-content-to-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredatch%2Fpage-content-to-markdown/lists"}