Compare commits

4 Commits

Author SHA1 Message Date
51f29734ee Basic styling for song-list
All checks were successful
Build / build (push) Successful in 5m31s
2024-02-06 19:49:24 +01:00
1ba00b087d Basic structure for song-list
All checks were successful
Build / build (push) Successful in 5m30s
2024-02-06 18:08:40 +01:00
9a64cb55a6 Song styling in SCSS 2024-02-06 18:04:50 +01:00
ed49c101d3 Integrate Zola
All checks were successful
Build / build (push) Successful in 5m33s
2024-02-06 14:18:25 +01:00
6 changed files with 133 additions and 65 deletions

View File

@ -1,6 +0,0 @@
+++
title = "The Rains Of Castamere"
[taxonomies]
category = ["mixtape"]
artist = ["The National"]
+++

View File

@ -1,37 +0,0 @@
{title: The Rains Of Castamere}
{artist: The National}
{sov}
And [Dm]who are [A7]you, the [Dm]proud lord [A]said
That [Dm]I must [A7]bow so [C]low?
O[F]nly a [C]cat of a [F]different [C]coat
That's [Gm]all the truth I [A7]know
{eov}
{sov}
In a [Dm]coat of [A7]gold or a [Dm]coat of [A]red
A [Dm]lion [A7]still has [C]claws
And [F]mine are [C]long and [F]sharp, my [C]lord
As [Gm]long and s[A7]harp as y[Dm]ours
{eov}
{soc}
And [Dm]so he spoke, and [Am]so he spoke
That [Dm]lord of Casta[Am]mere
But [Bb]now the rains weep [Gm]o'er his hall
With [Bb]no one [A7]there to [Dm]hear
Yes, [Bb]now the rains weep [Gm]o'er his hall
And [Bb]not a [A7]soul to [Dm]hear
{eoc}
[Dm] [C] [F] [Gm]
[Dm]
{soc}
And [Dm]so he spoke, and [Am]so he spoke
That [Dm]lord of Casta[Am]mere
But [Bb]now the rains weep [Gm]o'er his hall
With [Bb]no one [A7]there to [Dm]hear
Yes, [Bb]now the rains weep [Gm]o'er his hall
And [Bb]not a [A7]soul to [Dm]hear
{eoc}

View File

@ -1,7 +1,15 @@
$col-white: #fff;
$col-black: #181818;
body {
margin: 0;
background-color: #d8d8d8;
color: #181818;
background-color: $col-white;
color: $col-black;
}
table {
white-space: nowrap;
}
.song {
@ -24,16 +32,16 @@ body {
.chorus {
position: relative;
}
.chorus:before {
content: "";
position: absolute;
left: -1em;
display: block;
height: 100%;
width: 2px;
background-color: #181818;
&:before {
content: "";
position: absolute;
left: -1em;
display: block;
height: 100%;
width: 2px;
background-color: $col-black;
}
}
.tab {
@ -46,21 +54,21 @@ body {
display: inline-block;
padding: .25em .5em;
background-color: #bbb;
color: #181818;
color: $col-black;
}
@media (prefers-color-scheme: dark) {
body {
background-color: #181818;
color: #d8d8d8;
background-color: $col-black;
color: $col-white;
}
.chorus:before {
background-color: #d8d8d8;
background-color: $col-white;
}
.comment {
background-color: #585858;
color: #d8d8d8;
color: $col-white;
}
}

View File

@ -1,5 +1,82 @@
$width-mobile: 900px;
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
}
main.songs {
display: grid;
grid-template-columns: 1fr 3fr;
gap: 1em;
max-width: 50em;
margin: 0 auto;
padding: 1em;
@media only screen and (max-width: $width-mobile) {
grid-template-columns: 1fr;
}
.filters {
// ...
}
.song-list {
display: grid;
gap: 1em;
&>div {
display: flex;
justify-content: space-between;
align-items: center;
padding: .5em;
padding-left: 1em;
border-radius: .5em;
box-shadow: rgba(0, 0, 0, 0.2) 0 0 10px;
border-left: .7em solid #000;
&.mixtape { border-color: #654575 }
&.classic { border-color: #a55d05 }
.meta {
display: flex;
flex-direction: column;
justify-content: center;
.title {
font-weight: bold;
}
}
.links {
display: flex;
gap: .5em;
&>* {
height: 3em;
width: 3em;
background-position: center;
background-repeat: no-repeat;
background-size: auto 1.5em;
border-radius: .25em;
}
.html {
background-color: #335872;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M16 2L21 7V21.0082C21 21.556 20.5551 22 20.0066 22H3.9934C3.44476 22 3 21.5447 3 21.0082V2.9918C3 2.44405 3.44495 2 3.9934 2H16ZM17.6569 12L14.1213 8.46447L12.7071 9.87868L14.8284 12L12.7071 14.1213L14.1213 15.5355L17.6569 12ZM6.34315 12L9.87868 15.5355L11.2929 14.1213L9.17157 12L11.2929 9.87868L9.87868 8.46447L6.34315 12Z'%3E%3C/path%3E%3C/svg%3E");
}
.pdf {
background-color: #67503a;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M3.9985 2C3.44749 2 3 2.44405 3 2.9918V21.0082C3 21.5447 3.44476 22 3.9934 22H20.0066C20.5551 22 21 21.5489 21 20.9925L20.9997 7L16 2H3.9985ZM10.5 7.5H12.5C12.5 9.98994 14.6436 12.6604 17.3162 13.5513L16.8586 15.49C13.7234 15.0421 10.4821 16.3804 7.5547 18.3321L6.3753 16.7191C7.46149 15.8502 8.50293 14.3757 9.27499 12.6534C10.0443 10.9373 10.5 9.07749 10.5 7.5ZM11.1 13.4716C11.3673 12.8752 11.6043 12.2563 11.8037 11.6285C12.2754 12.3531 12.8553 13.0182 13.5102 13.5953C12.5284 13.7711 11.5666 14.0596 10.6353 14.4276C10.8 14.1143 10.9551 13.7948 11.1 13.4716Z'%3E%3C/path%3E%3C/svg%3E");
}
}
}
}
}
iframe.song {

View File

@ -1,3 +1,4 @@
{% import "macros.html" as macros %}
<!DOCTYPE html>
<html lang="en">
<head>
@ -8,13 +9,33 @@
<link rel="icon" href="favicon.svg">
</head>
<body>
{% block content %}
<ul>
{% block content %}
<main class="songs">
<section class="filters">
FILTERS
</section>
<section class="song-list">
{% for song in section.pages %}
<li><a href="{{ song.permalink }}">{{ song.title }}</a></li>
<div class="{{ macros::primary_category(song=song) }}">
<div class="meta">
<div class="title">{{ song.title }}</div>
{% if song.taxonomies["artist"] %}
<div class="artist">{{ song.taxonomies["artist"][0] }}</div>
{% endif %}
</div>
<div class="links">
<a href="{{ song.permalink }}" class="html"></a>
{% for asset in song.assets %}
{% if asset is matching(song.slug~"[.](pdf)$") %}
<a href="{{ asset }}" class="pdf"></a>
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
</ul>
{% endblock %}
{% block script %}{% endblock %}
</section>
</main>
{% endblock %}
{% block script %}{% endblock %}
</body>
</html>

5
templates/macros.html Normal file
View File

@ -0,0 +1,5 @@
{% macro primary_category(song) %}
{%- if song.taxonomies["category"] -%}
{{ song.taxonomies["category"][0] }}
{%- endif -%}
{% endmacro %}