Initial commit

This commit is contained in:
Set Hallstrom 2020-07-03 18:47:56 +02:00
commit 6a348db52f
471 changed files with 76070 additions and 0 deletions

293
_layouts/album.html Normal file
View file

@ -0,0 +1,293 @@
---
lang: en
---
<!DOCTYPE HTML>
<!--
Based on _Story_ by html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Remixed and Jekyllified by Setto
-->
<html lang="{% if page.lang != site.lang %}{{ page.lang }}{% else %}{{ site.lang }}{% endif %}">
<head>
{% seo title=false %}
<link type="application/atom+xml" rel="alternate" href="{{ site.url }}/feed.xml" title="{{ site.name }}" />
{% include seo.html %}
{% include relBase.html %}
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes" />
<link rel="stylesheet" href="{{ relBase }}/assets/css/main20200519.css" />
<link rel="apple-touch-icon" href="{{ site.url }}/apple-touch-icon.png">
<link rel="icon" type="image/png" href="{{ site.url }}/touch-icon.png" sizes="192x192">
<link rel="shortcut icon" href="{{ site.url }}{{ site.icon }}" type="image/png" />
<noscript><link rel="stylesheet" href="{{ relBase }}/assets/css/noscript20200518-rev1.css" /></noscript>
</head>
<body class="is-preload" id="body">
<span id="top" style="display: none;"></span>
<!-- Wrapper -->
<div id="wrapper" class="divided">
<!-- Banner -->
<section
class="banner onload-image-fade-in onload-content-fade-right style2 fullscreen content-align-center image-position-center"
style="height:100vh;background-color: rgba(13,13,13,0.85);">
<div class="content editable">
<h1 class="editable">{{ page.name }}</h1>
<ul class="actions stacked">
<li><a href="#moe" class="button small smooth-scroll-middle">cheggit!</a></li>
</ul>
</div>
<div class="image">
<img src="{{ relBase }}{{ page.cover }}" alt="{{ page.name }}" class="editable" />
</div>
</section>
<!-- Content -->
<section class="wrapper style1 align-center">
<div class="inner" style="padding-top: 40px;">
<div class="index align-left">
<!-- Author -->
<section style="padding-top:40px;" id="moe">
{% include author.html %}
<!-- Content -->
<div class="content">
<!-- HERE BEGINS MADNESS -->
<!-- Content -->
<div class="content">
<div id="mainwrap">
<div id="nowPlay">
<p class="right" id="npTitle" style="font-weight: bold;"></p>
<p class="left" id="npAction">Paused...</p>
</div>
<div id="audiowrap">
<div id="audio0">
<audio id="audio1" controls="controls">Your browser does not support HTML5
Audio!</audio>
</div>{% assign onetracker = page.tracks | size %}
{% if onetracker > 1 %}
<div id="tracks">
<a id="btnPrev"><span class="icon solid fa-fast-backward"></span></a>
<a id="btnNext"><span class="icon solid fa-fast-forward"></span></a>
</div>
{% endif %}
</div>
<div id="plwrap">
<ul id="plList">
{% for track in page.tracks %}
<li class="">
<div class="plItem">
<div class="plNum">{{ track.common.track.no }}.</div>
<div class="plTitle">{{ track.common.title }}</div>
<div class="plLength">{% assign round_seconds = track.format.duration | round %}{% assign minutes = round_seconds | divided_by: 60 %}{% assign leftover_seconds = minutes | times: 60 %}{{ minutes }}:{{ round_seconds | minus: leftover_seconds }}</div>
</div>
</li>
{% endfor %}
</ul>
</div>
</div>
<div id="noJSalbum">
{% for track in page.tracks %}
<div class="plItem">
<div class="plNum">{{ track.common.track.no }}.</div>
<div class="plTitle"><a href="https://media.basspistol.com/panix/{{ track.albumSlug }}/{{ track.trackSlug }}.mp3">{{ track.common.title }} </a></div>
<div class="plLength">{% assign round_seconds = track.format.duration | round %}{% assign minutes = round_seconds | divided_by: 60 %}{% assign leftover_seconds = minutes | times: 60 %}{{ minutes }}:{{ round_seconds | minus: leftover_seconds }}</div>
</div>
{% endfor %}
</div>
</div>
<div class="content" style="font-family: monospace;font-size: 16px;margin-top:60px;">
{{ content }}
<p>{{ page.credits }}</p>
</div>
</div>
</section>
</div>
</div>
</section>
<!-- Tracks -->
<section id="albumdata" class="wrapper style1 align-center">
<div class="gallery style1 medium onscroll-fade-in">
<!--
{% for track in page.tracks %}
<article>
<a href="{{ relBase }}/{{ track.slug }}/" class="image">
<img src="{{ relBase }}{{ track.cover}}" alt="{{ track.common.title }}" />
</a>
<div class="caption">
<h3>{{ track.common.title }}</h3>
<p>
<strong>{{ track.common.genre }}</strong>
<br />{{ track.common.year }}</p>
<ul class="actions fixed">
<li><span class="editable button small icon fa-play-circle">Play</span></li>
</ul>
</div>
</article>
{% endfor %} -->
{% include streamer.html %}
</div>
</section>
<!-- END Tracks -->
<!-- HERE ENDS MADNESS -->
<section class="wrapper style1 align-center">
<div class="inner">
<div class="index align-left">
<!-- Author -->
<section>
<!-- Content -->
<div class="content">
<!-- post Naviation -->
<div style="text-align: center;">
<h3>{{ site.data.translations[page.lang].post-nav}}</h3>
</div>
<div class="post-nav">
<div>
{% if page.previous.url and page.lang == page.previous.lang %}
<h4><a href="{{page.previous.url}}" alt="Read {{page.previous.title}}" title="Read {{page.previous.title}}"><i class="fas fa-arrow-left"></i></a> <a
href="{{page.previous.url}}">&nbsp;{{page.previous.title}}</a></h4>
<p style="margin-right: 20px">{{ page.previous.description }}</p>
{% endif %}
</div>
<div class="post-nav-next">
{% if page.next.url and page.lang == page.next.lang %}
<h4><a href="{{page.next.url}}">&nbsp;{{page.next.title}}</a> <a href="{{page.next.url}}" alt="Read {{page.next.title}}" title="Read {{page.next.title}}"><i
class="fas fa-arrow-right"></i></a></h4>
<p style="margin-left: 20px">{{ page.next.description }}</p>
{% endif %}
</div>
</div>
<!-- End Post Navigation -->
</div>
</section>
</div>
</div>
</section>
{% include footer.html %}
</div>
{% include navigation.html %}
{% include scripts.html %}
<script type="text/javascript">
// html5media enables <video> and <audio> tags in all major browsers
// External File: http://api.html5media.info/1.1.8/html5media.min.js
// Add user agent as an attribute on the <html> tag...
// Inspiration: http://css-tricks.com/ie-10-specific-styles/
var b = document.documentElement;
b.setAttribute('data-useragent', navigator.userAgent);
b.setAttribute('data-platform', navigator.platform);
// HTML5 audio player + playlist controls...
// Inspiration: http://jonhall.info/how_to/create_a_playlist_for_html5_audio
// Mythium Archive: https://archive.org/details/mythium/
jQuery(function ($) {
var supportsAudio = !!document.createElement('audio').canPlayType;
if (supportsAudio) {
var index = 0,
playing = false,
mediaPath = '',
extension = '',
tracks = [{% for track in page.tracks %}{
"track": {{ track.common.track.no }},
"name": "{{ track.common.title }}",
"length": "{% assign round_seconds = track.format.duration | round %}{% assign minutes = round_seconds | divided_by: 60 %}{% assign leftover_seconds = minutes | times: 60 %}{{ minutes }}:{{ round_seconds | minus: leftover_seconds }}",
"file": "https://media.basspistol.com/panix/{{ track.albumSlug }}/{{ track.trackSlug }}"
}{% unless forloop.last %},{% endunless %}{% endfor %}],
trackCount = tracks.length,
npAction = $('#npAction'),
npTitle = $('#npTitle'),
audio = $('#audio1').bind('play', function () {
playing = true;
npAction.text('Playing...');
}).bind('pause', function () {
playing = false;
npAction.text('Paused...');
}).bind('ended', function () {
npAction.text('Paused...');
if ((index + 1) < trackCount) {
index++;
loadTrack(index);
audio.play();
} else {
audio.pause();
index = 0;
loadTrack(index);
}
}).get(0),
btnPrev = $('#btnPrev').click(function () {
if ((index - 1) > -1) {
index--;
loadTrack(index);
if (playing) {
audio.play();
}
} else {
audio.pause();
index = 0;
loadTrack(index);
}
}),
btnNext = $('#btnNext').click(function () {
if ((index + 1) < trackCount) {
index++;
loadTrack(index);
if (playing) {
audio.play();
}
} else {
audio.pause();
index = 0;
loadTrack(index);
}
}),
li = $('#plList li').click(function () {
var id = parseInt($(this).index());
if (id !== index) {
playTrack(id);
}
}),
loadTrack = function (id) {
$('.plSel').removeClass('plSel');
$('#plList li:eq(' + id + ')').addClass('plSel');
npTitle.text(tracks[id].name);
index = id;
audio.src = mediaPath + tracks[id].file + extension;
$('audio').attr("data-matomo-title", tracks[id].name);
},
playTrack = function (id) {
loadTrack(id);
audio.play();
};
extension = audio.canPlayType('audio/mpeg') ? '.mp3' : audio.canPlayType('audio/ogg') ? '.ogg' : '';
loadTrack(index);
}
});
</script>
{% include cookie-consent.html %}
</body>
</html>

