{"id":14007172,"url":"https://github.com/mikesprague/clean-start","last_synced_at":"2025-04-14T09:53:27.037Z","repository":{"id":37089778,"uuid":"268856900","full_name":"mikesprague/clean-start","owner":"mikesprague","description":"Open source new tab Chrome extension","archived":false,"fork":false,"pushed_at":"2025-04-09T14:27:34.000Z","size":13788,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T15:39:05.640Z","etag":null,"topics":["axios","chrome-extension","cloudflare-pages","dayjs","font-awesome","javascript","jotai","mantine","nodejs","progressive-web-app","pwa","react","serverless-functions","typescript","vite"],"latest_commit_sha":null,"homepage":"https://cleanstart.page","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/mikesprague.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-02T16:48:13.000Z","updated_at":"2025-04-04T15:58:44.000Z","dependencies_parsed_at":"2024-04-15T16:07:10.444Z","dependency_job_id":"14a0a8e7-524e-49a7-8a72-c07a5f6d1a2c","html_url":"https://github.com/mikesprague/clean-start","commit_stats":null,"previous_names":[],"tags_count":246,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikesprague%2Fclean-start","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikesprague%2Fclean-start/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikesprague%2Fclean-start/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikesprague%2Fclean-start/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikesprague","download_url":"https://codeload.github.com/mikesprague/clean-start/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860285,"owners_count":21173339,"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":["axios","chrome-extension","cloudflare-pages","dayjs","font-awesome","javascript","jotai","mantine","nodejs","progressive-web-app","pwa","react","serverless-functions","typescript","vite"],"created_at":"2024-08-10T10:01:52.737Z","updated_at":"2025-04-14T09:53:27.004Z","avatar_url":"https://github.com/mikesprague.png","language":"TypeScript","readme":"# Clean Start\n\nOpen source new tab extension\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true\u0026ref=main\u0026repo=268856900)\n\n## About\n\n- Layout/design based on what I liked from the Momentum browser extension\n- Date and time with greeting\n- Current temp/conditions (from [OpenWeatherMap](https://openweathermap.org/api))\n  - uses location data from network the incoming request is made on (location is sometimes unavailable or inaccurate)\n- Random quote (quotes provided by [ZenQuotes API](https://zenquotes.io/))\n- Random background image (from [Unsplash API](https://unsplash.com/developers/))\n- Top posts from some useful sites\n  - [GitHub Trending Repositories](https://www.github.com/trending/)\n  - [DEV Community Recent Posts](https://dev.to/)\n  - [Hacker News Top Posts](https://news.ycombinator.com/)\n  - [Product Hunt Top Posts](https://producthunt.com/)\n  - [Reddit Popular Posts](https://www.reddit.com/r/popular)\n\n### Uses\n\n- [React](https://reactjs.org/) - JavaScript Framework\n- [Mantine](https://mantine.dev/) - Component Library for React\n- [Jotai](https://jotai.org/) - State Management Library for React\n- [Vite](https://vitejs.dev/) - Build Tool\n- [FontAwesome](https://fontawesome.com/) - Icons\n- [Axios](https://github.com/axios/axios/) - HTTP Client\n- [dayjs](https://github.com/iamkun/dayjs) - Date Library\n- [Roboto Slab via Google Fonts](https://fonts.google.com/specimen/Roboto+Slab?query=roboto+slab) - Font\n- [CloudFlare Pages](https://pages.cloudflare.com/) - Hosting and Serverless Functions for API\n\n## Demo\n\nDemo available as a progressive web app (PWA):\n\n- [https://cleanstart.page](https://cleanstart.page)\n\n\u003c!-- ## Screenshots\n\n![Clean Start Screenshot One](./screenshot-1.png \"Clean Start Screenshot One\")\n![Clean Start Screenshot Two](./screenshot-2.png \"Clean Start Screenshot Two\")\n![Clean Start Screenshot Three](./screenshot-3.png \"Clean Start Screenshot Three\")\n![Clean Start Screenshot Four](./screenshot-4.png \"Clean Start Screenshot Four\")\n![Clean Start Screenshot Five](./screenshot-5.png \"Clean Start Screenshot Five\")\n![Clean Start Screenshot Six](./screenshot-6.png \"Clean Start Screenshot Six\") --\u003e\n\n## Install\n\n- Chrome Store: [https://chrome.google.com/webstore/detail/mmnlbcjgkfloemcbbjhklbblhbcjhmol](https://chrome.google.com/webstore/detail/mmnlbcjgkfloemcbbjhklbblhbcjhmol)\n\n## Build\n\n- Install dependencies `npm install`\n- Build extension `npm run build:extension`\n  - This will create a `build` folder with the extension files and a `clean-start-extension.zip` file (used for submission to Chrome Store)\n\n### Local Development\n\n- Run/develop locally `npm start`\n\n### API Keys\n\nNOTE: You will need API keys from OpenWeatherMap and Unsplash to build and run the serverless functions used as API endpoints for this extension. You can\nget API keys for both services for FREE (links below)\n\nOpenWeatherMap\n\n- Developer page \u003chttps://openweathermap.org/api\u003e\n- Sign up for FREE \u003chttps://home.openweathermap.org/users/sign_up\u003e\n\nUnsplash\n\n- Developer page \u003chttps://unsplash.com/developers\u003e\n- Sign up for FREE \u003chttps://unsplash.com/oauth/applications\u003e\n\nOnce you have the API keys, make sure to set environment variables for each using the following names:\n\n- `UNSPLASH_ACCESS_KEY`\n- `UNSPLASH_SECRET_KEY`\n- `OPEN_WEATHERMAP_API_KEY`\n\nFor local development, create a file in the root directory of this project named `.dev.vars` with the same format as a typical `.env` file:\n\n```bash\nUNSPLASH_ACCESS_KEY=\"xxxxxx\"\nUNSPLASH_SECRET_KEY=\"xxxxxx\"\nOPEN_WEATHERMAP_API_KEY=\"xxxxxx\"\n```\n\nNOTE: for GH Codespaces development, you will need to set the env vars as Actions Secrets in the settings for your forked repo\n\n## License\n\nMIT License\n\nCopyright (c) 2024 Michael Sprague\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikesprague%2Fclean-start","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikesprague%2Fclean-start","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikesprague%2Fclean-start/lists"}