add tracker announce URLs to torrents for sharing

This commit is contained in:
eyedeekay
2024-10-05 19:39:20 -04:00
parent 0a0eee89db
commit 03459b4047
4 changed files with 103 additions and 98 deletions

View File

@ -113,30 +113,31 @@ Our script from step two converts the titles of the torrents into a list of tags
This provides us with a way of searching the available torrents efficiently.
```javascript
window.addEventListener("load", function() {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) el.addEventListener("click", function() {
let cl = el.classList[0];
console.log(cl);
let divs = document.querySelectorAll("."+cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags()
})
window.addEventListener("load", function () {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els)
el.addEventListener("click", function () {
let cl = el.classList[0];
let divs = document.querySelectorAll("." + cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags();
});
let divs = document.querySelectorAll(".lvix2");
for (let div of divs) div.style.display = "none";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
el.style.display = "inline";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
console.log("unhiding", el.classList)
el.style.display = "inline";
}
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
return "none"
}
})
return "none";
}
});
```

View File

@ -107,29 +107,30 @@ step two converts the titles of the torrents into a list of tags, which
can then be filtered. This provides us with a way of searching the
available torrents efficiently.</p>
<div class="sourceCode" id="cb5"><pre
class="sourceCode javascript"><code class="sourceCode javascript"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">window</span><span class="op">.</span><span class="fu">addEventListener</span>(<span class="st">&quot;load&quot;</span><span class="op">,</span> <span class="kw">function</span>() {</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">setupTags</span>()<span class="op">;</span></span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">setupTags</span>() {</span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> els <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.lvix1&quot;</span>)<span class="op">;</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> el <span class="kw">of</span> els) el<span class="op">.</span><span class="fu">addEventListener</span>(<span class="st">&quot;click&quot;</span><span class="op">,</span> <span class="kw">function</span>() {</span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> cl <span class="op">=</span> el<span class="op">.</span><span class="at">classList</span>[<span class="dv">0</span>]<span class="op">;</span></span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> <span class="bu">console</span><span class="op">.</span><span class="fu">log</span>(cl)<span class="op">;</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> divs <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.&quot;</span><span class="op">+</span>cl)<span class="op">;</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> div <span class="kw">of</span> divs) div<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span> <span class="op">=</span> <span class="fu">hideDivs</span>(div<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span>)<span class="op">;</span></span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">showTags</span>()</span>
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a> })</span>
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">showTags</span>() {</span>
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> els <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.lvix1&quot;</span>)<span class="op">;</span></span>
<span id="cb5-15"><a href="#cb5-15" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> el <span class="kw">of</span> els) {</span>
<span id="cb5-16"><a href="#cb5-16" aria-hidden="true" tabindex="-1"></a> <span class="bu">console</span><span class="op">.</span><span class="fu">log</span>(<span class="st">&quot;unhiding&quot;</span><span class="op">,</span> el<span class="op">.</span><span class="at">classList</span>)</span>
<span id="cb5-17"><a href="#cb5-17" aria-hidden="true" tabindex="-1"></a> el<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span> <span class="op">=</span> <span class="st">&quot;inline&quot;</span><span class="op">;</span></span>
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true" tabindex="-1"></a> }</span>
class="sourceCode javascript"><code class="sourceCode javascript"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">window</span><span class="op">.</span><span class="fu">addEventListener</span>(<span class="st">&quot;load&quot;</span><span class="op">,</span> <span class="kw">function</span> () {</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">setupTags</span>()<span class="op">;</span></span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">setupTags</span>() {</span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> els <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.lvix1&quot;</span>)<span class="op">;</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> el <span class="kw">of</span> els)</span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a> el<span class="op">.</span><span class="fu">addEventListener</span>(<span class="st">&quot;click&quot;</span><span class="op">,</span> <span class="kw">function</span> () {</span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> cl <span class="op">=</span> el<span class="op">.</span><span class="at">classList</span>[<span class="dv">0</span>]<span class="op">;</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> divs <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.&quot;</span> <span class="op">+</span> cl)<span class="op">;</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> div <span class="kw">of</span> divs) div<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span> <span class="op">=</span> <span class="fu">hideDivs</span>(div<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span>)<span class="op">;</span></span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">showTags</span>()<span class="op">;</span></span>
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a> })<span class="op">;</span></span>
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> divs <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.lvix2&quot;</span>)<span class="op">;</span></span>
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> div <span class="kw">of</span> divs) div<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span> <span class="op">=</span> <span class="st">&quot;none&quot;</span><span class="op">;</span></span>
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-15"><a href="#cb5-15" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">showTags</span>() {</span>
<span id="cb5-16"><a href="#cb5-16" aria-hidden="true" tabindex="-1"></a> <span class="kw">let</span> els <span class="op">=</span> <span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.lvix1&quot;</span>)<span class="op">;</span></span>
<span id="cb5-17"><a href="#cb5-17" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (<span class="kw">let</span> el <span class="kw">of</span> els) {</span>
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true" tabindex="-1"></a> el<span class="op">.</span><span class="at">style</span><span class="op">.</span><span class="at">display</span> <span class="op">=</span> <span class="st">&quot;inline&quot;</span><span class="op">;</span></span>
<span id="cb5-19"><a href="#cb5-19" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-20"><a href="#cb5-20" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">hideDivs</span>(prev) {</span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (prev <span class="op">===</span> <span class="st">&quot;none&quot;</span>) {</span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="st">&quot;inline&quot;</span><span class="op">;</span></span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-24"><a href="#cb5-24" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="st">&quot;none&quot;</span></span>
<span id="cb5-25"><a href="#cb5-25" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-26"><a href="#cb5-26" aria-hidden="true" tabindex="-1"></a>})</span></code></pre></div>
<span id="cb5-20"><a href="#cb5-20" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true" tabindex="-1"></a> <span class="kw">function</span> <span class="fu">hideDivs</span>(prev) {</span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (prev <span class="op">===</span> <span class="st">&quot;none&quot;</span>) {</span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="st">&quot;inline&quot;</span><span class="op">;</span></span>
<span id="cb5-24"><a href="#cb5-24" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-25"><a href="#cb5-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="st">&quot;none&quot;</span><span class="op">;</span></span>
<span id="cb5-26"><a href="#cb5-26" aria-hidden="true" tabindex="-1"></a> }</span>
<span id="cb5-27"><a href="#cb5-27" aria-hidden="true" tabindex="-1"></a>})<span class="op">;</span></span></code></pre></div>

