diff --git a/.gitignore b/.gitignore index c16b28e..59749ca 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ Desktop.ini *.pdf index.md.bak hdm-lehrauftrag-uebersicht.md +slides/assets-original/ diff --git a/Makefile b/Makefile index fe03168..7aa6e69 100644 --- a/Makefile +++ b/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 diff --git a/slides/assets/8bit-P-character.png b/slides/assets/8bit-P-character.png index 3abba78..04a8f7c 100644 Binary files a/slides/assets/8bit-P-character.png and b/slides/assets/8bit-P-character.png differ diff --git a/slides/assets/addaptive-substractive-colors.jpg b/slides/assets/addaptive-substractive-colors.jpg index 0efd99c..f4ed381 100644 Binary files a/slides/assets/addaptive-substractive-colors.jpg and b/slides/assets/addaptive-substractive-colors.jpg differ diff --git a/slides/assets/ascii-table.png b/slides/assets/ascii-table.png index d30d409..32d8521 100644 Binary files a/slides/assets/ascii-table.png and b/slides/assets/ascii-table.png differ diff --git a/slides/assets/audio-spectrogram.png b/slides/assets/audio-spectrogram.png index 62fcc7e..e99cacc 100644 Binary files a/slides/assets/audio-spectrogram.png and b/slides/assets/audio-spectrogram.png differ diff --git a/slides/assets/av1-logo.png b/slides/assets/av1-logo.png index 5677a32..eef700d 100644 Binary files a/slides/assets/av1-logo.png and b/slides/assets/av1-logo.png differ diff --git a/slides/assets/cassette-ipod.png b/slides/assets/cassette-ipod.png index 51ded5a..e05aecf 100644 Binary files a/slides/assets/cassette-ipod.png and b/slides/assets/cassette-ipod.png differ diff --git a/slides/assets/compression-types.png b/slides/assets/compression-types.png index 9293fef..f29a122 100644 Binary files a/slides/assets/compression-types.png and b/slides/assets/compression-types.png differ diff --git a/slides/assets/container-codec-diagram.png b/slides/assets/container-codec-diagram.png index 71679e9..a9b09b7 100644 Binary files a/slides/assets/container-codec-diagram.png and b/slides/assets/container-codec-diagram.png differ diff --git a/slides/assets/digital-landscape.png b/slides/assets/digital-landscape.png index 1be1abe..a062f8c 100644 Binary files a/slides/assets/digital-landscape.png and b/slides/assets/digital-landscape.png differ diff --git a/slides/assets/gif-animation.png b/slides/assets/gif-animation.png index ab50bc4..340e131 100644 Binary files a/slides/assets/gif-animation.png and b/slides/assets/gif-animation.png differ diff --git a/slides/assets/grayscale-gradient.png b/slides/assets/grayscale-gradient.png index 3faa51e..b3acb67 100644 Binary files a/slides/assets/grayscale-gradient.png and b/slides/assets/grayscale-gradient.png differ diff --git a/slides/assets/hex-binary-table.png b/slides/assets/hex-binary-table.png index a7d8869..01b011a 100644 Binary files a/slides/assets/hex-binary-table.png and b/slides/assets/hex-binary-table.png differ diff --git a/slides/assets/hex-code-hidden.png b/slides/assets/hex-code-hidden.png index f8d0f9f..af6fd9a 100644 Binary files a/slides/assets/hex-code-hidden.png and b/slides/assets/hex-code-hidden.png differ diff --git a/slides/assets/hex-code.png b/slides/assets/hex-code.png index a8d3920..6d8558c 100644 Binary files a/slides/assets/hex-code.png and b/slides/assets/hex-code.png differ diff --git a/slides/assets/hex-dec-lookup-table.png b/slides/assets/hex-dec-lookup-table.png index a44e5a4..74560d8 100644 Binary files a/slides/assets/hex-dec-lookup-table.png and b/slides/assets/hex-dec-lookup-table.png differ diff --git a/slides/assets/hexeditor-screenshot.png b/slides/assets/hexeditor-screenshot.png index 378b684..6e54eb2 100644 Binary files a/slides/assets/hexeditor-screenshot.png and b/slides/assets/hexeditor-screenshot.png differ diff --git a/slides/assets/iframe-pframe-diagram.png b/slides/assets/iframe-pframe-diagram.png index 8b3a4fd..f30bf46 100644 Binary files a/slides/assets/iframe-pframe-diagram.png and b/slides/assets/iframe-pframe-diagram.png differ diff --git a/slides/assets/instagram-quality-loss.png b/slides/assets/instagram-quality-loss.png index f4bdf87..91e0b4e 100644 Binary files a/slides/assets/instagram-quality-loss.png and b/slides/assets/instagram-quality-loss.png differ diff --git a/slides/assets/jpeg-artifacts.png b/slides/assets/jpeg-artifacts.png index 64b95f6..a7d09ab 100644 Binary files a/slides/assets/jpeg-artifacts.png and b/slides/assets/jpeg-artifacts.png differ diff --git a/slides/assets/jung-naiv.png b/slides/assets/jung-naiv.png index a0c7ed9..5f43daa 100644 Binary files a/slides/assets/jung-naiv.png and b/slides/assets/jung-naiv.png differ diff --git a/slides/assets/karlheinz-brandenburg.jpg b/slides/assets/karlheinz-brandenburg.jpg index ba3579b..a53feb6 100644 Binary files a/slides/assets/karlheinz-brandenburg.jpg and b/slides/assets/karlheinz-brandenburg.jpg differ diff --git a/slides/assets/lightbulb-onoff.png b/slides/assets/lightbulb-onoff.png index ef11de4..2625690 100644 Binary files a/slides/assets/lightbulb-onoff.png and b/slides/assets/lightbulb-onoff.png differ diff --git a/slides/assets/matrix-code.png b/slides/assets/matrix-code.png index d962969..2939e8c 100644 Binary files a/slides/assets/matrix-code.png and b/slides/assets/matrix-code.png differ diff --git a/slides/assets/napster-interface.png b/slides/assets/napster-interface.png index 46fbc8a..abefb30 100644 Binary files a/slides/assets/napster-interface.png and b/slides/assets/napster-interface.png differ diff --git a/slides/assets/netflix-4k.png b/slides/assets/netflix-4k.png index 9c8228a..2d2f88e 100644 Binary files a/slides/assets/netflix-4k.png and b/slides/assets/netflix-4k.png differ diff --git a/slides/assets/original-ascii-table.png b/slides/assets/original-ascii-table.png index 6ab3e7d..2c12218 100644 Binary files a/slides/assets/original-ascii-table.png and b/slides/assets/original-ascii-table.png differ diff --git a/slides/assets/photo-comparison.png b/slides/assets/photo-comparison.png index 89945a3..78d2e9f 100644 Binary files a/slides/assets/photo-comparison.png and b/slides/assets/photo-comparison.png differ diff --git a/slides/assets/rgb-color-model-with-title.png b/slides/assets/rgb-color-model-with-title.png index 6f25cb7..ba1d892 100644 Binary files a/slides/assets/rgb-color-model-with-title.png and b/slides/assets/rgb-color-model-with-title.png differ diff --git a/slides/assets/rgb-color-model.png b/slides/assets/rgb-color-model.png index 1b63ac2..4f0ae08 100644 Binary files a/slides/assets/rgb-color-model.png and b/slides/assets/rgb-color-model.png differ diff --git a/slides/assets/spectogram-chet-baker.png b/slides/assets/spectogram-chet-baker.png index 46af577..8917dd7 100644 Binary files a/slides/assets/spectogram-chet-baker.png and b/slides/assets/spectogram-chet-baker.png differ diff --git a/slides/assets/streaming-quality-switch.png b/slides/assets/streaming-quality-switch.png index 7f83ef7..2e7c2e3 100644 Binary files a/slides/assets/streaming-quality-switch.png and b/slides/assets/streaming-quality-switch.png differ diff --git a/slides/assets/suzanne-vega.jpg b/slides/assets/suzanne-vega.jpg index 737082b..68c65e9 100644 Binary files a/slides/assets/suzanne-vega.jpg and b/slides/assets/suzanne-vega.jpg differ diff --git a/slides/assets/youtube-vp9.png b/slides/assets/youtube-vp9.png index 3ac2ee6..9d1b7c6 100644 Binary files a/slides/assets/youtube-vp9.png and b/slides/assets/youtube-vp9.png differ