From 247dcbe8179c621bfc23af4b0e6db957b3e11c86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Mekina?=
Date: Mon, 14 Apr 2025 19:11:59 +0200
Subject: [PATCH] improve the build system
---
Makefile | 37 +++++++++++-----------------
components/cz/head.html | 8 +++---
components/cz/nav.html | 6 ++---
components/en/head.html | 8 +++---
components/en/header.html | 4 +--
components/en/nav.html | 6 ++---
icons.css | 13 ----------
icons/moon.svg | 1 +
icons/narrow_dark.svg | 1 +
icons/narrow_light.svg | 1 +
icons/sun.svg | 1 +
icons/wide_dark.svg | 1 +
icons/wide_light.svg | 1 +
cz_404.html => pages/cz/404.html | 0
cz_index.html => pages/cz/index.html | 4 +--
cz_info.html => pages/cz/info.html | 6 ++---
en_404.html => pages/en/404.html | 0
en_index.html => pages/en/index.html | 6 ++---
en_info.html => pages/en/info.html | 4 +--
{js => scripts}/countdown.js | 0
{js => scripts}/lang.js | 0
{js => scripts}/theme.js | 0
styles/icons.css | 8 ++++++
styles.css => styles/styles.css | 4 +++
24 files changed, 59 insertions(+), 61 deletions(-)
delete mode 100644 icons.css
create mode 100644 icons/moon.svg
create mode 100644 icons/narrow_dark.svg
create mode 100644 icons/narrow_light.svg
create mode 100644 icons/sun.svg
create mode 100644 icons/wide_dark.svg
create mode 100644 icons/wide_light.svg
rename cz_404.html => pages/cz/404.html (100%)
rename cz_index.html => pages/cz/index.html (93%)
rename cz_info.html => pages/cz/info.html (92%)
rename en_404.html => pages/en/404.html (100%)
rename en_index.html => pages/en/index.html (91%)
rename en_info.html => pages/en/info.html (94%)
rename {js => scripts}/countdown.js (100%)
rename {js => scripts}/lang.js (100%)
rename {js => scripts}/theme.js (100%)
create mode 100644 styles/icons.css
rename styles.css => styles/styles.css (99%)
diff --git a/Makefile b/Makefile
index 4b63d7c..38bccbe 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,13 @@
-EMIT_ASSETS := index.html 404.html info.html \
- styles.css icons.css \
- countdown.js theme.js theme.js \
- stallman.webp stallman_2024.webp
+PAGES := index.html 404.html info.html
+SHARED_FILES := stallman.webp stallman_2024.webp favicon.ico \
+ moon.svg sun.svg narrow_light.svg narrow_dark.svg wide_light.svg wide_dark.svg \
+ styles.css icons.css \
+ countdown.js theme.js
SEARCH_REPLACE := lib/search_and_replace/target/release/search_and_replace
COMPONENTS := head.html header.html nav.html footer.html
.PHONY: build
-build: $(EMIT_ASSETS:%=dst/cz/%) $(EMIT_ASSETS:%=dst/en/%) dst/favicon.ico
+build: $(PAGES:%=dst/cz/%) $(PAGES:%=dst/en/%) $(SHARED_FILES:%=dst/%)
.PHONY: clean
clean:
@@ -25,38 +26,30 @@ define make_page
> $(2)
endef
-dst/cz/%.html: cz_%.html $(SEARCH_REPLACE) $(COMPONENTS:%=components/cz/%)
+dst/cz/%.html: pages/cz/%.html $(SEARCH_REPLACE) $(COMPONENTS:%=components/cz/%)
@mkdir -p $(@D)
$(call make_page,$<,$@,cz)
-dst/cz/%.css: %.css
- @mkdir -p $(@D)
- ln -f $< $@
-
-dst/cz/%.js: js/%.js
- @mkdir -p $(@D)
- ln -f $< $@
-
-dst/cz/%.webp: images/%.jpg
- @mkdir -p $(@D)
- magick $< $@
-
-dst/en/%.html: en_%.html $(SEARCH_REPLACE) $(COMPONENTS:%=components/en/%)
+dst/en/%.html: pages/en/%.html $(SEARCH_REPLACE) $(COMPONENTS:%=components/en/%)
@mkdir -p $(@D)
$(call make_page,$<,$@,en)
-dst/en/%.css: %.css
+dst/%.css: styles/%.css
@mkdir -p $(@D)
ln -f $< $@
-dst/en/%.js: js/%.js
+dst/%.js: scripts/%.js
@mkdir -p $(@D)
ln -f $< $@
-dst/en/%.webp: images/%.jpg
+dst/%.webp: images/%.jpg
@mkdir -p $(@D)
magick $< $@
+dst/%.svg: icons/%.svg
+ @mkdir -p $(@D)
+ ln -f $< $@
+
dst/favicon.ico: images/favicon.ico
@mkdir -p $(@D)
ln -f $< $@
diff --git a/components/cz/head.html b/components/cz/head.html
index 16cf667..630cac9 100644
--- a/components/cz/head.html
+++ b/components/cz/head.html
@@ -1,7 +1,7 @@
-
-
-
-
+
+
+
+
diff --git a/components/cz/nav.html b/components/cz/nav.html
index 469dc19..a9fa0fd 100644
--- a/components/cz/nav.html
+++ b/components/cz/nav.html
@@ -1,9 +1,9 @@
-
+