{"id":13433129,"url":"https://github.com/yorkxin/copy-as-markdown","last_synced_at":"2025-03-17T10:33:25.817Z","repository":{"id":2610511,"uuid":"3594127","full_name":"yorkxin/copy-as-markdown","owner":"yorkxin","description":"A browser extension to copy tabs and links as Markdown","archived":false,"fork":false,"pushed_at":"2024-08-29T13:49:51.000Z","size":1789,"stargazers_count":528,"open_issues_count":13,"forks_count":81,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-08-30T01:40:54.433Z","etag":null,"topics":["browser","chrome","firefox","webextensions"],"latest_commit_sha":null,"homepage":"","language":"Java","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/yorkxin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"MIT-LICENSE.txt","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"yorkxin","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2012-03-01T17:21:06.000Z","updated_at":"2024-08-29T16:57:58.000Z","dependencies_parsed_at":"2024-05-10T10:33:26.053Z","dependency_job_id":"2df8b71e-bc8e-4d60-8a07-71a6ab9bb603","html_url":"https://github.com/yorkxin/copy-as-markdown","commit_stats":{"total_commits":324,"total_committers":7,"mean_commits":"46.285714285714285","dds":0.03703703703703709,"last_synced_commit":"296dbf60d2f6592c0c31a1733a4155366aa0dbf6"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yorkxin%2Fcopy-as-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yorkxin%2Fcopy-as-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yorkxin%2Fcopy-as-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yorkxin%2Fcopy-as-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yorkxin","download_url":"https://codeload.github.com/yorkxin/copy-as-markdown/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221675293,"owners_count":16861860,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["browser","chrome","firefox","webextensions"],"created_at":"2024-07-31T02:01:21.421Z","updated_at":"2025-03-17T10:33:25.806Z","avatar_url":"https://github.com/yorkxin.png","language":"Java","funding_links":["https://ko-fi.com/yorkxin"],"categories":["JavaScript","TypeScript","firefox","Java"],"sub_categories":[],"readme":"# Copy as Markdown for Chrome \u0026 Firefox\n\nDo you often type Markdown code manually for a link or image, or even all tabs in a window, and feel tired? **Copy as Markdown** can help you!\n\n## Download\n\n* Google Chrome: [Chrome Web Store - Copy as Markdown](https://chrome.google.com/webstore/detail/copy-as-markdown/fkeaekngjflipcockcnpobkpbbfbhmdn)\n* Firefox: [Copy as Markdown :: Add-ons for Firefox](https://addons.mozilla.org/firefox/addon/copy-as-markdown/)\n* Microsoft Edge: [Copy as Markdown - Microsoft Edge Addons](https://microsoftedge.microsoft.com/addons/detail/copy-as-markdown/cbbdkefgbfifiljnnklfhnhcnlmpglpd)\n\n## Features\n\n**Copy as Markdown** is a browser extension that helps you copy the following things as Markdown to your system clipboard:\n\nOn the web page: \n\n:ballot_box_with_check: Selection Text as Markdown\u003cbr\u003e\n:ballot_box_with_check: A Link on the Page\u003cbr\u003e\n:ballot_box_with_check: An Image on the Page, with or without wrapping link\n\nExporting tabs in the current window, either all or highlighted tabs:\n\n:ballot_box_with_check: Current Tab as Link\u003cbr\u003e\n:ballot_box_with_check: List of Links\u003cbr\u003e\n:ballot_box_with_check: Task List (for GitHub-Flavored Markdown)\u003cbe\u003e\n:ballot_box_with_check: With Tab Grouping (in Chrome, Edge etc.)\n\n## Keyboard Shortcuts\n\nYou can add keyboard shortcuts for copying tab(s) as Markdown. By default, Copy as Markdown does not assign any keyboard shortcuts.\n\n### Firefox\n\nPlease refer to this Firefox Help: https://support.mozilla.org/en-US/kb/manage-extension-shortcuts-firefox\n\n### Chrome\n\nThe Keyboard Shortcuts of extensions can be found at `chrome://extensions/shortcuts` URL. (Paste and open the link in the Location Bar).\n\n## Known Issues\n\n* [Chrome] When copying an image, the image code does not include the alternative text of that image. This is due to API restrictions.\n\n## Development\n\nHere is the folder structure. The platform-specific folders are used to resolve browser inconsistencies.\n\n```\nsrc/               # Shared Source Code\n  background.js\n  ...\nchrome/            # Chrome / Chromium files\n  dist/            # ../src will be copied here\n  mainfest.json\n  ...\nfirefox/           # Firefox Manifest V2 files\n  dist/            # ../src will be copied here\n  mainfest.json\n  background.html  # Loads ESModule\n  ...\nfirefox-mv3/       # Firefox Manifest V3 files\n  dist/            # ../src will be copied here\n  mainfest.json\n  ...\ne2e/               # E2E Tests\n```  \n\n### Install dependencies\n\n```\nnpm install -g web-ext\nnpm install\n```\n\n### Debugging\n\nUse the script `scripts/debug.js` that runs an auto-reload process. Usage:\n\n```sh\nnpm debug-chrome\nnpm debug-firefox\nnpm debug-firefox-mv3\n```\n\nFor manual debugging without auto-reload:\n\n- Chrome: [Window] Menu -\u003e Extensions -\u003e Load unpacked extension\n- Firefox: [Tools] Menu -\u003e Add-ons -\u003e [Gear] Icon -\u003e Debug Add-ons -\u003e Load Temporary Add-on\n\n#### Debug with Firefox XPI Package\n\nTo debug some behaviors such as Firefox restarts (for example, are context menus installed properly),\nit is necessary to build an XPI package and install it on Firefox. Temporary Add-Ons won't be enough\nbecause they get uninstalled after Firefox quits.\n\nFirefox checks the signature when installing XPI. To do so, \n\n1. Grab [API keys](https://addons.mozilla.org/en-US/developers/addon/api/key/) from Firefox Add-On\n2. Bump version in `manifest.json`. Note that AMO only accepts version numbers in `X.Y.Z` format where all 3 segments are numbers without zero prefixes.\n3. Run:\n    ```shell\n    web-ext sign --channel=unlisted --api-key=... --api-secret=...\n    ```\n\nIt'll create an XPI that is signed with your Firefox Add-Ons account. The file will also be\nuploaded to Add-On Developer Hub as unlisted.\n\nNote that Firefox Add-On keeps track of all the versions that have ever been uploaded, including\n'self-distributed' (`channel=unlisted`). \n\nSee https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/\n\n### Unit Tests\n\nUnit tests are written in mocha, `./test/**/*.test.js`.\n\nTo run, use `npm test`.\n\n### E2E Tests\n\nUsing Selenium (Java). Please refer to [e2e/](./e2e) folder.\n\n### QA\n\nThere is a [qa.html](./e2e/support/pages/qa.html) that includes various edge test cases. Open it in the browser, then try Copy as Markdown with the content in it.\n\n## License\n\nSee [MIT-LICENSE.txt](./MIT-LICENSE.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyorkxin%2Fcopy-as-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyorkxin%2Fcopy-as-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyorkxin%2Fcopy-as-markdown/lists"}