{"id":21897861,"url":"https://github.com/benjifs/sparkles","last_synced_at":"2025-04-15T18:02:47.517Z","repository":{"id":64769195,"uuid":"575926523","full_name":"benjifs/sparkles","owner":"benjifs","description":"a micropub client","archived":false,"fork":false,"pushed_at":"2025-01-26T18:48:36.000Z","size":804,"stargazers_count":25,"open_issues_count":3,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T23:11:32.469Z","etag":null,"topics":["indieweb","micropub"],"latest_commit_sha":null,"homepage":"https://sparkles.sploot.com","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/benjifs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-12-08T16:00:18.000Z","updated_at":"2025-02-10T06:18:03.000Z","dependencies_parsed_at":"2023-02-15T14:32:03.469Z","dependency_job_id":"653d9aeb-ee1a-4ccf-b067-dbd904360658","html_url":"https://github.com/benjifs/sparkles","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjifs%2Fsparkles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjifs%2Fsparkles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjifs%2Fsparkles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benjifs%2Fsparkles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benjifs","download_url":"https://codeload.github.com/benjifs/sparkles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249125965,"owners_count":21216705,"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":["indieweb","micropub"],"created_at":"2024-11-28T14:20:07.037Z","updated_at":"2025-04-15T18:02:47.489Z","avatar_url":"https://github.com/benjifs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# sparkles\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./public/assets/icons/favicon-144x144.png\" alt=\"sparkles icon\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca target=\"_blank\" href=\"https://app.netlify.com/sites/sprkls/deploys\"\u003e\n    \u003cimg src=\"https://api.netlify.com/api/v1/badges/c0572dda-6712-4742-a980-3a40b0d42ec2/deploy-status\" alt=\"Netlify Status\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca target=\"_blank\" href=\"./LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/benjifs/sparkles?color=A1A1F1\u0026style=flat\" alt=\"Project License\"\u003e\u003c/a\u003e\n  \u003ca target=\"_blank\" href=\"https://github.com/benjifs/sparkles/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/benjifs/sparkles?color=C49EE7\u0026label=version\u0026style=flat\" alt=\"Latest Version\"\u003e\u003c/a\u003e\n  \u003ca target=\"_blank\" href=\"https://github.com/benjifs/sparkles/commits/main\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/benjifs/sparkles?color=E69BDD\u0026style=flat\" alt=\"Latest Commit\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n[sparkles](https://sparkles.sploot.com) is a [Micropub](https://micropub.spec.indieweb.org/) client. It supports [IndieAuth](https://indieauth.net/) for login and expects a [micropub endpoint](https://indieweb.org/Micropub/Servers) to communicate with to publish posts. It supports basic micropub content types, as well as the following experimental post types:\n- movie ([watch](https://indieweb.org/watch))\n- book ([read](https://indieweb.org/read))\n- music ([listen](https://indieweb.org/listen))\n- game ([play](https://indieweb.org/play))\n\nsparkles can also be installed as a [Progressive Web App (PWA)](https://web.dev/progressive-web-apps/) on supported devices which will add the app as a **share target** and also add some quick action options.\n\nYou can read more about this project [here](https://benji.dog/articles/sparkles/) and try it for yourself at: https://sparkles.sploot.com\n\n## Development\n\n### Requirements\n* `node 18.12.1`\n* `npm \u003e=8.19.2`\n* `npm install -g netlify-cli`\n\n### Environment Variables\n| name | description |\n| --- | --- |\n| `TMDB_API_KEY` | [TMDB API Key](https://developer.themoviedb.org/) for movie search |\n| `GIANTBOMB_API_KEY` | [GiantBomb API Key](https://www.giantbomb.com/api/) for video game search |\n\n### Build\n* Clone this repository\n* `npm install`\n* Run `netlify dev` to test locally\n  * Your default browser should automatically open to: http://localhost:8888\n  * The frontend will run on port `5173`\n  * The functions will run on port `5174`\n\nWhile running in `DEV` mode, the login screen will allow you to either go through the standard authentication process **OR** add a test [micropub endpoint](https://indieweb.org/Micropub/Servers) with an `access_token`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjifs%2Fsparkles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenjifs%2Fsparkles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjifs%2Fsparkles/lists"}