cleaning up this madness

This commit is contained in:
sakrecoer 2025-07-03 22:40:43 +02:00
parent 276eeb12cd
commit 29ba7a4348
9 changed files with 274 additions and 601 deletions

View file

@ -3,8 +3,16 @@ title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
image:
url: ""
alt: ""
credits:
name: ""
url: ""
cta:
catalogue:
license:
url:
label: ""
release: false
catalogue: ""
license: ""
recordlabel: ""
---

View file

@ -123,13 +123,17 @@ footer {
section {
padding: 10px;
display: flex;
flex-wrap: wrap;
padding: 16px;
}
a {
color: orange;
color: white;
}
h1, h2, h3, h4, h5, h6, h7, h8 {
h1, h2, h3 {
font-family: Outward, Space-Grotesk, 'Arial', 'Helvetica', sans-serif;
@ -146,11 +150,23 @@ h1 {
padding: 0;
text-align: center;
}
h4 {
text-transform: uppercase;
}
strong, b {
font-weight: bold;
}
article {
margin: 2px 2px;
flex: 1 1 300px;
}
.section-headers {
margin: 2px 4px;
border-radius: 100px;
padding: 80px 20px;
border-style: double;
@ -162,6 +178,37 @@ strong, b {
background-position: center center;
background-repeat: no-repeat;
h2, h4, p {
margin: 20px 0;
}
h2 {
font-size: 8em;
line-height: 1.5em;
flex: 1 1 100%;
}
p {
font-size: .75em;
flex: 1 1 100%;
line-height: 1.5em;
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
h4 {
}
p {
font-size: 1em;
}
}
}
.section-footers {
@ -171,14 +218,13 @@ strong, b {
border-width: 10px;
flex: 1 1 100% !important;
border-radius: 0 0 100px 100px;
margin: 2px 4px;
}
.border {
border-style: double;
border-color: purple;
border-width: 10px;
margin: 4px 0 4px 0;
flex: 1 1 300px;
padding: 80px 20px;
}
@ -238,29 +284,138 @@ strong, b {
/* End Sections */
/* FORMS */
#newsletter {
background-color: #000;
padding: 0;
margin: 0;
form.inf-form > div {
background-color: #000;
/* NOW */
#now {
.now {
display: flex;
flex-wrap: wrap;
flex: 1 1 100%;
background-position: center center;
background-size: cover;
margin: 2px 4px;
}
figure, div {
flex: 1 1 300px;
}
figcaption {
font-size: .5em;
}
.inf-rgpd {
font-size: .5em;
}
.inf-form > div {
background-color: black;
padding: 0;
}
@media screen and (max-width: 1024px) {
figcaption {
font-size: .6em;
}
.inf-rgpd {
font-size: .8em;
}
}
}
.inf-content {
background-color: #000;
/* DISCOGRAPHY and GANCIO */
#discog, #gancio {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
a {
text-decoration: none;
}
.section-headers {
margin: 2px 2px;
}
article {
margin: 2px;
}
figure {
padding: 4px;
margin: auto;
border-style: double;
border-color: purple;
border-width: 10px;
img {
width: 100%;
object-fit: cover;
max-height: 200px;
}
}
figcaption {
height: 300px;
padding: 20px;
z-index: 100;
line-height: 1.5em;
overflow-y: hidden;
font-size: .75em;
}
@media screen and (max-width: 1024px) {
figcaption {
h4 {
font-size: 2em;
}
}
.inf-rgpd {
font-size: .8em;
}
}
}
/* RADIO */
#radio {
.border {
margin: 2px 4px;
}
}
.inf-input .inf-input-text {}
.inf-rgpd {}
.inf-submit {}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: .9em;
max-width: unset !important;
strong {
font-size: 1.5em;
}
}
figcaption {
font-size: .9em;
p { font-size: .9em;}
date {
font-size: .7em;
}
}
}
}

View file

@ -1,104 +1,18 @@
<style>
/* Discographys */
#discog {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
a {
text-decoration: none;
}
article {
margin:2px;
flex: 1 1 300px;
}
h2 {
font-size: 12em;
/* text-transform: uppercase;*/
line-height: 1em;
flex: 1 1 100%;
}
p {
flex: 1 1 100%;
font-size: .6em;
line-height: 1.75em;
max-width: 33vw;
strong {
font-size: 1.25em;
}
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: .9em;
max-width: unset;
}
strong {
font-size: 1.5em;
}
}
figure {
padding: 4px;
margin: auto;
border-style: double;
border-color: purple;
border-width: 10px;
img {
width: 100%;
object-fit: cover;
max-height: 300px;
}
}
figcaption {
font-family: Sigoil, 'Arial', 'Helvetica', sans-serif;
background-color: black;
color: white;
height: 286px;
padding: 20px;
margin-bottom: 4px;
border-color: purple;
border-width: 10px;
color: orange;
z-index: 100;
position: relative;
text-decoration: none;
line-height: 1.25em;
overflow-y: hidden;
}
}
</style>
{{ $data := dict }}
{{ $url := "https://shop.basspistol.com/podcast.rss" }}
<section id="discog">
<article class="section-headers" style="background-image: url(/2025/images/vinyl.webp);">
<div class="section-headers" style="background-image: url(/2025/images/vinyl.webp);">
<h2>Discography</h2>
<p><strong>The sound of freedom</strong><br />
Basspistol's discography is a non-possessive aggregation of cuts recoreded by independent musicians. Getting your music from here implies 100% of your support being channeled straight to the artist. (Minus whatever fees charged by the monetization service they leverage.)
<br /><br />
The bellow selection is shuffled every 30 minutes. Anything pikcing your curiosity? The random gods may just have something to tell you...
<br /><br />
<a href="https://shop.basspistol.com" style="text-decoration: underline;">Check out the Tienda for more information</a>
<h4>The sound of freedom</h4>
<p>Basspistol's discography is a non-possessive aggregation of cuts recoreded by independent musicians. Getting your music from here implies 100% of your support being channeled straight to the artist. (Minus whatever fees charged by the monetization service they leverage.)
</p>
<p>The bellow selection is shuffled every 30 minutes. Anything pikcing your curiosity? The random gods may just have something to tell you... Check out the Tienda for more.</p>
</p>
<a class="button" href="https://shop.basspistol.com">𝕭𝖆𝖘𝖘𝖕𝖎𝖘𝖙𝖔𝖑 𝕿𝖎𝖊𝖓𝖉𝖆 🛖</a>
</article>
</div>
{{ with try (resources.GetRemote $url) }}
@ -113,7 +27,7 @@ justify-content: space-between;
{{ with $data.channel.item }}
{{ range . | shuffle | first 5 }}
{{ range . | shuffle | first 4 }}
<article>
<a href="{{ .link }}" target="_blank">
@ -123,8 +37,7 @@ justify-content: space-between;
<img src="{{ . }}" />
{{ end }}
<figcaption>
<p><strong>{{ .title }}</strong></p>
<p>&nbsp;</p>
<h4>{{ .title }}</h4>
<p>{{ .description | transform.Plainify | safeHTML | truncate 120 }}</p>
</figcaption>

