- Follow this specific YouTube link.
- Select playlist.
- Open developer console.
- Paste code into console.
setInterval(function () {
document.querySelector('#primary button[aria-label="Action menu"]').click();
| // Move YouTube Videos From "Watch Later" To A New Playlist. | |
| setInterval(function () { | |
| // define name of playlist to move videos to | |
| const newPlaylistName = 'old watch later'; | |
| // 1) grab the first video entry | |
| const video = document.querySelector('ytd-playlist-video-renderer'); | |
| if (!video) return; |
setInterval(function () {
document.querySelector('#primary button[aria-label="Action menu"]').click();
| import Foundation | |
| extension DateFormatter { | |
| static let iso8601Full: DateFormatter = { | |
| let formatter = DateFormatter() | |
| formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ" | |
| formatter.calendar = Calendar(identifier: .iso8601) | |
| formatter.timeZone = TimeZone(secondsFromGMT: 0) | |
| formatter.locale = Locale(identifier: "en_US_POSIX") | |
| return formatter |
| # ~/.nanorc | |
| # Add Mouse Support | |
| set mouse | |
| # Add Line Numbers | |
| set linenumbers | |
| # Set Tab Size | |
| set tabsize 4 |
| .container | |
| #scene{"data-pointer-events" => 'true'} | |
| #stars-small.layer{"data-depth" => "0.50"} | |
| - 100.times.each do |i| | |
| .star | |
| #stars-medium.layer{"data-depth" => "0.60"} | |
| - 50.times.each do |i| | |
| .star |
| import socket | |
| import subprocess | |
| # Start a socket listening for connections on 0.0.0.0:8000 (0.0.0.0 means | |
| # all interfaces) | |
| server_socket = socket.socket() | |
| server_socket.bind(('0.0.0.0', 8000)) | |
| server_socket.listen(0) | |
| # Accept a single connection and make a file-like object out of it |