{"id":23197194,"url":"https://github.com/jsnjack/pt2","last_synced_at":"2025-04-05T08:42:24.093Z","repository":{"id":75802620,"uuid":"522914784","full_name":"jsnjack/pt2","owner":"jsnjack","description":"Price tracker browser extension v2","archived":false,"fork":false,"pushed_at":"2024-06-09T20:33:34.000Z","size":260,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-10T16:57:38.877Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsnjack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-08-09T11:09:58.000Z","updated_at":"2024-06-09T20:33:37.000Z","dependencies_parsed_at":"2024-01-16T01:09:09.125Z","dependency_job_id":"bdfcf1a8-9129-4920-bcb2-ee68a8be0464","html_url":"https://github.com/jsnjack/pt2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Fpt2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Fpt2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Fpt2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsnjack%2Fpt2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsnjack","download_url":"https://codeload.github.com/jsnjack/pt2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312097,"owners_count":20918341,"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":"2024-12-18T14:28:54.367Z","updated_at":"2025-04-05T08:42:24.056Z","avatar_url":"https://github.com/jsnjack.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pt2\n\npt2 is a browser extension which allows you to keep track of content changes on web pages.\n\nThe extension will add `action` button to the browser toolbar. When the button is clicked,\nthe extension opens via popup window. The popup window will show the list of all\ntracked pages.\n\nYou can add new pages to the list by clicking on the `Add` button. The extension\nwill inject `inject.js` content script into the current tab. The content script\nwill highlight elements under the mouse cursor. You can select the element by clicking\non it. Content script will send the unique selector of the selected element along with\nthe page URL and the page title to the extension's background script. The background\nscript will save the data to the `browser.storage.sync` storage and notify the user\nthat the page was added to the list by adding the badge to the extension's icon.\n\nWhen user clicks on the extension's icon, the extension requests the list of all\ntracked pages from the `browser.storage.sync` storage and displays it in the popup.\nIt will also send the message to the background script to load the content\nof the page and extract the text from the element which matches the selector.\n\n## Development\n### System requirements\n - Fedora 39 or similar\n - Node.js 20\n - Firefox 121 or similar\n\n### How to test\n```bash\n# Install all dependencies\nnpm ci\n\n# Start vite in watch mode. The extension will be available in `dist/` folder\nnpm run dev\n\n# In the separate terminal, start browser and test extension\nnpm run open\n```\n\n\u003e Note: after running `npm run open` you will need to manually allow the extension\nto access all websites. This is required for the extension to work properly. To do so,\nright click on the extension icon in the browser toolbar and select `Manage Extension`.\nThen, in the opened page, click on the `Permissions` tab and enable `Access your data for all websites`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnjack%2Fpt2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsnjack%2Fpt2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsnjack%2Fpt2/lists"}