tthn0 / Spotify-Readme

A dynamic, customizable, and real-time Spotify now-playing widget that seamlessly integrates with your website or GitHub markdown files!
https://tthn.pythonanywhere.com/?scan=true&theme=dark&eq_color=rainbow
GNU General Public License v3.0
254 stars 206 forks source link
api css flask html python spotify spotify-api

Spotify Readme

[![Badge](https://img.shields.io/github/issues/tthn0/Spotify-Readme?style=for-the-badge)](https://github.com/tthn0/Spotify-Readme/issues) [![Badge](https://img.shields.io/github/forks/tthn0/Spotify-Readme?style=for-the-badge)](https://github.com/tthn0/Spotify-Readme/network) [![Badge](https://img.shields.io/github/stars/tthn0/Spotify-Readme?style=for-the-badge)](https://github.com/tthn0/Spotify-Readme/stargazers)

A dynamic, customizable, and real-time Spotify now-playing widget for your markdown files that syncs with the song youโ€™re currently playing. If you're not currently playing a song, it'll display one of your recent songs! Feel free to ask for help or make any pull requests, issues, or suggestions ๐Ÿ˜„

Previews

Default

/

Preview

Spinning CD Effect

?spin=true

Preview

Include Scan Code

?scan=true

Preview

Dark Theme

?theme=dark

Preview

Custom Equalizer

?eq_color=0995e0

Preview

Rainbow Equalizer

?eq_color=rainbow

Preview

Combination

?spin=true&scan=true&eq_color=rainbow&theme=dark

Preview

Setup/Deployment

[!WARNING]
This guide was last updated on Jul 27, 2024. The steps might differ slightly in the future if Spotify or PythonAnywhere update their website interfaces.

[!NOTE]
This will take approximately 5 minutes to set up.

0. Star This Repo (Mandatory) ๐ŸŒŸ

1. Spotify's API ๐ŸŽถ

2. Intermediary Steps ๐Ÿ› ๏ธ

https://accounts.spotify.com/authorize?client_id={CLIENT_ID}&response_type=code&scope=user-read-currently-playing,user-read-recently-played&redirect_uri=http://localhost/callback/

3. Host on PythonAnywhere ๐Ÿ

4. Add to your GitHub ๐Ÿš€

Customization

To customize the widget, add query parameters to the endpoint. There are many possible combinations! See how it pairs with other widgets on my own README!

Parameter Default Values
spin false false, true
scan false false, true
theme light light, dark
eq_color 1ED760 rainbow, Any Hex Color w/o Hash Sign

Keep Your Fork Up To Date

You can keep your fork, and thus your private PythonAnywhere instance up to date, with the upstream using GitHub's Sync Fork button! After doing so, log back into your PythonAnywhere account and open a new console to pull in the changes.

Note

This wasn't a completely original idea. This was inspired by novatorem's project that was supposed to be for me only. Since others have asked for the source code, I decided to make this a public repo. I also incorporated the latest two PR's from the orignal project into this one and made it easy to customize!