Skip to content

Instantly share code, notes, and snippets.

@brihter
Last active December 28, 2024 15:37
Show Gist options
  • Save brihter/7924c8567dc011ed2131f7b6e318d486 to your computer and use it in GitHub Desktop.
Save brihter/7924c8567dc011ed2131f7b6e318d486 to your computer and use it in GitHub Desktop.
1001tracklist playlist export bookmarklet

bookmarklet:

javascript:(function(){const formatTrack=item=>{const cue=(item.querySelector('.cue')?.textContent||'        ').padStart(8);const[artist='ID',title='ID']=item.querySelector('.trackValue')?.textContent?.split('-').map(s=>s.trim())||[];return`${cue} ${artist} - ${title}`};document.body.innerHTML=`<pre>${Array.from(document.querySelectorAll('.bItm')).map(formatTrack).join('\n')}</pre>`})();

source:

const formatTrack = item => {
  const cue = (item.querySelector('.cue')?.textContent || '        ').padStart(8)
  const [artist = 'ID', title = 'ID'] = item.querySelector('.trackValue')?.textContent?.split('-').map(s => s.trim()) || []
  return `${cue} ${artist} - ${title}`
}

document.body.innerHTML = `<pre>${
  Array.from(document.querySelectorAll('.bItm'))
    .map(formatTrack)
    .join('\n')
}</pre>`
@fishnux
Copy link

fishnux commented Dec 28, 2024

Do you know how to export the cues (timestamps) as well?

Thanks :)

@brihter
Copy link
Author

brihter commented Dec 28, 2024

@fishnux sure, here you go.

bookmarklet:

javascript:(function(){const formatTrack=item=>{const cue=(item.querySelector('.cue')?.textContent||'        ').padStart(8);const[artist='ID',title='ID']=item.querySelector('.trackValue')?.textContent?.split('-').map(s=>s.trim())||[];return`${cue} ${artist} - ${title}`};document.body.innerHTML=`<pre>${Array.from(document.querySelectorAll('.bItm')).map(formatTrack).join('\n')}</pre>`})();

source:

const formatTrack = item => {
  const cue = (item.querySelector('.cue')?.textContent || '        ').padStart(8)
  const [artist = 'ID', title = 'ID'] = item.querySelector('.trackValue')?.textContent?.split('-').map(s => s.trim()) || []
  return `${cue} ${artist} - ${title}`
}

document.body.innerHTML = `<pre>${
  Array.from(document.querySelectorAll('.bItm'))
    .map(formatTrack)
    .join('\n')
}</pre>`

happy holidays!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment