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

View file

@ -1,7 +1,6 @@
.PHONY=static all clean .PHONY=static all clean
ALL_STATIC := $(patsubst res/static/%,public/%,$(wildcard res/static/*)) ALL_STATIC := $(patsubst res/static/%,public/%,$(wildcard res/static/*))
ALL_LESS := public/main.css public/index.css public/song.css
ALL_TEMPLATES := $(wildcard res/templates/*.html) ALL_TEMPLATES := $(wildcard res/templates/*.html)
PY_SRC := $(wildcard src/**.py) PY_SRC := $(wildcard src/**.py)
@ -12,7 +11,7 @@ SLO_LINKS ?= false
all: public public/audios public/index.html static all: public public/audios public/index.html static
static: $(ALL_LESS) $(ALL_STATIC) static: $(ALL_STATIC)
public: public:
mkdir public mkdir public
@ -31,15 +30,6 @@ public/audios: audios public
rm -f public/audios rm -f public/audios
#ln -s ../audios/Canciones public/audios #ln -s ../audios/Canciones public/audios
public/main.css: res/less/main.less res/less/colors.less
lessc $< $@
public/index.css: res/less/index.less res/less/colors.less
lessc $< $@
public/song.css: res/less/song.less res/less/colors.less
lessc $< $@
public/%: res/static/% public/%: res/static/%
cp -ra $< $@ cp -ra $< $@

View file

@ -6,7 +6,7 @@ PY_SRC := $(wildcard src/**.py)
all: generador_public generador_public/index.html static generador_public/res/canciones all: generador_public generador_public/index.html static generador_public/res/canciones
static: $(ALL_STATIC) generador_public/main.css generador_public/song.css static: $(ALL_STATIC)
generador_public: generador_public:
mkdir generador_public mkdir generador_public
@ -20,9 +20,6 @@ generador_public/index.html: $(ALL_TEMPLATES) $(PY_SRC)
--other-latex latex/canciones/ \ --other-latex latex/canciones/ \
--author NONE --title NONE --author NONE --title NONE
generador_public/%.css: res_gen/less/%.less res/less/colors.less
lessc $< $@
generador_public/%: res_gen/static/% generador_public/%: res_gen/static/%
cp -ra $< $@ cp -ra $< $@

View file

@ -1,19 +0,0 @@
@background: #FFF;
@background-dark: darken(@background, 100%);
@title: #369;
@title-dark: lighten(@title, 50%);
@subtitle: #444;
@subtitle-dark: lighten(@subtitle, 100%);
@text: #333;
@text-dark: lighten(@text, 100%);
@text-hover: #607D8B;
@text-hover-dark: @text-hover;
@secondary: #EEE;
@secondary-dark: #333;
@secondary-hover: #CCC;
@secondary-hover-dark: #444;
@chord-color: darkgreen;
@chord-color-dark: lightgreen;
@transition: .5s;
@border-radius: 10px;

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;
}

View file

@ -1,4 +1,4 @@
@import "colors"; @import "colors.css";
.songs { .songs {
list-style: none; list-style: none;
@ -11,18 +11,18 @@
gap: 5px; gap: 5px;
margin: .5em; margin: .5em;
padding: .6em; padding: .6em;
border: 1px solid @text; border: 1px solid var(--text-color);
border-radius: @border-radius; border-radius: var(--border-radius);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
border: 1px solid @text-dark; border: 1px solid var(--text-color-dark);
} }
.number { font-weight: bolder; } .number { font-weight: bolder; }
.name { flex-grow: 99; } .name { flex-grow: 99; }
&:hover { &:hover {
background-color: @secondary; background-color: var(--secondary-color);
transition-duration: @transition; transition-duration: var(--transition-duration);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
background-color: @secondary-dark; background-color: var(--secondary-color-dark);
} }
} }
} }

View file

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

View file

@ -1,4 +1,4 @@
@import "colors.less"; @import "colors.css";
table.chordedline { table.chordedline {
border-spacing: 0px; border-spacing: 0px;
@ -11,9 +11,9 @@ table.chordedline {
.chord { .chord {
font-style: italic; font-style: italic;
color: @chord-color; color: var(--chord-color);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
color: @chord-color-dark; color: var(--chord-color-dark);
} }
} }
@ -23,9 +23,9 @@ table.chordedline {
div.chorus, p.chorus { div.chorus, p.chorus {
font-weight: bold; font-weight: bold;
border-left: @text 2px solid; border-left: var(--text-color) 2px solid;
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
border-left: @text-dark 2px solid; border-left: var(--text-color-dark) 2px solid;
} }
padding-left: 0.5em; padding-left: 0.5em;
div { div {
@ -74,19 +74,19 @@ input[type="button"] {
min-height: 2em; min-height: 2em;
padding: .4em; padding: .4em;
border-style: none; border-style: none;
border-radius: @border-radius; border-radius: var(--border-radius);
color: @text; color: var(--text-color);
background-color: @secondary; background-color: var(--secondary-color);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
color: @text-dark; color: var(--text-color-dark);
background-color: @secondary-dark; background-color: var(--secondary-color-dark);
} }
&:hover, &:hover,
&.pair-sub:hover ~ &.pair-sup { &.pair-sub:hover ~ &.pair-sup {
background-color: @secondary-hover; background-color: var(--secondary-hover-color);
transition-duration: @transition; transition-duration: var(--transition-duration);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
background-color: @secondary-hover-dark; background-color: var(--secondary-hover-color-dark);
} }
} }
} }
@ -97,7 +97,7 @@ select.transposeSelect {
font-weight: bold; font-weight: bold;
color: black; color: black;
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
color: @text-dark; color: var(--text-color-dark);
} }
} }
@ -108,9 +108,9 @@ select.transposeSelect {
.buttonpair.flex-reverse button.right, .buttonpair.flex-reverse button.right,
.buttonpair.flex-reverse button.left { .buttonpair.flex-reverse button.left {
border: 1px solid @secondary-hover; border: 1px solid var(--secondary-hover-color);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
border-color: @secondary-hover-dark; border-color: var(--secondary-hover-color-dark);
} }
} }

View file

@ -1 +0,0 @@
../../res/less/colors.less

22
res_gen/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;
}

View file

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

View file

@ -1,4 +1,4 @@
@import "colors.less"; @import "colors.css";
button, button,
select, select,
@ -7,19 +7,19 @@ input[type="button"] {
min-height: 2em; min-height: 2em;
padding: .4em; padding: .4em;
border-style: none; border-style: none;
border-radius: @border-radius; border-radius: var(--border-radius);
color: @text; color: var(--text-color);
background-color: @secondary; background-color: var(--secondary-color);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
color: @text-dark; color: var(--text-color-dark);
background-color: @secondary-dark; background-color: var(--secondary-color-dark);
} }
&:hover, &:hover,
&.pair-sub:hover ~ &.pair-sup { &.pair-sub:hover ~ &.pair-sup {
background-color: @secondary-hover; background-color: var(--secondary-hover-color);
transition-duration: @transition; transition-duration: var(--transition-duration);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
background-color: @secondary-hover-dark; background-color: var(--secondary-hover-color-dark);
} }
} }
} }
@ -31,9 +31,9 @@ input[type="button"] {
.buttonpair.flex-reverse button.right, .buttonpair.flex-reverse button.right,
.buttonpair.flex-reverse button.left { .buttonpair.flex-reverse button.left {
border: 1px solid @secondary-hover; border: 1px solid var(--secondary-hover-color);
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
border-color: @secondary-hover-dark; border-color: var(--secondary-hover-color-dark);
} }
} }