3
_layouts/blog.html Normal file
View file

@ -0,0 +1,3 @@
---
layout: default
---

36
_layouts/default.html Normal file
View file

@ -0,0 +1,36 @@
---
lang: en
---
<!DOCTYPE HTML>
<!--
Based on _Story_ by html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
Remixed and Jekyllified by Setto
-->
<html lang="{% if page.lang != site.lang %}{{ page.lang }}{% else %}{{ site.lang }}{% endif %}">
<head>
{% seo title=false %}
<link type="application/atom+xml" rel="alternate" href="{{ site.url }}/feed.xml" title="{{ site.name }}" />
{% include seo.html %}
{% include relBase.html %}
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes" />
<link rel="stylesheet" href="{{ relBase }}/assets/css/main20200519.css" />
<link rel="apple-touch-icon" href="{{ site.url }}/apple-touch-icon.png">
<link rel="icon" type="image/png" href="{{ site.url }}/touch-icon.png" sizes="192x192">
<link rel="shortcut icon" href="{{ site.url }}{{ site.icon }}" type="image/png" />
<noscript><link rel="stylesheet" href="{{ relBase }}/assets/css/noscript20200518-rev1.css" /></noscript>
</head>
<body class="is-preload" id="body">
<span id="top" style="display: none;"></span>
<!-- Wrapper -->
<div id="wrapper" class="divided">
{{ content }}
</div>
{% include navigation.html %}
{% include scripts.html %}
{% include cookie-consent.html %}
</body>
</html>

