Media Optimization
Images
All in a folder
mkdir -p webp
for f in *.{jpg,jpeg,heic,JPG,JPEG,HEIC}(N); do
magick "$f" -auto-orient \
-filter Lanczos -resize '1600x>' \
-unsharp 0x0.75+0.75+0.008 \
-quality 82 -define webp:method=6 \
"webp/${f:r}.webp"
done
for f in *.{png,PNG}(N); do
magick "$f" -auto-orient -filter Lanczos -resize '1600x>' \
-define webp:lossless=true \
"webp/${f:r}.webp"
done By individual image
For regular ‘scenery’ images:
f=image.jpg
magick "$f" -auto-orient \
-filter Lanczos -resize '1600x>' \
-unsharp 0x0.75+0.75+0.008 \
-quality 82 -define webp:method=6 \
"${f:r}.webp" For screenshots, images with text & flat colors:
f=image.png
magick "$f" -auto-orient \
-filter Lanczos -resize '1600x>' \
-define webp:lossless=true \
"${f:r}.webp" Dithering
magick image.png -colorspace Gray -resize 800x -normalize \
-ordered-dither o4x4 -colorspace sRGB \
+level-colors '#181818','#d7d3c7' image.png Videos
All in a folder
for f in *.mp4; do
ffmpeg -i "$f" -vf "scale='trunc(min(1200,iw)/2)*2:-2'" -c:v libx265 -vtag hvc1 -c:a copy "${f%.mp4}_temp.mp4"
mv "${f%.mp4}_temp.mp4" "$f"
done By individual video
f=input.mp4
ffmpeg -i "$f" \
-vf "scale='trunc(min(1200,iw)/2)*2:-2'" \
-c:v libx265 -vtag hvc1 -c:a copy \
"${f%.mp4}_temp.mp4" &&
mv "${f%.mp4}_temp.mp4" "$f" Aside
<script>
import Aside from '$lib/helpers/Aside.svelte';
</script>
<!-- inline with text -->
<span class="aside-marker">\*</span>
<!-- after paragraph -->
<Aside><span class="aside-marker">*</span>aside</Aside>