View file

@ -1,110 +1,12 @@
<style>
#gancio {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
a {
flex: 1 1 300px;
text-decoration: none;
}
article {
margin:2px;
flex: 1 1 300px;
}
h2 {
font-size: 12em;
/* text-transform: uppercase;*/
line-height: 1em;
flex: 1 1 100%;
}
p {
flex: 1 1 100%;
font-size: .6em;
line-height: 1.75em;
max-width: 33vw;
strong {
font-size: 1.25em;
}
}
date {
font-size: .5em;
}
figure {
padding: 20px;
margin: auto;
height: 75vh;
display: flex;
flex-wrap: wrap;
align-content: start;
border-style: double;
border-color: purple;
border-width: 10px;
img {
width: 100%;
object-fit: cover;
height: 250px;
}
figcaption {
margin-top: 20px;
font-size: 0.9em;
h4 {
font-family: Sigoil,Space-Grotesk,arial,helvetica,sans-serif;
text-transform: uppercase;
}
p {
flex: 1 1 100%;
max-width: 33vw;
}
}
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: .9em;
max-width: unset !important;
strong {
font-size: 1.5em;
}
}
figcaption {
font-size: .9em;
p { font-size: .9em;}
date {
font-size: .7em;
}
}
}
}
</style>
<section id="gancio">
<article class="section-headers">
<div class="section-headers">
<h2>Agenda</h2>
<p><strong>Outernational events</strong> <br />
Through the power of federation, we aggregate event data from the deep-web to keep you in the loop of what's happening below the radars.
<br /><br />
Want your event featured here? <a href="https://do.basspistol.org/add" target="_blank" style="text-decoration: underline;">Head over to this page</a>. No account required.</p>
<h4>Outernational events</h4>
<p>Through the power of federation, we aggregate event data from the deep-web to keep you in the loop of what's happening below the radars.</p>
<p>Want your event featured here? <a href="https://do.basspistol.org/add" target="_blank" style="text-decoration: underline;">Head over to this page</a>. No account required.</p>
<a class="button" href="https://do.basspistol.org/">Full agenda 🗓️</a>
</article>
</div>
{{ $data := dict }}
{{ $url := "https://do.basspistol.org/api/events" }}
@ -120,26 +22,29 @@
{{ end }}
{{ with $data }}
{{ range . | first 7 }}
{{ range . | first 4 }}
<article>
<figure>
<a href="https://do.basspistol.org/event/{{ .slug }}" target="_blank">{{ range .media }}<img src="https://do.basspistol.org/media/thumb/{{ .url }}" />{{ end }}</a>
<figcaption>
<h4>{{ .title }}</h4>
<date>{{ .start_datetime | int | dateFormat "2006-01-02 15:04 CET" }}</date>
<p><b>Organizer:</b> {{ .place.name }}</p>
<p><b>Address: </b>{{ .place.address }}</p>
<!-- <p>{{ range .tags }}#{{ . }} {{ end }}</p>-->
</figcaption>
</figure>
</article>
<a href="https://do.basspistol.org/event/{{ .slug }}">
<article>
<figure>
{{ range .media }}<img src="https://do.basspistol.org/media/thumb/{{ .url }}" />{{ end }}
<figcaption>
<date>{{ .start_datetime | int | dateFormat "2006-01-02 15:04 CET" }}</date>
<h4>{{ .title }}</h4>
<p><b>Organizer:</b> {{ .place.name }}</p>
<p>{{ .place.address }}</p>
<!-- <p>{{ range .tags }}#{{ . }} {{ end }}</p>-->
</figcaption>
</figure>
</article>
</a>
{{ end }}
<!-- <pre>{{ debug.Dump $data }}</pre>-->
{{ end }}
<article class="section-footers"></article>
<div class="section-footers"></div>
</section>

