{"id":15083917,"url":"https://github.com/stignygaard/lastfm-widgets","last_synced_at":"2026-02-01T15:35:53.652Z","repository":{"id":251375952,"uuid":"835064956","full_name":"StigNygaard/lastfm-widgets","owner":"StigNygaard","description":"\"Tracks\" webcomponent showing scrobbles from a last.fm account - And maybe more to come?...","archived":false,"fork":false,"pushed_at":"2025-04-12T10:02:22.000Z","size":546,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T10:38:41.222Z","etag":null,"topics":["deno","deno-2","deno-deploy","deno2","javascript-widget","last-fm","lastfm","music","now-playing","playlist","scrobble","scrobbles","scrobbling","web-component","web-widget","web-widgets","webcomponent","widget"],"latest_commit_sha":null,"homepage":"https://lastfm-widgets.deno.dev/","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/StigNygaard.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":"2024-07-29T05:04:31.000Z","updated_at":"2025-04-12T09:55:05.000Z","dependencies_parsed_at":"2024-09-15T04:30:05.086Z","dependency_job_id":"769edd99-f287-44b9-b263-0cd4ea9aa3cf","html_url":"https://github.com/StigNygaard/lastfm-widgets","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"1cb5cc1f13b0ed430f515c6c8560bdcc9925ec9c"},"previous_names":["stignygaard/lastfm-widgets"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StigNygaard%2Flastfm-widgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StigNygaard%2Flastfm-widgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StigNygaard%2Flastfm-widgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StigNygaard%2Flastfm-widgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StigNygaard","download_url":"https://codeload.github.com/StigNygaard/lastfm-widgets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StigNygaard%2Flastfm-widgets/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259057335,"owners_count":22799135,"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":["deno","deno-2","deno-deploy","deno2","javascript-widget","last-fm","lastfm","music","now-playing","playlist","scrobble","scrobbles","scrobbling","web-component","web-widget","web-widgets","webcomponent","widget"],"created_at":"2024-09-25T07:00:23.142Z","updated_at":"2026-02-01T15:35:53.639Z","avatar_url":"https://github.com/StigNygaard.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔴 lastfm-widgets\n\n_Tracks_ is a javascript web-widget to show \"scrobbles\" (play history) from a [Last-fm](https://www.last.fm/) account.\nSee _Tracks_ in action on https://www.rockland.dk/ and https://lastfm-widgets.deno.dev/. At the latter site, you can not\nonly find some more information and instructions for use, you can also play with some of the customization options,\nincluding setting the user to show scrobbles from.\n\n[![Tracks](demo/Tracks-lastfm-widget-header-1280x640-2.png \"Tracks widget\")](https://www.last.fm/user/rockland)\n\nLong time Last.fm users might get a déjà vu feeling by the red album header-lines. As primarily an album listener\nmyself, I have missed them. So I brought them (optionally) back in this widget.\n\nAs name of this repository hints, I might have more than one Last.fm widget planned for this space 🙂\n\n## The technical...\n\nThe _Tracks_ widget itself is made as a _webcomponent_ using pure standard web client-side technologies (no frameworks\nor build tools needed). It can work \"alone\" communicating directly with Last.fm's Audioscrobbler v2 API, or it can be\nsupported by a custom backend \"proxy-api\". The latter is encouraged when possible, because it makes it possible to\nimplement throttling of requests to Last.fm's API.\n\nThis repository not only holds the widget itself, but also the demo page (https://lastfm-widgets.deno.dev/) and an\nexample backend proxy-api. The proxy-api is made in [Deno](https://deno.com/) (server-side javascript/typescript). Also,\nthis repository is set up as a [Deno Deploy](https://deno.com/deploy) project. Any updates to the main-branch are\nimmediately deployed to the demo-site at https://lastfm-widgets.deno.dev/.\n\nThe widget (frontend code) should be compatible back to at least Firefox 115 and Chromium 109 based web-browsers (which\nare versions running on old Windows 7/8 installations). It also runs in Safari, but unsure how old versions are\nsupported (I'm not able to test that myself). The backend code is my first simple experiments/experience with Deno, so\nyou might see me making many changes and \"stupid\" comments and TODOs in that. The backend is generally tested/used\nwith the latest or a very recent Deno 2.x.\n\n#### /widgets/ folder\n\nThe widget frontend code. _All_ that is needed for widget to work in _Demo_ or _Basic_ mode. See\n[Releases](https://github.com/StigNygaard/lastfm-widgets/releases) to get latest \"release-version\" of this folder's\ncontent. And see https://lastfm-widgets.deno.dev/ for more about widget _modes_ and how to use and customize the widget.\n\n#### /demo/ folder\n\nFrontend-code for the demo page seen on https://lastfm-widgets.deno.dev/\n\n#### /services/ folder\n\n- _proxy-api.ts_ - An example backend proxy-api made with Deno. The proxy-api is used on demo page when widget is in\n  _Backend-supported_ mode, but also used by widget on [rockland.dk](https://www.rockland.dk/).\n- _log.ts_ - A simple log endpoint used by the demo page.\n\n#### /main.ts file\n\nBasically the \"web-server\" or \"router\" for https://lastfm-widgets.deno.dev/, serving above-mentioned content.\n\n## Future updates?\n\nWhat could future updates bring? _Maybe_:\n\n- A layout that adapt nicer to wider display dimensions of widget\n- Dark mode\n- Refactoring code _if_ I'm in the mood for that kind of thing 🙂\n- More documentation (especially on the Deno proxy-api implementation)\n- Another widget\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstignygaard%2Flastfm-widgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstignygaard%2Flastfm-widgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstignygaard%2Flastfm-widgets/lists"}