diff --git a/.github/workflows/compress_images.yml b/.github/workflows/compress_images.yml
index 06e6c58..93ea7c5 100644
--- a/.github/workflows/compress_images.yml
+++ b/.github/workflows/compress_images.yml
@@ -1,8 +1,7 @@
name: Compress Images
on:
pull_request:
- # Run Image Actions when JPG, JPEG, PNG or WebP files are added or changed.
- # See https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths for reference.
+ types: [opened]
paths:
- '**.jpg'
- '**.jpeg'
@@ -16,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Compress Images
uses: calibreapp/image-actions@main
@@ -26,3 +25,4 @@ jobs:
pngQuality: '70'
webpQuality: '70'
githubToken: ${{ secrets.GITHUB_TOKEN }}
+ compressOnly: true
diff --git a/bun.lock b/bun.lock
index 66cfb98..f3d2901 100644
--- a/bun.lock
+++ b/bun.lock
@@ -1,5 +1,6 @@
{
"lockfileVersion": 1,
+ "configVersion": 0,
"workspaces": {
"": {
"name": "spicetify-docs",
diff --git a/docs/advanced-usage/custom-apps.md b/docs/advanced-usage/custom-apps.md
index 5fad9bf..81ad59d 100644
--- a/docs/advanced-usage/custom-apps.md
+++ b/docs/advanced-usage/custom-apps.md
@@ -73,7 +73,7 @@ Three apps have been included to demonstrate how to create and inject an app:
Fetching posts from any Spotify link sharing subreddit. You can add, remove, arrange subreddits and customize post visual in config menu (in Profile menu, top right button with your username).
-
+
To install, run following commands:
@@ -86,7 +86,7 @@ spicetify apply
Aggregate all new releases from favorite artists, podcasts. Time range, release type, and other filters can be customized in config menu (in Profile menu, top right button with your username). Date format is based on your locale code (BCP47).
-
+
To install, run following commands:
@@ -101,7 +101,7 @@ Get access to the current track's lyrics from various lyrics providers (Musixmat
Colors, lyrics providers can be customized in config menu (in Profile menu, top right button with your username).
-
+
To install, run following commands:
diff --git a/docs/advanced-usage/extensions.md b/docs/advanced-usage/extensions.md
index fd235b5..03159b4 100644
--- a/docs/advanced-usage/extensions.md
+++ b/docs/advanced-usage/extensions.md
@@ -84,7 +84,7 @@ Videos are unable to play in some regions because of Spotify's policy. Instead o
Easily store and browse pages, play tracks or tracks in specific time. Useful for who wants to check out an artist, album later without following them or writing their name down.
-
+
### Christian Spotify
@@ -92,7 +92,7 @@ Easily store and browse pages, play tracks or tracks in specific time. Useful fo
Auto skip explicit tracks. Toggle option is in Profile menu (top right button).
-
+
### Full App Display
@@ -100,7 +100,7 @@ Auto skip explicit tracks. Toggle option is in Profile menu (top right button).
Full App Display: Minimal album cover art display with beautiful blur effect background. Activating button located in top bar. While in display mode, double click anywhere to exit. Right click anywhere to open setting menu.
-
+
### Keyboard Shortcut
@@ -114,7 +114,7 @@ Extends Spotify's default keybinds (toggle help modal with `?`) with vim like sh
- G/Shift G: Scroll to top or bottom
- F: Open up keyboard-driven navigation. Hit correct key sequences to open up place you want to go:
-
+
### Loopy Loop
@@ -122,7 +122,7 @@ Extends Spotify's default keybinds (toggle help modal with `?`) with vim like sh
Provide ability to mark start and end points on progress bar and automatically loop over that track portion.
-
+
### Pop-up Lyrics
@@ -130,21 +130,21 @@ Provide ability to mark start and end points on progress bar and automatically l
Have easy access to a pop-up window with the current song's lyrics. Click at microphone icon on top bar to open lyrics windows. Right click at the same icon to open config menu to customize looks and lyrics providers priorities.
-
+
### Shuffle+
**Filename:** `shuffle+.js`
Shuffles using Fisher–Yates algorithm with zero bias. After installing extensions, right click album/playlist/artist item, there will be an option "Play with Shuffle+". You can also multiple select tracks and choose to "Play with Shuffle+".
-
+
### Trash Bin
**Filename:** `trashbin.js`
Throw songs/artists to trash bin and never hear them again (automatically skip). This extension will append a Throw to Trashbin option in tracks and artists link right click menu.
-
+
### Web Now Playing
@@ -173,7 +173,7 @@ If you are running Spicetify 1.2.1 or below, and a supported Spotify version, yo
Easily setting up the client for your friends or audiences to choose, add song to queue but prevent them to control player. Plays button in album track list/playlist are re-purposed to add track to queue, instead of play track directly. Hide Controls option also allow you to hide all control button in player bar, Play/More/Follow buttons in cards.
-
+
### New Release
@@ -189,4 +189,4 @@ Aggregate all new releases from favorite artists, podcasts. Setting menu could b
You like using Discover, New Releases page to find new music but adding each one of them to queue takes a lot of effort? If so, activate this extensions and apply. At top of every carousel now has a "Queue All" button to help you add all of them to queue. Note: Not available for playlist carousels. Just songs, albums ones.
-
+
diff --git a/docs/development/js-modules.md b/docs/development/js-modules.md
index 27c3ac6..e556bd2 100644
--- a/docs/development/js-modules.md
+++ b/docs/development/js-modules.md
@@ -21,11 +21,11 @@ For Japanese studying purpose, I'm developing an extension that shows the Romaji
The idea is when I right click at track name and choose Show Romaji:
-
+
Result should show as a notification:
-
+
To translate Japanese text to Romaji, I use a package named [kuroshiro](https://github.com/hexenq/kuroshiro). Luckily, this package will export distribution files as ES6 Module. This is quite important because package itself relies on other utilities packages too. When it is compiled as an ES6 module, everything is transpiled to Browser supported Javascript and combined in one file. Moreover, kuroshiro also needs [kuroshiro-analyzer-kuromoji](https://github.com/hexenq/kuroshiro-analyzer-kuromoji) package to be usable, which relies on dictionaries gzip files. You can see there is no easy way to utiltise both packages and their external files if we use traditional Javascript extension.
diff --git a/docs/faq.md b/docs/faq.md
index 8452b5b..b10de05 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -69,15 +69,15 @@ This problem happens in the extension [Popup Lyrics](https://github.com/spicetif
3. Now in Musixmatch app, hit `Ctrl + Shift + i` to bring up DevTools.
-
+
4. Switch to Network tab. Hit `Ctrl + R`. Filter results with "apic":
-
+
5. Click on any result. Click on the Headers tab. Scroll all the way down. Note down `usertoken`
-
+
It should look like this:
@@ -87,4 +87,4 @@ It should look like this:
6. You can open the config for Popup Lyrics by right clicking on the Popup Lyrics button. Or if you're using Lyrics Plus, open the config by clicking on Lyrics in the sidebar and clicking on the profile menu and then clicking 'Lyrics Plus config'. You can then paste your personal token in the input field in the Musixmatch section and turn the switch on.
-
+
diff --git a/mise.toml b/mise.toml
new file mode 100644
index 0000000..47d0131
--- /dev/null
+++ b/mise.toml
@@ -0,0 +1,3 @@
+[tools]
+node = "24"
+bun = "latest"
diff --git a/static/images/apps/lyrics-plus.png b/static/images/apps/lyrics-plus.png
new file mode 100644
index 0000000..fed5adb
Binary files /dev/null and b/static/images/apps/lyrics-plus.png differ
diff --git a/static/images/apps/new-releases.png b/static/images/apps/new-releases.png
new file mode 100644
index 0000000..276df38
Binary files /dev/null and b/static/images/apps/new-releases.png differ
diff --git a/static/images/apps/reddit.png b/static/images/apps/reddit.png
new file mode 100644
index 0000000..719b94d
Binary files /dev/null and b/static/images/apps/reddit.png differ
diff --git a/static/images/development/js-modules-1.png b/static/images/development/js-modules-1.png
new file mode 100644
index 0000000..afed3e1
Binary files /dev/null and b/static/images/development/js-modules-1.png differ
diff --git a/static/images/development/js-modules-2.png b/static/images/development/js-modules-2.png
new file mode 100644
index 0000000..6da5713
Binary files /dev/null and b/static/images/development/js-modules-2.png differ
diff --git a/static/images/extensions/bookmark.png b/static/images/extensions/bookmark.png
new file mode 100644
index 0000000..bdc97d2
Binary files /dev/null and b/static/images/extensions/bookmark.png differ
diff --git a/static/images/extensions/christian-demo.png b/static/images/extensions/christian-demo.png
new file mode 100644
index 0000000..8eb746f
Binary files /dev/null and b/static/images/extensions/christian-demo.png differ
diff --git a/static/images/extensions/dj-demo.png b/static/images/extensions/dj-demo.png
new file mode 100644
index 0000000..8f59c2e
Binary files /dev/null and b/static/images/extensions/dj-demo.png differ
diff --git a/static/images/extensions/full-app-display.png b/static/images/extensions/full-app-display.png
new file mode 100644
index 0000000..069d4f9
Binary files /dev/null and b/static/images/extensions/full-app-display.png differ
diff --git a/static/images/extensions/keyboard-demo.png b/static/images/extensions/keyboard-demo.png
new file mode 100644
index 0000000..14b4ef8
Binary files /dev/null and b/static/images/extensions/keyboard-demo.png differ
diff --git a/static/images/extensions/loopy-loop.png b/static/images/extensions/loopy-loop.png
new file mode 100644
index 0000000..9ecb4ae
Binary files /dev/null and b/static/images/extensions/loopy-loop.png differ
diff --git a/static/images/extensions/popup-lyrics.png b/static/images/extensions/popup-lyrics.png
new file mode 100644
index 0000000..b99c141
Binary files /dev/null and b/static/images/extensions/popup-lyrics.png differ
diff --git a/static/images/extensions/queue-all-demo.png b/static/images/extensions/queue-all-demo.png
new file mode 100644
index 0000000..1ee42a9
Binary files /dev/null and b/static/images/extensions/queue-all-demo.png differ
diff --git a/static/images/extensions/shuffle.png b/static/images/extensions/shuffle.png
new file mode 100644
index 0000000..b813d3e
Binary files /dev/null and b/static/images/extensions/shuffle.png differ
diff --git a/static/images/extensions/trash.png b/static/images/extensions/trash.png
new file mode 100644
index 0000000..48a81fb
Binary files /dev/null and b/static/images/extensions/trash.png differ
diff --git a/static/images/faq/mxm1.png b/static/images/faq/mxm1.png
new file mode 100644
index 0000000..02df723
Binary files /dev/null and b/static/images/faq/mxm1.png differ
diff --git a/static/images/faq/mxm2.png b/static/images/faq/mxm2.png
new file mode 100644
index 0000000..6a2447d
Binary files /dev/null and b/static/images/faq/mxm2.png differ
diff --git a/static/images/faq/mxm3.png b/static/images/faq/mxm3.png
new file mode 100644
index 0000000..07bbc25
Binary files /dev/null and b/static/images/faq/mxm3.png differ
diff --git a/static/images/faq/mxm4.png b/static/images/faq/mxm4.png
new file mode 100644
index 0000000..256731a
Binary files /dev/null and b/static/images/faq/mxm4.png differ