Update
This commit is contained in:
commit
d91a1cc6e3
114
index.html
Normal file
114
index.html
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta
|
||||||
|
http-equiv="X-UA-Compatible"
|
||||||
|
content="IE=edge"
|
||||||
|
>
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1.0"
|
||||||
|
>
|
||||||
|
<title>Audio/video links generator</title>
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="style.css"
|
||||||
|
>
|
||||||
|
<script src="script.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<section>
|
||||||
|
|
||||||
|
<div class="inputs">
|
||||||
|
<h1>Dane</h1>
|
||||||
|
<div class="input">
|
||||||
|
<label for="name">Nazwa odcinka</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="episode-name"
|
||||||
|
id="episode_name"
|
||||||
|
value="Test - ICD #213"
|
||||||
|
placeholder="Test - ICD #213"
|
||||||
|
oninput="generateHtml();"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input">
|
||||||
|
<label for="funkwhale">Funkhwale episode url</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="funkwhale-episode-id"
|
||||||
|
id="funkwhale"
|
||||||
|
value="https://podcast.midline.pl/library/tracks/32/"
|
||||||
|
placeholder="https://podcast.midline.pl/library/tracks/32/"
|
||||||
|
oninput="generateHtml();"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="input">
|
||||||
|
<label for="peertube">Peertube video url</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="peertube-video-id"
|
||||||
|
id="peertube"
|
||||||
|
value="https://video.internet-czas-dzialac.pl/w/1L2juuzDN6VH5fCXmuhgGY"
|
||||||
|
placeholder="https://video.internet-czas-dzialac.pl/w/1L2juuzDN6VH5fCXmuhgGY"
|
||||||
|
oninput="generateHtml();"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="input">
|
||||||
|
<label for="odysee">Odysee video url</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="odysee-video-id"
|
||||||
|
id="odysee"
|
||||||
|
placeholder="https://odysee.com/@internetczasdzialac:6/internet-of-things,-czy-internet-of-shit:1"
|
||||||
|
oninput="generateHtml();"
|
||||||
|
>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="input">
|
||||||
|
<label for="youtube">Youtube video url</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="youtube-video-id"
|
||||||
|
id="youtube"
|
||||||
|
value="https://www.youtube.com/watch?v=3MC-_83Zqik"
|
||||||
|
placeholder="https://www.youtube.com/watch?v=3MC-_83Zqik"
|
||||||
|
oninput="generateHtml();"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="result">
|
||||||
|
|
||||||
|
<div class="output">
|
||||||
|
<h1>Output</h1>
|
||||||
|
<textarea
|
||||||
|
name="output"
|
||||||
|
id="output"
|
||||||
|
></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button onclick="copyHtml()">Copy HTML</button>
|
||||||
|
|
||||||
|
<h1>Render jak w Ghost</h1>
|
||||||
|
<div class="preview">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
<script>
|
||||||
|
window.addEventListener("DOMContentLoaded", function() {
|
||||||
|
generateHtml()
|
||||||
|
}, false);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
179
script.js
Normal file
179
script.js
Normal file
|
@ -0,0 +1,179 @@
|
||||||
|
function generateHtml() {
|
||||||
|
if (
|
||||||
|
document.querySelector("#episode_name").value &&
|
||||||
|
document.querySelector("#funkwhale").value &&
|
||||||
|
document.querySelector("#peertube").value &&
|
||||||
|
document.querySelector("#youtube").value
|
||||||
|
) {
|
||||||
|
let funkwhale_id;
|
||||||
|
let peertube_id;
|
||||||
|
try {
|
||||||
|
funkwhale_id = document
|
||||||
|
.querySelector("#funkwhale")
|
||||||
|
.value.split("/tracks/")[1];
|
||||||
|
} catch (error) {
|
||||||
|
alert("Podaj prawidłową wartością dla funkwhale");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
peertube_id = document
|
||||||
|
.querySelector("#peertube")
|
||||||
|
.value.split("/w/")[1];
|
||||||
|
} catch (error) {
|
||||||
|
alert("Podaj prawidłową wartością dla peertube");
|
||||||
|
}
|
||||||
|
|
||||||
|
const html = `<div class="player">
|
||||||
|
<iframe
|
||||||
|
scrolling="no"
|
||||||
|
src="https://podcast.midline.pl/front/embed.html?type=track&id=${funkwhale_id}"
|
||||||
|
width="100%"
|
||||||
|
height="160"
|
||||||
|
frameborder="no"
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
<div class="player">
|
||||||
|
<iframe
|
||||||
|
sandbox="allow-same-origin allow-scripts"
|
||||||
|
src="https://video.internet-czas-dzialac.pl/videos/embed/${peertube_id}"
|
||||||
|
allowfullscreen=""
|
||||||
|
width="100%"
|
||||||
|
height="394"
|
||||||
|
frameborder="0"
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="podcast-logos audio-logos">
|
||||||
|
<a
|
||||||
|
title="Link do naszego podcastowego RSSa"
|
||||||
|
alt="Logo RSS"
|
||||||
|
href="https://podcast.midline.pl/feed.xml"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
height="32"
|
||||||
|
width="32"
|
||||||
|
src="https://assets.midline.pl/logos/light/rss.svg"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="${episode_name} w naszej instancji Funkwhale."
|
||||||
|
alt="Logo Funkwhale"
|
||||||
|
href="https://podcast.midline.pl/library/tracks/${funkwhale_id}"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
style="--dark-image: url('https://assets.midline.pl/logos/dark/funkwhale.svg')"
|
||||||
|
src="https://assets.midline.pl/logos/light/funkwhale.svg"
|
||||||
|
height="32"
|
||||||
|
width="32"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Podcast 'Internet. Czas działać!' w aplikacji AntennaPod."
|
||||||
|
alt="Logo AntennaPod"
|
||||||
|
href="https://antennapod.org/"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
height="32"
|
||||||
|
width="32"
|
||||||
|
src="https://assets.midline.pl/logos/light/antennapod.svg"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Podcast 'Internet. Czas działać!' w aplikacji Patronite Audio."
|
||||||
|
alt="Logo Patronite Audio"
|
||||||
|
href="https://patronite.pl/patrocast/podcasts/f2eaf21a-8c3e-4e7f-93e1-c11868afa5f0/details"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
src="https://assets.midline.pl/logos/light/patronite-audio.svg"
|
||||||
|
height="32"
|
||||||
|
width="32"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Podcast 'Internet. Czas działać!' w serwisie Spotify."
|
||||||
|
alt="Logo Spotify"
|
||||||
|
href="https://open.spotify.com/show/2BSREI0uQcADS8W0RHrkxB"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
style="--dark-image: url('https://assets.midline.pl/logos/dark/spotify.svg')"
|
||||||
|
src="https://assets.midline.pl/logos/light/spotify.svg"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Podcast 'Internet. Czas działać!' w serwisie Apple Podcasts."
|
||||||
|
alt="Logo Apple Podcasts"
|
||||||
|
href="https://podcasts.apple.com/pl/podcast/internet-czas-dzia%C5%82a%C4%87/id1536929719"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
src="https://assets.midline.pl/logos/light/apple-podcasts.svg"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Podcast 'Internet. Czas działać!' w serwisie Google Podcasts."
|
||||||
|
alt="Logo Podcasty Google"
|
||||||
|
href="https://podcasts.google.com/feed/aHR0cHM6Ly9wb2RjYXN0Lm1pZGxpbmUucGwvZmVlZC54bWw?sa=X&ved=0CAUQrrcFahcKEwiYtdDr7__sAhUAAAAAHQAAAAAQAQ"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
src="https://assets.midline.pl/logos/light/google-podcasts.svg"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="podcast-logos video-logos">
|
||||||
|
<a
|
||||||
|
title="${episode_name} w serwisie PeerTube."
|
||||||
|
alt="Logo PeerTube"
|
||||||
|
href="https://video.internet-czas-dzialac.pl/videos/watch/${peertube_id}"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
style="--dark-image: url('https://assets.midline.pl/logos/dark/peertube.svg')"
|
||||||
|
src="https://assets.midline.pl/logos/light/peertube.svg"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="Kanał 'Internet. Czas działać!' w serwisie Odysee."
|
||||||
|
alt="Logo Odysee"
|
||||||
|
href="https://odysee.com/@internetczasdzialac"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
src="https://assets.midline.pl/logos/light/odysee.svg"
|
||||||
|
style="--dark-image: url('https://assets.midline.pl/logos/dark/odysee.svg')"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
title="${episode_name} w serwisie YouTube."
|
||||||
|
alt="Logo YouTube"
|
||||||
|
href="https://www.youtube.com/watch?v=3MC-_83Zqik"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="logo"
|
||||||
|
src="https://assets.midline.pl/logos/light/youtube.svg"
|
||||||
|
style="--dark-image: url('https://assets.midline.pl/logos/dark/youtube.svg')"
|
||||||
|
height="48"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>`;
|
||||||
|
console.log(html);
|
||||||
|
document.querySelector("textarea").value = html;
|
||||||
|
document.querySelector(".preview").innerHTML = html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function copyHtml() {
|
||||||
|
navigator.clipboard.writeText(document.querySelector("textarea").value);
|
||||||
|
}
|
||||||
|
|
113
style.css
Normal file
113
style.css
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
* {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-rendering: optimizelegibility;
|
||||||
|
font-smooth: auto;
|
||||||
|
-webkit-font-smoothing: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Open Sans";
|
||||||
|
color: hsl(258.8, 17.4%, 3%);
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputs {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
width: 24rem;
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.output {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
height: 20vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
border: 1px solid #5e636e;
|
||||||
|
padding: .5rem;
|
||||||
|
overflow-y: scroll;
|
||||||
|
font-size: .667rem;
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 0.25rem .5rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview {
|
||||||
|
width: 700px;
|
||||||
|
border: 1px solid #5e636e;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.player {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
.podcast-logos {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row wrap;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-logos {
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-logos {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.podcast-logos > a {
|
||||||
|
margin: 0.75rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.podcast-logos > a,
|
||||||
|
.podcast-logos > a:hover {
|
||||||
|
text-decoration: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.podcast-logos > a > img {
|
||||||
|
width: auto !important;
|
||||||
|
margin: 0 0.75rem;
|
||||||
|
max-width: 120px;
|
||||||
|
height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.logo {
|
||||||
|
content: var(--dark-image);
|
||||||
|
background-color: #191b1f;
|
||||||
|
display: block;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user