{"id":28323950,"url":"https://github.com/dxnter/lastfm-readme","last_synced_at":"2026-01-02T21:13:33.445Z","repository":{"id":65694636,"uuid":"597331107","full_name":"dxnter/lastfm-readme","owner":"dxnter","description":"🎶 Dynamically update your GitHub README with Last.fm metrics","archived":false,"fork":false,"pushed_at":"2025-01-20T23:17:30.000Z","size":3385,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T02:00:25.537Z","etag":null,"topics":["actions","github","lastfm","profile-readme","readme"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/last-fm-readme","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/dxnter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-04T07:48:16.000Z","updated_at":"2025-01-20T23:17:34.000Z","dependencies_parsed_at":"2025-05-26T14:04:46.187Z","dependency_job_id":null,"html_url":"https://github.com/dxnter/lastfm-readme","commit_stats":{"total_commits":73,"total_committers":2,"mean_commits":36.5,"dds":0.1643835616438356,"last_synced_commit":"7c24ca8fac97613742b50c7f0ae47e35fac8c1f9"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/dxnter/lastfm-readme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxnter%2Flastfm-readme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxnter%2Flastfm-readme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxnter%2Flastfm-readme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxnter%2Flastfm-readme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dxnter","download_url":"https://codeload.github.com/dxnter/lastfm-readme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxnter%2Flastfm-readme/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261586274,"owners_count":23181074,"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":["actions","github","lastfm","profile-readme","readme"],"created_at":"2025-05-25T17:09:16.239Z","updated_at":"2026-01-02T21:13:33.438Z","avatar_url":"https://github.com/dxnter.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./static/images/readme-hero.png\" alt=\"lastfm-readme branding hero\" width=\"700px\"\u003e\n\n  # 🎵 Last.fm README GitHub Action\n\n  **Dynamically update your GitHub `README.md` with [Last.fm](https://www.last.fm) metrics.**\n\n  [![MIT License][license.badge]][license]\n  [![GitHub Release][github.release.badge]][github.release]\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./static/images/readme-preview.png\" alt=\"lastfm-readme preview output\" height=\"300\"\u003e\n\u003c/div\u003e\n\n## 🚀 Quick Start\n\n\u003e [!TIP]\n\u003e **New to GitHub Actions?** Check out the [GitHub Actions documentation](https://docs.github.com/en/actions) to get started.\n\n### 🔧 Setup\n\n#### 🎵 Last.fm API Key\n\n1. **Create a Last.fm API account**: Visit [Last.fm API](https://www.last.fm/api/account/create)\n2. **Get your API key**: You'll receive an API key immediately after account creation\n3. **Save your API key**: You'll need this for the next step\n\n\u003e [!WARNING]\n\u003e Keep your API key secure and never commit it directly to your repository.\n\n#### 🔒 Configure Repository Secrets\n\n**Step 1**: Navigate to your repository's secrets:\n\n```\nYour Repository → Settings → Secrets and variables → Actions → New repository secret\n```\n\n**Step 2**: Add the required secrets:\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth width=\"200px\"\u003eSecret Name\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003cth\u003eRequired\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eLASTFM_API_KEY\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eYour Last.fm API key from the previous step\u003c/td\u003e\n\u003ctd\u003e✅ Yes\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eGH_TOKEN\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eGitHub Personal Access Token with \u003ccode\u003erepo\u003c/code\u003e scope\u003cbr/\u003e\u003csmall\u003e\u003cem\u003eOnly needed for cross-repository updates\u003c/em\u003e\u003c/small\u003e\u003c/td\u003e\n\u003ctd\u003e⚠️ Conditional\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n#### ⚙️ Configure Workflow Permissions\n\n\u003e [!IMPORTANT]\n\u003e This step is crucial for the action to update your README file.\n\n**Path**: `Settings → Actions → General → Workflow permissions`\n\n**Setting**: Select **\"Read and write permissions\"**\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./static/images/workflow-permissions.png\" alt=\"Workflow permissions configuration\" width=\"500\"\u003e\n\u003c/div\u003e\n\n#### 📝 Add Section Markers to Your README\n\nAdd HTML comments to your `README.md` where you want your Last.fm data to appear:\n\n```html\n\u003c!-- Add this where you want your music stats --\u003e\n\u003c!--START_LASTFM_ARTISTS--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n\n\u003c!--START_LASTFM_RECENT--\u003e\n\u003c!--END_LASTFM_RECENT--\u003e\n```\n\n### 💼 Create Your Workflow\n\nCreate `.github/workflows/lastfm.yml` in your repository:\n\n```yaml\nname: 🎵 Update Last.fm Stats\n\non:\n  # Run automatically every 6 hours\n  schedule:\n    - cron: '0 */6 * * *'\n  # Allow manual runs\n  workflow_dispatch:\n\njobs:\n  update-lastfm:\n    name: 🎤 Update Music Stats\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: 🎵 Update Last.fm README\n        uses: dxnter/lastfm-readme@v1\n        with:\n          LASTFM_API_KEY: ${{ secrets.LASTFM_API_KEY }}\n          LASTFM_USER: your-lastfm-username\n\n          # Optional: Customize the commit message\n          COMMIT_MESSAGE: '🎵 Update music stats'\n\n          # Optional: For cross-repository updates\n          # GH_TOKEN: ${{ secrets.GH_TOKEN }}\n          # REPOSITORY: username/repository\n\n          # Optional: Target a different file\n          # TARGET_FILE: profile/README.md\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e⏰ Scheduling Examples\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n| Frequency         | Cron Expression |\n| ----------------- | --------------- |\n| Every hour        | `0 * * * *`     |\n| Every 6 hours     | `0 */6 * * *`   |\n| Daily at midnight | `0 0 * * *`     |\n| Weekly            | `0 0 * * 0`     |\n\nFor different scheduling needs, refer to the [crontab.guru](https://crontab.guru/) website.\n\n\u003c/details\u003e\n\n## ⚙️ Configuration\n\n### 📥 Input Parameters\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth width=\"150px\"\u003eParameter\u003c/th\u003e\n\u003cth width=\"120px\"\u003eRequired\u003c/th\u003e\n\u003cth width=\"150px\"\u003eDefault\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eLASTFM_API_KEY\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e✅ Yes\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e—\u003c/td\u003e\n\u003ctd\u003eYour Last.fm API key\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eLASTFM_USER\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e✅ Yes\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e—\u003c/td\u003e\n\u003ctd\u003eLast.fm username to fetch data for\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eGH_TOKEN\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e${{ github.token }}\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eGitHub token for cross-repo updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eREPOSITORY\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003eCurrent repository\u003c/td\u003e\n\u003ctd\u003eTarget repository (\u003ccode\u003eowner/repo\u003c/code\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eTARGET_FILE\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eREADME.md\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePath to the file to update\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eCOMMIT_MESSAGE\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003echore: update Last.fm sections\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eCustom commit message\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eSHOW_TITLE\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003etrue\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eShow section titles with Last.fm logo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eLOCALE\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003een-US\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://gist.github.com/raushankrjha/d1c7e35cf87e69aa8b4208a8171a8416\"\u003eBCP 47 locale\u003c/a\u003e for number formatting\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eDATE_FORMAT\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e🔶 Optional\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eMM/dd/yyyy\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://date-fns.org/v1.29.0/docs/format#description\"\u003edate-fns format\u003c/a\u003e for dates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## 📊 Available Sections\n\n\u003e [!NOTE]\n\u003e Each section is defined by HTML comment markers with optional JSON configuration for customization.\n\n### 🎯 Basic Usage\n\n```html\n\u003c!-- Default configuration --\u003e\n\u003c!--START_LASTFM_ARTISTS--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n```\n\n### 🛠️ Advanced Configuration\n\n```html\n\u003c!-- Custom configuration with JSON --\u003e\n\u003c!--START_LASTFM_ARTISTS:{\"period\": \"overall\", \"rows\": 3}--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e💡 Configuration Tips\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n- **JSON must be valid**: Use double quotes for keys and string values\n- **No spaces**: Keep the configuration compact\n- **Multiple sections**: You can use the same section type multiple times with different configs\n\n**Example of multiple artist sections:**\n\n```html\n\u003c!-- This week's top artists --\u003e\n\u003c!--START_LASTFM_ARTISTS:{\"period\": \"7day\", \"rows\": 5}--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n\n\u003c!-- All-time favorites --\u003e\n\u003c!--START_LASTFM_ARTISTS:{\"period\": \"overall\", \"rows\": 3}--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n```\n\n\u003c/details\u003e\n\n---\n\n### 🎤 Top Artists\n\nDisplay the top listened to albums over a given period of time.\n\n#### 🖼️ Preview\n\n![top-artists.png](./static/images/top-artists.png)\n\n#### 💻 Usage Examples\n\n```html\n\u003c!-- Default: Top 8 artists from the past week --\u003e\n\u003c!--START_LASTFM_ARTISTS--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n\n\u003c!-- Custom: Top 5 artists from the past 6 months --\u003e\n\u003c!--START_LASTFM_ARTISTS:{\"period\": \"6month\", \"rows\": 5}--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n\n\u003c!-- All-time favorites --\u003e\n\u003c!--START_LASTFM_ARTISTS:{\"period\": \"overall\", \"rows\": 10}--\u003e\n\u003c!--END_LASTFM_ARTISTS--\u003e\n```\n\n#### ⚙️ Configuration Options\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth\u003eOption\u003c/th\u003e\u003cth\u003eType\u003c/th\u003e\u003cth\u003eDefault\u003c/th\u003e\u003cth\u003eOptions\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eperiod\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003estring\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e, \u003ccode\u003e1month\u003c/code\u003e, \u003ccode\u003e3month\u003c/code\u003e, \u003ccode\u003e6month\u003c/code\u003e, \u003ccode\u003e12month\u003c/code\u003e, \u003ccode\u003eoverall\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTime period for data aggregation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erows\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enumber\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e8\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e1-50\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eNumber of artists to display\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n### 💿 Top Albums\n\nDisplay the top listened to albums over a given period of time.\n\n#### 🖼️ Preview\n\n![top-albums.png](./static/images/top-albums.png)\n\n#### 💻 Usage Examples\n\n```html\n\u003c!-- This month's top albums --\u003e\n\u003c!--START_LASTFM_ALBUMS:{\"period\": \"1month\", \"rows\": 5}--\u003e\n\u003c!--END_LASTFM_ALBUMS--\u003e\n\n\u003c!-- All-time classic albums --\u003e\n\u003c!--START_LASTFM_ALBUMS:{\"period\": \"overall\", \"rows\": 3}--\u003e\n\u003c!--END_LASTFM_ALBUMS--\u003e\n```\n\n#### ⚙️ Configuration Options\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth\u003eOption\u003c/th\u003e\u003cth\u003eType\u003c/th\u003e\u003cth\u003eDefault\u003c/th\u003e\u003cth\u003eOptions\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eperiod\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003estring\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e, \u003ccode\u003e1month\u003c/code\u003e, \u003ccode\u003e3month\u003c/code\u003e, \u003ccode\u003e6month\u003c/code\u003e, \u003ccode\u003e12month\u003c/code\u003e, \u003ccode\u003eoverall\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTime period for data aggregation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erows\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enumber\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e8\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e1-50\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eNumber of albums to display\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n### 🎵 Top Tracks\n\nDisplay the top listened to tracks over a given period of time.\n\n#### 🖼️ Preview\n\n![top-tracks.png](./static/images/top-tracks.png)\n\n#### 💻 Usage Examples\n\n```html\n\u003c!-- This month's most played songs --\u003e\n\u003c!--START_LASTFM_TRACKS:{\"period\": \"1month\", \"rows\": 5}--\u003e\n\u003c!--END_LASTFM_TRACKS--\u003e\n\n\u003c!-- Your all-time favorites --\u003e\n\u003c!--START_LASTFM_TRACKS:{\"period\": \"overall\", \"rows\": 10}--\u003e\n\u003c!--END_LASTFM_TRACKS--\u003e\n```\n\n#### ⚙️ Configuration Options\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth\u003eOption\u003c/th\u003e\u003cth\u003eType\u003c/th\u003e\u003cth\u003eDefault\u003c/th\u003e\u003cth\u003eOptions\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eperiod\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003estring\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e7day\u003c/code\u003e, \u003ccode\u003e1month\u003c/code\u003e, \u003ccode\u003e3month\u003c/code\u003e, \u003ccode\u003e6month\u003c/code\u003e, \u003ccode\u003e12month\u003c/code\u003e, \u003ccode\u003eoverall\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eTime period for data aggregation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erows\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enumber\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e8\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e1-50\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eNumber of tracks to display\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n### 🔊 Recent Tracks\n\nDisplay most recently played music with real-time \"now playing\" status.\n\n#### 🖼️ Preview\n\n**Default**\n\n![recent-tracks.png](./static/images/recent-tracks.png)\n\n**Track currently playing**\n\n![recent-tracks-now-playing.png](./static/images/recent-tracks-now-playing.png)\n\n#### 💻 Usage Examples\n\n```html\n\u003c!-- Default: Last 8 tracks --\u003e\n\u003c!--START_LASTFM_RECENT--\u003e\n\u003c!--END_LASTFM_RECENT--\u003e\n\n\u003c!-- Custom: Last 5 tracks --\u003e\n\u003c!--START_LASTFM_RECENT:{\"rows\": 5}--\u003e\n\u003c!--END_LASTFM_RECENT--\u003e\n```\n\n#### ⚙️ Configuration Options\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth\u003eOption\u003c/th\u003e\u003cth\u003eType\u003c/th\u003e\u003cth\u003eDefault\u003c/th\u003e\u003cth\u003eOptions\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erows\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enumber\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e8\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003e1-50\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eNumber of recent tracks to display\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n### ℹ️ User Statistics\n\nShowcase your Last.fm profile statistics and listening milestones.\n\n#### 🖼️ Preview\n\n**Default**\n\n![recent-tracks.png](./static/images/user-info-default.png)\n\n**Custom Configuration**\n\n![user-info-custom.png](./static/images/user-info-custom.png)\n\n#### 💻 Usage Examples\n\n```html\n\u003c!-- Default: Show all available statistics --\u003e\n\u003c!--START_LASTFM_USER_INFO--\u003e\n\u003c!--END_LASTFM_USER_INFO--\u003e\n\n\u003c!-- Custom: Only show play count and artist count --\u003e\n\u003c!--START_LASTFM_USER_INFO:{\"display\": [\"playcount\", \"artistCount\"]}--\u003e\n\u003c!--END_LASTFM_USER_INFO--\u003e\n\n\u003c!-- Minimal: Just registration date --\u003e\n\u003c!--START_LASTFM_USER_INFO:{\"display\": [\"registered\"]}--\u003e\n\u003c!--END_LASTFM_USER_INFO--\u003e\n```\n\n#### ⚙️ Configuration Options\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth\u003eOption\u003c/th\u003e\u003cth\u003eType\u003c/th\u003e\u003cth\u003eDefault\u003c/th\u003e\u003cth\u003eAvailable Options\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edisplay\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray\u003c/td\u003e\n\u003ctd\u003eAll fields\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eregistered\u003c/code\u003e, \u003ccode\u003eplaycount\u003c/code\u003e, \u003ccode\u003eartistCount\u003c/code\u003e, \u003ccode\u003ealbumCount\u003c/code\u003e, \u003ccode\u003etrackCount\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eList of statistics to display\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e📊 Available Statistics Fields\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n| Field         | Description                | Example Output             |\n| ------------- | -------------------------- | -------------------------- |\n| `registered`  | Account registration date  | **Registered**: 12/25/2015 |\n| `playcount`   | Total scrobbled tracks     | **Playcount**: 50,247      |\n| `artistCount` | Unique artists listened to | **Artists**: 2,847         |\n| `albumCount`  | Unique albums in library   | **Albums**: 8,429          |\n| `trackCount`  | Unique tracks in library   | **Tracks**: 45,821         |\n\n\u003c/details\u003e\n\n## 🌟 Acknowledgements\n\nThis project was inspired by and builds upon the excellent work of:\n\n- [JasonEtco/rss-to-readme](https://github.com/JasonEtco/rss-to-readme)\n- [vnphanquang/monkeytype-readme](https://github.com/vnphanquang/monkeytype-readme)\n- [athul/waka-readme](https://github.com/athul/waka-readme)\n- [actions-js/profile-readme](https://github.com/actions-js/profile-readme)\n\n\u003c!-- Badge definitions --\u003e\n\n[license.badge]: https://img.shields.io/badge/license-MIT-red.svg\n[license]: ./LICENSE\n[github.release.badge]: https://img.shields.io/github/v/release/dxnter/lastfm-readme\n[github.release]: https://github.com/dxnter/lastfm-readme/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxnter%2Flastfm-readme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdxnter%2Flastfm-readme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxnter%2Flastfm-readme/lists"}