View file

@ -84,13 +84,11 @@
</style>
<section id="gang">
<article class="section-headers">
<div class="section-headers">
<h2>Gung</h2>
<p><strong>Link Root</strong>
</br>
The Basspistol network is composed of Powerful Syndicated Artists and Groups. These links are presented to you, ordered by the random god. <br />Follow the white Rabbit, Neo!
</p>
</article>
<h4>Link Root</h4>
<p>The Basspistol network is composed of Powerful Syndicated Artists and Groups. These links are presented to you, ordered by the random god. </p><p>Follow the white Rabbit, Neo!</p>
</div>
{{/* prebuild/layouts/index.html */}}
{{ $url := "https://s.basspistol.org/api/pinned-users" }}
@ -114,10 +112,7 @@
<img src="{{ .avatarUrl }}" />
<figcaption>
<p><strong>{{ .username }}</strong>
<br />
</p>
<h4>{{ .username }}</h4>
</figcaption>
</figure>
</a>

View file

@ -1,102 +1,38 @@
<style>
/* Discographys */
#now {
display: flex;
flex-wrap: wrap;
flex-direction: row;
article {
flex: 1 1 300px;
}
h2 {
font-size: 12em;
/* text-transform: uppercase;*/
line-height: 1em;
flex: 1 1 100%;
}
p {
flex: 1 1 100%;
font-size: .6em;
line-height: 1.75em;
max-width: 33vw;
strong {
font-size: 1.25em;
}
}
div.now > figure {
padding: 0 20px 0 0;
}
.now {
flex: 1 1 300px;
}
.inf-rgpd {
font-size: .5em;
color: orange;
padding: 20px;
}
.inf-success > h4 {
font-family: Sigoil,Space-Grotesk,arial,helvetica,sans-serif;
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: .9em;
max-width: unset;
}
strong {
font-size: 1.5em;
}
div.now > figure, div.now > div {
padding: 20px 0;
}
.inf-rgpd {
font-size: .8em;
}
}
}
</style>
<section id="now">
<article class="section-headers" style="background-image: url(/2025/images/now-banner.svg);">
<div class="section-headers" style="background-image: url(/2025/images/now-banner.svg);">
<h2>NOW</h2>
<p><strong>What's up, fellow space-time traveler! <br />Here's what's going down right now!</strong><br />Never been here before? <a href="https://www.basspistol.com/index2024.html#read">This page</a> might answer some of your questions. </p>
</article>
<div class="border now" style="display: flex; flex-wrap: wrap; flex: 1 1 100%; background-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), rgba(0, 0, 0, .9)), url(/2025/images/kybernetik.webp); background-position: center center; background-size: cover">
<h4>What's up, fellow space-time traveler!</h4>
<p>Here's what's going down right now! Never been here before? <a href="https://www.basspistol.com/index2024.html#read">This page</a> might answer some of your questions. </p>
</div>
{{ range first 2 (where .Site.RegularPages "Type" "news") }}
<div class="border now" style="background-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), rgba(0, 0, 0, .9)), url({{ .Params.image.url }});">
<figure style="flex: 1 1 50%;">
<img src="/2025/images/kybernetik.webp" />
<img src="{{ .Params.image.url }}" alt="{{ .Params.image.alt }}" />
<figcaption>
<p><b>Artwork:</b> <a href="{{ .Params.image.credits.url }}" target="_blank">{{ .Params.image.credits.name }}</a> ({{ .Params.image.license }})</p>
{{ if eq .Params.release true }}
<p><b>Catalogue:</b> {{ .Params.catalogue }}</p>
<p><b>Label:</b> {{ .Params.recordlabel | markdownify }}</p>
<p><b>License:</b> {{ .Params.license }}</p>
<p><b>Released:</b> {{ .Params.date | dateFormat "2006-01-02" }}
{{ end }}
</figcaption>
</figure>
<div>
<p><strong>Kybernetik LP by Revengeday</strong></p>
<p>In collaboration with the houses of <a href="https://corteximplant.com/about">Cortex Implant</a> and <a href="https://obeythesystem.com/">Obey The System,</a> Basspistol is immensely proud to present Kybernetik LP by <a href="https://revenge.day/discography/kybernetik">Revengeday.</a>
<br /><br />
The depth of the darkness and the attention to detail with which Revengeday manages to infuse his music is beyond written word. The work of a world builder, showing a glimpse of what 20 minutes in the future look like, but seen from 30 years ahead. Take a trip from Cairo to Berlin, via Tokyo and Chirak.</p>
<a class="button" href="https://shop.basspistol.com/bpist-023">Get this 💎</a>
</div>
<div style="font-size: .75em;">
<p><b>Catalogue:</b> #BPIST-023</p>
<p><b>Label:</b> Basspistol & <a href="https://obeythesystem.com/">OBEY THE SYSTEM</a> / <a href="https://corteximplant.com/about">CORTEX IMPLANT</a></p>
<p><b>Artwork:</b> Ramses Revengeday</p>
<p><b>License:</b> CC BY-NC-ND 4.0</p>
<div>
<h4>{{ .Title }}</h4>
{{ .Content | markdownify }}
<a class="button" href="{{ .Params.cta.url }}" target="_blank">{{ .Params.cta.label }}</a>
</div>
</div>
<article class="border">
{{ end }}
<article class="border now">
{{ partial "body/newsletter.html" . }}
</article>
<article class="section-footers"></article>
<div class="section-footers"></div>
</section>

