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 @@