diff options
author | EuAndreh <eu@euandre.org> | 2020-12-24 05:48:44 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2020-12-24 05:50:10 -0300 |
commit | a9142c9f5ccdfab285f71f48f20573fe7bf8ddff (patch) | |
tree | 8ddf44569685afea7160154ce1c19e1795cd1678 | |
parent | Use feature toggle to show podcast links (diff) | |
download | euandre.org-a9142c9f5ccdfab285f71f48f20573fe7bf8ddff.tar.gz euandre.org-a9142c9f5ccdfab285f71f48f20573fe7bf8ddff.tar.xz |
Add torrent.html page with WebTorrent
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | _layouts/podcast.html | 9 | ||||
-rw-r--r-- | torrent.html | 23 | ||||
m--------- | vendor/webtorrent | 0 |
4 files changed, 32 insertions, 3 deletions
diff --git a/.gitmodules b/.gitmodules index 6d301d9..f169aba 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "vendor/reveal.js"] path = vendor/reveal.js url = https://github.com/hakimel/reveal.js +[submodule "vendor/webtorrent"] + path = vendor/webtorrent + url = https://github.com/webtorrent/webtorrent diff --git a/_layouts/podcast.html b/_layouts/podcast.html index 982fbc6..197943f 100644 --- a/_layouts/podcast.html +++ b/_layouts/podcast.html @@ -8,9 +8,12 @@ layout: post </audio> <div class="torrent-link"> - <a href="/resources/podcasts/{{ page.date | date: "%Y-%m-%d" }}-{{ page.slug }}.ogg.torrent"> - torrent - </a> + {% capture torrent-file %}{{ site.url }}/resources/podcasts/{{ page.date | date: "%Y-%m-%d" }}-{{ page.slug }}.ogg.torrent{% endcapture %} + <a href="{{ torrent-file }}">torrent</a> + {% if site.torrent %} + | + <a href="/torrent.html?torrent={{ torrent-file | uri_escape }}">online webtorrent</a> + {% endif %} </div> {{ content }} diff --git a/torrent.html b/torrent.html new file mode 100644 index 0000000..7be57d0 --- /dev/null +++ b/torrent.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="stylesheet" href="/styles.css" /> + <title>WebTorrent player - EuAndreh</title> + <script src="/vendor/webtorrent/webtorrent.min.js"></script> + </head> + <body> + <div id="output"></div> + <div id="torrentLink"></div> + <script> + const params = new URLSearchParams(window.location.search); + const torrentID = params.get("torrent"); // "https://webtorrent.io/torrents/sintel.torrent"; + document.querySelector("#torrentLink").innerHTML = `Downloading <a href=${torrentID}>${torrentID}</a>`; + + const client = new WebTorrent(); + client.add(torrentID, torrent => + torrent.files.forEach(file => file.appendTo("#output"))); + </script> + </body> +</html> diff --git a/vendor/webtorrent b/vendor/webtorrent new file mode 160000 +Subproject 2d78a30a72072b859336f8d9340398d6bb2169e |