From 6b12dbadb192af97f716518b20c5604f5bb8c5f3 Mon Sep 17 00:00:00 2001 From: simon987 Date: Sun, 12 May 2019 08:53:43 -0400 Subject: [PATCH] Change theme, add change test post --- .gitmodules | 6 +- config.toml | 20 ++- content/posts/test.md | 17 -- content/posts/ytdl_1.md | 160 +++++++++++++++++++ layouts/partials/css/custom.css | 273 ++++++++++++++++++++++++++++++++ layouts/partials/footer.html | 88 ++++++++-- static/.gitkeep | 0 static/custom.css | 3 + static/img/favicon.ico | Bin 0 -> 1348 bytes static/ytdl/1.png | Bin 0 -> 37577 bytes themes/temple | 1 + themes/whiteplain | 1 - 12 files changed, 531 insertions(+), 38 deletions(-) delete mode 100644 content/posts/test.md create mode 100644 content/posts/ytdl_1.md create mode 100644 layouts/partials/css/custom.css delete mode 100644 static/.gitkeep create mode 100644 static/custom.css create mode 100644 static/img/favicon.ico create mode 100644 static/ytdl/1.png create mode 160000 themes/temple delete mode 160000 themes/whiteplain diff --git a/.gitmodules b/.gitmodules index a754c49..9d8a91a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "themes/whiteplain"] - path = themes/whiteplain - url = https://github.com/taikii/whiteplain.git +[submodule "themes/temple"] + path = themes/temple + url = https://github.com/aos/temple.git diff --git a/config.toml b/config.toml index 145e61f..b40f5d8 100644 --- a/config.toml +++ b/config.toml @@ -1,10 +1,26 @@ -baseURL = "https://dataarchivist.net" +baseURL = "https://dataarchivist.net/" languageCode = "en-us" title = "Data Archivist Weekly" -theme = "whiteplain" +theme = "temple" pygmentsStyle = "friendly" [params] useCDN = false showShareIcons = false + +toc = true +custom_css = ["static/custom.css"] +dateformatpretty = "2006-01-02" +pygmentsCodeFences = true + + + +# Builds a list page for each category given +[taxonomies] + tag = "tags" + +[author] + name = "simon987" + github = "simon987" + email = "me@simon987.net" diff --git a/content/posts/test.md b/content/posts/test.md deleted file mode 100644 index 27703e0..0000000 --- a/content/posts/test.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Test post" -date: 2019-05-11T14:19:21-04:00 -draft: false ---- - -Hello world - -This is a test - -{{}} - -for x in range(0, 1): - print(x) - -{{}} - diff --git a/content/posts/ytdl_1.md b/content/posts/ytdl_1.md new file mode 100644 index 0000000..bca3c4d --- /dev/null +++ b/content/posts/ytdl_1.md @@ -0,0 +1,160 @@ +--- +title: "Automating Youtube Archival" +date: 2019-05-11 +draft: false +tags: ["youtube-dl", "automation"] +--- + +Google has been known to terminate entire Youtube channels without +notice in the hope of staying advertiser friendly. **58 million "problematic" videos +were deleted from the platform in Q3 2018** [1](#sources). +This week we are exploring various Youtube archival solutions that utilizes + [youtube-dl](https://github.com/ytdl-org/youtube-dl/), + a command-line program that extracts and downloads videos from web pages. + +{{< figure src="/ytdl/1.png" title="Channels removed, by removal reason">}} + + + +# Installation + +Install youtube-dl via pip to ensure that you have the latest version. Google often +pushes updates that breaks youtube-dl so you always want to stay up to date. You +might be able to install it via your distibution’s package manager but it’s often several +versions behind. + +``` +pip install --upgrade youtube-dl +youtube-dl --version +``` + +# Basic usage + +You can now use the youtube-dl command to download a single video, a playlist or a channel: + +``` +youtube-dl https://www.youtube.com/watch?v=XXXXXXXXXX +youtube-dl https://www.youtube.com/channel/XXXXXXXXXX +``` + +You can use the same command to download videos from various websites.Youtube-dl +is also a Python library that you can use in scripts: + +{{}} +#!/usr/bin/python + +import youtube_dl + +yt_dl = youtube_dl.YoutubeDL() +yt_dl.download("https://www.youtube.com/watch?v=XXXXXXXXXXXX") +{{}} + +## Command line arguments & Scripting + +This document is not a replacement for youtube-dl’s documentation, you can find the +updated list of command line arguments on its [Github page](https://github.com/ytdl-org/youtube-dl/). + +Below is a bash script that will download everything specified in `list.txt`, a text file +with a youtube channel or video on each line. The script will save the URLs of the videos +in archive.txt as it downloads them to speed-up the subsequent executions. +The `--write-info-json` and `--write-thumbnail` options ensures that we also download +the video metadata such as the description and the title. + +{{}} +youtube-dl -a list.txt -o '%(uploader)s/%(title)s-%(id)s.%(ext)s' \ + --write-thumbnail\ + -f "bestvideo[ext=webm]+bestaudio[ext=webm]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best"\ + --write-info-json\ + --geo-bypass\ + --ignore-errors\ + --download-archive archive.txt +{{}} + +You can decide to run the script periodically or to schedule it with cron: + +``` +crontab -e +``` + +{{}} +# Download new videos every 2 hours +0 */2 * * * +/mnt/Archive/Youtube/archive_yt.sh +{{}} + +## Live streams + +While a cron job will download all videos uploaded by a channel (if the uploader does +not delete the video between executions), it does not handle live streams. Youtube-dl +allows you to download live streams with the same command but you obviously have to +start the execution during the stream. +Below is a different approach that takes advantage of the Youtube email notification +feature. This simple Python script reads your last 3 emails and searches for a youtube +link in the email body. It will immediately start downloading the video using the youtube-dl +Python library. You can use this method to download uploaded videos as well as live +streams. If you are using a gmail account, you will need to genrate an [App Password](https://security.google.com/settings/security/apppasswords) + to allow the script to login. + +{{}} +#!/usr/bin/python + +import imaplib +import re +import youtube_dl + +# Initalize the youtube-dl downloader, nooverwrites param will +# skip videos that are already downloaded or +# currently being downloaded +yt_dl = youtube_dl.YoutubeDL(params={ + "nooverwrites": True, + "nopart": True, + "format": "bestvideo[ext=webm]+bestaudio[ext=webm]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best" + }) + +# This regex pattern matches youtube video links +YT_LINK = re.compile("Fv%3D([^%]*)%") + +mail = imaplib.IMAP4_SSL("imap.gmail.com") +mail.login("username@gmail.com", "password") +mail.list() +mail.select("INBOX") + +# Fetch the last 3 emails +_, data = mail.search(None, "ALL") +last_emails = list(reversed(data[0].split()))[:3] + +for num in last_emails: + _, data = mail.fetch(num, "(RFC822)") + body = data[0][1].decode() + + # Check for pattern match + match = YT_LINK.search(body) + if match: + url = "https://youtube.com/watch?v=" + match.group(1) + yt_dl.download([url, ]) # immediately download +{{}} + + +## Automatically upload to rclone remote + +To take advantage of cloud storage, you can setup [ytdlrc](http://github.com/bardisty/ytdlrc) to automatically move +videos to an rclone remote as they are downloaded. This simple script is completely interchangable with +youtube-dl and can be setup on a machine with low disk space. +The script uses your existing youtube-dl and rclone configuration and is ideal for +setting up automatic Youtube archival on a cheap VPS. + +## Archiving Metadata + +If you wish to save a video’s metadata without downloading the actual video, there are command line utilities dedicated to this task. + +* [Youtube-MA](https://github.com/CorentinB/YouTube-MA) +* [yt-mango](https://github.com/terorie/yt-mango) + + +---- + +# Sources + +* https://transparencyreport.google.com/youtube-policy/removals + + diff --git a/layouts/partials/css/custom.css b/layouts/partials/css/custom.css new file mode 100644 index 0000000..e21e174 --- /dev/null +++ b/layouts/partials/css/custom.css @@ -0,0 +1,273 @@ +html { + min-height: 100%; + width: 100%; + position: relative; +} + +body { + background-color: rgb(252, 252, 252); + color: #484848; +} + +a { + text-decoration: none; +} + +code, kbd, pre, samp { + background-color: rgb(240, 240, 240); +} + +.nav-menu { + margin-top: 5px; + padding-bottom: 5px; + border-bottom: 1px solid #e3e3e3; +} + +.pure-menu-heading { + text-transform: none; + font-size: large; +} + +.header { + text-align: left; + color: #484848; + margin-bottom: .5em; +} + +.header ul li { + height: auto; +} + +.header ul li a { + font-weight: bold; + color: #484848; + font-family: "Source Sans Pro", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.header { + font-weight: bold; + color: #484848; + font-family: "Source Sans Pro", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.site-title { + color: #484848; + text-transform: none; + font-weight: normal; + font-family: "Source Sans Pro", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.pull-right { + float: right; +} + +.posts-name { + text-transform: capitalize; + font-weight: bold; + padding-left: 1em; + margin-top: 1em; + font-family: "Source Sans Pro", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.posts { + font-family: verdana, arial, helvetica, sans-serif; + list-style-type: none; + padding-left: 1em; +} + +.posts li p { + margin-top: 0; +} + +.posts li { + margin-bottom: 1em; +} + +.posts li > a { + color: #369; + text-decoration: none; +} + +.post-list { + font-size: large; +} + +.footnote { + font-family: verdana, arial, helvetica, sans-serif; + color: #575757; + font-size: 0.75em; + margin-bottom: 0; +} + +.footnote a { + color: #575757; +} + +.footnote a:hover { + text-decoration: underline; + color: #369; +} + +.footer { + position: absolute; + z-index: 2; + height: auto; + width: 100%; + bottom: 0; +} + +.footer-content { + border-top: 1px solid #e3e3e3; + font-size: 80%; + color: #bbb; +} + +.footer-content a { + color: #575757; +} + +.footer-content ul { + height: auto; + margin-top: 0; + margin-bottom: 0; + display: inline-block; + padding-left: 0; +} + +/* https://github.com/gohugoio/hugo/issues/1778#issuecomment-451552602 */ +#TableOfContents > ul { + list-style: none; + margin: 0; + padding: 0; +} + +#gototop-btn { + display: inline-block; +} + +#foot-name { + color: #484848; + text-transform: none; +} + +#foot-copyright { + padding-left: 1em; + padding-bottom: 0.5em; + margin: 0; +} + +.post { + font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + color: #484848; + letter-spacing: normal; + padding-left: .5em; +} + +.post h1, h2, h3, h4, h5, h6 { + font-weight: bold; + letter-spacing: normal; +} + +.post-content { + z-index: 9; + overflow: auto; + padding: 0; + padding-bottom: 3em; + font-size: 16px; + line-height: 1.4; +} + +.post-content img { + max-width: 100%; + height: auto; +} + +.post-content pre { + padding: 0.5em; +} + +.post a { + color: #c05b4d; + text-decoration: none; +} + +.post a:hover { + color: #a5473a; + text-decoration: underline; +} + +.post h1 { + font-size: 28px; +} + +.post h2 { + font-size: 25px; +} + +.post h3 { + font-size: 23px; +} + +.post h4 { + font-size: 21px; +} + +.post h5 { + font-size: 19px; +} + +.post h6 { + font-size: 18px; +} + +.post-title { + margin-top: 0; + margin-bottom: 2em; +} + +.post-title h1 { + font-weight: bold; + font-size: 39px; + line-height: 40px; + margin-top: 8px; + margin-bottom: 0; +} + +@media screen and (max-width: 767px) { + .desktop { + display: none; + } + + .mobile { + display: block; + } + + #toggle-btn { + display: inline-block; + float: right; + padding: .5em 1em; + text-decoration: none; + color: #484848; + font-weight: bold; + } + + #toggle-content li { + clear: both; + height: auto; + background-color: rgb(249, 249, 249); + } + + #toggle-home { + display: inline-block; + } +} + +@media screen and (min-width: 768px) { + .mobile { + display: none; + } + + .desktop { + display: block; + } +} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index cdf6021..a55e3cd 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,17 +1,75 @@ + -{{ template "_internal/google_analytics.html" . }} + + + + +{{ if .Site.Author.gaid }} + +{{ end }} + + diff --git a/static/.gitkeep b/static/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/static/custom.css b/static/custom.css new file mode 100644 index 0000000..8a91ee8 --- /dev/null +++ b/static/custom.css @@ -0,0 +1,3 @@ +.post-title h1 { + margin-top: 10px; +} diff --git a/static/img/favicon.ico b/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d68366ff5b47665a606756e9295612a3dd8d9bdc GIT binary patch literal 1348 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