{"id":28330836,"url":"https://github.com/ysm-dev/cpdown","last_synced_at":"2026-01-21T13:25:24.885Z","repository":{"id":294772959,"uuid":"986669929","full_name":"ysm-dev/cpdown","owner":"ysm-dev","description":"📥 cpdown - Copy to clipboard any webpage content/youtube subtitle as clean markdown with one click or shortcut","archived":false,"fork":false,"pushed_at":"2026-01-19T00:03:35.000Z","size":15435,"stargazers_count":504,"open_issues_count":8,"forks_count":23,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-01-19T22:38:00.151Z","etag":null,"topics":["extension","llm","markdown","productivity","react","subtitle","wxt","youtube"],"latest_commit_sha":null,"homepage":"https://chromewebstore.google.com/detail/cpdown/knnaflplggjdedobhbidojmmnocfbopf","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysm-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-20T00:45:12.000Z","updated_at":"2026-01-16T12:51:40.000Z","dependencies_parsed_at":"2025-05-22T01:33:49.922Z","dependency_job_id":"6d79bdee-3715-4295-9973-1bba291d7e0f","html_url":"https://github.com/ysm-dev/cpdown","commit_stats":null,"previous_names":["ysm-dev/cpdown"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ysm-dev/cpdown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fcpdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fcpdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fcpdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fcpdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysm-dev","download_url":"https://codeload.github.com/ysm-dev/cpdown/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fcpdown/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28633757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["extension","llm","markdown","productivity","react","subtitle","wxt","youtube"],"created_at":"2025-05-26T17:42:27.880Z","updated_at":"2026-01-21T13:25:24.880Z","avatar_url":"https://github.com/ysm-dev.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# cpdown\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./public/icon/128.png\" alt=\"cpdown logo\" width=\"100\" height=\"100\" /\u003e\n  \u003cp\u003e\u003cem\u003eCopy any webpage as clean markdown.\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## Overview\n\ncpdown is a browser extension that allows you to copy the content of any webpage as clean, formatted markdown. If you're on YouTube, you can also copy the subtitle as markdown.\n\n### Demo\n\nhttps://github.com/user-attachments/assets/cedf05e8-ed1d-4e71-9769-66c9b292fbdd\n\n## Features\n\n- 📋 Copy any webpage content as clean markdown with one click (or keyboard shortcut)\n- 📋 Copy YouTube subtitle as clean markdown with one click (or keyboard shortcut)\n- 📖 Uses Defuddle or Mozilla's Readability to extract the main content\n- 🔍 Removes unnecessary HTML elements (scripts, styles, iframes, etc.)\n- 🔢 Shows token count for the copied content (for LLM)\n- ⌨️ Keyboard shortcut support\n\n## Installation\n\n- Chrome: [Chrome Web Store](https://chromewebstore.google.com/detail/cpdown/knnaflplggjdedobhbidojmmnocfbopf)\n- Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/cpdown/)\n\n## Options\n\nGo to [chrome://extensions/?options=knnaflplggjdedobhbidojmmnocfbopf](chrome://extensions/?options=knnaflplggjdedobhbidojmmnocfbopf) or click the \"Options\" link in the extension's details page to configure cpdown after installation.\n\n![](.github/assets/options.png)\n\n### Manual Installation\n\n1. Clone this repository\n2. Install dependencies:\n   ```sh\n   bun i\n   ```\n3. Build the extension:\n   ```sh\n   bun run build\n   ```\n4. Load the unpacked extension:\n   - Open Chrome/Edge and navigate to `chrome://extensions`\n   - Enable \"Developer mode\"\n   - Click \"Load unpacked\" and select the `.output/chrome-mv3` directory\n\n## Usage\n\n1. Navigate to any webpage you want to copy\n2. Click the cpdown icon in your browser toolbar, or use the keyboard shortcut\n3. The page content will be copied to your clipboard as markdown\n4. Paste the markdown content anywhere you need it\n\n## Settings\n\ncpdown offers several configuration options:\n\n- **Use Defuddle**: Use Defuddle to clean up the markdown output\n- **Use Mozilla Readability**: Parse webpage content using Readability for cleaner markdown output\n- **Wrap in Triple Backticks**: Wrap the copied content in triple backticks for better readability\n- **Show Success Toast**: Display a notification when content is successfully copied\n- **Show Raycast Confetti**: Celebrate successful copying with a confetti animation (for Raycast users)\n\n## Development\n\nThis extension is built with:\n\n- [Cursor](https://www.cursor.com/) - For the vibe coding\n- [WXT](https://wxt.dev/) - The Web Extension Toolkit\n- [React](https://react.dev/) - For the options UI\n- [Shadcn UI](https://ui.shadcn.com/) - For the options UI\n- [Sonner](https://sonner.emilkowal.ski/) - For the toast notifications\n- [Tailwind CSS](https://tailwindcss.com/) - For styling\n- [Defuddle](https://github.com/kepano/defuddle) - For main content extraction \u0026 markdown cleanup\n- [Mozilla Readability](https://github.com/mozilla/readability) - For main content extraction\n- [Turndown](https://github.com/mixmark-io/turndown) - For HTML to Markdown conversion\n- [tiktoken](https://github.com/dqbd/tiktoken) - For token counting\n\n### Development Commands\n\n```bash\nbun run dev\n```\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ysm-dev/cpdown\u0026type=Date)](https://www.star-history.com/#ysm-dev/cpdown\u0026Date)\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysm-dev%2Fcpdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysm-dev%2Fcpdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysm-dev%2Fcpdown/lists"}