div h1 401 - unauthorized p you're not authorized to access that
div h1 404 - page not found p we're having trouble finding what you want
div h1 500 - internal error p something went horribly wrong. what did you do?!
#search.welcome .hero-unit .span6 h2 Watch music videos on jukesy! p Get started above by searching Last.fm for an artist, album, or track. Or browse from lists of popular artists and tracks below. .span3 h2 Coming Soon ul li tag/genre radio li Last.fm scrobbling li favorites //p.alpha-warning.span9 // i.icon-warning-sign // | Jukesy is a beta release. Features may change. .clear #search-artists - if (typeof artists != 'undefined' && artists.length) h3 Top Artists on Last.fm .clear .artists ul.thumbnails .clear .clear hr #search-tracks - if (typeof tracks != 'undefined' && tracks.length) .btn-group.pull-right button.btn.btn-primary.btn-large.play-all Play All button.btn.btn-primary.btn-large.dropdown-toggle('data-toggle'= 'dropdown') i.icon-caret-down ul.dropdown-menu li a.play-all Play All li a.queue-all-next Queue All Next li a.queue-all-last Queue All Last h3 Top Tracks on Last.fm .clear .tracks table.table.table-striped thead tr th.dropdown th.play th Track th Artist tbody
div .hero-unit h1 About p Jukesy is a music video player and a mash-up of the Last.fm and YouTube APIs. h3 Contact p | You can reach me by email at a.ll(href= 'mailto:me@adrianbravo.net') me@adrianbravo.net h3 Code p | Jukesy can be forked at a.ll(target= '_blank', href= 'http://github.com/adrianbravo/jukesy') github | . You'll find that most of the code is javascript.
h1 Terms of Service
h1 Privacy Policy
h1 Now Playing - if (tracks.length) .tracks table.playlist.table.table-striped thead tr th.dd th.play th Track th Artist tbody - else p There are no tracks in this playlist. Try searching for something.
h1 Playlists - #{user || 'anonymous'} br ul.unstyled each playlist in playlists li a.playlist(href= playlist.url class= (playlist._id ? '' : ' unsaved ') + (playlist.active ? ' active ' : '')) #{playlist.name} | - #{playlist.tracks_count} #{_.plural(playlist.tracks_count, 'track', 'tracks')} - if (playlist.nowPlaying) span.label.label-success listening - if (playlist.changed) span.label.label-warning changed - if (!playlist._id) span.label.label-important new p - if (playlist.time) | Created on #{moment(playlist.time.created).format('dddd, MMMM Do YYYY, h:mm:ss a')}
- if (!playlist._id || (currentUser && currentUser.username == playlist.user)) .btn-group.pull-right button.btn.btn-large.btn-info.playlist-save i.icon-upload-alt | Save button.btn.btn-large.btn-info.dropdown-toggle('data-toggle'= 'dropdown') i.icon-caret-down ul.dropdown-menu li a.playlist-save i.icon-upload-alt | Save - if (playlist._id) li a.playlist-autosave i.icon-refresh - if (playlist.autosave) | Disable Autosave - else | Enable Autosave li a.playlist-sidebar - if (playlist.sidebar) i.icon-star-empty | Remove from Sidebar - else i.icon-star | Add to Sidebar li a.playlist-delete i.icon-trash | Delete - if (!playlist.nowPlaying) .btn-group.pull-right button.btn.btn-primary.btn-large.play-all Play All button.btn.btn-primary.btn-large.dropdown-toggle('data-toggle'= 'dropdown') i.icon-caret-down ul.dropdown-menu li a.play-all Play All li a.queue-all-next Queue All Next li a.queue-all-last Queue All Last - if (playlist._id) li.divider li a.add-to-playlist Add to Playlist //li.divider //li // a.share Share - else if (playlist._id) //button.btn.btn-primary.btn-large.pull-right.share // i.icon-share // | Share - if (editName) input.playlist-name-edit(maxlength= '50', name= 'playlist-name', value= playlist.name) - else div.playlist-name #{playlist.name} - if (playlist.nowPlaying) span.label.label-success listening - if (playlist.changed) span.label.label-warning changed - if (!playlist._id) span.label.label-important new - if (playlist._id) p Created by a(href= '/user/' + playlist.user) #{playlist.user} | , #{playlist.tracks_count} #{_.plural(playlist.tracks_count, 'track', 'tracks')} .clear - if (playlist.tracks_count) .tracks table.playlist.table.table-striped thead tr th.dd th.play th Track th Artist tbody - else br .hero-unit h2 This playlist is empty.
.modal-header h3 Delete #{playlist.name}? .modal-body p | Are you sure you want to delete #{playlist.name}? Think of all the good times. p button.btn.btn-large.go-back i.icon-arrow-left | Go back button.btn.btn-large.btn-danger.destroy-confirm.pull-right i.icon-trash | Delete it
.modal-header h3 Add to Playlist .modal-body p Select a playlist ul.unstyled each playlist in playlists li.playlist('data-cid'= playlist.cid) #{playlist.name} .modal-footer p button.btn.btn-primary.add i.icon-plus-sign | Add button.btn('data-dismiss'= 'modal') Cancel
.modal-header a.close('data-dismiss'= 'modal') × h3 Sign up for jukesy .modal-body form fieldset .control-group label.control-label(for= 'user-new-username') Username .controls input#user-new-username(type= 'text', name= 'username') span.help-inline .control-group label.control-label(for= 'user-new-email') Email .controls input#user-new-email(type= 'text', name= 'email') span.help-inline .control-group label.control-label(for= 'user-new-password') Password .controls input#user-new-password(type= 'password', name= 'password') span.help-inline div a.sign-in(href= '#') Already have an account? Sign in. .modal-footer button.btn.btn-primary Sign up button.btn('data-dismiss'= 'modal') Cancel
- if (user.fullname) h1 #{user.fullname} h3 [#{user.username}] - else h1 [#{user.username}] p.bio= user.bio p if (user.location) #{user.location} if (user.website) if (user.location) | · a.ll(target= '_blank', href= user.website).website #{user.website} - if (currentUser && currentUser.username == user.username) div a.btn(href= '/user/#{user.username}/edit') Edit settings // Playlists
h2 Edit Account form.form-horizontal fieldset .control-group label.control-label(for= 'user-edit-fullname') Full Name .controls input#user-edit-fullname(type= 'text', name= 'fullname', value= user.fullname) span.help-inline .control-group label.control-label(for= 'user-edit-bio') Bio .controls textarea#user-edit-bio.input-large(rows= 3, name= 'bio') = escape(user.bio || '') span.help-inline .control-group label.control-label(for= 'user-edit-location') Location .controls input#user-edit-location(type= 'text', name= 'location', value= user.location) span.help-inline .control-group label.control-label(for= 'user-edit-website') Website .controls input#user-edit-website(type= 'text', name= 'website', value= user.website) span.help-inline .control-group label.control-label(for= 'user-edit-email') Email .controls input#user-edit-email(type= 'text', name= 'email', value= user.email) span.help-inline p button.btn.btn-primary Update | a.btn(href= '/user/#{user.username}') View Profile
.modal-header a.close('data-dismiss'= 'modal') × h3 Forgot your password? .modal-body form .clear p.pull-right // a haiku dedicated to the forgotten password em Relax. Breathe deeply. br em Bathe in serene thoughts, user. br em Now fill out this form. fieldset .control-group label.control-label(for= 'forgot-login') Username / Email .controls input#forgot-login(type= 'text', name= 'login') span.help-inline .modal-footer button.btn.btn-primary Email me a reset token button.btn('data-dismiss'= 'modal') Cancel
.modal-header h3 Reset password .modal-body form fieldset .control-group label.control-label(for= 'reset-password') Password .controls input#reset-password(type= 'password', name= 'password') span.help-inline .control-group label.control-label(for= 'reset-password-confirm') Password Confirm .controls input#reset-password-confirm(type= 'password', name= 'password-confirm') span.help-inline .modal-footer button.btn.btn-primary Reset password
.modal-header a.close('data-dismiss'= 'modal') × h3 Login to jukesy .modal-body form fieldset .control-group label.control-label(for= 'session-new-login') Username / Email .controls input#session-new-login(type= 'text', name= 'login') span.help-inline .control-group label.control-label(for= 'session-new-password') Password .controls input#session-new-password(type= 'password', name= 'password') span.help-inline p a.sign-up(href= '#') Don't have an account yet? Sign up. p a.forgot(href= '#') Forgot your password? .modal-footer button.btn.btn-primary Sign in button.btn('data-dismiss'= 'modal') Cancel
.container .row .span12 .track-info #time-read .time-current | .time-duration .row .span12.controls .controls-left .control#prev .icon-backward .control#play-pause .icon-play .control#next .icon-forward .control#volume .icon-volume-down .control#volume-bar .fill.bar .controls-middle .control#timer.progress.progress-success.progress-striped .track.bar .fill .controls-right .control#repeat.off .icon-repeat .control#shuffle.off .icon-random .control#radio.off .icon-rss .control#fullscreen .icon-resize-full
.modal-header a.close('data-dismiss'= 'modal') × h3 Keyboard shortcuts .modal-body#keyboard-shortcuts-modal .third ul.unstyled li .key / | search li .key SPACE | pause / play li .key ESC | exit fullscreen li .key.big F | toggle fullscreen li .key.big V | go to video li .key.big P | go to now playing .third ul.unstyled li .key.big 1 - 9 | switch YouTube videos li .key .icon.icon-arrow-up | increase volume li .key .icon.icon-arrow-down | decrease volume li .key .icon.icon-arrow-left | previous song li .key .icon.icon-arrow-right | next song li .key.big X | remove current song .third ul.unstyled li .key.big M | toggle mute li .key.big R | toggle repeat li .key.big S | toggle shuffle li .key.big D | toggle discovery li .key.big Q | toggle quality .clear
.modal-header a.close('data-dismiss'= 'modal') × h3 Share .modal-body#share p button.btn.share-facebook i.icon-facebook-sign | facebook button.btn.share-twitter i.icon-twitter-sign | twitter p You can also copy the url manually: p textarea#share-url #{url} .modal-footer button.btn('data-dismiss'= 'modal') i.icon-arrow-left | Go back
a.close('data-dismiss'= 'alert') × != message
ul.nav.pull-right - if (typeof currentUser == 'undefined') li a.sign-up(href= '#') Sign up li a.sign-in(href= '#').highlight Login - else li.dropdown a.dropdown-toggle('data-toggle'= 'dropdown', href= '#') Account i.icon-caret-down ul.dropdown-menu li a(href= '/user/' + currentUser.username) View my profile li a(href= '/user/' + currentUser.username + '/edit') Edit settings li.divider li a.ll(href= '/logout') Logout
td.dd .dropdown a.dropdown-toggle('data-toggle'= 'dropdown') i.icon-chevron-down ul.dropdown-menu li a.play-now Play Now li a.queue-next Queue Next li a.queue-last Queue Last li.divider li a.add-to-playlist Add to Playlist li a.remove Remove Track td.play a.play-now .icon-play td.name a(href= urlTrack(track.artist, track.name)) #{track.name} td.artist a(href= urlArtist(track.artist)) #{track.artist} .pull-right.remove i.icon-remove
a(href= urlTrack(track.get('artist'), track.get('name')))= track.get('name') | by a(href= urlArtist(track.get('artist')))= track.get('artist')
#search h2 Search #{query} #search-tracks .clear
#search h2 Search #{query} #search-albums .clear
#search h2 Search #{query} #search-artists .clear
#search h2 Search #{query} #search-tracks .clear hr #search-albums .clear hr #search-artists .clear
#search h2 #{track} by a(href= '/artist/#{encodeURIComponent(artist)}') #{artist} #search-tracks .clear
#search h2 #{album} by a(href= '/artist/#{encodeURIComponent(artist)}') #{artist} #search-tracks .clear
#search h2 #{artist} #search-tracks .clear hr #search-albums .clear hr #search-artists .clear
#search h2 #{artist} #search-tracks .clear
#search h2 #{artist} #search-albums .clear
#search h2 #{artist} #search-artists .clear
- if (!tracks) h3 #{displayType} p Found nothing - else if (tracks.length) - if (showMore) a.btn.btn-large.show-more.pull-right(href= showMore) Show more » .btn-group.pull-right button.btn.btn-primary.btn-large.play-all Play All button.btn.btn-primary.btn-large.dropdown-toggle('data-toggle'= 'dropdown') i.icon-caret-down ul.dropdown-menu li a.play-all Play All li a.queue-all-next Queue All Next li a.queue-all-last Queue All Last li.divider li a.add-to-playlist Add to Playlist li.divider li a.share Share h3 #{displayType} .clear .tracks table.table.table-striped thead tr th.dropdown th.play th Track th Artist tbody - if (loadMore) .load-more a.btn.btn-large('data-loading-text'= 'Loading...') Load more - else h3 #{displayType} | Loading... .spinner.pull-right .bar1 .bar2 .bar3 .bar4 .bar5 .bar6 .bar7 .bar8 .bar9 .bar10 .bar11 .bar12
- if (!albums) h3 #{displayType} p Found nothing - else if (albums.length) - if (showMore) a.btn.btn-large.show-more.pull-right(href= showMore) Show more » h3 #{displayType} - if (showMore) .clear .albums ul.thumbnails .clear - if (loadMore) .load-more a.btn.btn-large('data-loading-text'= 'Loading...') Load more - else h3 #{displayType} | Loading... .spinner.pull-right .bar1 .bar2 .bar3 .bar4 .bar5 .bar6 .bar7 .bar8 .bar9 .bar10 .bar11 .bar12
- if (!artists) h3 #{displayType} p Found nothing - else if (artists.length) - if (showMore) a.btn.btn-large.show-more.pull-right(href= showMore) Show more » h3 #{displayType} - if (showMore) .clear .artists ul.thumbnails .clear - if (loadMore) .load-more a.btn.btn-large('data-loading-text'= 'Loading...') Load more - else h3 #{displayType} | Loading... .spinner.pull-right .bar1 .bar2 .bar3 .bar4 .bar5 .bar6 .bar7 .bar8 .bar9 .bar10 .bar11 .bar12
td.dd .dropdown a.dropdown-toggle('data-toggle'= 'dropdown') i.icon-chevron-down ul.dropdown-menu li a.play-now Play li a.queue-next Queue Next li a.queue-last Queue Last li.divider li a.add-to-playlist Add to Playlist //li // a.add-to-favorites Add To Favorites //li // a.ban Ban td.play a.play-now .icon-play td.name a(href= urlTrack(track.get('artist'), track.get('name')))= track.get('name') td.artist a(href= urlArtist(track.get('artist')))= track.get('artist')
a.thumbnail(href= urlAlbum(album.get('artist'), album.get('name'))) .img-wrap img(src= album.get('image')) .overlay.fade .overlay-inner .name #{album.get('name')} .artist #{album.get('artist')}
a.thumbnail(href= urlArtist(artist.get('name'))) .img-wrap img(src= artist.get('image')) .overlay.fade .overlay-inner #{artist.get('name')}