mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-12-25 02:02:11 +00:00
347b2c189b
- Changed: Make all color codes 3-char. Shave off a few bytes. - Removed: all responsive layout besides the navigation links. Everything else should work well at all window sizes without making allowances for special cases. - Removed: redundant CSS rules - Added: centered images. Left-aligned images in a center-aligned column of text break flow. - Added: dark mode link colors for visited/active. Active link colors give better a11y. - Fix: don't show unnecessary scrollbar for <pre> blocks Also put more comments in the source to explain why each rule is important. All this shrunk the CSS from 1065 bytes to 882 bytes (17% reduction)
53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
CSS_DIR = themes/etch-custom/assets/css
|
|
|
|
USER = deploy@seirdy.one
|
|
WWW_ROOT = /var/www/seirdy.one
|
|
GEMINI_ROOT = /srv/gemini/seirdy.one
|
|
|
|
WWW_RSYNC_DEST = $(USER):$(WWW_ROOT)
|
|
GEMINI_RSYNC_DEST = $(USER):$(GEMINI_ROOT)
|
|
|
|
OUTPUT_DIR = public
|
|
|
|
RSYNCFLAGS += -rlvz --zc=zstd
|
|
|
|
# .hintrc-local for linting local files
|
|
# same as regular .hintrc but with a different connector.
|
|
.hintrc-local: .hintrc
|
|
jq --tab '.connector .name = "local" | del(.connector .options)' <.hintrc >.hintrc-local
|
|
|
|
clean:
|
|
rm -rf $(OUTPUT_DIR) .hintrc-local
|
|
|
|
lint-css:
|
|
stylelint $(CSS_DIR)/main.css $(CSS_DIR)/dark.css
|
|
csslint $(CSS_DIR)
|
|
|
|
lint: lint-css hugo .hintrc-local
|
|
hint --config .hintrc-local -f codeframe $(OUTPUT_DIR)
|
|
|
|
check-links: hugo
|
|
lychee --verbose $(find public -type f -name '*.html' -o -name '*.gmi' -o -name '*.txt')
|
|
|
|
test: lint check-links
|
|
|
|
hugo:
|
|
hugo --gc
|
|
|
|
build: hugo
|
|
# gzip_static + max zopfli compression
|
|
ifndef NO_GZIP_STATIC
|
|
find $(OUTPUT_DIR) -type f -name '*.html' -o -name '*.css' -o -name '*.xml' -o -name '*.txt' \
|
|
| grep -v gemini \
|
|
| xargs zopfli --i50 --gzip
|
|
endif
|
|
|
|
|
|
deploy: build
|
|
rsync $(RSYNCFLAGS) --exclude 'gemini' --exclude '*.gmi' --exclude-from .rsyncignore $(OUTPUT_DIR)/ $(WWW_RSYNC_DEST) --delete
|
|
rsync $(RSYNCFLAGS) --exclude '*.html' --exclude '*.xml' --exclude-from .rsyncignore $(OUTPUT_DIR)/gemini/ $(OUTPUT_DIR)/about $(OUTPUT_DIR)/posts $(OUTPUT_DIR)/publickey.txt $(GEMINI_RSYNC_DEST)/ --delete
|
|
rsync $(RSYNCFLAGS) $(OUTPUT_DIR)/posts/gemini.xml $(GEMINI_RSYNC_DEST)/feed.xml
|
|
|
|
all: clean test deploy
|
|
|
|
.PHONY: clean lint-css lint check-links test hugo build deploy all
|