3
_layouts/nil.html Normal file
View file

@ -0,0 +1,3 @@
---
---
{{ content }}

42
_layouts/page.html Normal file
View file

@ -0,0 +1,42 @@
---
layout: default
---
{% include relBase.html %}
<!-- Banner -->
<section class="banner onload-image-fade-in onload-content-fade-right style2 fullscreen content-align-center image-position-center" style="height:100vh;background-color: rgba(13,13,13,0.85);">
<div class="content">
<h1>{{ page.title }}</h1>
<p>{{ page.description }}</p>
</div>
<div class="image">
<img src="{{ page.image }}" alt="unfound page" />
</div>
</section>
<!-- Content -->
<section class="wrapper style1 align-center">
<div class="inner">
<div class="index align-left">
<!-- Author -->
<section>
{% if page.url != '/cookies/' %}
{% include author.html %}
{% endif %}
<!-- Content -->
<div class="content">
{{ content }}
</div>
</section>
</div>
</div>
</section>
{% include footer.html %}

148
_layouts/track.html Normal file
View file

@ -0,0 +1,148 @@
---
layout: default
---
{% include relBase.html %}
<!-- Banner -->
<section
class="banner onload-image-fade-in onload-content-fade-right style3 fullscreen content-align-center image-position-center" style="background-image:url(' {{ page.cover }}');background-size: cover; background-repeat: no-repeat;">
<div style="z-index:0;position:absolute; top:0; left:0; width:100%;height:100%;background-color: rgba(13, 13 ,13, 0.85);"></div>
<div class="content" style="z-index:1">
<h1 style="margin-top:80px">{{ page.common.title }}</h1>
<p><strong><span id="tracktime"></span></strong><span id="{{ page.common.title | slugify | remove: '-' }}"></span></strong> <br />
Style: <strong>{% for style in page.common.genre %}{{ style }}{% endfor %}</strong>
</p>
<script type="text/javascript">
var {{ page.common.title | slugify | remove: '-' }}timestamp = {{ page.format.duration | round }};
var {{ page.common.title | slugify | remove: '-' }}hours = Math.floor({{ page.common.title | slugify | remove: '-' }}timestamp / 60 / 60);
var {{ page.common.title | slugify | remove: '-' }}minutes = Math.floor({{ page.common.title | slugify | remove: '-' }}timestamp / 60) - ({{ page.common.title | slugify | remove: '-' }}hours * 60);
var {{ page.common.title | slugify | remove: '-' }}seconds = {{ page.common.title | slugify | remove: '-' }}timestamp % 60;
var {{ page.common.title | slugify | remove: '-' }}formatted = {{ page.common.title | slugify | remove: '-' }}hours.toString().padStart(2, '0') + ':' + {{ page.common.title | slugify | remove: '-' }}minutes.toString().padStart(2, '0') + ':' + {{ page.common.title | slugify | remove: '-' }}seconds.toString().padStart(2, '0');
var theSpan = document.getElementById("{{ page.common.title | slugify | remove: '-' }}");
theSpan.innerHTML = {{ page.common.title | slugify | remove: '-' }}formatted;
</script>
<ul class="actions stacked">
<li><button id="mu_pause" class="smooth-scroll-middle button icon solid fa-play">Play dat!</button></li>
</ul>
</div>
<div class="image">
<img src="{{ relBase }}{{ page.cover }}" alt="{{ page.title }} logo" id="coverart" />
</div>
</section>
{% if page.all.UNSYNCEDLYRICS != nil %}
<!-- Content -->
<section class="wrapper style1 align-center">
<div class="inner" style="padding-top:40px">
<div class="index align-left">
<section style="padding-top:40px">
{% include author.html %}
<!-- Content -->
<div class="content">
{% unless page.all.UNSYNCEDLYRICS == '' %}<h2>Lyrics</h2>{% endunless %}
<p style="font-family: monospace;font-size:16px;">
{{ page.all.UNSYNCEDLYRICS | newline_to_br }}
</p>
<p>credits:
{{ page.all.Comment }}
</p>
</div>
</section>
</div>
</div>
</section>
{% endif %}
<!-- Page navigation -->
<section class="wrapper style1 align-center">
<div class="inner">
<div class="index align-left">
<!-- Author -->
{% include streamer.html %}
<section>
<!-- Content -->
<div class="content">
<!-- post Naviation -->
<div style="text-align: center;">
<h3>Play more songs grom this release</h3>
</div>
<div class="post-nav">
<div>
{% if page.previous.url and page.lang == page.previous.lang %}
<h4><a href="{{ relBase }}/{{ page.previousTrack.slug }}/" alt="Read {{ page.previousTrack.common.title }}" title="Read {{ page.previousTrack.common.title }}"><i class="fas fa-arrow-left"></i></a> <a
href="{{ relBase }}/{{ page.previousTrack.slug }}/">&nbsp;{{ page.previousTrack.common.title }}</a>
</h4>
{% endif %}
</div>
<div class="post-nav-next">
{% if page.next.url and page.lang == page.next.lang %}
<h4><a href="{{ relBase }}/{{ page.nextTrack.slug }}/">&nbsp;{{ page.nextTrack.common.title }}</a> <a
href="{{ relBase }}/{{ page.nextTrack.slug }}/" alt="Read {{ page.nextTrack.common.title }}" title="Read {{ page.nextTrack.common.title }}"><i class="fas fa-arrow-right"></i></a></h4>
{% endif %}
</div>
</div>
<!-- End Post Navigation -->
</div>
</section>
</div>
</div>
</section>
<!-- Audio player-->
<audio autoplay preload="true" data-matomo-title="{{ page.common.title }}">
<source src="{{ relBase }}{{ page.audio }}" type="audio/mpeg" ontimeupdate='updateTrackTime(this);' />
<h1>Your browser isn't ready for so much hotness. Use the download-link instead.</h1>.
</audio>
{% include footer.html %}
<script type="text/javascript">
function loadUrl(newLocation) {
window.location = newLocation;
return false;
}
var mu = document.getElementsByTagName("audio")[0];
var pauseButton = document.getElementById("mu_pause");
var spincover = document.getElementById("coverart");
mu.addEventListener('ended', function () {
// only functional if "loop" is removed
mu.pause();
mu.currentTime = 0;
loadUrl("{{ relBase }}/{{ page.nextTrack.slug }}/"); return false;
});
mu.onplaying = function() {
pauseButton.innerHTML = "Pause";
pauseButton.classList.remove("fa-play");
pauseButton.classList.add("fa-pause");
spincover.classList.add("spinnit");
spincover.classList.remove("paused");
};
pauseButton.addEventListener("click", function () {
if (mu.paused) {
mu.play();
}
else {
mu.pause();
pauseButton.innerHTML = "Resume";
pauseButton.classList.add("fa-play");
pauseButton.classList.remove("fa-pause");
spincover.classList.add("paused");
}
});
mu.addEventListener('timeupdate', function () {
var timestamp = Math.floor(mu.currentTime);
var hours = Math.floor(timestamp / 60 / 60);
var minutes = Math.floor(timestamp / 60) - (hours * 60);
var seconds = timestamp % 60;
var formatted = hours.toString().padStart(2, '0') + ':' + minutes.toString().padStart(2, '0') + ':' + seconds.toString().padStart(2, '0');
var thecurrentSpan = document.getElementById("tracktime");
thecurrentSpan.innerHTML = formatted + ' / ';
});
</script>