{"id":26188184,"url":"https://github.com/harmonydata/harmony-browser-extension","last_synced_at":"2025-12-24T22:46:14.311Z","repository":{"id":281213169,"uuid":"944544460","full_name":"harmonydata/harmony-browser-extension","owner":"harmonydata","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-07T15:38:29.000Z","size":150,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-07T16:33:23.067Z","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":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harmonydata.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}},"created_at":"2025-03-07T14:35:00.000Z","updated_at":"2025-03-07T15:38:32.000Z","dependencies_parsed_at":"2025-03-07T16:44:06.382Z","dependency_job_id":null,"html_url":"https://github.com/harmonydata/harmony-browser-extension","commit_stats":null,"previous_names":["harmonydata/harmony-browser-extension"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmonydata%2Fharmony-browser-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmonydata%2Fharmony-browser-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmonydata%2Fharmony-browser-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmonydata%2Fharmony-browser-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harmonydata","download_url":"https://codeload.github.com/harmonydata/harmony-browser-extension/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243130957,"owners_count":20241177,"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":[],"created_at":"2025-03-11T23:57:17.093Z","updated_at":"2025-12-24T22:46:14.270Z","avatar_url":"https://github.com/harmonydata.png","language":"JavaScript","readme":"# Send to Harmony Chrome Extension\n\nThis Chrome extension allows you to send selected text to Harmony with a right-click. For PDFs, use the popup to paste your selected text.\n\n## Features\n\n- Right-click to send selected text to Harmony\n- Popup interface for pasting text from PDFs\n- Seamless integration with Harmony Data platform\n\n## Development\n\nThe extension is built using vanilla JavaScript and Chrome Extension APIs. The main components are:\n- `manifest.json`: Extension configuration\n- `background.js`: Service worker for handling context menu and messaging\n- `popup.html/js`: UI for the extension popup\n- `icons/`: Extension icons in various sizes\n\n### Local Development\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/harmonydata/harmonydata-chrome-extension.git\n   cd harmonydata-chrome-extension\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Load the extension in Chrome:\n   - Open Chrome and go to `chrome://extensions/`\n   - Enable \"Developer mode\"\n   - Click \"Load unpacked\" and select the extension directory\n\n## Publishing\n\nThe extension is automatically published to the Chrome Web Store when changes are pushed to the main branch. This is handled by GitHub Actions.\n\n### Setting up Chrome Web Store API Credentials\n\n1. Go to the [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole)\n2. Create a new item or select your existing extension\n3. Get your Extension ID from the URL (it's the long string of letters and numbers)\n4. Go to the \"API Access\" tab\n5. Create a new API key:\n   - Click \"Create new credentials\"\n   - Choose \"Chrome Web Store API\"\n   - Save the Client ID and Client Secret\n\n### Configuring GitHub Secrets\n\nAdd the following secrets to your GitHub repository (Settings \u003e Secrets and variables \u003e Actions):\n\n- `EXTENSION_ID`: Your Chrome extension ID\n- `CLIENT_ID`: Chrome Web Store API Client ID\n- `CLIENT_SECRET`: Chrome Web Store API Client Secret\n- `REFRESH_TOKEN`: OAuth 2.0 Refresh Token\n\nTo get the refresh token:\n1. Go to [Google Cloud Console](https://console.cloud.google.com)\n2. Select your project\n3. Go to APIs \u0026 Services \u003e Credentials\n4. Create an OAuth 2.0 Client ID\n5. Use the [OAuth 2.0 Playground](https://developers.google.com/oauthplayground/) to get a refresh token:\n   - Set the OAuth 2.0 configuration\n   - Authorize APIs using your client ID\n   - Exchange authorization code for tokens\n   - Copy the refresh token\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Manual Testing\n\n[Google instructions](https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world)\n\n### TL:DR\n\nOpen chrome extensions settings: \"chrome://extensions\"\nToggle \"Developer mode\"\nClick the new \"Load unpacked\" button\nSelect the chrome folder.\nWhen the extension appears is it most useful to pin it to allow the popover features\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonydata%2Fharmony-browser-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharmonydata%2Fharmony-browser-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonydata%2Fharmony-browser-extension/lists"}