optimize images and add deploy-html target
- resize all images to max 1920px width (152MB → 66MB) - add assets-original/ to gitignore for backups - add make optimize-images target - add make deploy-html for faster HTML-only deployment
1
.gitignore
vendored
@@ -63,3 +63,4 @@ Desktop.ini
|
||||
*.pdf
|
||||
index.md.bak
|
||||
hdm-lehrauftrag-uebersicht.md
|
||||
slides/assets-original/
|
||||
|
||||
28
Makefile
@@ -1,6 +1,6 @@
|
||||
# Makefile for Marp Slides Project
|
||||
|
||||
.PHONY: help build dev watch pdf html clean install deploy copy-assets
|
||||
.PHONY: help build dev watch pdf html clean install deploy deploy-html copy-assets optimize-images
|
||||
|
||||
# Directories
|
||||
SLIDES_DIR = slides
|
||||
@@ -27,10 +27,14 @@ help:
|
||||
@echo " make pdf - Export all slides to PDF"
|
||||
@echo " make html - Export all slides to HTML"
|
||||
@echo ""
|
||||
@echo " Deploy:"
|
||||
@echo " make deploy - Full build + deploy (HTML, PDF, assets)"
|
||||
@echo " make deploy-html - HTML only deploy (faster)"
|
||||
@echo ""
|
||||
@echo " Other:"
|
||||
@echo " make optimize-images - Resize images to max 1920px"
|
||||
@echo " make clean - Remove generated files"
|
||||
@echo " make install - Install dependencies"
|
||||
@echo " make deploy - Deploy slides to server"
|
||||
|
||||
# Ensure build directory exists
|
||||
$(BUILD_DIR)/.exists:
|
||||
@@ -91,7 +95,18 @@ install:
|
||||
@echo "Installing dependencies..."
|
||||
npm install
|
||||
|
||||
# Deploy slides
|
||||
# Optimize images (resize to max 1920px, requires nix-shell -p imagemagick)
|
||||
optimize-images:
|
||||
@echo "Backing up originals to assets-original/..."
|
||||
@mkdir -p $(SLIDES_DIR)/assets-original
|
||||
@cp $(SLIDES_DIR)/assets/*.png $(SLIDES_DIR)/assets-original/ 2>/dev/null || true
|
||||
@cp $(SLIDES_DIR)/assets/*.jpg $(SLIDES_DIR)/assets-original/ 2>/dev/null || true
|
||||
@echo "Resizing images to max 1920px..."
|
||||
@nix-shell -p imagemagick --run 'for img in $(SLIDES_DIR)/assets/*.png; do magick "$$img" -resize "1920x>" -quality 85 "$$img"; done'
|
||||
@nix-shell -p imagemagick --run 'for img in $(SLIDES_DIR)/assets/*.jpg; do magick "$$img" -resize "1920x>" -quality 85 "$$img"; done'
|
||||
@echo "Done! Originals backed up in assets-original/"
|
||||
|
||||
# Deploy slides (full build)
|
||||
deploy: build
|
||||
@echo "Deploying slides..."
|
||||
@echo "Copying HTML files..."
|
||||
@@ -100,3 +115,10 @@ deploy: build
|
||||
scp -r $(BUILD_DIR)/assets/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
|
||||
@echo "Copying materials..."
|
||||
scp -r $(BUILD_DIR)/materials/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/ 2>/dev/null || true
|
||||
|
||||
# Deploy HTML only (faster, no PDF rebuild)
|
||||
deploy-html: html
|
||||
@echo "Deploying HTML only..."
|
||||
scp $(BUILD_DIR)/*.html tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
|
||||
scp -r $(BUILD_DIR)/assets/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/
|
||||
scp -r $(BUILD_DIR)/materials/ tengo@tuttle.uberspace.de:/home/tengo/html/hdm/223015b/ 2>/dev/null || true
|
||||
|
||||
|
Before Width: | Height: | Size: 4.2 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 574 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 6.6 MiB After Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 8.8 MiB After Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 7.1 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 7.5 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 7.7 MiB After Width: | Height: | Size: 4.0 MiB |
|
Before Width: | Height: | Size: 5.7 MiB After Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 6.4 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 408 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 484 KiB After Width: | Height: | Size: 204 KiB |
|
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 7.3 MiB After Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 4.5 MiB After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 805 KiB After Width: | Height: | Size: 525 KiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 6.5 MiB After Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 8.0 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 5.5 MiB After Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 5.8 MiB After Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 4.0 MiB After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 308 KiB After Width: | Height: | Size: 338 KiB |
|
Before Width: | Height: | Size: 5.5 MiB After Width: | Height: | Size: 2.5 MiB |