View File

@ -1,26 +1,27 @@
window.addEventListener("load", function() {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) el.addEventListener("click", function() {
let cl = el.classList[0];
console.log(cl);
let divs = document.querySelectorAll("."+cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags()
})
window.addEventListener("load", function () {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els)
el.addEventListener("click", function () {
let cl = el.classList[0];
let divs = document.querySelectorAll("." + cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags();
});
let divs = document.querySelectorAll(".lvix2");
for (let div of divs) div.style.display = "none";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
el.style.display = "inline";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
console.log("unhiding", el.classList)
el.style.display = "inline";
}
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
return "none"
}
})
return "none";
}
});

View File

@ -36,7 +36,7 @@ generatePage() {
filename=$(echo $torrent | sed 's|.torrent||g')
title=$(echo $filename | sed 's|-| |g' | sed 's|i2psnark/||g')
tags=$(echo $title | sed 's|\.| |g' | sed 's|@| |g')
echo " <div id="$filename" class=\"$tags\">"
echo " <div id="$filename" class=\"lvix2 $tags\">"
echo " <a href=\"$torrent\">$title</a></br>"
echo " <div class=\"tags\">Tags:"
for tag in $tags; do
@ -51,32 +51,34 @@ generatePage() {
}
script(){
echo 'window.addEventListener("load", function() {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) el.addEventListener("click", function() {
let cl = el.classList[0];
console.log(cl);
let divs = document.querySelectorAll("."+cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags()
})
echo 'window.addEventListener("load", function () {
setupTags();
function setupTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els)
el.addEventListener("click", function () {
let cl = el.classList[0];
let divs = document.querySelectorAll("." + cl);
for (let div of divs) div.style.display = hideDivs(div.style.display);
showTags();
});
let divs = document.querySelectorAll(".lvix2");
for (let div of divs) div.style.display = "none";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
el.style.display = "inline";
}
function showTags() {
let els = document.querySelectorAll(".lvix1");
for (let el of els) {
console.log("unhiding", el.classList)
el.style.display = "inline";
}
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
function hideDivs(prev) {
if (prev === "none") {
return "inline";
}
return "none"
}
})'
return "none";
}
});
'
}
if [ ! -f script.js ]; then