convert .less files to .css and remove dependency

This commit is contained in:
Carlos Galindo 2026-01-24 00:48:48 +01:00
commit 1b9529455d
16 changed files with 427 additions and 416 deletions

22
res/static/colors.css Normal file
View file

@ -0,0 +1,22 @@
:root {
--bg-color: #FFF;
--title-color: #369;
--subtitle-color: #444;
--text-color: #333;
--text-hover-color: #607D8B;
--secondary-color: #EEE;
--secondary-hover-color: #CCC;
--chord-color: darkgreen;
--bg-color-dark: darken(var(--bg-color), 100%);
--title-color-dark: lighten(var(--title-color), 50%);
--subtitle-color-dark: lighten(var(--subtitle-color), 100%);
--text-color-dark: ligthen(var(--text-color), 100%);
--text-hover-color-dark: var(--text-hover-color);
--secondary-color-dark: #333;
--secondary-hover-color-dark: #444;
--chord-color-dark: lightgren;
--transition-time: 5s;
--border-radius: 10px;
}

53
res/static/index.css Normal file
View file

@ -0,0 +1,53 @@
@import "colors.css";
.songs {
list-style: none;
padding: 0;
> a {
color: inherit;
text-decoration: none;
> li {
display: flex;
gap: 5px;
margin: .5em;
padding: .6em;
border: 1px solid var(--text-color);
border-radius: var(--border-radius);
@media (prefers-color-scheme: dark) {
border: 1px solid var(--text-color-dark);
}
.number { font-weight: bolder; }
.name { flex-grow: 99; }
&:hover {
background-color: var(--secondary-color);
transition-duration: var(--transition-duration);
@media (prefers-color-scheme: dark) {
background-color: var(--secondary-color-dark);
}
}
}
}
}
ul.songs {
width: 100%;
margin: 1em auto;
li {
display: inline-block;
margin: .2em;
}
}
img.guitar-icon, img.music-icon {
width: 1em;
padding: 0 0.2em;
}
img.guitar-icon {
/* Green color filter */
filter: invert(42%) sepia(93%) saturate(1352%) hue-rotate(55deg) brightness(119%) contrast(119%);
}
img.music-icon {
/* Orange color filter */
filter: invert(46%) sepia(100%) saturate(681%) hue-rotate(360deg) brightness(106%) contrast(105%);
}
p { img.guitar-icon, img.music-icon {
vertical-align: -0.25em;
}}

86
res/static/main.css Normal file
View file

@ -0,0 +1,86 @@
@import "colors.css";
h1 {
color: var(--title-color);
margin-inline: auto;
width: max-content;
max-width: 100%;
text-align: center;
@media (prefers-color-scheme: dark) {
color: var(--title-color-dark);
}
> a, > a:hover, > a:active, > a:visited {
color: var(--title-color);
@media (prefers-color-scheme: dark) {
color: var(--title-color-dark);
}
}
}
h2, h3 {
color: var(--subtitle-color);
font-weight: lighter;
margin-bottom: 0;
@media (prefers-color-scheme: dark) {
color: var(--subtitle-color-dark);
}
}
footer {
text-align: center;
}
body {
font-family: Helvetica, Arial, sans-serif;
color: var(--text-color);
background: var(--background-color);
max-width: 75em;
margin: 1em;
@media (prefers-color-scheme: dark) {
color: var(--text-color-dark);
background: var(--background-color-dark);
}
@media (min-width: 75em + 1em) {
margin: auto;
}
}
nav {
margin-inline: auto;
width: max-content;
max-width: 100%;
> ul {
padding-inline-start: 0px;
> li {
display: inline-block;
}
}
}
nav a > span {
border-width: 4px;
}
a {
text-decoration: none;
> span {
color: var(--text-color);
padding: 0.5em;
margin: 0.2em;
display: inline-block;
border-radius: var(--border-radius) * 5;
border: 1px solid var(--text-color);
@media (prefers-color-scheme: dark) {
color: var(--text-color-dark);
border-color: var(--text-color-dark);
}
&:hover {
background: var(--secondary-hover-color);
transition-duration: var(--transition-color);
@media (prefers-color-scheme: dark) {
background: var(--secondary-hover-color-dark);
}
}
&#nav-web { border-color: #6ecf00; }
&#nav-audios { border-color: orange; }
}
}

125
res/static/song.css Normal file
View file

@ -0,0 +1,125 @@
@import "colors.css";
table.chordedline {
border-spacing: 0px;
display: inline-block;
}
.chordedline td {
padding: 0px;
}
.chord {
font-style: italic;
color: var(--chord-color);
@media (prefers-color-scheme: dark) {
color: var(--chord-color-dark);
}
}
.song div {
margin: 0.5em 0;
}
div.chorus, p.chorus {
font-weight: bold;
border-left: var(--text-color) 2px solid;
@media (prefers-color-scheme: dark) {
border-left: var(--text-color-dark) 2px solid;
}
padding-left: 0.5em;
div {
padding-left: 0.5em;
}
table {
margin-left: 0;
padding-left: 0;
padding-right: 0;
}
}
.rrep {
background-image: url(repeat-sign.svg);
display: inline-block;
width: 1em;
height: 2em;
@media (prefers-color-scheme: dark) {
/* Black to white filter for svgs */
filter: invert(100%);
}
}
.lrep {
-moz-transform: scaleX(-1);
-o-transform: scaleX(-1);
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
filter: FlipV;
-ms-filter: "FlipV";
.rrep();
}
.rep {
font-style: italic;
}
.echo {
font-style: italic;
}
button,
select,
input[type="button"] {
min-width: 2em;
min-height: 2em;
padding: .4em;
border-style: none;
border-radius: var(--border-radius);
color: var(--text-color);
background-color: var(--secondary-color);
@media (prefers-color-scheme: dark) {
color: var(--text-color-dark);
background-color: var(--secondary-color-dark);
}
&:hover,
&.pair-sub:hover ~ &.pair-sup {
background-color: var(--secondary-hover-color);
transition-duration: var(--transition-duration);
@media (prefers-color-scheme: dark) {
background-color: var(--secondary-hover-color-dark);
}
}
}
select.transposeSelect {
-webkit-appearance: none;
-moz-appearance: none;
font-weight: bold;
color: black;
@media (prefers-color-scheme: dark) {
color: var(--text-color-dark);
}
}
.flex-reverse {
display: inline-flex;
flex-direction: row-reverse;
}
.buttonpair.flex-reverse button.right,
.buttonpair.flex-reverse button.left {
border: 1px solid var(--secondary-hover-color);
@media (prefers-color-scheme: dark) {
border-color: var(--secondary-hover-color-dark);
}
}
.buttonpair.flex-reverse button.right {
border-radius: 0px 10px 10px 0px;
border-width: 0 0 0 2px;
}
.buttonpair.flex-reverse button.left {
border-radius: 10px 0px 0px 10px;
border-width: 0 2px 0 0;
}