Last active
July 21, 2019 19:05
-
-
Save cuylerstuwe/cf117bf020092a203c78f53bbf09ca1c to your computer and use it in GitHub Desktop.
Revisions
-
cuylerstuwe revised this gist
Jul 21, 2019 . 1 changed file with 4 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,8 +1,8 @@ // ==UserScript== // @name Syntax.FM - Mark Finished Shows // @namespace salembeats // @version 1.4 // @description UPDATE: Fix for episode URL formatting (episodes under 100 have leading zeroes in the URL). // @author Cuyler Stuwe (salembeats) // @include https://syntax.fm/* // ==/UserScript== @@ -18,7 +18,8 @@ async function main() { const audioPlayerTitleEl = audioPlayerEl.querySelector(".player__title"); const scrapeCurrentEpisodeNumber = () => audioPlayerTitleEl.innerText.match(/(?=\d+:)\d+/)[0]; const formatNumberToEpisodeUrlFormat = number => (+number).toLocaleString("en-US", {minimumIntegerDigits: 3}); const showLinkElForEpisode = episodeNumber => document.querySelector(`[href^="/show/${formatNumberToEpisodeUrlFormat(episodeNumber)}/"]`); const markShowAsFinished = episodeNumber => { showLinkElForEpisode(episodeNumber).style = FINISHED_SHOW_STYLE; }; const storeShowAsFinished = episodeNumber => { localStorage[episodeNumber] = true; }; -
cuylerstuwe revised this gist
Jul 21, 2019 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,10 +1,10 @@ // ==UserScript== // @name Syntax.FM - Mark Finished Shows // @namespace salembeats // @version 1.3 // @description UPDATE: Fix include path. // @author Cuyler Stuwe (salembeats) // @include https://syntax.fm/* // ==/UserScript== const FINISHED_SHOW_STYLE = ` -
cuylerstuwe revised this gist
Jul 21, 2019 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,8 +1,8 @@ // ==UserScript== // @name Syntax.FM - Mark Finished Shows // @namespace salembeats // @version 1.2 // @description UPDATE: Method name change. // @author Cuyler Stuwe (salembeats) // @include https://syntax.fm/show/* // ==/UserScript== @@ -29,12 +29,12 @@ async function main() { markShowAsFinished(endedEpisodeNumber); }); const markAllStoredFinishedShowsAsSuch = () => { const allSavedKeys = Object.keys(localStorage); allSavedKeys.forEach(savedKey => Number.isInteger(+savedKey) && localStorage[savedKey] ? markShowAsFinished(savedKey) : (0)); }; markAllStoredFinishedShowsAsSuch(); } -
cuylerstuwe revised this gist
Jul 21, 2019 . 1 changed file with 5 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,13 +1,10 @@ // ==UserScript== // @name Syntax.FM - Mark Finished Shows // @namespace salembeats // @version 1.1 // @description UPDATE: Use localStorage rather than GM_*Value so that context-menu userscripts can interact with values. // @author Cuyler Stuwe (salembeats) // @include https://syntax.fm/show/* // ==/UserScript== const FINISHED_SHOW_STYLE = ` @@ -24,7 +21,7 @@ async function main() { const showLinkElForEpisode = episodeNumber => document.querySelector(`[href^="/show/${episodeNumber}/"]`); const markShowAsFinished = episodeNumber => { showLinkElForEpisode(episodeNumber).style = FINISHED_SHOW_STYLE; }; const storeShowAsFinished = episodeNumber => { localStorage[episodeNumber] = true; }; audioEl.addEventListener("ended", e => { const endedEpisodeNumber = scrapeCurrentEpisodeNumber(); @@ -33,8 +30,8 @@ async function main() { }); const markAllStoredFinishedShows = () => { const allSavedKeys = Object.keys(localStorage); allSavedKeys.forEach(savedKey => Number.isInteger(+savedKey) && localStorage[savedKey] ? markShowAsFinished(savedKey) : (0)); }; markAllStoredFinishedShows(); -
cuylerstuwe created this gist
Jul 21, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,44 @@ // ==UserScript== // @name Syntax.FM - Mark Finished Shows // @namespace salembeats // @version 1.0 // @description . // @author Cuyler Stuwe (salembeats) // @include https://syntax.fm/show/* // @grant GM_setValue // @grant GM_getValue // @grant GM_listValues // ==/UserScript== const FINISHED_SHOW_STYLE = ` opacity: 0.2; `; async function main() { const audioEl = document.querySelector("audio"); const audioPlayerEl = audioEl.parentElement; const audioPlayerTitleEl = audioPlayerEl.querySelector(".player__title"); const scrapeCurrentEpisodeNumber = () => audioPlayerTitleEl.innerText.match(/(?=\d+:)\d+/)[0]; const showLinkElForEpisode = episodeNumber => document.querySelector(`[href^="/show/${episodeNumber}/"]`); const markShowAsFinished = episodeNumber => { showLinkElForEpisode(episodeNumber).style = FINISHED_SHOW_STYLE; }; const storeShowAsFinished = episodeNumber => { GM_setValue(episodeNumber, true); }; audioEl.addEventListener("ended", e => { const endedEpisodeNumber = scrapeCurrentEpisodeNumber(); storeShowAsFinished(endedEpisodeNumber); markShowAsFinished(endedEpisodeNumber); }); const markAllStoredFinishedShows = () => { const allSavedKeys = GM_listValues(); allSavedKeys.forEach(savedKey => GM_getValue(savedKey) ? markShowAsFinished(savedKey) : (0)); }; markAllStoredFinishedShows(); } main();