View file

@ -1,202 +0,0 @@
<style>
#peertube {
display: flex;
flex-wrap: wrap;
flex-direction: row;
article {
margin: 2px;
flex: 1 1 300px;
.cartouche {
display: flex;
align-items: center;
justify-content: left;
flex-wrap: wrap;
width: 100%;
}
.cartouche > a {
flex: 0 0 100px;
}
.cartouche > p {
flex: 1 1 100px;
font-size: 1em;
font-weight: bold;
text-transform: uppercase;
}
}
h2 {
font-size: 12em;
/* text-transform: uppercase;*/
line-height: 1em;
flex: 1 1 100%;
}
p {
flex: 1 1 100%;
line-height: 1em;
strong {
font-size: 1.5em;
}
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: 1em;
}
}
.peertubes {
display: flex;
align-items: end;
padding: 20px;
justify-content: center;
flex: 1 1 300px;
min-height: 300px;
background-size: cover;
background-position: center center;
linear-gradient(to bottom, rgba(245, 246, 252, 0.52), rgba(117, 19, 93, 0.73)),
}
.peertubes:hover {
background-size: cover;
background-position: center center;
linear-gradient(to bottom, rgba(245, 246, 252, 0), rgba(117, 19, 93, 0)),
}
.section-headers {
padding: 80px;
flex: 1 1 300px;
}
}
</style>
{{ $data := dict }}
{{ $url := "https://v.basspistol.org/api/v1/videos?isLocal=true&count=100" }}
<section id="peertube">
<article class="section-headers">
<h2>BassTube</h2>
<p><strong>Videos from the deepweb.</strong>
<br />Decentralized, peer-to-peer, for the people!
</p>
</article>
{{ with try (resources.GetRemote $url) }}
{{ with .Err }}
{{ errorf "%s" . }}
{{ else with .Value }}
{{ $data = .Content | transform.Unmarshal }}
{{ else }}
{{ errorf "Unable to get remote resource %q" $url }}
{{ end }}
{{ end }}
{{ with $data.data }}
{{ range . | shuffle | last 5 }}
<article class="peertubes" style="background-image:linear-gradient(to bottom, rgba(128, 0, 128, 1), rgba(128, 0, 128, .75)),url(https://v.basspistol.org{{ .previewPath }})">
<div class="cartouche">
<a href="{{ .url }}" target="_blank">
<svg
width="75"
height="75"
version="1.1"
viewBox="0 0 57.679166 57.67917"
id="svg2"
xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs2"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2"><path
d="M 58.028369,28.839501 A 28.839999,28.839999 0 0 1 29.188368,57.6795 28.839999,28.839999 0 0 1 0.34836804,28.839501 28.839999,28.839999 0 0 1 29.188368,-4.9957302e-4 28.839999,28.839999 0 0 1 58.028369,28.839501 Z"
fill="purple"
stroke-width="4.83809"
style="stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="path3" /></clipPath><filter
style="color-interpolation-filters:sRGB"
id="filter25"
x="-0.64945344"
y="-0.51138139"
width="2.2988969"
height="2.0227628"><feFlood
result="flood"
in="SourceGraphic"
flood-opacity="1.000000"
flood-color="rgb(0,0,0)"
id="feFlood24" /><feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="3.300000"
id="feGaussianBlur24" /><feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset24" /><feComposite
result="comp1"
operator="in"
in="flood"
in2="offset"
id="feComposite24" /><feComposite
result="comp2"
operator="over"
in="SourceGraphic"
in2="comp1"
id="feComposite25" /></filter></defs><image
width="58.376736"
height="57.679001"
preserveAspectRatio="none"
{{ range .account.avatars | last 1 }}
{{ if .fileUrl }}xlink:href="{{ .fileUrl }}"{{ else }}xlink:href="https://v.basspistol.org/client/assets/images/logo.svg"{{ end }}
{{ end }}
id="image1"
x="0"
y="0"
clip-path="url(#clipPath2)"
transform="matrix(0.9999855,0,0,1.0000029,-0.34836299,0)" /><path
d="m 23.067499,19.43 14.82,9.4106 -14.82,9.4105 z"
fill="orange"
stroke="none"
stroke-width="3.4098"
style="fill:orange;fill-opacity:1;stroke:orange;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter25)"
id="path2" />
</svg>
</a>
<div>
<p>{{ .name }}</p>
<p>{{ .account.displayName }}</p>
</div>
</div>
</article>
{{ end }}
<!-- <pre>{{ debug.Dump $data }}</pre>-->
{{ end }}
</section>

View file

@ -1,63 +1,15 @@
<style>
#radio {
display: flex;
flex-wrap: wrap;
flex-direction: row;
article {
flex: 1 1 300px;
}
h2 {
font-size: 12em;
/* text-transform: uppercase;*/
line-height: 1em;
flex: 1 1 100%;
}
p {
flex: 1 1 100%;
font-size: .6em;
line-height: 1.75em;
max-width: 33vw;
strong {
font-size: 1.25em;
}
}
@media screen and (max-width: 1024px) {
h2 {
font-size: 8em;
}
p {
font-size: .9em;
max-width: unset;
}
strong {
font-size: 1.5em;
}
}
}
</style>
<section id="radio">
<article class="section-headers" style="background-image: url(/2025/images/radio.webp);">
<div class="section-headers" style="background-image: url(/2025/images/radio.webp);">
<h2>RadioStation</h2>
<p><strong>Basspistol Radio Station! </strong><br />777% music, without commercials! RobotDJ-sets and live interventions! This is the sound of freedom.</p>
<h4>Basspistol Radio Station! </h4>
<p>777% music, without commercials! RobotDJ-sets and live interventions! This is the sound of freedom.</p>
<a class="button" href="https://radio.basspistol.com/">Request song 📻</a>
</article>
</div>
<div class="border">
<iframe src="https://radio.basspistol.com/public/basspistol/embed?theme=dark" frameborder="0" allowtransparency="true" style="width: 100%; min-height: 150px; border: 0;"></iframe>
<iframe src="https://radio.basspistol.com/public/basspistol/history?theme=dark" frameborder="0" allowtransparency="true" style="width: 100%; min-height: 480px; border: 0;"></iframe>
</div>
<article class="section-footers"></article>
<div class="section-footers"></div>
</section>