diff --git a/og-generate.cjs b/og-generate.cjs index 8113d1d..c76878a 100644 --- a/og-generate.cjs +++ b/og-generate.cjs @@ -2,7 +2,7 @@ const sharp = require('sharp'); const path = require('path'); const fs = require('fs'); -const inputFolder = './src/images/cover/'; +const inputFolder = './public/assets/images/cover/'; const outputFolder = './public/assets/images/og/'; const resizeSize = { width: 1200, height: 675 }; diff --git a/src/images/ai-art/after-humanity/1.webp b/public/assets/images/ai-art/after-humanity/1.webp similarity index 100% rename from src/images/ai-art/after-humanity/1.webp rename to public/assets/images/ai-art/after-humanity/1.webp diff --git a/src/images/ai-art/after-humanity/10.webp b/public/assets/images/ai-art/after-humanity/10.webp similarity index 100% rename from src/images/ai-art/after-humanity/10.webp rename to public/assets/images/ai-art/after-humanity/10.webp diff --git a/src/images/ai-art/after-humanity/11.webp b/public/assets/images/ai-art/after-humanity/11.webp similarity index 100% rename from src/images/ai-art/after-humanity/11.webp rename to public/assets/images/ai-art/after-humanity/11.webp diff --git a/src/images/ai-art/after-humanity/12.webp b/public/assets/images/ai-art/after-humanity/12.webp similarity index 100% rename from src/images/ai-art/after-humanity/12.webp rename to public/assets/images/ai-art/after-humanity/12.webp diff --git a/src/images/ai-art/after-humanity/13.webp b/public/assets/images/ai-art/after-humanity/13.webp similarity index 100% rename from src/images/ai-art/after-humanity/13.webp rename to public/assets/images/ai-art/after-humanity/13.webp diff --git a/src/images/ai-art/after-humanity/14.webp b/public/assets/images/ai-art/after-humanity/14.webp similarity index 100% rename from src/images/ai-art/after-humanity/14.webp rename to public/assets/images/ai-art/after-humanity/14.webp diff --git a/src/images/ai-art/after-humanity/15.webp b/public/assets/images/ai-art/after-humanity/15.webp similarity index 100% rename from src/images/ai-art/after-humanity/15.webp rename to public/assets/images/ai-art/after-humanity/15.webp diff --git a/src/images/ai-art/after-humanity/16.webp b/public/assets/images/ai-art/after-humanity/16.webp similarity index 100% rename from src/images/ai-art/after-humanity/16.webp rename to public/assets/images/ai-art/after-humanity/16.webp diff --git a/src/images/ai-art/after-humanity/17.webp b/public/assets/images/ai-art/after-humanity/17.webp similarity index 100% rename from src/images/ai-art/after-humanity/17.webp rename to public/assets/images/ai-art/after-humanity/17.webp diff --git a/src/images/ai-art/after-humanity/18.webp b/public/assets/images/ai-art/after-humanity/18.webp similarity index 100% rename from src/images/ai-art/after-humanity/18.webp rename to public/assets/images/ai-art/after-humanity/18.webp diff --git a/src/images/ai-art/after-humanity/2.webp b/public/assets/images/ai-art/after-humanity/2.webp similarity index 100% rename from src/images/ai-art/after-humanity/2.webp rename to public/assets/images/ai-art/after-humanity/2.webp diff --git a/src/images/ai-art/after-humanity/3.webp b/public/assets/images/ai-art/after-humanity/3.webp similarity index 100% rename from src/images/ai-art/after-humanity/3.webp rename to public/assets/images/ai-art/after-humanity/3.webp diff --git a/src/images/ai-art/after-humanity/4.webp b/public/assets/images/ai-art/after-humanity/4.webp similarity index 100% rename from src/images/ai-art/after-humanity/4.webp rename to public/assets/images/ai-art/after-humanity/4.webp diff --git a/src/images/ai-art/after-humanity/5.webp b/public/assets/images/ai-art/after-humanity/5.webp similarity index 100% rename from src/images/ai-art/after-humanity/5.webp rename to public/assets/images/ai-art/after-humanity/5.webp diff --git a/src/images/ai-art/after-humanity/6.webp b/public/assets/images/ai-art/after-humanity/6.webp similarity index 100% rename from src/images/ai-art/after-humanity/6.webp rename to public/assets/images/ai-art/after-humanity/6.webp diff --git a/src/images/ai-art/after-humanity/7.webp b/public/assets/images/ai-art/after-humanity/7.webp similarity index 100% rename from src/images/ai-art/after-humanity/7.webp rename to public/assets/images/ai-art/after-humanity/7.webp diff --git a/src/images/ai-art/after-humanity/8.webp b/public/assets/images/ai-art/after-humanity/8.webp similarity index 100% rename from src/images/ai-art/after-humanity/8.webp rename to public/assets/images/ai-art/after-humanity/8.webp diff --git a/src/images/ai-art/after-humanity/9.webp b/public/assets/images/ai-art/after-humanity/9.webp similarity index 100% rename from src/images/ai-art/after-humanity/9.webp rename to public/assets/images/ai-art/after-humanity/9.webp diff --git a/src/images/ai-art/ai-taking-over-the-world/1.webp b/public/assets/images/ai-art/ai-taking-over-the-world/1.webp similarity index 100% rename from src/images/ai-art/ai-taking-over-the-world/1.webp rename to public/assets/images/ai-art/ai-taking-over-the-world/1.webp diff --git a/src/images/ai-art/alien-world/1.webp b/public/assets/images/ai-art/alien-world/1.webp similarity index 100% rename from src/images/ai-art/alien-world/1.webp rename to public/assets/images/ai-art/alien-world/1.webp diff --git a/src/images/ai-art/alien-world/10.webp b/public/assets/images/ai-art/alien-world/10.webp similarity index 100% rename from src/images/ai-art/alien-world/10.webp rename to public/assets/images/ai-art/alien-world/10.webp diff --git a/src/images/ai-art/alien-world/2.webp b/public/assets/images/ai-art/alien-world/2.webp similarity index 100% rename from src/images/ai-art/alien-world/2.webp rename to public/assets/images/ai-art/alien-world/2.webp diff --git a/src/images/ai-art/alien-world/3.webp b/public/assets/images/ai-art/alien-world/3.webp similarity index 100% rename from src/images/ai-art/alien-world/3.webp rename to public/assets/images/ai-art/alien-world/3.webp diff --git a/src/images/ai-art/alien-world/4.webp b/public/assets/images/ai-art/alien-world/4.webp similarity index 100% rename from src/images/ai-art/alien-world/4.webp rename to public/assets/images/ai-art/alien-world/4.webp diff --git a/src/images/ai-art/alien-world/5.webp b/public/assets/images/ai-art/alien-world/5.webp similarity index 100% rename from src/images/ai-art/alien-world/5.webp rename to public/assets/images/ai-art/alien-world/5.webp diff --git a/src/images/ai-art/alien-world/6.webp b/public/assets/images/ai-art/alien-world/6.webp similarity index 100% rename from src/images/ai-art/alien-world/6.webp rename to public/assets/images/ai-art/alien-world/6.webp diff --git a/src/images/ai-art/alien-world/7.webp b/public/assets/images/ai-art/alien-world/7.webp similarity index 100% rename from src/images/ai-art/alien-world/7.webp rename to public/assets/images/ai-art/alien-world/7.webp diff --git a/src/images/ai-art/alien-world/8.webp b/public/assets/images/ai-art/alien-world/8.webp similarity index 100% rename from src/images/ai-art/alien-world/8.webp rename to public/assets/images/ai-art/alien-world/8.webp diff --git a/src/images/ai-art/alien-world/9.webp b/public/assets/images/ai-art/alien-world/9.webp similarity index 100% rename from src/images/ai-art/alien-world/9.webp rename to public/assets/images/ai-art/alien-world/9.webp diff --git a/src/images/ai-art/aurora/1.webp b/public/assets/images/ai-art/aurora/1.webp similarity index 100% rename from src/images/ai-art/aurora/1.webp rename to public/assets/images/ai-art/aurora/1.webp diff --git a/src/images/ai-art/aurora/10.webp b/public/assets/images/ai-art/aurora/10.webp similarity index 100% rename from src/images/ai-art/aurora/10.webp rename to public/assets/images/ai-art/aurora/10.webp diff --git a/src/images/ai-art/aurora/11.webp b/public/assets/images/ai-art/aurora/11.webp similarity index 100% rename from src/images/ai-art/aurora/11.webp rename to public/assets/images/ai-art/aurora/11.webp diff --git a/src/images/ai-art/aurora/12.webp b/public/assets/images/ai-art/aurora/12.webp similarity index 100% rename from src/images/ai-art/aurora/12.webp rename to public/assets/images/ai-art/aurora/12.webp diff --git a/src/images/ai-art/aurora/13.webp b/public/assets/images/ai-art/aurora/13.webp similarity index 100% rename from src/images/ai-art/aurora/13.webp rename to public/assets/images/ai-art/aurora/13.webp diff --git a/src/images/ai-art/aurora/14.webp b/public/assets/images/ai-art/aurora/14.webp similarity index 100% rename from src/images/ai-art/aurora/14.webp rename to public/assets/images/ai-art/aurora/14.webp diff --git a/src/images/ai-art/aurora/2.webp b/public/assets/images/ai-art/aurora/2.webp similarity index 100% rename from src/images/ai-art/aurora/2.webp rename to public/assets/images/ai-art/aurora/2.webp diff --git a/src/images/ai-art/aurora/3.webp b/public/assets/images/ai-art/aurora/3.webp similarity index 100% rename from src/images/ai-art/aurora/3.webp rename to public/assets/images/ai-art/aurora/3.webp diff --git a/src/images/ai-art/aurora/4.webp b/public/assets/images/ai-art/aurora/4.webp similarity index 100% rename from src/images/ai-art/aurora/4.webp rename to public/assets/images/ai-art/aurora/4.webp diff --git a/src/images/ai-art/aurora/5.webp b/public/assets/images/ai-art/aurora/5.webp similarity index 100% rename from src/images/ai-art/aurora/5.webp rename to public/assets/images/ai-art/aurora/5.webp diff --git a/src/images/ai-art/aurora/6.webp b/public/assets/images/ai-art/aurora/6.webp similarity index 100% rename from src/images/ai-art/aurora/6.webp rename to public/assets/images/ai-art/aurora/6.webp diff --git a/src/images/ai-art/aurora/7.webp b/public/assets/images/ai-art/aurora/7.webp similarity index 100% rename from src/images/ai-art/aurora/7.webp rename to public/assets/images/ai-art/aurora/7.webp diff --git a/src/images/ai-art/aurora/8.webp b/public/assets/images/ai-art/aurora/8.webp similarity index 100% rename from src/images/ai-art/aurora/8.webp rename to public/assets/images/ai-art/aurora/8.webp diff --git a/src/images/ai-art/aurora/9.webp b/public/assets/images/ai-art/aurora/9.webp similarity index 100% rename from src/images/ai-art/aurora/9.webp rename to public/assets/images/ai-art/aurora/9.webp diff --git a/src/images/ai-art/bonsai/1.webp b/public/assets/images/ai-art/bonsai/1.webp similarity index 100% rename from src/images/ai-art/bonsai/1.webp rename to public/assets/images/ai-art/bonsai/1.webp diff --git a/src/images/ai-art/bonsai/2.webp b/public/assets/images/ai-art/bonsai/2.webp similarity index 100% rename from src/images/ai-art/bonsai/2.webp rename to public/assets/images/ai-art/bonsai/2.webp diff --git a/src/images/ai-art/bonsai/3.webp b/public/assets/images/ai-art/bonsai/3.webp similarity index 100% rename from src/images/ai-art/bonsai/3.webp rename to public/assets/images/ai-art/bonsai/3.webp diff --git a/src/images/ai-art/bonsai/4.webp b/public/assets/images/ai-art/bonsai/4.webp similarity index 100% rename from src/images/ai-art/bonsai/4.webp rename to public/assets/images/ai-art/bonsai/4.webp diff --git a/src/images/ai-art/bonsai/5.webp b/public/assets/images/ai-art/bonsai/5.webp similarity index 100% rename from src/images/ai-art/bonsai/5.webp rename to public/assets/images/ai-art/bonsai/5.webp diff --git a/src/images/ai-art/chicken-nugget-woman/1.webp b/public/assets/images/ai-art/chicken-nugget-woman/1.webp similarity index 100% rename from src/images/ai-art/chicken-nugget-woman/1.webp rename to public/assets/images/ai-art/chicken-nugget-woman/1.webp diff --git a/src/images/ai-art/chimera/1.webp b/public/assets/images/ai-art/chimera/1.webp similarity index 100% rename from src/images/ai-art/chimera/1.webp rename to public/assets/images/ai-art/chimera/1.webp diff --git a/src/images/ai-art/chimera/2.webp b/public/assets/images/ai-art/chimera/2.webp similarity index 100% rename from src/images/ai-art/chimera/2.webp rename to public/assets/images/ai-art/chimera/2.webp diff --git a/src/images/ai-art/chimera/3.webp b/public/assets/images/ai-art/chimera/3.webp similarity index 100% rename from src/images/ai-art/chimera/3.webp rename to public/assets/images/ai-art/chimera/3.webp diff --git a/src/images/ai-art/chimera/4.webp b/public/assets/images/ai-art/chimera/4.webp similarity index 100% rename from src/images/ai-art/chimera/4.webp rename to public/assets/images/ai-art/chimera/4.webp diff --git a/src/images/ai-art/chimera/5.webp b/public/assets/images/ai-art/chimera/5.webp similarity index 100% rename from src/images/ai-art/chimera/5.webp rename to public/assets/images/ai-art/chimera/5.webp diff --git a/src/images/ai-art/chimera/6.webp b/public/assets/images/ai-art/chimera/6.webp similarity index 100% rename from src/images/ai-art/chimera/6.webp rename to public/assets/images/ai-art/chimera/6.webp diff --git a/src/images/ai-art/clifton/1.webp b/public/assets/images/ai-art/clifton/1.webp similarity index 100% rename from src/images/ai-art/clifton/1.webp rename to public/assets/images/ai-art/clifton/1.webp diff --git a/src/images/ai-art/comic-manga/1.webp b/public/assets/images/ai-art/comic-manga/1.webp similarity index 100% rename from src/images/ai-art/comic-manga/1.webp rename to public/assets/images/ai-art/comic-manga/1.webp diff --git a/src/images/ai-art/comic-manga/2.webp b/public/assets/images/ai-art/comic-manga/2.webp similarity index 100% rename from src/images/ai-art/comic-manga/2.webp rename to public/assets/images/ai-art/comic-manga/2.webp diff --git a/src/images/ai-art/comic-manga/3.webp b/public/assets/images/ai-art/comic-manga/3.webp similarity index 100% rename from src/images/ai-art/comic-manga/3.webp rename to public/assets/images/ai-art/comic-manga/3.webp diff --git a/src/images/ai-art/comic-manga/4.webp b/public/assets/images/ai-art/comic-manga/4.webp similarity index 100% rename from src/images/ai-art/comic-manga/4.webp rename to public/assets/images/ai-art/comic-manga/4.webp diff --git a/src/images/ai-art/comic-manga/5.webp b/public/assets/images/ai-art/comic-manga/5.webp similarity index 100% rename from src/images/ai-art/comic-manga/5.webp rename to public/assets/images/ai-art/comic-manga/5.webp diff --git a/src/images/ai-art/comic-manga/6.webp b/public/assets/images/ai-art/comic-manga/6.webp similarity index 100% rename from src/images/ai-art/comic-manga/6.webp rename to public/assets/images/ai-art/comic-manga/6.webp diff --git a/src/images/ai-art/comic-manga/7.webp b/public/assets/images/ai-art/comic-manga/7.webp similarity index 100% rename from src/images/ai-art/comic-manga/7.webp rename to public/assets/images/ai-art/comic-manga/7.webp diff --git a/src/images/ai-art/comic-manga/8.webp b/public/assets/images/ai-art/comic-manga/8.webp similarity index 100% rename from src/images/ai-art/comic-manga/8.webp rename to public/assets/images/ai-art/comic-manga/8.webp diff --git a/src/images/ai-art/cosmic-horror/1.webp b/public/assets/images/ai-art/cosmic-horror/1.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/1.webp rename to public/assets/images/ai-art/cosmic-horror/1.webp diff --git a/src/images/ai-art/cosmic-horror/2.webp b/public/assets/images/ai-art/cosmic-horror/2.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/2.webp rename to public/assets/images/ai-art/cosmic-horror/2.webp diff --git a/src/images/ai-art/cosmic-horror/3.webp b/public/assets/images/ai-art/cosmic-horror/3.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/3.webp rename to public/assets/images/ai-art/cosmic-horror/3.webp diff --git a/src/images/ai-art/cosmic-horror/4.webp b/public/assets/images/ai-art/cosmic-horror/4.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/4.webp rename to public/assets/images/ai-art/cosmic-horror/4.webp diff --git a/src/images/ai-art/cosmic-horror/5.webp b/public/assets/images/ai-art/cosmic-horror/5.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/5.webp rename to public/assets/images/ai-art/cosmic-horror/5.webp diff --git a/src/images/ai-art/cosmic-horror/6.webp b/public/assets/images/ai-art/cosmic-horror/6.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/6.webp rename to public/assets/images/ai-art/cosmic-horror/6.webp diff --git a/src/images/ai-art/cosmic-horror/7.webp b/public/assets/images/ai-art/cosmic-horror/7.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/7.webp rename to public/assets/images/ai-art/cosmic-horror/7.webp diff --git a/src/images/ai-art/cosmic-horror/8.webp b/public/assets/images/ai-art/cosmic-horror/8.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/8.webp rename to public/assets/images/ai-art/cosmic-horror/8.webp diff --git a/src/images/ai-art/cosmic-horror/9.webp b/public/assets/images/ai-art/cosmic-horror/9.webp similarity index 100% rename from src/images/ai-art/cosmic-horror/9.webp rename to public/assets/images/ai-art/cosmic-horror/9.webp diff --git a/src/images/ai-art/cyberpunk-city/1.webp b/public/assets/images/ai-art/cyberpunk-city/1.webp similarity index 100% rename from src/images/ai-art/cyberpunk-city/1.webp rename to public/assets/images/ai-art/cyberpunk-city/1.webp diff --git a/src/images/ai-art/cyberpunk-city/2.webp b/public/assets/images/ai-art/cyberpunk-city/2.webp similarity index 100% rename from src/images/ai-art/cyberpunk-city/2.webp rename to public/assets/images/ai-art/cyberpunk-city/2.webp diff --git a/src/images/ai-art/cyberpunk-city/3.webp b/public/assets/images/ai-art/cyberpunk-city/3.webp similarity index 100% rename from src/images/ai-art/cyberpunk-city/3.webp rename to public/assets/images/ai-art/cyberpunk-city/3.webp diff --git a/src/images/ai-art/cyberpunk-city/4.webp b/public/assets/images/ai-art/cyberpunk-city/4.webp similarity index 100% rename from src/images/ai-art/cyberpunk-city/4.webp rename to public/assets/images/ai-art/cyberpunk-city/4.webp diff --git a/src/images/ai-art/cyberpunk-wizard/1.webp b/public/assets/images/ai-art/cyberpunk-wizard/1.webp similarity index 100% rename from src/images/ai-art/cyberpunk-wizard/1.webp rename to public/assets/images/ai-art/cyberpunk-wizard/1.webp diff --git a/src/images/ai-art/death-of-the-stoic-man/1.webp b/public/assets/images/ai-art/death-of-the-stoic-man/1.webp similarity index 100% rename from src/images/ai-art/death-of-the-stoic-man/1.webp rename to public/assets/images/ai-art/death-of-the-stoic-man/1.webp diff --git a/src/images/ai-art/death-of-the-stoic-man/2.webp b/public/assets/images/ai-art/death-of-the-stoic-man/2.webp similarity index 100% rename from src/images/ai-art/death-of-the-stoic-man/2.webp rename to public/assets/images/ai-art/death-of-the-stoic-man/2.webp diff --git a/src/images/ai-art/death-of-the-stoic-man/3.webp b/public/assets/images/ai-art/death-of-the-stoic-man/3.webp similarity index 100% rename from src/images/ai-art/death-of-the-stoic-man/3.webp rename to public/assets/images/ai-art/death-of-the-stoic-man/3.webp diff --git a/src/images/ai-art/death-of-the-stoic-man/4.webp b/public/assets/images/ai-art/death-of-the-stoic-man/4.webp similarity index 100% rename from src/images/ai-art/death-of-the-stoic-man/4.webp rename to public/assets/images/ai-art/death-of-the-stoic-man/4.webp diff --git a/src/images/ai-art/death-of-the-stoic-man/5.webp b/public/assets/images/ai-art/death-of-the-stoic-man/5.webp similarity index 100% rename from src/images/ai-art/death-of-the-stoic-man/5.webp rename to public/assets/images/ai-art/death-of-the-stoic-man/5.webp diff --git a/src/images/ai-art/distant-galaxy/1.webp b/public/assets/images/ai-art/distant-galaxy/1.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/1.webp rename to public/assets/images/ai-art/distant-galaxy/1.webp diff --git a/src/images/ai-art/distant-galaxy/2.webp b/public/assets/images/ai-art/distant-galaxy/2.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/2.webp rename to public/assets/images/ai-art/distant-galaxy/2.webp diff --git a/src/images/ai-art/distant-galaxy/3.webp b/public/assets/images/ai-art/distant-galaxy/3.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/3.webp rename to public/assets/images/ai-art/distant-galaxy/3.webp diff --git a/src/images/ai-art/distant-galaxy/4.webp b/public/assets/images/ai-art/distant-galaxy/4.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/4.webp rename to public/assets/images/ai-art/distant-galaxy/4.webp diff --git a/src/images/ai-art/distant-galaxy/5.webp b/public/assets/images/ai-art/distant-galaxy/5.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/5.webp rename to public/assets/images/ai-art/distant-galaxy/5.webp diff --git a/src/images/ai-art/distant-galaxy/6.webp b/public/assets/images/ai-art/distant-galaxy/6.webp similarity index 100% rename from src/images/ai-art/distant-galaxy/6.webp rename to public/assets/images/ai-art/distant-galaxy/6.webp diff --git a/src/images/ai-art/fantasy-world/1.webp b/public/assets/images/ai-art/fantasy-world/1.webp similarity index 100% rename from src/images/ai-art/fantasy-world/1.webp rename to public/assets/images/ai-art/fantasy-world/1.webp diff --git a/src/images/ai-art/fantasy-world/2.webp b/public/assets/images/ai-art/fantasy-world/2.webp similarity index 100% rename from src/images/ai-art/fantasy-world/2.webp rename to public/assets/images/ai-art/fantasy-world/2.webp diff --git a/src/images/ai-art/fantasy-world/3.webp b/public/assets/images/ai-art/fantasy-world/3.webp similarity index 100% rename from src/images/ai-art/fantasy-world/3.webp rename to public/assets/images/ai-art/fantasy-world/3.webp diff --git a/src/images/ai-art/fantasy-world/4.webp b/public/assets/images/ai-art/fantasy-world/4.webp similarity index 100% rename from src/images/ai-art/fantasy-world/4.webp rename to public/assets/images/ai-art/fantasy-world/4.webp diff --git a/src/images/ai-art/fantasy-world/5.webp b/public/assets/images/ai-art/fantasy-world/5.webp similarity index 100% rename from src/images/ai-art/fantasy-world/5.webp rename to public/assets/images/ai-art/fantasy-world/5.webp diff --git a/src/images/ai-art/fantasy-world/6.webp b/public/assets/images/ai-art/fantasy-world/6.webp similarity index 100% rename from src/images/ai-art/fantasy-world/6.webp rename to public/assets/images/ai-art/fantasy-world/6.webp diff --git a/src/images/ai-art/female-cyborg/1.webp b/public/assets/images/ai-art/female-cyborg/1.webp similarity index 100% rename from src/images/ai-art/female-cyborg/1.webp rename to public/assets/images/ai-art/female-cyborg/1.webp diff --git a/src/images/ai-art/female-cyborg/2.webp b/public/assets/images/ai-art/female-cyborg/2.webp similarity index 100% rename from src/images/ai-art/female-cyborg/2.webp rename to public/assets/images/ai-art/female-cyborg/2.webp diff --git a/src/images/ai-art/female-cyborg/3.webp b/public/assets/images/ai-art/female-cyborg/3.webp similarity index 100% rename from src/images/ai-art/female-cyborg/3.webp rename to public/assets/images/ai-art/female-cyborg/3.webp diff --git a/src/images/ai-art/female-cyborg/4.webp b/public/assets/images/ai-art/female-cyborg/4.webp similarity index 100% rename from src/images/ai-art/female-cyborg/4.webp rename to public/assets/images/ai-art/female-cyborg/4.webp diff --git a/src/images/ai-art/flux-dev-lora/1.webp b/public/assets/images/ai-art/flux-dev-lora/1.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/1.webp rename to public/assets/images/ai-art/flux-dev-lora/1.webp diff --git a/src/images/ai-art/flux-dev-lora/10.webp b/public/assets/images/ai-art/flux-dev-lora/10.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/10.webp rename to public/assets/images/ai-art/flux-dev-lora/10.webp diff --git a/src/images/ai-art/flux-dev-lora/11.webp b/public/assets/images/ai-art/flux-dev-lora/11.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/11.webp rename to public/assets/images/ai-art/flux-dev-lora/11.webp diff --git a/src/images/ai-art/flux-dev-lora/2.webp b/public/assets/images/ai-art/flux-dev-lora/2.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/2.webp rename to public/assets/images/ai-art/flux-dev-lora/2.webp diff --git a/src/images/ai-art/flux-dev-lora/3.webp b/public/assets/images/ai-art/flux-dev-lora/3.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/3.webp rename to public/assets/images/ai-art/flux-dev-lora/3.webp diff --git a/src/images/ai-art/flux-dev-lora/4.webp b/public/assets/images/ai-art/flux-dev-lora/4.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/4.webp rename to public/assets/images/ai-art/flux-dev-lora/4.webp diff --git a/src/images/ai-art/flux-dev-lora/5.webp b/public/assets/images/ai-art/flux-dev-lora/5.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/5.webp rename to public/assets/images/ai-art/flux-dev-lora/5.webp diff --git a/src/images/ai-art/flux-dev-lora/6.webp b/public/assets/images/ai-art/flux-dev-lora/6.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/6.webp rename to public/assets/images/ai-art/flux-dev-lora/6.webp diff --git a/src/images/ai-art/flux-dev-lora/7.webp b/public/assets/images/ai-art/flux-dev-lora/7.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/7.webp rename to public/assets/images/ai-art/flux-dev-lora/7.webp diff --git a/src/images/ai-art/flux-dev-lora/8.webp b/public/assets/images/ai-art/flux-dev-lora/8.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/8.webp rename to public/assets/images/ai-art/flux-dev-lora/8.webp diff --git a/src/images/ai-art/flux-dev-lora/9.webp b/public/assets/images/ai-art/flux-dev-lora/9.webp similarity index 100% rename from src/images/ai-art/flux-dev-lora/9.webp rename to public/assets/images/ai-art/flux-dev-lora/9.webp diff --git a/src/images/ai-art/futuristic-bedroom/1.webp b/public/assets/images/ai-art/futuristic-bedroom/1.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/1.webp rename to public/assets/images/ai-art/futuristic-bedroom/1.webp diff --git a/src/images/ai-art/futuristic-bedroom/2.webp b/public/assets/images/ai-art/futuristic-bedroom/2.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/2.webp rename to public/assets/images/ai-art/futuristic-bedroom/2.webp diff --git a/src/images/ai-art/futuristic-bedroom/3.webp b/public/assets/images/ai-art/futuristic-bedroom/3.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/3.webp rename to public/assets/images/ai-art/futuristic-bedroom/3.webp diff --git a/src/images/ai-art/futuristic-bedroom/4.webp b/public/assets/images/ai-art/futuristic-bedroom/4.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/4.webp rename to public/assets/images/ai-art/futuristic-bedroom/4.webp diff --git a/src/images/ai-art/futuristic-bedroom/5.webp b/public/assets/images/ai-art/futuristic-bedroom/5.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/5.webp rename to public/assets/images/ai-art/futuristic-bedroom/5.webp diff --git a/src/images/ai-art/futuristic-bedroom/6.webp b/public/assets/images/ai-art/futuristic-bedroom/6.webp similarity index 100% rename from src/images/ai-art/futuristic-bedroom/6.webp rename to public/assets/images/ai-art/futuristic-bedroom/6.webp diff --git a/src/images/ai-art/gods-of-the-copybook-headings/1.webp b/public/assets/images/ai-art/gods-of-the-copybook-headings/1.webp similarity index 100% rename from src/images/ai-art/gods-of-the-copybook-headings/1.webp rename to public/assets/images/ai-art/gods-of-the-copybook-headings/1.webp diff --git a/src/images/ai-art/gods-of-the-copybook-headings/2.webp b/public/assets/images/ai-art/gods-of-the-copybook-headings/2.webp similarity index 100% rename from src/images/ai-art/gods-of-the-copybook-headings/2.webp rename to public/assets/images/ai-art/gods-of-the-copybook-headings/2.webp diff --git a/src/images/ai-art/gods-of-the-copybook-headings/3.webp b/public/assets/images/ai-art/gods-of-the-copybook-headings/3.webp similarity index 100% rename from src/images/ai-art/gods-of-the-copybook-headings/3.webp rename to public/assets/images/ai-art/gods-of-the-copybook-headings/3.webp diff --git a/src/images/ai-art/gods-of-the-copybook-headings/4.webp b/public/assets/images/ai-art/gods-of-the-copybook-headings/4.webp similarity index 100% rename from src/images/ai-art/gods-of-the-copybook-headings/4.webp rename to public/assets/images/ai-art/gods-of-the-copybook-headings/4.webp diff --git a/src/images/ai-art/irezumi/1.webp b/public/assets/images/ai-art/irezumi/1.webp similarity index 100% rename from src/images/ai-art/irezumi/1.webp rename to public/assets/images/ai-art/irezumi/1.webp diff --git a/src/images/ai-art/irezumi/2.webp b/public/assets/images/ai-art/irezumi/2.webp similarity index 100% rename from src/images/ai-art/irezumi/2.webp rename to public/assets/images/ai-art/irezumi/2.webp diff --git a/src/images/ai-art/irezumi/3.webp b/public/assets/images/ai-art/irezumi/3.webp similarity index 100% rename from src/images/ai-art/irezumi/3.webp rename to public/assets/images/ai-art/irezumi/3.webp diff --git a/src/images/ai-art/irezumi/4.webp b/public/assets/images/ai-art/irezumi/4.webp similarity index 100% rename from src/images/ai-art/irezumi/4.webp rename to public/assets/images/ai-art/irezumi/4.webp diff --git a/src/images/ai-art/irezumi/5.webp b/public/assets/images/ai-art/irezumi/5.webp similarity index 100% rename from src/images/ai-art/irezumi/5.webp rename to public/assets/images/ai-art/irezumi/5.webp diff --git a/src/images/ai-art/irezumi/6.webp b/public/assets/images/ai-art/irezumi/6.webp similarity index 100% rename from src/images/ai-art/irezumi/6.webp rename to public/assets/images/ai-art/irezumi/6.webp diff --git a/src/images/ai-art/misty-lake/1.webp b/public/assets/images/ai-art/misty-lake/1.webp similarity index 100% rename from src/images/ai-art/misty-lake/1.webp rename to public/assets/images/ai-art/misty-lake/1.webp diff --git a/src/images/ai-art/misty-lake/2.webp b/public/assets/images/ai-art/misty-lake/2.webp similarity index 100% rename from src/images/ai-art/misty-lake/2.webp rename to public/assets/images/ai-art/misty-lake/2.webp diff --git a/src/images/ai-art/misty-lake/3.webp b/public/assets/images/ai-art/misty-lake/3.webp similarity index 100% rename from src/images/ai-art/misty-lake/3.webp rename to public/assets/images/ai-art/misty-lake/3.webp diff --git a/src/images/ai-art/misty-lake/4.webp b/public/assets/images/ai-art/misty-lake/4.webp similarity index 100% rename from src/images/ai-art/misty-lake/4.webp rename to public/assets/images/ai-art/misty-lake/4.webp diff --git a/src/images/ai-art/misty-lake/5.webp b/public/assets/images/ai-art/misty-lake/5.webp similarity index 100% rename from src/images/ai-art/misty-lake/5.webp rename to public/assets/images/ai-art/misty-lake/5.webp diff --git a/src/images/ai-art/misty-lake/6.webp b/public/assets/images/ai-art/misty-lake/6.webp similarity index 100% rename from src/images/ai-art/misty-lake/6.webp rename to public/assets/images/ai-art/misty-lake/6.webp diff --git a/src/images/ai-art/misty-lake/7.webp b/public/assets/images/ai-art/misty-lake/7.webp similarity index 100% rename from src/images/ai-art/misty-lake/7.webp rename to public/assets/images/ai-art/misty-lake/7.webp diff --git a/src/images/ai-art/mona-lisa/1.webp b/public/assets/images/ai-art/mona-lisa/1.webp similarity index 100% rename from src/images/ai-art/mona-lisa/1.webp rename to public/assets/images/ai-art/mona-lisa/1.webp diff --git a/src/images/ai-art/mona-lisa/2.webp b/public/assets/images/ai-art/mona-lisa/2.webp similarity index 100% rename from src/images/ai-art/mona-lisa/2.webp rename to public/assets/images/ai-art/mona-lisa/2.webp diff --git a/src/images/ai-art/mona-lisa/3.webp b/public/assets/images/ai-art/mona-lisa/3.webp similarity index 100% rename from src/images/ai-art/mona-lisa/3.webp rename to public/assets/images/ai-art/mona-lisa/3.webp diff --git a/src/images/ai-art/mona-lisa/4.webp b/public/assets/images/ai-art/mona-lisa/4.webp similarity index 100% rename from src/images/ai-art/mona-lisa/4.webp rename to public/assets/images/ai-art/mona-lisa/4.webp diff --git a/src/images/ai-art/mona-lisa/5.webp b/public/assets/images/ai-art/mona-lisa/5.webp similarity index 100% rename from src/images/ai-art/mona-lisa/5.webp rename to public/assets/images/ai-art/mona-lisa/5.webp diff --git a/src/images/ai-art/mona-lisa/6.webp b/public/assets/images/ai-art/mona-lisa/6.webp similarity index 100% rename from src/images/ai-art/mona-lisa/6.webp rename to public/assets/images/ai-art/mona-lisa/6.webp diff --git a/src/images/ai-art/mona-lisa/7.webp b/public/assets/images/ai-art/mona-lisa/7.webp similarity index 100% rename from src/images/ai-art/mona-lisa/7.webp rename to public/assets/images/ai-art/mona-lisa/7.webp diff --git a/src/images/ai-art/mushrooms/1.webp b/public/assets/images/ai-art/mushrooms/1.webp similarity index 100% rename from src/images/ai-art/mushrooms/1.webp rename to public/assets/images/ai-art/mushrooms/1.webp diff --git a/src/images/ai-art/mushrooms/2.webp b/public/assets/images/ai-art/mushrooms/2.webp similarity index 100% rename from src/images/ai-art/mushrooms/2.webp rename to public/assets/images/ai-art/mushrooms/2.webp diff --git a/src/images/ai-art/mushrooms/3.webp b/public/assets/images/ai-art/mushrooms/3.webp similarity index 100% rename from src/images/ai-art/mushrooms/3.webp rename to public/assets/images/ai-art/mushrooms/3.webp diff --git a/src/images/ai-art/mushrooms/4.webp b/public/assets/images/ai-art/mushrooms/4.webp similarity index 100% rename from src/images/ai-art/mushrooms/4.webp rename to public/assets/images/ai-art/mushrooms/4.webp diff --git a/src/images/ai-art/propaganda-poster/1.webp b/public/assets/images/ai-art/propaganda-poster/1.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/1.webp rename to public/assets/images/ai-art/propaganda-poster/1.webp diff --git a/src/images/ai-art/propaganda-poster/10.webp b/public/assets/images/ai-art/propaganda-poster/10.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/10.webp rename to public/assets/images/ai-art/propaganda-poster/10.webp diff --git a/src/images/ai-art/propaganda-poster/11.webp b/public/assets/images/ai-art/propaganda-poster/11.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/11.webp rename to public/assets/images/ai-art/propaganda-poster/11.webp diff --git a/src/images/ai-art/propaganda-poster/12.webp b/public/assets/images/ai-art/propaganda-poster/12.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/12.webp rename to public/assets/images/ai-art/propaganda-poster/12.webp diff --git a/src/images/ai-art/propaganda-poster/13.webp b/public/assets/images/ai-art/propaganda-poster/13.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/13.webp rename to public/assets/images/ai-art/propaganda-poster/13.webp diff --git a/src/images/ai-art/propaganda-poster/14.webp b/public/assets/images/ai-art/propaganda-poster/14.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/14.webp rename to public/assets/images/ai-art/propaganda-poster/14.webp diff --git a/src/images/ai-art/propaganda-poster/15.webp b/public/assets/images/ai-art/propaganda-poster/15.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/15.webp rename to public/assets/images/ai-art/propaganda-poster/15.webp diff --git a/src/images/ai-art/propaganda-poster/16.webp b/public/assets/images/ai-art/propaganda-poster/16.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/16.webp rename to public/assets/images/ai-art/propaganda-poster/16.webp diff --git a/src/images/ai-art/propaganda-poster/17.webp b/public/assets/images/ai-art/propaganda-poster/17.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/17.webp rename to public/assets/images/ai-art/propaganda-poster/17.webp diff --git a/src/images/ai-art/propaganda-poster/18.webp b/public/assets/images/ai-art/propaganda-poster/18.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/18.webp rename to public/assets/images/ai-art/propaganda-poster/18.webp diff --git a/src/images/ai-art/propaganda-poster/19.webp b/public/assets/images/ai-art/propaganda-poster/19.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/19.webp rename to public/assets/images/ai-art/propaganda-poster/19.webp diff --git a/src/images/ai-art/propaganda-poster/2.webp b/public/assets/images/ai-art/propaganda-poster/2.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/2.webp rename to public/assets/images/ai-art/propaganda-poster/2.webp diff --git a/src/images/ai-art/propaganda-poster/20.webp b/public/assets/images/ai-art/propaganda-poster/20.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/20.webp rename to public/assets/images/ai-art/propaganda-poster/20.webp diff --git a/src/images/ai-art/propaganda-poster/21.webp b/public/assets/images/ai-art/propaganda-poster/21.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/21.webp rename to public/assets/images/ai-art/propaganda-poster/21.webp diff --git a/src/images/ai-art/propaganda-poster/3.webp b/public/assets/images/ai-art/propaganda-poster/3.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/3.webp rename to public/assets/images/ai-art/propaganda-poster/3.webp diff --git a/src/images/ai-art/propaganda-poster/4.webp b/public/assets/images/ai-art/propaganda-poster/4.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/4.webp rename to public/assets/images/ai-art/propaganda-poster/4.webp diff --git a/src/images/ai-art/propaganda-poster/5.webp b/public/assets/images/ai-art/propaganda-poster/5.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/5.webp rename to public/assets/images/ai-art/propaganda-poster/5.webp diff --git a/src/images/ai-art/propaganda-poster/6.webp b/public/assets/images/ai-art/propaganda-poster/6.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/6.webp rename to public/assets/images/ai-art/propaganda-poster/6.webp diff --git a/src/images/ai-art/propaganda-poster/7.webp b/public/assets/images/ai-art/propaganda-poster/7.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/7.webp rename to public/assets/images/ai-art/propaganda-poster/7.webp diff --git a/src/images/ai-art/propaganda-poster/8.webp b/public/assets/images/ai-art/propaganda-poster/8.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/8.webp rename to public/assets/images/ai-art/propaganda-poster/8.webp diff --git a/src/images/ai-art/propaganda-poster/9.webp b/public/assets/images/ai-art/propaganda-poster/9.webp similarity index 100% rename from src/images/ai-art/propaganda-poster/9.webp rename to public/assets/images/ai-art/propaganda-poster/9.webp diff --git a/src/images/ai-art/roman-stoics/epictetus.webp b/public/assets/images/ai-art/roman-stoics/epictetus.webp similarity index 100% rename from src/images/ai-art/roman-stoics/epictetus.webp rename to public/assets/images/ai-art/roman-stoics/epictetus.webp diff --git a/src/images/ai-art/roman-stoics/marcus-aurelius.webp b/public/assets/images/ai-art/roman-stoics/marcus-aurelius.webp similarity index 100% rename from src/images/ai-art/roman-stoics/marcus-aurelius.webp rename to public/assets/images/ai-art/roman-stoics/marcus-aurelius.webp diff --git a/src/images/ai-art/roman-stoics/seneca.webp b/public/assets/images/ai-art/roman-stoics/seneca.webp similarity index 100% rename from src/images/ai-art/roman-stoics/seneca.webp rename to public/assets/images/ai-art/roman-stoics/seneca.webp diff --git a/src/images/ai-art/south-park/1.webp b/public/assets/images/ai-art/south-park/1.webp similarity index 100% rename from src/images/ai-art/south-park/1.webp rename to public/assets/images/ai-art/south-park/1.webp diff --git a/src/images/ai-art/south-park/2.webp b/public/assets/images/ai-art/south-park/2.webp similarity index 100% rename from src/images/ai-art/south-park/2.webp rename to public/assets/images/ai-art/south-park/2.webp diff --git a/src/images/ai-art/south-park/3.webp b/public/assets/images/ai-art/south-park/3.webp similarity index 100% rename from src/images/ai-art/south-park/3.webp rename to public/assets/images/ai-art/south-park/3.webp diff --git a/src/images/ai-art/south-park/4.webp b/public/assets/images/ai-art/south-park/4.webp similarity index 100% rename from src/images/ai-art/south-park/4.webp rename to public/assets/images/ai-art/south-park/4.webp diff --git a/src/images/ai-art/the-simpsons/1.webp b/public/assets/images/ai-art/the-simpsons/1.webp similarity index 100% rename from src/images/ai-art/the-simpsons/1.webp rename to public/assets/images/ai-art/the-simpsons/1.webp diff --git a/src/images/ai-art/the-simpsons/10.webp b/public/assets/images/ai-art/the-simpsons/10.webp similarity index 100% rename from src/images/ai-art/the-simpsons/10.webp rename to public/assets/images/ai-art/the-simpsons/10.webp diff --git a/src/images/ai-art/the-simpsons/11.webp b/public/assets/images/ai-art/the-simpsons/11.webp similarity index 100% rename from src/images/ai-art/the-simpsons/11.webp rename to public/assets/images/ai-art/the-simpsons/11.webp diff --git a/src/images/ai-art/the-simpsons/12.webp b/public/assets/images/ai-art/the-simpsons/12.webp similarity index 100% rename from src/images/ai-art/the-simpsons/12.webp rename to public/assets/images/ai-art/the-simpsons/12.webp diff --git a/src/images/ai-art/the-simpsons/13.webp b/public/assets/images/ai-art/the-simpsons/13.webp similarity index 100% rename from src/images/ai-art/the-simpsons/13.webp rename to public/assets/images/ai-art/the-simpsons/13.webp diff --git a/src/images/ai-art/the-simpsons/14.webp b/public/assets/images/ai-art/the-simpsons/14.webp similarity index 100% rename from src/images/ai-art/the-simpsons/14.webp rename to public/assets/images/ai-art/the-simpsons/14.webp diff --git a/src/images/ai-art/the-simpsons/15.webp b/public/assets/images/ai-art/the-simpsons/15.webp similarity index 100% rename from src/images/ai-art/the-simpsons/15.webp rename to public/assets/images/ai-art/the-simpsons/15.webp diff --git a/src/images/ai-art/the-simpsons/16.webp b/public/assets/images/ai-art/the-simpsons/16.webp similarity index 100% rename from src/images/ai-art/the-simpsons/16.webp rename to public/assets/images/ai-art/the-simpsons/16.webp diff --git a/src/images/ai-art/the-simpsons/17.webp b/public/assets/images/ai-art/the-simpsons/17.webp similarity index 100% rename from src/images/ai-art/the-simpsons/17.webp rename to public/assets/images/ai-art/the-simpsons/17.webp diff --git a/src/images/ai-art/the-simpsons/18.webp b/public/assets/images/ai-art/the-simpsons/18.webp similarity index 100% rename from src/images/ai-art/the-simpsons/18.webp rename to public/assets/images/ai-art/the-simpsons/18.webp diff --git a/src/images/ai-art/the-simpsons/19.webp b/public/assets/images/ai-art/the-simpsons/19.webp similarity index 100% rename from src/images/ai-art/the-simpsons/19.webp rename to public/assets/images/ai-art/the-simpsons/19.webp diff --git a/src/images/ai-art/the-simpsons/2.webp b/public/assets/images/ai-art/the-simpsons/2.webp similarity index 100% rename from src/images/ai-art/the-simpsons/2.webp rename to public/assets/images/ai-art/the-simpsons/2.webp diff --git a/src/images/ai-art/the-simpsons/20.webp b/public/assets/images/ai-art/the-simpsons/20.webp similarity index 100% rename from src/images/ai-art/the-simpsons/20.webp rename to public/assets/images/ai-art/the-simpsons/20.webp diff --git a/src/images/ai-art/the-simpsons/3.webp b/public/assets/images/ai-art/the-simpsons/3.webp similarity index 100% rename from src/images/ai-art/the-simpsons/3.webp rename to public/assets/images/ai-art/the-simpsons/3.webp diff --git a/src/images/ai-art/the-simpsons/4.webp b/public/assets/images/ai-art/the-simpsons/4.webp similarity index 100% rename from src/images/ai-art/the-simpsons/4.webp rename to public/assets/images/ai-art/the-simpsons/4.webp diff --git a/src/images/ai-art/the-simpsons/5.webp b/public/assets/images/ai-art/the-simpsons/5.webp similarity index 100% rename from src/images/ai-art/the-simpsons/5.webp rename to public/assets/images/ai-art/the-simpsons/5.webp diff --git a/src/images/ai-art/the-simpsons/6.webp b/public/assets/images/ai-art/the-simpsons/6.webp similarity index 100% rename from src/images/ai-art/the-simpsons/6.webp rename to public/assets/images/ai-art/the-simpsons/6.webp diff --git a/src/images/ai-art/the-simpsons/7.webp b/public/assets/images/ai-art/the-simpsons/7.webp similarity index 100% rename from src/images/ai-art/the-simpsons/7.webp rename to public/assets/images/ai-art/the-simpsons/7.webp diff --git a/src/images/ai-art/the-simpsons/8.webp b/public/assets/images/ai-art/the-simpsons/8.webp similarity index 100% rename from src/images/ai-art/the-simpsons/8.webp rename to public/assets/images/ai-art/the-simpsons/8.webp diff --git a/src/images/ai-art/the-simpsons/9.webp b/public/assets/images/ai-art/the-simpsons/9.webp similarity index 100% rename from src/images/ai-art/the-simpsons/9.webp rename to public/assets/images/ai-art/the-simpsons/9.webp diff --git a/src/images/ai-art/this-is-john-galt-speaking/1.webp b/public/assets/images/ai-art/this-is-john-galt-speaking/1.webp similarity index 100% rename from src/images/ai-art/this-is-john-galt-speaking/1.webp rename to public/assets/images/ai-art/this-is-john-galt-speaking/1.webp diff --git a/src/images/ai-art/tower-of-babel/1.webp b/public/assets/images/ai-art/tower-of-babel/1.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/1.webp rename to public/assets/images/ai-art/tower-of-babel/1.webp diff --git a/src/images/ai-art/tower-of-babel/2.webp b/public/assets/images/ai-art/tower-of-babel/2.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/2.webp rename to public/assets/images/ai-art/tower-of-babel/2.webp diff --git a/src/images/ai-art/tower-of-babel/3.webp b/public/assets/images/ai-art/tower-of-babel/3.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/3.webp rename to public/assets/images/ai-art/tower-of-babel/3.webp diff --git a/src/images/ai-art/tower-of-babel/4.webp b/public/assets/images/ai-art/tower-of-babel/4.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/4.webp rename to public/assets/images/ai-art/tower-of-babel/4.webp diff --git a/src/images/ai-art/tower-of-babel/5.webp b/public/assets/images/ai-art/tower-of-babel/5.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/5.webp rename to public/assets/images/ai-art/tower-of-babel/5.webp diff --git a/src/images/ai-art/tower-of-babel/6.webp b/public/assets/images/ai-art/tower-of-babel/6.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/6.webp rename to public/assets/images/ai-art/tower-of-babel/6.webp diff --git a/src/images/ai-art/tower-of-babel/7.webp b/public/assets/images/ai-art/tower-of-babel/7.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/7.webp rename to public/assets/images/ai-art/tower-of-babel/7.webp diff --git a/src/images/ai-art/tower-of-babel/8.webp b/public/assets/images/ai-art/tower-of-babel/8.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/8.webp rename to public/assets/images/ai-art/tower-of-babel/8.webp diff --git a/src/images/ai-art/tower-of-babel/9.webp b/public/assets/images/ai-art/tower-of-babel/9.webp similarity index 100% rename from src/images/ai-art/tower-of-babel/9.webp rename to public/assets/images/ai-art/tower-of-babel/9.webp diff --git a/src/images/ai-art/utopia-dystopia/1.webp b/public/assets/images/ai-art/utopia-dystopia/1.webp similarity index 100% rename from src/images/ai-art/utopia-dystopia/1.webp rename to public/assets/images/ai-art/utopia-dystopia/1.webp diff --git a/src/images/ai-art/utopia-dystopia/2.webp b/public/assets/images/ai-art/utopia-dystopia/2.webp similarity index 100% rename from src/images/ai-art/utopia-dystopia/2.webp rename to public/assets/images/ai-art/utopia-dystopia/2.webp diff --git a/src/images/ai-art/utopia-dystopia/3.webp b/public/assets/images/ai-art/utopia-dystopia/3.webp similarity index 100% rename from src/images/ai-art/utopia-dystopia/3.webp rename to public/assets/images/ai-art/utopia-dystopia/3.webp diff --git a/src/images/ai-art/utopia-dystopia/4.webp b/public/assets/images/ai-art/utopia-dystopia/4.webp similarity index 100% rename from src/images/ai-art/utopia-dystopia/4.webp rename to public/assets/images/ai-art/utopia-dystopia/4.webp diff --git a/src/images/ai-art/utopia-dystopia/5.webp b/public/assets/images/ai-art/utopia-dystopia/5.webp similarity index 100% rename from src/images/ai-art/utopia-dystopia/5.webp rename to public/assets/images/ai-art/utopia-dystopia/5.webp diff --git a/src/images/ai-art/yakuza/1.webp b/public/assets/images/ai-art/yakuza/1.webp similarity index 100% rename from src/images/ai-art/yakuza/1.webp rename to public/assets/images/ai-art/yakuza/1.webp diff --git a/src/images/ai-art/yakuza/2.webp b/public/assets/images/ai-art/yakuza/2.webp similarity index 100% rename from src/images/ai-art/yakuza/2.webp rename to public/assets/images/ai-art/yakuza/2.webp diff --git a/src/images/ai-art/yakuza/3.webp b/public/assets/images/ai-art/yakuza/3.webp similarity index 100% rename from src/images/ai-art/yakuza/3.webp rename to public/assets/images/ai-art/yakuza/3.webp diff --git a/src/images/ai-art/yakuza/4.webp b/public/assets/images/ai-art/yakuza/4.webp similarity index 100% rename from src/images/ai-art/yakuza/4.webp rename to public/assets/images/ai-art/yakuza/4.webp diff --git a/src/images/ai-art/yakuza/5.webp b/public/assets/images/ai-art/yakuza/5.webp similarity index 100% rename from src/images/ai-art/yakuza/5.webp rename to public/assets/images/ai-art/yakuza/5.webp diff --git a/src/images/ai-art/yakuza/6.webp b/public/assets/images/ai-art/yakuza/6.webp similarity index 100% rename from src/images/ai-art/yakuza/6.webp rename to public/assets/images/ai-art/yakuza/6.webp diff --git a/src/images/cover/101-things-you-can-do.webp b/public/assets/images/cover/101-things-you-can-do.webp similarity index 100% rename from src/images/cover/101-things-you-can-do.webp rename to public/assets/images/cover/101-things-you-can-do.webp diff --git a/src/images/cover/15-years-xing.webp b/public/assets/images/cover/15-years-xing.webp similarity index 100% rename from src/images/cover/15-years-xing.webp rename to public/assets/images/cover/15-years-xing.webp diff --git a/src/images/cover/ai-cover-1.webp b/public/assets/images/cover/ai-cover-1.webp similarity index 100% rename from src/images/cover/ai-cover-1.webp rename to public/assets/images/cover/ai-cover-1.webp diff --git a/src/images/cover/ai-cover-2.webp b/public/assets/images/cover/ai-cover-2.webp similarity index 100% rename from src/images/cover/ai-cover-2.webp rename to public/assets/images/cover/ai-cover-2.webp diff --git a/src/images/cover/ai-cover-3.webp b/public/assets/images/cover/ai-cover-3.webp similarity index 100% rename from src/images/cover/ai-cover-3.webp rename to public/assets/images/cover/ai-cover-3.webp diff --git a/src/images/cover/ai-cover-4.webp b/public/assets/images/cover/ai-cover-4.webp similarity index 100% rename from src/images/cover/ai-cover-4.webp rename to public/assets/images/cover/ai-cover-4.webp diff --git a/src/images/cover/alien-worlds.webp b/public/assets/images/cover/alien-worlds.webp similarity index 100% rename from src/images/cover/alien-worlds.webp rename to public/assets/images/cover/alien-worlds.webp diff --git a/src/images/cover/anarcho-capitalist-city.webp b/public/assets/images/cover/anarcho-capitalist-city.webp similarity index 100% rename from src/images/cover/anarcho-capitalist-city.webp rename to public/assets/images/cover/anarcho-capitalist-city.webp diff --git a/src/images/cover/apps-tools-services.webp b/public/assets/images/cover/apps-tools-services.webp similarity index 100% rename from src/images/cover/apps-tools-services.webp rename to public/assets/images/cover/apps-tools-services.webp diff --git a/src/images/cover/attention.webp b/public/assets/images/cover/attention.webp similarity index 100% rename from src/images/cover/attention.webp rename to public/assets/images/cover/attention.webp diff --git a/src/images/cover/best-of-2020.webp b/public/assets/images/cover/best-of-2020.webp similarity index 100% rename from src/images/cover/best-of-2020.webp rename to public/assets/images/cover/best-of-2020.webp diff --git a/src/images/cover/beyond-the-bookshelf-1.webp b/public/assets/images/cover/beyond-the-bookshelf-1.webp similarity index 100% rename from src/images/cover/beyond-the-bookshelf-1.webp rename to public/assets/images/cover/beyond-the-bookshelf-1.webp diff --git a/src/images/cover/beyond-the-bookshelf-2.webp b/public/assets/images/cover/beyond-the-bookshelf-2.webp similarity index 100% rename from src/images/cover/beyond-the-bookshelf-2.webp rename to public/assets/images/cover/beyond-the-bookshelf-2.webp diff --git a/src/images/cover/bonsai.webp b/public/assets/images/cover/bonsai.webp similarity index 100% rename from src/images/cover/bonsai.webp rename to public/assets/images/cover/bonsai.webp diff --git a/src/images/cover/book-decodeunicode.webp b/public/assets/images/cover/book-decodeunicode.webp similarity index 100% rename from src/images/cover/book-decodeunicode.webp rename to public/assets/images/cover/book-decodeunicode.webp diff --git a/src/images/cover/calisthenics.webp b/public/assets/images/cover/calisthenics.webp similarity index 100% rename from src/images/cover/calisthenics.webp rename to public/assets/images/cover/calisthenics.webp diff --git a/src/images/cover/civil-war-truth-1-introduction.webp b/public/assets/images/cover/civil-war-truth-1-introduction.webp similarity index 100% rename from src/images/cover/civil-war-truth-1-introduction.webp rename to public/assets/images/cover/civil-war-truth-1-introduction.webp diff --git a/src/images/cover/civil-war-truth-2-corporatism-technocracy.webp b/public/assets/images/cover/civil-war-truth-2-corporatism-technocracy.webp similarity index 100% rename from src/images/cover/civil-war-truth-2-corporatism-technocracy.webp rename to public/assets/images/cover/civil-war-truth-2-corporatism-technocracy.webp diff --git a/src/images/cover/civil-war-truth-3-political-division.webp b/public/assets/images/cover/civil-war-truth-3-political-division.webp similarity index 100% rename from src/images/cover/civil-war-truth-3-political-division.webp rename to public/assets/images/cover/civil-war-truth-3-political-division.webp diff --git a/src/images/cover/civil-war-truth-4-media-journalism.webp b/public/assets/images/cover/civil-war-truth-4-media-journalism.webp similarity index 100% rename from src/images/cover/civil-war-truth-4-media-journalism.webp rename to public/assets/images/cover/civil-war-truth-4-media-journalism.webp diff --git a/src/images/cover/civil-war-truth-5-academia.webp b/public/assets/images/cover/civil-war-truth-5-academia.webp similarity index 100% rename from src/images/cover/civil-war-truth-5-academia.webp rename to public/assets/images/cover/civil-war-truth-5-academia.webp diff --git a/src/images/cover/civil-war-truth-6-science.webp b/public/assets/images/cover/civil-war-truth-6-science.webp similarity index 100% rename from src/images/cover/civil-war-truth-6-science.webp rename to public/assets/images/cover/civil-war-truth-6-science.webp diff --git a/src/images/cover/civil-war-truth-7-conclusion.webp b/public/assets/images/cover/civil-war-truth-7-conclusion.webp similarity index 100% rename from src/images/cover/civil-war-truth-7-conclusion.webp rename to public/assets/images/cover/civil-war-truth-7-conclusion.webp diff --git a/src/images/cover/copybook-headings.webp b/public/assets/images/cover/copybook-headings.webp similarity index 100% rename from src/images/cover/copybook-headings.webp rename to public/assets/images/cover/copybook-headings.webp diff --git a/src/images/cover/decentralized-web-1.webp b/public/assets/images/cover/decentralized-web-1.webp similarity index 100% rename from src/images/cover/decentralized-web-1.webp rename to public/assets/images/cover/decentralized-web-1.webp diff --git a/src/images/cover/decentralized-web-2.webp b/public/assets/images/cover/decentralized-web-2.webp similarity index 100% rename from src/images/cover/decentralized-web-2.webp rename to public/assets/images/cover/decentralized-web-2.webp diff --git a/src/images/cover/decentralized-web-3.webp b/public/assets/images/cover/decentralized-web-3.webp similarity index 100% rename from src/images/cover/decentralized-web-3.webp rename to public/assets/images/cover/decentralized-web-3.webp diff --git a/src/images/cover/design-koi.webp b/public/assets/images/cover/design-koi.webp similarity index 100% rename from src/images/cover/design-koi.webp rename to public/assets/images/cover/design-koi.webp diff --git a/src/images/cover/devonthink-obsidian-for-note-taking.webp b/public/assets/images/cover/devonthink-obsidian-for-note-taking.webp similarity index 100% rename from src/images/cover/devonthink-obsidian-for-note-taking.webp rename to public/assets/images/cover/devonthink-obsidian-for-note-taking.webp diff --git a/src/images/cover/dreaming-of-the-old-normal.webp b/public/assets/images/cover/dreaming-of-the-old-normal.webp similarity index 100% rename from src/images/cover/dreaming-of-the-old-normal.webp rename to public/assets/images/cover/dreaming-of-the-old-normal.webp diff --git a/src/images/cover/everyday-carry.webp b/public/assets/images/cover/everyday-carry.webp similarity index 100% rename from src/images/cover/everyday-carry.webp rename to public/assets/images/cover/everyday-carry.webp diff --git a/src/images/cover/from-typewriter-to-split-keyboard.webp b/public/assets/images/cover/from-typewriter-to-split-keyboard.webp similarity index 100% rename from src/images/cover/from-typewriter-to-split-keyboard.webp rename to public/assets/images/cover/from-typewriter-to-split-keyboard.webp diff --git a/src/images/cover/fuck-you-sonos.webp b/public/assets/images/cover/fuck-you-sonos.webp similarity index 100% rename from src/images/cover/fuck-you-sonos.webp rename to public/assets/images/cover/fuck-you-sonos.webp diff --git a/src/images/cover/git.webp b/public/assets/images/cover/git.webp similarity index 100% rename from src/images/cover/git.webp rename to public/assets/images/cover/git.webp diff --git a/src/images/cover/gitbook.webp b/public/assets/images/cover/gitbook.webp similarity index 100% rename from src/images/cover/gitbook.webp rename to public/assets/images/cover/gitbook.webp diff --git a/src/images/cover/gitweb-theme.webp b/public/assets/images/cover/gitweb-theme.webp similarity index 100% rename from src/images/cover/gitweb-theme.webp rename to public/assets/images/cover/gitweb-theme.webp diff --git a/src/images/cover/gtd.webp b/public/assets/images/cover/gtd.webp similarity index 100% rename from src/images/cover/gtd.webp rename to public/assets/images/cover/gtd.webp diff --git a/src/images/cover/gulp-1.webp b/public/assets/images/cover/gulp-1.webp similarity index 100% rename from src/images/cover/gulp-1.webp rename to public/assets/images/cover/gulp-1.webp diff --git a/src/images/cover/gulp-10.webp b/public/assets/images/cover/gulp-10.webp similarity index 100% rename from src/images/cover/gulp-10.webp rename to public/assets/images/cover/gulp-10.webp diff --git a/src/images/cover/gulp-11.webp b/public/assets/images/cover/gulp-11.webp similarity index 100% rename from src/images/cover/gulp-11.webp rename to public/assets/images/cover/gulp-11.webp diff --git a/src/images/cover/gulp-12.webp b/public/assets/images/cover/gulp-12.webp similarity index 100% rename from src/images/cover/gulp-12.webp rename to public/assets/images/cover/gulp-12.webp diff --git a/src/images/cover/gulp-13.webp b/public/assets/images/cover/gulp-13.webp similarity index 100% rename from src/images/cover/gulp-13.webp rename to public/assets/images/cover/gulp-13.webp diff --git a/src/images/cover/gulp-14.webp b/public/assets/images/cover/gulp-14.webp similarity index 100% rename from src/images/cover/gulp-14.webp rename to public/assets/images/cover/gulp-14.webp diff --git a/src/images/cover/gulp-15.webp b/public/assets/images/cover/gulp-15.webp similarity index 100% rename from src/images/cover/gulp-15.webp rename to public/assets/images/cover/gulp-15.webp diff --git a/src/images/cover/gulp-16.webp b/public/assets/images/cover/gulp-16.webp similarity index 100% rename from src/images/cover/gulp-16.webp rename to public/assets/images/cover/gulp-16.webp diff --git a/src/images/cover/gulp-2.webp b/public/assets/images/cover/gulp-2.webp similarity index 100% rename from src/images/cover/gulp-2.webp rename to public/assets/images/cover/gulp-2.webp diff --git a/src/images/cover/gulp-3.webp b/public/assets/images/cover/gulp-3.webp similarity index 100% rename from src/images/cover/gulp-3.webp rename to public/assets/images/cover/gulp-3.webp diff --git a/src/images/cover/gulp-4.webp b/public/assets/images/cover/gulp-4.webp similarity index 100% rename from src/images/cover/gulp-4.webp rename to public/assets/images/cover/gulp-4.webp diff --git a/src/images/cover/gulp-5.webp b/public/assets/images/cover/gulp-5.webp similarity index 100% rename from src/images/cover/gulp-5.webp rename to public/assets/images/cover/gulp-5.webp diff --git a/src/images/cover/gulp-6.webp b/public/assets/images/cover/gulp-6.webp similarity index 100% rename from src/images/cover/gulp-6.webp rename to public/assets/images/cover/gulp-6.webp diff --git a/src/images/cover/gulp-7.webp b/public/assets/images/cover/gulp-7.webp similarity index 100% rename from src/images/cover/gulp-7.webp rename to public/assets/images/cover/gulp-7.webp diff --git a/src/images/cover/gulp-8.webp b/public/assets/images/cover/gulp-8.webp similarity index 100% rename from src/images/cover/gulp-8.webp rename to public/assets/images/cover/gulp-8.webp diff --git a/src/images/cover/gulp-9.webp b/public/assets/images/cover/gulp-9.webp similarity index 100% rename from src/images/cover/gulp-9.webp rename to public/assets/images/cover/gulp-9.webp diff --git a/src/images/cover/home-documentary.webp b/public/assets/images/cover/home-documentary.webp similarity index 100% rename from src/images/cover/home-documentary.webp rename to public/assets/images/cover/home-documentary.webp diff --git a/src/images/cover/home-office.jpg b/public/assets/images/cover/home-office.jpg similarity index 100% rename from src/images/cover/home-office.jpg rename to public/assets/images/cover/home-office.jpg diff --git a/src/images/cover/home-office.webp b/public/assets/images/cover/home-office.webp similarity index 100% rename from src/images/cover/home-office.webp rename to public/assets/images/cover/home-office.webp diff --git a/src/images/cover/how-to-prepare-for-the-worst-case.webp b/public/assets/images/cover/how-to-prepare-for-the-worst-case.webp similarity index 100% rename from src/images/cover/how-to-prepare-for-the-worst-case.webp rename to public/assets/images/cover/how-to-prepare-for-the-worst-case.webp diff --git a/src/images/cover/human-documentary.webp b/public/assets/images/cover/human-documentary.webp similarity index 100% rename from src/images/cover/human-documentary.webp rename to public/assets/images/cover/human-documentary.webp diff --git a/src/images/cover/i-counted-everything-i-own.webp b/public/assets/images/cover/i-counted-everything-i-own.webp similarity index 100% rename from src/images/cover/i-counted-everything-i-own.webp rename to public/assets/images/cover/i-counted-everything-i-own.webp diff --git a/src/images/cover/ia-writer-template-nanzan.webp b/public/assets/images/cover/ia-writer-template-nanzan.webp similarity index 100% rename from src/images/cover/ia-writer-template-nanzan.webp rename to public/assets/images/cover/ia-writer-template-nanzan.webp diff --git a/src/images/cover/ia-writer-template-shibui.webp b/public/assets/images/cover/ia-writer-template-shibui.webp similarity index 100% rename from src/images/cover/ia-writer-template-shibui.webp rename to public/assets/images/cover/ia-writer-template-shibui.webp diff --git a/src/images/cover/interpretation-if.webp b/public/assets/images/cover/interpretation-if.webp similarity index 100% rename from src/images/cover/interpretation-if.webp rename to public/assets/images/cover/interpretation-if.webp diff --git a/src/images/cover/japanese-colors.webp b/public/assets/images/cover/japanese-colors.webp similarity index 100% rename from src/images/cover/japanese-colors.webp rename to public/assets/images/cover/japanese-colors.webp diff --git a/src/images/cover/john-seymour.webp b/public/assets/images/cover/john-seymour.webp similarity index 100% rename from src/images/cover/john-seymour.webp rename to public/assets/images/cover/john-seymour.webp diff --git a/src/images/cover/learning-poems.webp b/public/assets/images/cover/learning-poems.webp similarity index 100% rename from src/images/cover/learning-poems.webp rename to public/assets/images/cover/learning-poems.webp diff --git a/src/images/cover/logo-design.webp b/public/assets/images/cover/logo-design.webp similarity index 100% rename from src/images/cover/logo-design.webp rename to public/assets/images/cover/logo-design.webp diff --git a/src/images/cover/manage-references-for-note-taking.webp b/public/assets/images/cover/manage-references-for-note-taking.webp similarity index 100% rename from src/images/cover/manage-references-for-note-taking.webp rename to public/assets/images/cover/manage-references-for-note-taking.webp diff --git a/src/images/cover/minimalism.webp b/public/assets/images/cover/minimalism.webp similarity index 100% rename from src/images/cover/minimalism.webp rename to public/assets/images/cover/minimalism.webp diff --git a/src/images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp b/public/assets/images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp similarity index 100% rename from src/images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp rename to public/assets/images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp diff --git a/src/images/cover/modern-atlas-shrugged-2-looters-in-action.webp b/public/assets/images/cover/modern-atlas-shrugged-2-looters-in-action.webp similarity index 100% rename from src/images/cover/modern-atlas-shrugged-2-looters-in-action.webp rename to public/assets/images/cover/modern-atlas-shrugged-2-looters-in-action.webp diff --git a/src/images/cover/modern-atlas-shrugged-3-strike.webp b/public/assets/images/cover/modern-atlas-shrugged-3-strike.webp similarity index 100% rename from src/images/cover/modern-atlas-shrugged-3-strike.webp rename to public/assets/images/cover/modern-atlas-shrugged-3-strike.webp diff --git a/src/images/cover/morning-routine.webp b/public/assets/images/cover/morning-routine.webp similarity index 100% rename from src/images/cover/morning-routine.webp rename to public/assets/images/cover/morning-routine.webp diff --git a/src/images/cover/motivational-video.webp b/public/assets/images/cover/motivational-video.webp similarity index 100% rename from src/images/cover/motivational-video.webp rename to public/assets/images/cover/motivational-video.webp diff --git a/src/images/cover/netflix-underwear.webp b/public/assets/images/cover/netflix-underwear.webp similarity index 100% rename from src/images/cover/netflix-underwear.webp rename to public/assets/images/cover/netflix-underwear.webp diff --git a/src/images/cover/new-website-2020-design.webp b/public/assets/images/cover/new-website-2020-design.webp similarity index 100% rename from src/images/cover/new-website-2020-design.webp rename to public/assets/images/cover/new-website-2020-design.webp diff --git a/src/images/cover/new-website-2020-development.webp b/public/assets/images/cover/new-website-2020-development.webp similarity index 100% rename from src/images/cover/new-website-2020-development.webp rename to public/assets/images/cover/new-website-2020-development.webp diff --git a/src/images/cover/new-website-2020-inspiration.webp b/public/assets/images/cover/new-website-2020-inspiration.webp similarity index 100% rename from src/images/cover/new-website-2020-inspiration.webp rename to public/assets/images/cover/new-website-2020-inspiration.webp diff --git a/src/images/cover/new-website-2020.webp b/public/assets/images/cover/new-website-2020.webp similarity index 100% rename from src/images/cover/new-website-2020.webp rename to public/assets/images/cover/new-website-2020.webp diff --git a/src/images/cover/new-website-2021.webp b/public/assets/images/cover/new-website-2021.webp similarity index 100% rename from src/images/cover/new-website-2021.webp rename to public/assets/images/cover/new-website-2021.webp diff --git a/src/images/cover/news-wave.webp b/public/assets/images/cover/news-wave.webp similarity index 100% rename from src/images/cover/news-wave.webp rename to public/assets/images/cover/news-wave.webp diff --git a/src/images/cover/note-taking-obsidian-readwise-ai.webp b/public/assets/images/cover/note-taking-obsidian-readwise-ai.webp similarity index 100% rename from src/images/cover/note-taking-obsidian-readwise-ai.webp rename to public/assets/images/cover/note-taking-obsidian-readwise-ai.webp diff --git a/src/images/cover/ok-boomer.webp b/public/assets/images/cover/ok-boomer.webp similarity index 100% rename from src/images/cover/ok-boomer.webp rename to public/assets/images/cover/ok-boomer.webp diff --git a/src/images/cover/processing-information-into-notes.webp b/public/assets/images/cover/processing-information-into-notes.webp similarity index 100% rename from src/images/cover/processing-information-into-notes.webp rename to public/assets/images/cover/processing-information-into-notes.webp diff --git a/src/images/cover/rakkan.webp b/public/assets/images/cover/rakkan.webp similarity index 100% rename from src/images/cover/rakkan.webp rename to public/assets/images/cover/rakkan.webp diff --git a/src/images/cover/raycast.webp b/public/assets/images/cover/raycast.webp similarity index 100% rename from src/images/cover/raycast.webp rename to public/assets/images/cover/raycast.webp diff --git a/src/images/cover/rework.webp b/public/assets/images/cover/rework.webp similarity index 100% rename from src/images/cover/rework.webp rename to public/assets/images/cover/rework.webp diff --git a/src/images/cover/shinto-gate.webp b/public/assets/images/cover/shinto-gate.webp similarity index 100% rename from src/images/cover/shinto-gate.webp rename to public/assets/images/cover/shinto-gate.webp diff --git a/src/images/cover/storing-information.webp b/public/assets/images/cover/storing-information.webp similarity index 100% rename from src/images/cover/storing-information.webp rename to public/assets/images/cover/storing-information.webp diff --git a/src/images/cover/the-old-man-on-the-bench.webp b/public/assets/images/cover/the-old-man-on-the-bench.webp similarity index 100% rename from src/images/cover/the-old-man-on-the-bench.webp rename to public/assets/images/cover/the-old-man-on-the-bench.webp diff --git a/src/images/cover/thomas-sowell.webp b/public/assets/images/cover/thomas-sowell.webp similarity index 100% rename from src/images/cover/thomas-sowell.webp rename to public/assets/images/cover/thomas-sowell.webp diff --git a/src/images/cover/tools-for-better-writing.webp b/public/assets/images/cover/tools-for-better-writing.webp similarity index 100% rename from src/images/cover/tools-for-better-writing.webp rename to public/assets/images/cover/tools-for-better-writing.webp diff --git a/src/images/cover/tools-i-use-for-note-taking.webp b/public/assets/images/cover/tools-i-use-for-note-taking.webp similarity index 100% rename from src/images/cover/tools-i-use-for-note-taking.webp rename to public/assets/images/cover/tools-i-use-for-note-taking.webp diff --git a/src/images/cover/using-readwise-with-obsidian-for-note-talking.webp b/public/assets/images/cover/using-readwise-with-obsidian-for-note-talking.webp similarity index 100% rename from src/images/cover/using-readwise-with-obsidian-for-note-talking.webp rename to public/assets/images/cover/using-readwise-with-obsidian-for-note-talking.webp diff --git a/src/images/cover/vim-polisher.webp b/public/assets/images/cover/vim-polisher.webp similarity index 100% rename from src/images/cover/vim-polisher.webp rename to public/assets/images/cover/vim-polisher.webp diff --git a/src/images/cover/vim.webp b/public/assets/images/cover/vim.webp similarity index 100% rename from src/images/cover/vim.webp rename to public/assets/images/cover/vim.webp diff --git a/src/images/cover/web-developer-work-environment-1.webp b/public/assets/images/cover/web-developer-work-environment-1.webp similarity index 100% rename from src/images/cover/web-developer-work-environment-1.webp rename to public/assets/images/cover/web-developer-work-environment-1.webp diff --git a/src/images/cover/web-developer-work-environment-2.webp b/public/assets/images/cover/web-developer-work-environment-2.webp similarity index 100% rename from src/images/cover/web-developer-work-environment-2.webp rename to public/assets/images/cover/web-developer-work-environment-2.webp diff --git a/src/images/cover/website-typography.webp b/public/assets/images/cover/website-typography.webp similarity index 100% rename from src/images/cover/website-typography.webp rename to public/assets/images/cover/website-typography.webp diff --git a/src/images/cover/webstandards-magazine-django.webp b/public/assets/images/cover/webstandards-magazine-django.webp similarity index 100% rename from src/images/cover/webstandards-magazine-django.webp rename to public/assets/images/cover/webstandards-magazine-django.webp diff --git a/src/images/cover/zettelkasten-note-taking-devonthink.webp b/public/assets/images/cover/zettelkasten-note-taking-devonthink.webp similarity index 100% rename from src/images/cover/zettelkasten-note-taking-devonthink.webp rename to public/assets/images/cover/zettelkasten-note-taking-devonthink.webp diff --git a/src/images/portrait-stefan-imhoff-2025.webp b/public/assets/images/portrait-stefan-imhoff-2025.webp similarity index 100% rename from src/images/portrait-stefan-imhoff-2025.webp rename to public/assets/images/portrait-stefan-imhoff-2025.webp diff --git a/src/images/posts/15-years-xing-2012.webp b/public/assets/images/posts/15-years-xing-2012.webp similarity index 100% rename from src/images/posts/15-years-xing-2012.webp rename to public/assets/images/posts/15-years-xing-2012.webp diff --git a/src/images/posts/15-years-xing-2013-office.webp b/public/assets/images/posts/15-years-xing-2013-office.webp similarity index 100% rename from src/images/posts/15-years-xing-2013-office.webp rename to public/assets/images/posts/15-years-xing-2013-office.webp diff --git a/src/images/posts/15-years-xing-2013-party.webp b/public/assets/images/posts/15-years-xing-2013-party.webp similarity index 100% rename from src/images/posts/15-years-xing-2013-party.webp rename to public/assets/images/posts/15-years-xing-2013-party.webp diff --git a/src/images/posts/15-years-xing-2015-offsite.webp b/public/assets/images/posts/15-years-xing-2015-offsite.webp similarity index 100% rename from src/images/posts/15-years-xing-2015-offsite.webp rename to public/assets/images/posts/15-years-xing-2015-offsite.webp diff --git a/src/images/posts/15-years-xing-2017-cave.webp b/public/assets/images/posts/15-years-xing-2017-cave.webp similarity index 100% rename from src/images/posts/15-years-xing-2017-cave.webp rename to public/assets/images/posts/15-years-xing-2017-cave.webp diff --git a/src/images/posts/15-years-xing-2017-finca-1.webp b/public/assets/images/posts/15-years-xing-2017-finca-1.webp similarity index 100% rename from src/images/posts/15-years-xing-2017-finca-1.webp rename to public/assets/images/posts/15-years-xing-2017-finca-1.webp diff --git a/src/images/posts/15-years-xing-2017-finca-2.webp b/public/assets/images/posts/15-years-xing-2017-finca-2.webp similarity index 100% rename from src/images/posts/15-years-xing-2017-finca-2.webp rename to public/assets/images/posts/15-years-xing-2017-finca-2.webp diff --git a/src/images/posts/15-years-xing-2017-fire.webp b/public/assets/images/posts/15-years-xing-2017-fire.webp similarity index 100% rename from src/images/posts/15-years-xing-2017-fire.webp rename to public/assets/images/posts/15-years-xing-2017-fire.webp diff --git a/src/images/posts/15-years-xing-2017-paella.webp b/public/assets/images/posts/15-years-xing-2017-paella.webp similarity index 100% rename from src/images/posts/15-years-xing-2017-paella.webp rename to public/assets/images/posts/15-years-xing-2017-paella.webp diff --git a/src/images/posts/15-years-xing-2019-offsite-1.webp b/public/assets/images/posts/15-years-xing-2019-offsite-1.webp similarity index 100% rename from src/images/posts/15-years-xing-2019-offsite-1.webp rename to public/assets/images/posts/15-years-xing-2019-offsite-1.webp diff --git a/src/images/posts/15-years-xing-2019-offsite-2.webp b/public/assets/images/posts/15-years-xing-2019-offsite-2.webp similarity index 100% rename from src/images/posts/15-years-xing-2019-offsite-2.webp rename to public/assets/images/posts/15-years-xing-2019-offsite-2.webp diff --git a/src/images/posts/15-years-xing-2020-unilever.webp b/public/assets/images/posts/15-years-xing-2020-unilever.webp similarity index 100% rename from src/images/posts/15-years-xing-2020-unilever.webp rename to public/assets/images/posts/15-years-xing-2020-unilever.webp diff --git a/src/images/posts/15-years-xing-cantina.webp b/public/assets/images/posts/15-years-xing-cantina.webp similarity index 100% rename from src/images/posts/15-years-xing-cantina.webp rename to public/assets/images/posts/15-years-xing-cantina.webp diff --git a/src/images/posts/15-years-xing-computer.webp b/public/assets/images/posts/15-years-xing-computer.webp similarity index 100% rename from src/images/posts/15-years-xing-computer.webp rename to public/assets/images/posts/15-years-xing-computer.webp diff --git a/src/images/posts/15-years-xing-for-a-better-working-life.webp b/public/assets/images/posts/15-years-xing-for-a-better-working-life.webp similarity index 100% rename from src/images/posts/15-years-xing-for-a-better-working-life.webp rename to public/assets/images/posts/15-years-xing-for-a-better-working-life.webp diff --git a/src/images/posts/15-years-xing-freudich.webp b/public/assets/images/posts/15-years-xing-freudich.webp similarity index 100% rename from src/images/posts/15-years-xing-freudich.webp rename to public/assets/images/posts/15-years-xing-freudich.webp diff --git a/src/images/posts/15-years-xing-frontend-is.webp b/public/assets/images/posts/15-years-xing-frontend-is.webp similarity index 100% rename from src/images/posts/15-years-xing-frontend-is.webp rename to public/assets/images/posts/15-years-xing-frontend-is.webp diff --git a/src/images/posts/15-years-xing-kietzkneipe.webp b/public/assets/images/posts/15-years-xing-kietzkneipe.webp similarity index 100% rename from src/images/posts/15-years-xing-kietzkneipe.webp rename to public/assets/images/posts/15-years-xing-kietzkneipe.webp diff --git a/src/images/posts/15-years-xing-library.webp b/public/assets/images/posts/15-years-xing-library.webp similarity index 100% rename from src/images/posts/15-years-xing-library.webp rename to public/assets/images/posts/15-years-xing-library.webp diff --git a/src/images/posts/15-years-xing-music.webp b/public/assets/images/posts/15-years-xing-music.webp similarity index 100% rename from src/images/posts/15-years-xing-music.webp rename to public/assets/images/posts/15-years-xing-music.webp diff --git a/src/images/posts/15-years-xing-records.webp b/public/assets/images/posts/15-years-xing-records.webp similarity index 100% rename from src/images/posts/15-years-xing-records.webp rename to public/assets/images/posts/15-years-xing-records.webp diff --git a/src/images/posts/15-years-xing-welcome.webp b/public/assets/images/posts/15-years-xing-welcome.webp similarity index 100% rename from src/images/posts/15-years-xing-welcome.webp rename to public/assets/images/posts/15-years-xing-welcome.webp diff --git a/src/images/posts/about-design.webp b/public/assets/images/posts/about-design.webp similarity index 100% rename from src/images/posts/about-design.webp rename to public/assets/images/posts/about-design.webp diff --git a/src/images/posts/ai-cyberpunk-wizard.webp b/public/assets/images/posts/ai-cyberpunk-wizard.webp similarity index 100% rename from src/images/posts/ai-cyberpunk-wizard.webp rename to public/assets/images/posts/ai-cyberpunk-wizard.webp diff --git a/src/images/posts/ai-diffusion-models.webp b/public/assets/images/posts/ai-diffusion-models.webp similarity index 100% rename from src/images/posts/ai-diffusion-models.webp rename to public/assets/images/posts/ai-diffusion-models.webp diff --git a/src/images/posts/ai-draw-things.webp b/public/assets/images/posts/ai-draw-things.webp similarity index 100% rename from src/images/posts/ai-draw-things.webp rename to public/assets/images/posts/ai-draw-things.webp diff --git a/src/images/posts/ai-inpainting.webp b/public/assets/images/posts/ai-inpainting.webp similarity index 100% rename from src/images/posts/ai-inpainting.webp rename to public/assets/images/posts/ai-inpainting.webp diff --git a/src/images/posts/base-design.webp b/public/assets/images/posts/base-design.webp similarity index 100% rename from src/images/posts/base-design.webp rename to public/assets/images/posts/base-design.webp diff --git a/src/images/posts/brave-leo-ai.webp b/public/assets/images/posts/brave-leo-ai.webp similarity index 100% rename from src/images/posts/brave-leo-ai.webp rename to public/assets/images/posts/brave-leo-ai.webp diff --git a/src/images/posts/bug-out-bag.webp b/public/assets/images/posts/bug-out-bag.webp similarity index 100% rename from src/images/posts/bug-out-bag.webp rename to public/assets/images/posts/bug-out-bag.webp diff --git a/src/images/posts/calisthenics-arm-elbow-lever.webp b/public/assets/images/posts/calisthenics-arm-elbow-lever.webp similarity index 100% rename from src/images/posts/calisthenics-arm-elbow-lever.webp rename to public/assets/images/posts/calisthenics-arm-elbow-lever.webp diff --git a/src/images/posts/calisthenics-best-dad-ever.webp b/public/assets/images/posts/calisthenics-best-dad-ever.webp similarity index 100% rename from src/images/posts/calisthenics-best-dad-ever.webp rename to public/assets/images/posts/calisthenics-best-dad-ever.webp diff --git a/src/images/posts/color-variants-design.webp b/public/assets/images/posts/color-variants-design.webp similarity index 100% rename from src/images/posts/color-variants-design.webp rename to public/assets/images/posts/color-variants-design.webp diff --git a/src/images/posts/colors-of-japan.webp b/public/assets/images/posts/colors-of-japan.webp similarity index 100% rename from src/images/posts/colors-of-japan.webp rename to public/assets/images/posts/colors-of-japan.webp diff --git a/src/images/posts/copybook-headings.webp b/public/assets/images/posts/copybook-headings.webp similarity index 100% rename from src/images/posts/copybook-headings.webp rename to public/assets/images/posts/copybook-headings.webp diff --git a/src/images/posts/design-koi.webp b/public/assets/images/posts/design-koi.webp similarity index 100% rename from src/images/posts/design-koi.webp rename to public/assets/images/posts/design-koi.webp diff --git a/src/images/posts/devonthink-sorter.webp b/public/assets/images/posts/devonthink-sorter.webp similarity index 100% rename from src/images/posts/devonthink-sorter.webp rename to public/assets/images/posts/devonthink-sorter.webp diff --git a/src/images/posts/devonthink-zettelkasten.webp b/public/assets/images/posts/devonthink-zettelkasten.webp similarity index 100% rename from src/images/posts/devonthink-zettelkasten.webp rename to public/assets/images/posts/devonthink-zettelkasten.webp diff --git a/src/images/posts/gitbook-kogakure.webp b/public/assets/images/posts/gitbook-kogakure.webp similarity index 100% rename from src/images/posts/gitbook-kogakure.webp rename to public/assets/images/posts/gitbook-kogakure.webp diff --git a/src/images/posts/gitweb-theme-commit.webp b/public/assets/images/posts/gitweb-theme-commit.webp similarity index 100% rename from src/images/posts/gitweb-theme-commit.webp rename to public/assets/images/posts/gitweb-theme-commit.webp diff --git a/src/images/posts/gitweb-theme-commitdiff.webp b/public/assets/images/posts/gitweb-theme-commitdiff.webp similarity index 100% rename from src/images/posts/gitweb-theme-commitdiff.webp rename to public/assets/images/posts/gitweb-theme-commitdiff.webp diff --git a/src/images/posts/gitweb-theme-log.webp b/public/assets/images/posts/gitweb-theme-log.webp similarity index 100% rename from src/images/posts/gitweb-theme-log.webp rename to public/assets/images/posts/gitweb-theme-log.webp diff --git a/src/images/posts/gitweb-theme-projects.webp b/public/assets/images/posts/gitweb-theme-projects.webp similarity index 100% rename from src/images/posts/gitweb-theme-projects.webp rename to public/assets/images/posts/gitweb-theme-projects.webp diff --git a/src/images/posts/gitweb-theme-summary.webp b/public/assets/images/posts/gitweb-theme-summary.webp similarity index 100% rename from src/images/posts/gitweb-theme-summary.webp rename to public/assets/images/posts/gitweb-theme-summary.webp diff --git a/src/images/posts/gitweb-theme-tree.webp b/public/assets/images/posts/gitweb-theme-tree.webp similarity index 100% rename from src/images/posts/gitweb-theme-tree.webp rename to public/assets/images/posts/gitweb-theme-tree.webp diff --git a/src/images/posts/golden-canon-grid.webp b/public/assets/images/posts/golden-canon-grid.webp similarity index 100% rename from src/images/posts/golden-canon-grid.webp rename to public/assets/images/posts/golden-canon-grid.webp diff --git a/src/images/posts/gtd-after.webp b/public/assets/images/posts/gtd-after.webp similarity index 100% rename from src/images/posts/gtd-after.webp rename to public/assets/images/posts/gtd-after.webp diff --git a/src/images/posts/gtd-before.webp b/public/assets/images/posts/gtd-before.webp similarity index 100% rename from src/images/posts/gtd-before.webp rename to public/assets/images/posts/gtd-before.webp diff --git a/src/images/posts/haiku-design.webp b/public/assets/images/posts/haiku-design.webp similarity index 100% rename from src/images/posts/haiku-design.webp rename to public/assets/images/posts/haiku-design.webp diff --git a/src/images/posts/haiku.webp b/public/assets/images/posts/haiku.webp similarity index 100% rename from src/images/posts/haiku.webp rename to public/assets/images/posts/haiku.webp diff --git a/src/images/posts/homepage-dark.webp b/public/assets/images/posts/homepage-dark.webp similarity index 100% rename from src/images/posts/homepage-dark.webp rename to public/assets/images/posts/homepage-dark.webp diff --git a/src/images/posts/homepage-design.webp b/public/assets/images/posts/homepage-design.webp similarity index 100% rename from src/images/posts/homepage-design.webp rename to public/assets/images/posts/homepage-design.webp diff --git a/src/images/posts/homepage-light.webp b/public/assets/images/posts/homepage-light.webp similarity index 100% rename from src/images/posts/homepage-light.webp rename to public/assets/images/posts/homepage-light.webp diff --git a/src/images/posts/logo-skribbles.webp b/public/assets/images/posts/logo-skribbles.webp similarity index 100% rename from src/images/posts/logo-skribbles.webp rename to public/assets/images/posts/logo-skribbles.webp diff --git a/src/images/posts/meta-section-design.webp b/public/assets/images/posts/meta-section-design.webp similarity index 100% rename from src/images/posts/meta-section-design.webp rename to public/assets/images/posts/meta-section-design.webp diff --git a/src/images/posts/minimalism-cleanup-cellar.webp b/public/assets/images/posts/minimalism-cleanup-cellar.webp similarity index 100% rename from src/images/posts/minimalism-cleanup-cellar.webp rename to public/assets/images/posts/minimalism-cleanup-cellar.webp diff --git a/src/images/posts/minimalism-living.webp b/public/assets/images/posts/minimalism-living.webp similarity index 100% rename from src/images/posts/minimalism-living.webp rename to public/assets/images/posts/minimalism-living.webp diff --git a/src/images/posts/minimalism-office.webp b/public/assets/images/posts/minimalism-office.webp similarity index 100% rename from src/images/posts/minimalism-office.webp rename to public/assets/images/posts/minimalism-office.webp diff --git a/src/images/posts/modern-atlas-shrugged-bitcoin.webp b/public/assets/images/posts/modern-atlas-shrugged-bitcoin.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-bitcoin.webp rename to public/assets/images/posts/modern-atlas-shrugged-bitcoin.webp diff --git a/src/images/posts/modern-atlas-shrugged-bridge.webp b/public/assets/images/posts/modern-atlas-shrugged-bridge.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-bridge.webp rename to public/assets/images/posts/modern-atlas-shrugged-bridge.webp diff --git a/src/images/posts/modern-atlas-shrugged-dark-figure.webp b/public/assets/images/posts/modern-atlas-shrugged-dark-figure.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-dark-figure.webp rename to public/assets/images/posts/modern-atlas-shrugged-dark-figure.webp diff --git a/src/images/posts/modern-atlas-shrugged-decline.webp b/public/assets/images/posts/modern-atlas-shrugged-decline.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-decline.webp rename to public/assets/images/posts/modern-atlas-shrugged-decline.webp diff --git a/src/images/posts/modern-atlas-shrugged-disobedience.webp b/public/assets/images/posts/modern-atlas-shrugged-disobedience.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-disobedience.webp rename to public/assets/images/posts/modern-atlas-shrugged-disobedience.webp diff --git a/src/images/posts/modern-atlas-shrugged-division.webp b/public/assets/images/posts/modern-atlas-shrugged-division.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-division.webp rename to public/assets/images/posts/modern-atlas-shrugged-division.webp diff --git a/src/images/posts/modern-atlas-shrugged-education.webp b/public/assets/images/posts/modern-atlas-shrugged-education.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-education.webp rename to public/assets/images/posts/modern-atlas-shrugged-education.webp diff --git a/src/images/posts/modern-atlas-shrugged-emigration.webp b/public/assets/images/posts/modern-atlas-shrugged-emigration.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-emigration.webp rename to public/assets/images/posts/modern-atlas-shrugged-emigration.webp diff --git a/src/images/posts/modern-atlas-shrugged-energy.webp b/public/assets/images/posts/modern-atlas-shrugged-energy.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-energy.webp rename to public/assets/images/posts/modern-atlas-shrugged-energy.webp diff --git a/src/images/posts/modern-atlas-shrugged-farm.webp b/public/assets/images/posts/modern-atlas-shrugged-farm.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-farm.webp rename to public/assets/images/posts/modern-atlas-shrugged-farm.webp diff --git a/src/images/posts/modern-atlas-shrugged-farmers.webp b/public/assets/images/posts/modern-atlas-shrugged-farmers.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-farmers.webp rename to public/assets/images/posts/modern-atlas-shrugged-farmers.webp diff --git a/src/images/posts/modern-atlas-shrugged-grey-mass.webp b/public/assets/images/posts/modern-atlas-shrugged-grey-mass.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-grey-mass.webp rename to public/assets/images/posts/modern-atlas-shrugged-grey-mass.webp diff --git a/src/images/posts/modern-atlas-shrugged-health.webp b/public/assets/images/posts/modern-atlas-shrugged-health.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-health.webp rename to public/assets/images/posts/modern-atlas-shrugged-health.webp diff --git a/src/images/posts/modern-atlas-shrugged-inflation.webp b/public/assets/images/posts/modern-atlas-shrugged-inflation.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-inflation.webp rename to public/assets/images/posts/modern-atlas-shrugged-inflation.webp diff --git a/src/images/posts/modern-atlas-shrugged-john-galt.webp b/public/assets/images/posts/modern-atlas-shrugged-john-galt.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-john-galt.webp rename to public/assets/images/posts/modern-atlas-shrugged-john-galt.webp diff --git a/src/images/posts/modern-atlas-shrugged-knife-crime.webp b/public/assets/images/posts/modern-atlas-shrugged-knife-crime.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-knife-crime.webp rename to public/assets/images/posts/modern-atlas-shrugged-knife-crime.webp diff --git a/src/images/posts/modern-atlas-shrugged-lawfare.webp b/public/assets/images/posts/modern-atlas-shrugged-lawfare.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-lawfare.webp rename to public/assets/images/posts/modern-atlas-shrugged-lawfare.webp diff --git a/src/images/posts/modern-atlas-shrugged-mockery.webp b/public/assets/images/posts/modern-atlas-shrugged-mockery.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-mockery.webp rename to public/assets/images/posts/modern-atlas-shrugged-mockery.webp diff --git a/src/images/posts/modern-atlas-shrugged-politics.webp b/public/assets/images/posts/modern-atlas-shrugged-politics.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-politics.webp rename to public/assets/images/posts/modern-atlas-shrugged-politics.webp diff --git a/src/images/posts/modern-atlas-shrugged-post.webp b/public/assets/images/posts/modern-atlas-shrugged-post.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-post.webp rename to public/assets/images/posts/modern-atlas-shrugged-post.webp diff --git a/src/images/posts/modern-atlas-shrugged-propaganda.webp b/public/assets/images/posts/modern-atlas-shrugged-propaganda.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-propaganda.webp rename to public/assets/images/posts/modern-atlas-shrugged-propaganda.webp diff --git a/src/images/posts/modern-atlas-shrugged-regulations.webp b/public/assets/images/posts/modern-atlas-shrugged-regulations.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-regulations.webp rename to public/assets/images/posts/modern-atlas-shrugged-regulations.webp diff --git a/src/images/posts/modern-atlas-shrugged-resilience.webp b/public/assets/images/posts/modern-atlas-shrugged-resilience.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-resilience.webp rename to public/assets/images/posts/modern-atlas-shrugged-resilience.webp diff --git a/src/images/posts/modern-atlas-shrugged-rich-vs-poor.webp b/public/assets/images/posts/modern-atlas-shrugged-rich-vs-poor.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-rich-vs-poor.webp rename to public/assets/images/posts/modern-atlas-shrugged-rich-vs-poor.webp diff --git a/src/images/posts/modern-atlas-shrugged-satoshi-nakamoto.webp b/public/assets/images/posts/modern-atlas-shrugged-satoshi-nakamoto.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-satoshi-nakamoto.webp rename to public/assets/images/posts/modern-atlas-shrugged-satoshi-nakamoto.webp diff --git a/src/images/posts/modern-atlas-shrugged-snicklink-psyop.webp b/public/assets/images/posts/modern-atlas-shrugged-snicklink-psyop.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-snicklink-psyop.webp rename to public/assets/images/posts/modern-atlas-shrugged-snicklink-psyop.webp diff --git a/src/images/posts/modern-atlas-shrugged-surveillance.webp b/public/assets/images/posts/modern-atlas-shrugged-surveillance.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-surveillance.webp rename to public/assets/images/posts/modern-atlas-shrugged-surveillance.webp diff --git a/src/images/posts/modern-atlas-shrugged-taxation.webp b/public/assets/images/posts/modern-atlas-shrugged-taxation.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-taxation.webp rename to public/assets/images/posts/modern-atlas-shrugged-taxation.webp diff --git a/src/images/posts/modern-atlas-shrugged-teaching.webp b/public/assets/images/posts/modern-atlas-shrugged-teaching.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-teaching.webp rename to public/assets/images/posts/modern-atlas-shrugged-teaching.webp diff --git a/src/images/posts/modern-atlas-shrugged-trains.webp b/public/assets/images/posts/modern-atlas-shrugged-trains.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-trains.webp rename to public/assets/images/posts/modern-atlas-shrugged-trains.webp diff --git a/src/images/posts/modern-atlas-shrugged-wealth.webp b/public/assets/images/posts/modern-atlas-shrugged-wealth.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-wealth.webp rename to public/assets/images/posts/modern-atlas-shrugged-wealth.webp diff --git a/src/images/posts/modern-atlas-shrugged-welfare.webp b/public/assets/images/posts/modern-atlas-shrugged-welfare.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-welfare.webp rename to public/assets/images/posts/modern-atlas-shrugged-welfare.webp diff --git a/src/images/posts/modern-atlas-shrugged-who-is-john-galt.webp b/public/assets/images/posts/modern-atlas-shrugged-who-is-john-galt.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-who-is-john-galt.webp rename to public/assets/images/posts/modern-atlas-shrugged-who-is-john-galt.webp diff --git a/src/images/posts/modern-atlas-shrugged-who-radicalized-you.webp b/public/assets/images/posts/modern-atlas-shrugged-who-radicalized-you.webp similarity index 100% rename from src/images/posts/modern-atlas-shrugged-who-radicalized-you.webp rename to public/assets/images/posts/modern-atlas-shrugged-who-radicalized-you.webp diff --git a/src/images/posts/moleskine-pencil-drawings.webp b/public/assets/images/posts/moleskine-pencil-drawings.webp similarity index 100% rename from src/images/posts/moleskine-pencil-drawings.webp rename to public/assets/images/posts/moleskine-pencil-drawings.webp diff --git a/src/images/posts/new-website-2021.webp b/public/assets/images/posts/new-website-2021.webp similarity index 100% rename from src/images/posts/new-website-2021.webp rename to public/assets/images/posts/new-website-2021.webp diff --git a/src/images/posts/obsidian-graph-view-2025.webp b/public/assets/images/posts/obsidian-graph-view-2025.webp similarity index 100% rename from src/images/posts/obsidian-graph-view-2025.webp rename to public/assets/images/posts/obsidian-graph-view-2025.webp diff --git a/src/images/posts/obsidian-graph-view.webp b/public/assets/images/posts/obsidian-graph-view.webp similarity index 100% rename from src/images/posts/obsidian-graph-view.webp rename to public/assets/images/posts/obsidian-graph-view.webp diff --git a/src/images/posts/obsidian-layout.webp b/public/assets/images/posts/obsidian-layout.webp similarity index 100% rename from src/images/posts/obsidian-layout.webp rename to public/assets/images/posts/obsidian-layout.webp diff --git a/src/images/posts/rakkan-logo.webp b/public/assets/images/posts/rakkan-logo.webp similarity index 100% rename from src/images/posts/rakkan-logo.webp rename to public/assets/images/posts/rakkan-logo.webp diff --git a/src/images/posts/rakkan.webp b/public/assets/images/posts/rakkan.webp similarity index 100% rename from src/images/posts/rakkan.webp rename to public/assets/images/posts/rakkan.webp diff --git a/src/images/posts/raycast-ai-commands.webp b/public/assets/images/posts/raycast-ai-commands.webp similarity index 100% rename from src/images/posts/raycast-ai-commands.webp rename to public/assets/images/posts/raycast-ai-commands.webp diff --git a/src/images/posts/raycast-ai-summarize.webp b/public/assets/images/posts/raycast-ai-summarize.webp similarity index 100% rename from src/images/posts/raycast-ai-summarize.webp rename to public/assets/images/posts/raycast-ai-summarize.webp diff --git a/src/images/posts/raycast-ai-tldr.webp b/public/assets/images/posts/raycast-ai-tldr.webp similarity index 100% rename from src/images/posts/raycast-ai-tldr.webp rename to public/assets/images/posts/raycast-ai-tldr.webp diff --git a/src/images/posts/raycast-ai.webp b/public/assets/images/posts/raycast-ai.webp similarity index 100% rename from src/images/posts/raycast-ai.webp rename to public/assets/images/posts/raycast-ai.webp diff --git a/src/images/posts/raycast-calculator.webp b/public/assets/images/posts/raycast-calculator.webp similarity index 100% rename from src/images/posts/raycast-calculator.webp rename to public/assets/images/posts/raycast-calculator.webp diff --git a/src/images/posts/raycast-calendar.webp b/public/assets/images/posts/raycast-calendar.webp similarity index 100% rename from src/images/posts/raycast-calendar.webp rename to public/assets/images/posts/raycast-calendar.webp diff --git a/src/images/posts/raycast-change-case.webp b/public/assets/images/posts/raycast-change-case.webp similarity index 100% rename from src/images/posts/raycast-change-case.webp rename to public/assets/images/posts/raycast-change-case.webp diff --git a/src/images/posts/raycast-clipboard-history.webp b/public/assets/images/posts/raycast-clipboard-history.webp similarity index 100% rename from src/images/posts/raycast-clipboard-history.webp rename to public/assets/images/posts/raycast-clipboard-history.webp diff --git a/src/images/posts/raycast-emoji-symbols-ai.webp b/public/assets/images/posts/raycast-emoji-symbols-ai.webp similarity index 100% rename from src/images/posts/raycast-emoji-symbols-ai.webp rename to public/assets/images/posts/raycast-emoji-symbols-ai.webp diff --git a/src/images/posts/raycast-emoji-symbols.webp b/public/assets/images/posts/raycast-emoji-symbols.webp similarity index 100% rename from src/images/posts/raycast-emoji-symbols.webp rename to public/assets/images/posts/raycast-emoji-symbols.webp diff --git a/src/images/posts/raycast-extension-arc.webp b/public/assets/images/posts/raycast-extension-arc.webp similarity index 100% rename from src/images/posts/raycast-extension-arc.webp rename to public/assets/images/posts/raycast-extension-arc.webp diff --git a/src/images/posts/raycast-extension-brave-search.webp b/public/assets/images/posts/raycast-extension-brave-search.webp similarity index 100% rename from src/images/posts/raycast-extension-brave-search.webp rename to public/assets/images/posts/raycast-extension-brave-search.webp diff --git a/src/images/posts/raycast-extension-raindrop.webp b/public/assets/images/posts/raycast-extension-raindrop.webp similarity index 100% rename from src/images/posts/raycast-extension-raindrop.webp rename to public/assets/images/posts/raycast-extension-raindrop.webp diff --git a/src/images/posts/raycast-extension-search-brave-tabs.webp b/public/assets/images/posts/raycast-extension-search-brave-tabs.webp similarity index 100% rename from src/images/posts/raycast-extension-search-brave-tabs.webp rename to public/assets/images/posts/raycast-extension-search-brave-tabs.webp diff --git a/src/images/posts/raycast-floating-notes.webp b/public/assets/images/posts/raycast-floating-notes.webp similarity index 100% rename from src/images/posts/raycast-floating-notes.webp rename to public/assets/images/posts/raycast-floating-notes.webp diff --git a/src/images/posts/raycast-giphy.webp b/public/assets/images/posts/raycast-giphy.webp similarity index 100% rename from src/images/posts/raycast-giphy.webp rename to public/assets/images/posts/raycast-giphy.webp diff --git a/src/images/posts/raycast-github.webp b/public/assets/images/posts/raycast-github.webp similarity index 100% rename from src/images/posts/raycast-github.webp rename to public/assets/images/posts/raycast-github.webp diff --git a/src/images/posts/raycast-glyph-search.webp b/public/assets/images/posts/raycast-glyph-search.webp similarity index 100% rename from src/images/posts/raycast-glyph-search.webp rename to public/assets/images/posts/raycast-glyph-search.webp diff --git a/src/images/posts/raycast-google-fonts.webp b/public/assets/images/posts/raycast-google-fonts.webp similarity index 100% rename from src/images/posts/raycast-google-fonts.webp rename to public/assets/images/posts/raycast-google-fonts.webp diff --git a/src/images/posts/raycast-homebrew.webp b/public/assets/images/posts/raycast-homebrew.webp similarity index 100% rename from src/images/posts/raycast-homebrew.webp rename to public/assets/images/posts/raycast-homebrew.webp diff --git a/src/images/posts/raycast-launcher.webp b/public/assets/images/posts/raycast-launcher.webp similarity index 100% rename from src/images/posts/raycast-launcher.webp rename to public/assets/images/posts/raycast-launcher.webp diff --git a/src/images/posts/raycast-notes.webp b/public/assets/images/posts/raycast-notes.webp similarity index 100% rename from src/images/posts/raycast-notes.webp rename to public/assets/images/posts/raycast-notes.webp diff --git a/src/images/posts/raycast-quicklinks.webp b/public/assets/images/posts/raycast-quicklinks.webp similarity index 100% rename from src/images/posts/raycast-quicklinks.webp rename to public/assets/images/posts/raycast-quicklinks.webp diff --git a/src/images/posts/raycast-readwise.webp b/public/assets/images/posts/raycast-readwise.webp similarity index 100% rename from src/images/posts/raycast-readwise.webp rename to public/assets/images/posts/raycast-readwise.webp diff --git a/src/images/posts/raycast-screenshots.webp b/public/assets/images/posts/raycast-screenshots.webp similarity index 100% rename from src/images/posts/raycast-screenshots.webp rename to public/assets/images/posts/raycast-screenshots.webp diff --git a/src/images/posts/raycast-search-files.webp b/public/assets/images/posts/raycast-search-files.webp similarity index 100% rename from src/images/posts/raycast-search-files.webp rename to public/assets/images/posts/raycast-search-files.webp diff --git a/src/images/posts/raycast-snippets.webp b/public/assets/images/posts/raycast-snippets.webp similarity index 100% rename from src/images/posts/raycast-snippets.webp rename to public/assets/images/posts/raycast-snippets.webp diff --git a/src/images/posts/raycast-spotify.webp b/public/assets/images/posts/raycast-spotify.webp similarity index 100% rename from src/images/posts/raycast-spotify.webp rename to public/assets/images/posts/raycast-spotify.webp diff --git a/src/images/posts/raycast-store.webp b/public/assets/images/posts/raycast-store.webp similarity index 100% rename from src/images/posts/raycast-store.webp rename to public/assets/images/posts/raycast-store.webp diff --git a/src/images/posts/raycast-tailwindcss.webp b/public/assets/images/posts/raycast-tailwindcss.webp similarity index 100% rename from src/images/posts/raycast-tailwindcss.webp rename to public/assets/images/posts/raycast-tailwindcss.webp diff --git a/src/images/posts/raycast-things.webp b/public/assets/images/posts/raycast-things.webp similarity index 100% rename from src/images/posts/raycast-things.webp rename to public/assets/images/posts/raycast-things.webp diff --git a/src/images/posts/raycast-tmdb.webp b/public/assets/images/posts/raycast-tmdb.webp similarity index 100% rename from src/images/posts/raycast-tmdb.webp rename to public/assets/images/posts/raycast-tmdb.webp diff --git a/src/images/posts/raycast-translator.webp b/public/assets/images/posts/raycast-translator.webp similarity index 100% rename from src/images/posts/raycast-translator.webp rename to public/assets/images/posts/raycast-translator.webp diff --git a/src/images/posts/raycast-unsplash.webp b/public/assets/images/posts/raycast-unsplash.webp similarity index 100% rename from src/images/posts/raycast-unsplash.webp rename to public/assets/images/posts/raycast-unsplash.webp diff --git a/src/images/posts/raycast-wrapped-2023.webp b/public/assets/images/posts/raycast-wrapped-2023.webp similarity index 100% rename from src/images/posts/raycast-wrapped-2023.webp rename to public/assets/images/posts/raycast-wrapped-2023.webp diff --git a/src/images/posts/raycast-wrapped-2024.webp b/public/assets/images/posts/raycast-wrapped-2024.webp similarity index 100% rename from src/images/posts/raycast-wrapped-2024.webp rename to public/assets/images/posts/raycast-wrapped-2024.webp diff --git a/src/images/posts/raycast-youtube.webp b/public/assets/images/posts/raycast-youtube.webp similarity index 100% rename from src/images/posts/raycast-youtube.webp rename to public/assets/images/posts/raycast-youtube.webp diff --git a/src/images/posts/readwise-chat.webp b/public/assets/images/posts/readwise-chat.webp similarity index 100% rename from src/images/posts/readwise-chat.webp rename to public/assets/images/posts/readwise-chat.webp diff --git a/src/images/posts/readwise-raycast-mcp.webp b/public/assets/images/posts/readwise-raycast-mcp.webp similarity index 100% rename from src/images/posts/readwise-raycast-mcp.webp rename to public/assets/images/posts/readwise-raycast-mcp.webp diff --git a/src/images/posts/suikoden-luta.webp b/public/assets/images/posts/suikoden-luta.webp similarity index 100% rename from src/images/posts/suikoden-luta.webp rename to public/assets/images/posts/suikoden-luta.webp diff --git a/src/images/posts/typographic-scale.webp b/public/assets/images/posts/typographic-scale.webp similarity index 100% rename from src/images/posts/typographic-scale.webp rename to public/assets/images/posts/typographic-scale.webp diff --git a/src/images/posts/unlighthouse.webp b/public/assets/images/posts/unlighthouse.webp similarity index 100% rename from src/images/posts/unlighthouse.webp rename to public/assets/images/posts/unlighthouse.webp diff --git a/src/images/posts/vim-vintage.webp b/public/assets/images/posts/vim-vintage.webp similarity index 100% rename from src/images/posts/vim-vintage.webp rename to public/assets/images/posts/vim-vintage.webp diff --git a/src/images/posts/work-environment-bat.webp b/public/assets/images/posts/work-environment-bat.webp similarity index 100% rename from src/images/posts/work-environment-bat.webp rename to public/assets/images/posts/work-environment-bat.webp diff --git a/src/images/posts/work-environment-colorizer.webp b/public/assets/images/posts/work-environment-colorizer.webp similarity index 100% rename from src/images/posts/work-environment-colorizer.webp rename to public/assets/images/posts/work-environment-colorizer.webp diff --git a/src/images/posts/work-environment-completion.webp b/public/assets/images/posts/work-environment-completion.webp similarity index 100% rename from src/images/posts/work-environment-completion.webp rename to public/assets/images/posts/work-environment-completion.webp diff --git a/src/images/posts/work-environment-fzf.webp b/public/assets/images/posts/work-environment-fzf.webp similarity index 100% rename from src/images/posts/work-environment-fzf.webp rename to public/assets/images/posts/work-environment-fzf.webp diff --git a/src/images/posts/work-environment-goyo.webp b/public/assets/images/posts/work-environment-goyo.webp similarity index 100% rename from src/images/posts/work-environment-goyo.webp rename to public/assets/images/posts/work-environment-goyo.webp diff --git a/src/images/posts/work-environment-hammerspoon.webp b/public/assets/images/posts/work-environment-hammerspoon.webp similarity index 100% rename from src/images/posts/work-environment-hammerspoon.webp rename to public/assets/images/posts/work-environment-hammerspoon.webp diff --git a/src/images/posts/work-environment-lsp-installer.webp b/public/assets/images/posts/work-environment-lsp-installer.webp similarity index 100% rename from src/images/posts/work-environment-lsp-installer.webp rename to public/assets/images/posts/work-environment-lsp-installer.webp diff --git a/src/images/posts/work-environment-plug-install.webp b/public/assets/images/posts/work-environment-plug-install.webp similarity index 100% rename from src/images/posts/work-environment-plug-install.webp rename to public/assets/images/posts/work-environment-plug-install.webp diff --git a/src/images/posts/work-environment-telescope.webp b/public/assets/images/posts/work-environment-telescope.webp similarity index 100% rename from src/images/posts/work-environment-telescope.webp rename to public/assets/images/posts/work-environment-telescope.webp diff --git a/src/images/posts/work-environment-terminal.webp b/public/assets/images/posts/work-environment-terminal.webp similarity index 100% rename from src/images/posts/work-environment-terminal.webp rename to public/assets/images/posts/work-environment-terminal.webp diff --git a/src/images/posts/work-environment-tmux.webp b/public/assets/images/posts/work-environment-tmux.webp similarity index 100% rename from src/images/posts/work-environment-tmux.webp rename to public/assets/images/posts/work-environment-tmux.webp diff --git a/src/images/posts/zsa-voyager-light.webp b/public/assets/images/posts/zsa-voyager-light.webp similarity index 100% rename from src/images/posts/zsa-voyager-light.webp rename to public/assets/images/posts/zsa-voyager-light.webp diff --git a/src/images/posts/zsa-voyager.webp b/public/assets/images/posts/zsa-voyager.webp similarity index 100% rename from src/images/posts/zsa-voyager.webp rename to public/assets/images/posts/zsa-voyager.webp diff --git a/src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage-dark.webp b/public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage-dark.webp similarity index 100% rename from src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage-dark.webp rename to public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage-dark.webp diff --git a/src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage.webp b/public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage.webp similarity index 100% rename from src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage.webp rename to public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-homepage.webp diff --git a/src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-subpage.webp b/public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-subpage.webp similarity index 100% rename from src/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-subpage.webp rename to public/assets/images/projects/exploring-hamburg-v2/exploring-hamburg-v2-subpage.webp diff --git a/src/images/projects/exploring-hamburg-v2/secuela-variable-italic.svg b/public/assets/images/projects/exploring-hamburg-v2/secuela-variable-italic.svg similarity index 100% rename from src/images/projects/exploring-hamburg-v2/secuela-variable-italic.svg rename to public/assets/images/projects/exploring-hamburg-v2/secuela-variable-italic.svg diff --git a/src/images/projects/exploring-hamburg-v2/secuela-variable-regular.svg b/public/assets/images/projects/exploring-hamburg-v2/secuela-variable-regular.svg similarity index 100% rename from src/images/projects/exploring-hamburg-v2/secuela-variable-regular.svg rename to public/assets/images/projects/exploring-hamburg-v2/secuela-variable-regular.svg diff --git a/src/images/projects/kogakure-v9/kogakure-v9-colophon.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-colophon.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-colophon.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-colophon.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-essay.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-essay.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-essay.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-essay.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-glossary.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-glossary.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-glossary.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-glossary.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-homepage-dark.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-homepage-dark.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-homepage-dark.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-homepage-dark.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-homepage.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-homepage.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-homepage.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-homepage.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-illustration.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-illustration.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-illustration.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-illustration.webp diff --git a/src/images/projects/kogakure-v9/kogakure-v9-recommendations.webp b/public/assets/images/projects/kogakure-v9/kogakure-v9-recommendations.webp similarity index 100% rename from src/images/projects/kogakure-v9/kogakure-v9-recommendations.webp rename to public/assets/images/projects/kogakure-v9/kogakure-v9-recommendations.webp diff --git a/src/images/projects/kogakure-v9/secuela-variable-italic.svg b/public/assets/images/projects/kogakure-v9/secuela-variable-italic.svg similarity index 100% rename from src/images/projects/kogakure-v9/secuela-variable-italic.svg rename to public/assets/images/projects/kogakure-v9/secuela-variable-italic.svg diff --git a/src/images/projects/kogakure-v9/secuela-variable-regular.svg b/public/assets/images/projects/kogakure-v9/secuela-variable-regular.svg similarity index 100% rename from src/images/projects/kogakure-v9/secuela-variable-regular.svg rename to public/assets/images/projects/kogakure-v9/secuela-variable-regular.svg diff --git a/src/images/projects/koi-illustration/cover.webp b/public/assets/images/projects/koi-illustration/cover.webp similarity index 100% rename from src/images/projects/koi-illustration/cover.webp rename to public/assets/images/projects/koi-illustration/cover.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-01.webp b/public/assets/images/projects/koi-illustration/koi-making-of-01.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-01.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-01.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-02.webp b/public/assets/images/projects/koi-illustration/koi-making-of-02.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-02.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-02.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-03.webp b/public/assets/images/projects/koi-illustration/koi-making-of-03.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-03.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-03.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-04.webp b/public/assets/images/projects/koi-illustration/koi-making-of-04.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-04.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-04.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-05.webp b/public/assets/images/projects/koi-illustration/koi-making-of-05.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-05.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-05.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-06.webp b/public/assets/images/projects/koi-illustration/koi-making-of-06.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-06.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-06.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-07.webp b/public/assets/images/projects/koi-illustration/koi-making-of-07.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-07.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-07.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-08.webp b/public/assets/images/projects/koi-illustration/koi-making-of-08.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-08.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-08.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-09.webp b/public/assets/images/projects/koi-illustration/koi-making-of-09.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-09.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-09.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-10.webp b/public/assets/images/projects/koi-illustration/koi-making-of-10.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-10.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-10.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-11.webp b/public/assets/images/projects/koi-illustration/koi-making-of-11.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-11.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-11.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-12.webp b/public/assets/images/projects/koi-illustration/koi-making-of-12.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-12.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-12.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-13.webp b/public/assets/images/projects/koi-illustration/koi-making-of-13.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-13.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-13.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-14.webp b/public/assets/images/projects/koi-illustration/koi-making-of-14.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-14.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-14.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-15.webp b/public/assets/images/projects/koi-illustration/koi-making-of-15.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-15.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-15.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-16.webp b/public/assets/images/projects/koi-illustration/koi-making-of-16.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-16.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-16.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-17.webp b/public/assets/images/projects/koi-illustration/koi-making-of-17.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-17.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-17.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-18.webp b/public/assets/images/projects/koi-illustration/koi-making-of-18.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-18.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-18.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-19.webp b/public/assets/images/projects/koi-illustration/koi-making-of-19.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-19.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-19.webp diff --git a/src/images/projects/koi-illustration/koi-making-of-20.webp b/public/assets/images/projects/koi-illustration/koi-making-of-20.webp similarity index 100% rename from src/images/projects/koi-illustration/koi-making-of-20.webp rename to public/assets/images/projects/koi-illustration/koi-making-of-20.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-contact.webp b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-contact.webp similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-contact.webp rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-contact.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-homepage.webp b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-homepage.webp similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-homepage.webp rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-homepage.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-osteopathie.webp b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-osteopathie.webp similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-osteopathie.webp rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-osteopathie.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-qigong.webp b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-qigong.webp similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-qigong.webp rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-qigong.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-training.webp b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-training.webp similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-training.webp rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-training.webp diff --git a/src/images/projects/osteopathie-hamburg/osteopathie-hamburg-typefaces.svg b/public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-typefaces.svg similarity index 100% rename from src/images/projects/osteopathie-hamburg/osteopathie-hamburg-typefaces.svg rename to public/assets/images/projects/osteopathie-hamburg/osteopathie-hamburg-typefaces.svg diff --git a/src/images/projects/stefanimhoff-v4/secuela-variable-italic.svg b/public/assets/images/projects/stefanimhoff-v4/secuela-variable-italic.svg similarity index 100% rename from src/images/projects/stefanimhoff-v4/secuela-variable-italic.svg rename to public/assets/images/projects/stefanimhoff-v4/secuela-variable-italic.svg diff --git a/src/images/projects/stefanimhoff-v4/secuela-variable-regular.svg b/public/assets/images/projects/stefanimhoff-v4/secuela-variable-regular.svg similarity index 100% rename from src/images/projects/stefanimhoff-v4/secuela-variable-regular.svg rename to public/assets/images/projects/stefanimhoff-v4/secuela-variable-regular.svg diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-about.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-about.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-about.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-about.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-colors-of-japan.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-colors-of-japan.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-colors-of-japan.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-colors-of-japan.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-essay.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-essay.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-essay.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-essay.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku-detail.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku-detail.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku-detail.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku-detail.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-haiku.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage-dark.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage-dark.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage-dark.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage-dark.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-homepage.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-journal.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-journal.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-journal.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-journal.webp diff --git a/src/images/projects/stefanimhoff-v4/stefanimhoff-v4-sketchnotes.webp b/public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-sketchnotes.webp similarity index 100% rename from src/images/projects/stefanimhoff-v4/stefanimhoff-v4-sketchnotes.webp rename to public/assets/images/projects/stefanimhoff-v4/stefanimhoff-v4-sketchnotes.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-accessories.webp b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-accessories.webp similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-accessories.webp rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-accessories.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-bistros.webp b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-bistros.webp similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-bistros.webp rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-bistros.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-homepage.webp b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-homepage.webp similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-homepage.webp rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-homepage.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-making-of-buddha.webp b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-making-of-buddha.webp similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-making-of-buddha.webp rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-making-of-buddha.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-restaurants.webp b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-restaurants.webp similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-restaurants.webp rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-restaurants.webp diff --git a/src/images/projects/thai-restaurants-hamburg/thai-restaurant-typefaces.svg b/public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-typefaces.svg similarity index 100% rename from src/images/projects/thai-restaurants-hamburg/thai-restaurant-typefaces.svg rename to public/assets/images/projects/thai-restaurants-hamburg/thai-restaurant-typefaces.svg diff --git a/src/images/projects/thumbnails/ai-art.webp b/public/assets/images/projects/thumbnails/ai-art.webp similarity index 100% rename from src/images/projects/thumbnails/ai-art.webp rename to public/assets/images/projects/thumbnails/ai-art.webp diff --git a/src/images/projects/thumbnails/bamboo-illustration.svg b/public/assets/images/projects/thumbnails/bamboo-illustration.svg similarity index 100% rename from src/images/projects/thumbnails/bamboo-illustration.svg rename to public/assets/images/projects/thumbnails/bamboo-illustration.svg diff --git a/src/images/projects/thumbnails/book-kogakure.webp b/public/assets/images/projects/thumbnails/book-kogakure.webp similarity index 100% rename from src/images/projects/thumbnails/book-kogakure.webp rename to public/assets/images/projects/thumbnails/book-kogakure.webp diff --git a/src/images/projects/thumbnails/exploring-hamburg-v2.webp b/public/assets/images/projects/thumbnails/exploring-hamburg-v2.webp similarity index 100% rename from src/images/projects/thumbnails/exploring-hamburg-v2.webp rename to public/assets/images/projects/thumbnails/exploring-hamburg-v2.webp diff --git a/src/images/projects/thumbnails/ia-template-nanzan.webp b/public/assets/images/projects/thumbnails/ia-template-nanzan.webp similarity index 100% rename from src/images/projects/thumbnails/ia-template-nanzan.webp rename to public/assets/images/projects/thumbnails/ia-template-nanzan.webp diff --git a/src/images/projects/thumbnails/ia-template-shibui.webp b/public/assets/images/projects/thumbnails/ia-template-shibui.webp similarity index 100% rename from src/images/projects/thumbnails/ia-template-shibui.webp rename to public/assets/images/projects/thumbnails/ia-template-shibui.webp diff --git a/src/images/projects/thumbnails/ingo-iga-ninja-cipher.webp b/public/assets/images/projects/thumbnails/ingo-iga-ninja-cipher.webp similarity index 100% rename from src/images/projects/thumbnails/ingo-iga-ninja-cipher.webp rename to public/assets/images/projects/thumbnails/ingo-iga-ninja-cipher.webp diff --git a/src/images/projects/thumbnails/kogakure-v9.webp b/public/assets/images/projects/thumbnails/kogakure-v9.webp similarity index 100% rename from src/images/projects/thumbnails/kogakure-v9.webp rename to public/assets/images/projects/thumbnails/kogakure-v9.webp diff --git a/src/images/projects/thumbnails/koi-illustration.webp b/public/assets/images/projects/thumbnails/koi-illustration.webp similarity index 100% rename from src/images/projects/thumbnails/koi-illustration.webp rename to public/assets/images/projects/thumbnails/koi-illustration.webp diff --git a/src/images/projects/thumbnails/osteopathie-hamburg.webp b/public/assets/images/projects/thumbnails/osteopathie-hamburg.webp similarity index 100% rename from src/images/projects/thumbnails/osteopathie-hamburg.webp rename to public/assets/images/projects/thumbnails/osteopathie-hamburg.webp diff --git a/src/images/projects/thumbnails/sketchnotes.webp b/public/assets/images/projects/thumbnails/sketchnotes.webp similarity index 100% rename from src/images/projects/thumbnails/sketchnotes.webp rename to public/assets/images/projects/thumbnails/sketchnotes.webp diff --git a/src/images/projects/thumbnails/stefanimhoff-v2.webp b/public/assets/images/projects/thumbnails/stefanimhoff-v2.webp similarity index 100% rename from src/images/projects/thumbnails/stefanimhoff-v2.webp rename to public/assets/images/projects/thumbnails/stefanimhoff-v2.webp diff --git a/src/images/projects/thumbnails/stefanimhoff-v4.webp b/public/assets/images/projects/thumbnails/stefanimhoff-v4.webp similarity index 100% rename from src/images/projects/thumbnails/stefanimhoff-v4.webp rename to public/assets/images/projects/thumbnails/stefanimhoff-v4.webp diff --git a/src/images/projects/thumbnails/thai-restaurant.webp b/public/assets/images/projects/thumbnails/thai-restaurant.webp similarity index 100% rename from src/images/projects/thumbnails/thai-restaurant.webp rename to public/assets/images/projects/thumbnails/thai-restaurant.webp diff --git a/src/images/projects/thumbnails/traditional-colors-of-japan.svg b/public/assets/images/projects/thumbnails/traditional-colors-of-japan.svg similarity index 100% rename from src/images/projects/thumbnails/traditional-colors-of-japan.svg rename to public/assets/images/projects/thumbnails/traditional-colors-of-japan.svg diff --git a/src/images/projects/thumbnails/xing-design-system.webp b/public/assets/images/projects/thumbnails/xing-design-system.webp similarity index 100% rename from src/images/projects/thumbnails/xing-design-system.webp rename to public/assets/images/projects/thumbnails/xing-design-system.webp diff --git a/src/images/projects/thumbnails/xing-illustrations.webp b/public/assets/images/projects/thumbnails/xing-illustrations.webp similarity index 100% rename from src/images/projects/thumbnails/xing-illustrations.webp rename to public/assets/images/projects/thumbnails/xing-illustrations.webp diff --git a/src/images/projects/xing-design-system/xing-design-system-dark.webp b/public/assets/images/projects/xing-design-system/xing-design-system-dark.webp similarity index 100% rename from src/images/projects/xing-design-system/xing-design-system-dark.webp rename to public/assets/images/projects/xing-design-system/xing-design-system-dark.webp diff --git a/src/images/projects/xing-design-system/xing-design-system-light.webp b/public/assets/images/projects/xing-design-system/xing-design-system-light.webp similarity index 100% rename from src/images/projects/xing-design-system/xing-design-system-light.webp rename to public/assets/images/projects/xing-design-system/xing-design-system-light.webp diff --git a/src/images/projects/xing-onboarding-illustrations/xing-illustrations-final-draft.webp b/public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-final-draft.webp similarity index 100% rename from src/images/projects/xing-onboarding-illustrations/xing-illustrations-final-draft.webp rename to public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-final-draft.webp diff --git a/src/images/projects/xing-onboarding-illustrations/xing-illustrations-final-illustrations.webp b/public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-final-illustrations.webp similarity index 100% rename from src/images/projects/xing-onboarding-illustrations/xing-illustrations-final-illustrations.webp rename to public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-final-illustrations.webp diff --git a/src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-professional.webp b/public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-professional.webp similarity index 100% rename from src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-professional.webp rename to public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-professional.webp diff --git a/src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-retired.webp b/public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-retired.webp similarity index 100% rename from src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-retired.webp rename to public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-retired.webp diff --git a/src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-starter.webp b/public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-starter.webp similarity index 100% rename from src/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-starter.webp rename to public/assets/images/projects/xing-onboarding-illustrations/xing-illustrations-making-of-starter.webp diff --git a/src/images/sketchnotes/being-a-good-listener.webp b/public/assets/images/sketchnotes/being-a-good-listener.webp similarity index 100% rename from src/images/sketchnotes/being-a-good-listener.webp rename to public/assets/images/sketchnotes/being-a-good-listener.webp diff --git a/src/images/sketchnotes/better-conversation.webp b/public/assets/images/sketchnotes/better-conversation.webp similarity index 100% rename from src/images/sketchnotes/better-conversation.webp rename to public/assets/images/sketchnotes/better-conversation.webp diff --git a/src/images/sketchnotes/bikablo-practice-1.webp b/public/assets/images/sketchnotes/bikablo-practice-1.webp similarity index 100% rename from src/images/sketchnotes/bikablo-practice-1.webp rename to public/assets/images/sketchnotes/bikablo-practice-1.webp diff --git a/src/images/sketchnotes/bikablo-practice-2.webp b/public/assets/images/sketchnotes/bikablo-practice-2.webp similarity index 100% rename from src/images/sketchnotes/bikablo-practice-2.webp rename to public/assets/images/sketchnotes/bikablo-practice-2.webp diff --git a/src/images/sketchnotes/bikablo-practice-3.webp b/public/assets/images/sketchnotes/bikablo-practice-3.webp similarity index 100% rename from src/images/sketchnotes/bikablo-practice-3.webp rename to public/assets/images/sketchnotes/bikablo-practice-3.webp diff --git a/src/images/sketchnotes/bikablo-practice-4.webp b/public/assets/images/sketchnotes/bikablo-practice-4.webp similarity index 100% rename from src/images/sketchnotes/bikablo-practice-4.webp rename to public/assets/images/sketchnotes/bikablo-practice-4.webp diff --git a/src/images/sketchnotes/how-to-speak.webp b/public/assets/images/sketchnotes/how-to-speak.webp similarity index 100% rename from src/images/sketchnotes/how-to-speak.webp rename to public/assets/images/sketchnotes/how-to-speak.webp diff --git a/src/images/sketchnotes/random-sketches-1.webp b/public/assets/images/sketchnotes/random-sketches-1.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-1.webp rename to public/assets/images/sketchnotes/random-sketches-1.webp diff --git a/src/images/sketchnotes/random-sketches-2.webp b/public/assets/images/sketchnotes/random-sketches-2.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-2.webp rename to public/assets/images/sketchnotes/random-sketches-2.webp diff --git a/src/images/sketchnotes/random-sketches-3.webp b/public/assets/images/sketchnotes/random-sketches-3.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-3.webp rename to public/assets/images/sketchnotes/random-sketches-3.webp diff --git a/src/images/sketchnotes/random-sketches-4.webp b/public/assets/images/sketchnotes/random-sketches-4.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-4.webp rename to public/assets/images/sketchnotes/random-sketches-4.webp diff --git a/src/images/sketchnotes/random-sketches-5.webp b/public/assets/images/sketchnotes/random-sketches-5.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-5.webp rename to public/assets/images/sketchnotes/random-sketches-5.webp diff --git a/src/images/sketchnotes/random-sketches-6.webp b/public/assets/images/sketchnotes/random-sketches-6.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-6.webp rename to public/assets/images/sketchnotes/random-sketches-6.webp diff --git a/src/images/sketchnotes/random-sketches-7.webp b/public/assets/images/sketchnotes/random-sketches-7.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-7.webp rename to public/assets/images/sketchnotes/random-sketches-7.webp diff --git a/src/images/sketchnotes/random-sketches-8.webp b/public/assets/images/sketchnotes/random-sketches-8.webp similarity index 100% rename from src/images/sketchnotes/random-sketches-8.webp rename to public/assets/images/sketchnotes/random-sketches-8.webp diff --git a/src/images/sketchnotes/self-actualization.webp b/public/assets/images/sketchnotes/self-actualization.webp similarity index 100% rename from src/images/sketchnotes/self-actualization.webp rename to public/assets/images/sketchnotes/self-actualization.webp diff --git a/src/images/sketchnotes/the-art-of-enough.webp b/public/assets/images/sketchnotes/the-art-of-enough.webp similarity index 100% rename from src/images/sketchnotes/the-art-of-enough.webp rename to public/assets/images/sketchnotes/the-art-of-enough.webp diff --git a/src/images/sketchnotes/this-is-water-1.webp b/public/assets/images/sketchnotes/this-is-water-1.webp similarity index 100% rename from src/images/sketchnotes/this-is-water-1.webp rename to public/assets/images/sketchnotes/this-is-water-1.webp diff --git a/src/images/sketchnotes/this-is-water-2.webp b/public/assets/images/sketchnotes/this-is-water-2.webp similarity index 100% rename from src/images/sketchnotes/this-is-water-2.webp rename to public/assets/images/sketchnotes/this-is-water-2.webp diff --git a/src/images/sketchnotes/title-lettering.webp b/public/assets/images/sketchnotes/title-lettering.webp similarity index 100% rename from src/images/sketchnotes/title-lettering.webp rename to public/assets/images/sketchnotes/title-lettering.webp diff --git a/src/images/sketchnotes/weight-idea.webp b/public/assets/images/sketchnotes/weight-idea.webp similarity index 100% rename from src/images/sketchnotes/weight-idea.webp rename to public/assets/images/sketchnotes/weight-idea.webp diff --git a/src/images/sketchnotes/wim-hof-method.webp b/public/assets/images/sketchnotes/wim-hof-method.webp similarity index 100% rename from src/images/sketchnotes/wim-hof-method.webp rename to public/assets/images/sketchnotes/wim-hof-method.webp diff --git a/src/components/BasicImage.astro b/src/components/BasicImage.astro deleted file mode 100644 index b54fa15..0000000 --- a/src/components/BasicImage.astro +++ /dev/null @@ -1,132 +0,0 @@ ---- -import { Picture } from 'astro:assets'; -import type { ImageMetadata } from 'astro'; -import TextLink from './TextLink.astro'; -import Link from './Link.astro'; - -interface Props { - alt?: string; - caption?: string; - class?: string; - decoding?: 'async' | 'sync' | 'auto'; - height?: string | number; - href?: string; - loading?: 'lazy' | 'eager'; - noMargin?: boolean; - quality?: number; - role?: string; - size?: 'regular' | 'wide' | 'fullsize'; - source?: string; - sourceUrl?: string; - src: string; - width?: string | number; -} - -const { - alt, - caption, - class: className, - decoding = 'async', - height, - href, - loading = 'lazy', - noMargin, - quality, - size, - source, - sourceUrl, - src, - width, - ...props -} = Astro.props; - -// Normalize dimensions -const parseDim = (dim: string | number | undefined) => (dim ? Number(dim) : undefined); -const parsedWidth = parseDim(width); -const parsedHeight = parseDim(height); - -// Resolve Image Source -let localImage: ImageMetadata | undefined; -let remoteImage: string = src; - -// Get all the image metadata -const images = import.meta.glob<{ default: ImageMetadata }>('/src/images/**/*'); - -if (src.startsWith('/images')) { - const key = '/src' + src; - const loader = images[key as keyof typeof images]; - - if (typeof loader === 'function') { - const mod = await loader(); - localImage = mod.default; - } -} - -// Define sizes attribute for responsive images -const sizes = '(max-width: 440px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 85vw, 1100px'; - -// Determine the tag and specific attributes -const ImageWrapper = href ? Link : 'div'; -const wrapperProps = href ? { href } : {}; ---- - -
- - { - localImage ? ( - - ) : ( - {alt - ) - } - - { - (caption || source) && ( -
- {caption} - {caption && source ? '–' : ''} - {source && - (sourceUrl ? ( - - {source} - - ) : ( - {source} - ))} -
- ) - } -
diff --git a/src/components/Figure.astro b/src/components/Figure.astro index 9e015af..1921a51 100644 --- a/src/components/Figure.astro +++ b/src/components/Figure.astro @@ -10,7 +10,7 @@ const { class: className, caption, size = 'regular', ...props } = Astro.props;
- + {entry.data.title} )) } diff --git a/src/components/Image.astro b/src/components/Image.astro index 922b96c..5c24ec3 100644 --- a/src/components/Image.astro +++ b/src/components/Image.astro @@ -1,21 +1,99 @@ --- -const { class: className, noMargin, src, ...props } = Astro.props; +import TextLink from './TextLink.astro'; +import Link from './Link.astro'; + +interface Props { + alt?: string; + caption?: string; + class?: string; + decoding?: 'async' | 'sync' | 'auto'; + fullHeight?: boolean; + fullWidth?: boolean; + height?: string | number; + href?: string; + loading?: 'lazy' | 'eager'; + noMargin?: boolean; + role?: string; + size?: 'regular' | 'wide' | 'fullsize'; + source?: string; + sourceUrl?: string; + src: string; + width?: string | number; +} + +const { + alt, + caption, + class: className, + decoding = 'async', + fullHeight = false, + fullWidth = true, + height, + href, + loading = 'lazy', + noMargin, + role, + size, + source, + sourceUrl, + src, + width, + ...props +} = Astro.props; + +// Determine the tag and specific attributes +const ImageWrapper = href ? Link : 'div'; +const wrapperProps = href ? { href } : {}; --- -
- -
+ {...wrapperProps} + > + {alt + + { + (caption || source) && ( +
+ {caption} + {caption && source ? '–' : ''} + {source && + (sourceUrl ? ( + + {source} + + ) : ( + {source} + ))} +
+ ) + } +
diff --git a/src/components/JournalList.astro b/src/components/JournalList.astro index db79f10..9a2801e 100644 --- a/src/components/JournalList.astro +++ b/src/components/JournalList.astro @@ -1,5 +1,5 @@ --- -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; import type { CollectionEntry } from 'astro:content'; interface Props { @@ -27,7 +27,7 @@ const { entries } = Astro.props; >
{data.cover ? ( - ; @@ -11,7 +11,7 @@ const { project } = Astro.props; { project.data.image && ( - +
diff --git a/src/content/ai-art/after-humanity.mdx b/src/content/ai-art/after-humanity.mdx index 36131be..d139e57 100644 --- a/src/content/ai-art/after-humanity.mdx +++ b/src/content/ai-art/after-humanity.mdx @@ -4,41 +4,41 @@ date: 2023-02-05 sort: 210 coverSize: medium images: - - src: /images/ai-art/after-humanity/1.webp + - src: /assets/images/ai-art/after-humanity/1.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/2.webp + - src: /assets/images/ai-art/after-humanity/2.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/3.webp + - src: /assets/images/ai-art/after-humanity/3.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/4.webp + - src: /assets/images/ai-art/after-humanity/4.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/5.webp + - src: /assets/images/ai-art/after-humanity/5.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/6.webp + - src: /assets/images/ai-art/after-humanity/6.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/7.webp + - src: /assets/images/ai-art/after-humanity/7.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/8.webp + - src: /assets/images/ai-art/after-humanity/8.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/9.webp + - src: /assets/images/ai-art/after-humanity/9.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/10.webp + - src: /assets/images/ai-art/after-humanity/10.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/11.webp + - src: /assets/images/ai-art/after-humanity/11.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/12.webp + - src: /assets/images/ai-art/after-humanity/12.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/13.webp + - src: /assets/images/ai-art/after-humanity/13.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/14.webp + - src: /assets/images/ai-art/after-humanity/14.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/15.webp + - src: /assets/images/ai-art/after-humanity/15.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/16.webp + - src: /assets/images/ai-art/after-humanity/16.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/17.webp + - src: /assets/images/ai-art/after-humanity/17.webp aspectRatio: 1 - - src: /images/ai-art/after-humanity/18.webp + - src: /assets/images/ai-art/after-humanity/18.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/ai-taking-over-the-world.mdx b/src/content/ai-art/ai-taking-over-the-world.mdx index 72c8dbc..47e8e38 100644 --- a/src/content/ai-art/ai-taking-over-the-world.mdx +++ b/src/content/ai-art/ai-taking-over-the-world.mdx @@ -4,7 +4,7 @@ date: 2022-12-14 sort: 70 coverSize: medium images: - - src: /images/ai-art/ai-taking-over-the-world/1.webp + - src: /assets/images/ai-art/ai-taking-over-the-world/1.webp aspectRatio: 1.6 --- diff --git a/src/content/ai-art/alien-world.mdx b/src/content/ai-art/alien-world.mdx index 3636590..c4802be 100644 --- a/src/content/ai-art/alien-world.mdx +++ b/src/content/ai-art/alien-world.mdx @@ -3,25 +3,25 @@ title: Alien World date: 2023-02-11 sort: 40 images: - - src: /images/ai-art/alien-world/1.webp + - src: /assets/images/ai-art/alien-world/1.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/2.webp + - src: /assets/images/ai-art/alien-world/2.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/3.webp + - src: /assets/images/ai-art/alien-world/3.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/4.webp + - src: /assets/images/ai-art/alien-world/4.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/5.webp + - src: /assets/images/ai-art/alien-world/5.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/6.webp + - src: /assets/images/ai-art/alien-world/6.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/7.webp + - src: /assets/images/ai-art/alien-world/7.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/8.webp + - src: /assets/images/ai-art/alien-world/8.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/9.webp + - src: /assets/images/ai-art/alien-world/9.webp aspectRatio: 1 - - src: /images/ai-art/alien-world/10.webp + - src: /assets/images/ai-art/alien-world/10.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/aurora.mdx b/src/content/ai-art/aurora.mdx index 16afd8f..bf5c744 100644 --- a/src/content/ai-art/aurora.mdx +++ b/src/content/ai-art/aurora.mdx @@ -4,33 +4,33 @@ date: 2023-01-14 sort: 120 coverSize: large images: - - src: /images/ai-art/aurora/1.webp + - src: /assets/images/ai-art/aurora/1.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/2.webp + - src: /assets/images/ai-art/aurora/2.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/3.webp + - src: /assets/images/ai-art/aurora/3.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/4.webp + - src: /assets/images/ai-art/aurora/4.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/5.webp + - src: /assets/images/ai-art/aurora/5.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/6.webp + - src: /assets/images/ai-art/aurora/6.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/7.webp + - src: /assets/images/ai-art/aurora/7.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/8.webp + - src: /assets/images/ai-art/aurora/8.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/9.webp + - src: /assets/images/ai-art/aurora/9.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/10.webp + - src: /assets/images/ai-art/aurora/10.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/11.webp + - src: /assets/images/ai-art/aurora/11.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/12.webp + - src: /assets/images/ai-art/aurora/12.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/13.webp + - src: /assets/images/ai-art/aurora/13.webp aspectRatio: 0.67 - - src: /images/ai-art/aurora/14.webp + - src: /assets/images/ai-art/aurora/14.webp aspectRatio: 0.67 --- diff --git a/src/content/ai-art/bonsai.mdx b/src/content/ai-art/bonsai.mdx index ef2f509..02428c0 100644 --- a/src/content/ai-art/bonsai.mdx +++ b/src/content/ai-art/bonsai.mdx @@ -3,15 +3,15 @@ title: Bonsai date: 2022-12-06 sort: 50 images: - - src: /images/ai-art/bonsai/1.webp + - src: /assets/images/ai-art/bonsai/1.webp aspectRatio: 1 - - src: /images/ai-art/bonsai/2.webp + - src: /assets/images/ai-art/bonsai/2.webp aspectRatio: 1 - - src: /images/ai-art/bonsai/3.webp + - src: /assets/images/ai-art/bonsai/3.webp aspectRatio: 1 - - src: /images/ai-art/bonsai/4.webp + - src: /assets/images/ai-art/bonsai/4.webp aspectRatio: 1 - - src: /images/ai-art/bonsai/5.webp + - src: /assets/images/ai-art/bonsai/5.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/chicken-nugget-woman.mdx b/src/content/ai-art/chicken-nugget-woman.mdx index 3684064..742fc26 100644 --- a/src/content/ai-art/chicken-nugget-woman.mdx +++ b/src/content/ai-art/chicken-nugget-woman.mdx @@ -4,7 +4,7 @@ date: 2023-01-17 sort: 140 coverSize: medium images: - - src: /images/ai-art/chicken-nugget-woman/1.webp + - src: /assets/images/ai-art/chicken-nugget-woman/1.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/chimera.mdx b/src/content/ai-art/chimera.mdx index c46a194..79729dc 100644 --- a/src/content/ai-art/chimera.mdx +++ b/src/content/ai-art/chimera.mdx @@ -3,17 +3,17 @@ title: Chimera date: 2023-02-11 sort: 220 images: - - src: /images/ai-art/chimera/1.webp + - src: /assets/images/ai-art/chimera/1.webp aspectRatio: 1 - - src: /images/ai-art/chimera/2.webp + - src: /assets/images/ai-art/chimera/2.webp aspectRatio: 1 - - src: /images/ai-art/chimera/3.webp + - src: /assets/images/ai-art/chimera/3.webp aspectRatio: 1 - - src: /images/ai-art/chimera/4.webp + - src: /assets/images/ai-art/chimera/4.webp aspectRatio: 1 - - src: /images/ai-art/chimera/5.webp + - src: /assets/images/ai-art/chimera/5.webp aspectRatio: 1 - - src: /images/ai-art/chimera/6.webp + - src: /assets/images/ai-art/chimera/6.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/clifton.mdx b/src/content/ai-art/clifton.mdx index 8d1626f..4e2d1fd 100644 --- a/src/content/ai-art/clifton.mdx +++ b/src/content/ai-art/clifton.mdx @@ -4,7 +4,7 @@ date: 2023-07-03 sort: 390 coverSize: medium images: - - src: /images/ai-art/clifton/1.webp + - src: /assets/images/ai-art/clifton/1.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/comic-manga.mdx b/src/content/ai-art/comic-manga.mdx index c28e002..dad12bc 100644 --- a/src/content/ai-art/comic-manga.mdx +++ b/src/content/ai-art/comic-manga.mdx @@ -4,21 +4,21 @@ date: 2023-05-24 sort: 360 coverSize: medium images: - - src: /images/ai-art/comic-manga/1.webp + - src: /assets/images/ai-art/comic-manga/1.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/2.webp + - src: /assets/images/ai-art/comic-manga/2.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/3.webp + - src: /assets/images/ai-art/comic-manga/3.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/4.webp + - src: /assets/images/ai-art/comic-manga/4.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/5.webp + - src: /assets/images/ai-art/comic-manga/5.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/6.webp + - src: /assets/images/ai-art/comic-manga/6.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/7.webp + - src: /assets/images/ai-art/comic-manga/7.webp aspectRatio: 1 - - src: /images/ai-art/comic-manga/8.webp + - src: /assets/images/ai-art/comic-manga/8.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/cosmic-horror.mdx b/src/content/ai-art/cosmic-horror.mdx index 68f11ae..3c0b9a4 100644 --- a/src/content/ai-art/cosmic-horror.mdx +++ b/src/content/ai-art/cosmic-horror.mdx @@ -3,23 +3,23 @@ title: Cosmic Horror date: 2023-05-24 sort: 260 images: - - src: /images/ai-art/cosmic-horror/1.webp + - src: /assets/images/ai-art/cosmic-horror/1.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/2.webp + - src: /assets/images/ai-art/cosmic-horror/2.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/3.webp + - src: /assets/images/ai-art/cosmic-horror/3.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/4.webp + - src: /assets/images/ai-art/cosmic-horror/4.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/5.webp + - src: /assets/images/ai-art/cosmic-horror/5.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/6.webp + - src: /assets/images/ai-art/cosmic-horror/6.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/7.webp + - src: /assets/images/ai-art/cosmic-horror/7.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/8.webp + - src: /assets/images/ai-art/cosmic-horror/8.webp aspectRatio: 1 - - src: /images/ai-art/cosmic-horror/9.webp + - src: /assets/images/ai-art/cosmic-horror/9.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/cyberpunk-city.mdx b/src/content/ai-art/cyberpunk-city.mdx index b83bcab..13a3f87 100644 --- a/src/content/ai-art/cyberpunk-city.mdx +++ b/src/content/ai-art/cyberpunk-city.mdx @@ -4,13 +4,13 @@ date: 2022-12-12 sort: 80 coverSize: large images: - - src: /images/ai-art/cyberpunk-city/1.webp + - src: /assets/images/ai-art/cyberpunk-city/1.webp aspectRatio: 1.6 - - src: /images/ai-art/cyberpunk-city/2.webp + - src: /assets/images/ai-art/cyberpunk-city/2.webp aspectRatio: 1.6 - - src: /images/ai-art/cyberpunk-city/3.webp + - src: /assets/images/ai-art/cyberpunk-city/3.webp aspectRatio: 1.6 - - src: /images/ai-art/cyberpunk-city/4.webp + - src: /assets/images/ai-art/cyberpunk-city/4.webp aspectRatio: 1.6 --- diff --git a/src/content/ai-art/cyberpunk-wizard.mdx b/src/content/ai-art/cyberpunk-wizard.mdx index bb90c54..d56e5d6 100644 --- a/src/content/ai-art/cyberpunk-wizard.mdx +++ b/src/content/ai-art/cyberpunk-wizard.mdx @@ -4,7 +4,7 @@ date: 2022-11-28 sort: 10 coverSize: medium images: - - src: /images/ai-art/cyberpunk-wizard/1.webp + - src: /assets/images/ai-art/cyberpunk-wizard/1.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/death-of-the-stoic-man.mdx b/src/content/ai-art/death-of-the-stoic-man.mdx index c4e48b5..d9290d4 100644 --- a/src/content/ai-art/death-of-the-stoic-man.mdx +++ b/src/content/ai-art/death-of-the-stoic-man.mdx @@ -3,15 +3,15 @@ title: The Death of the Stoic Man date: 2023-01-17 sort: 130 images: - - src: /images/ai-art/death-of-the-stoic-man/1.webp + - src: /assets/images/ai-art/death-of-the-stoic-man/1.webp aspectRatio: 1 - - src: /images/ai-art/death-of-the-stoic-man/2.webp + - src: /assets/images/ai-art/death-of-the-stoic-man/2.webp aspectRatio: 1 - - src: /images/ai-art/death-of-the-stoic-man/3.webp + - src: /assets/images/ai-art/death-of-the-stoic-man/3.webp aspectRatio: 1 - - src: /images/ai-art/death-of-the-stoic-man/4.webp + - src: /assets/images/ai-art/death-of-the-stoic-man/4.webp aspectRatio: 1 - - src: /images/ai-art/death-of-the-stoic-man/5.webp + - src: /assets/images/ai-art/death-of-the-stoic-man/5.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/distant-galaxy.mdx b/src/content/ai-art/distant-galaxy.mdx index d98e8c7..37650fd 100644 --- a/src/content/ai-art/distant-galaxy.mdx +++ b/src/content/ai-art/distant-galaxy.mdx @@ -4,17 +4,17 @@ date: 2022-12-14 sort: 60 coverSize: medium images: - - src: /images/ai-art/distant-galaxy/1.webp + - src: /assets/images/ai-art/distant-galaxy/1.webp aspectRatio: 1.6 - - src: /images/ai-art/distant-galaxy/2.webp + - src: /assets/images/ai-art/distant-galaxy/2.webp aspectRatio: 1.6 - - src: /images/ai-art/distant-galaxy/3.webp + - src: /assets/images/ai-art/distant-galaxy/3.webp aspectRatio: 2 - - src: /images/ai-art/distant-galaxy/4.webp + - src: /assets/images/ai-art/distant-galaxy/4.webp aspectRatio: 2 - - src: /images/ai-art/distant-galaxy/5.webp + - src: /assets/images/ai-art/distant-galaxy/5.webp aspectRatio: 2 - - src: /images/ai-art/distant-galaxy/6.webp + - src: /assets/images/ai-art/distant-galaxy/6.webp aspectRatio: 2 --- diff --git a/src/content/ai-art/fantasy-world.mdx b/src/content/ai-art/fantasy-world.mdx index d51731a..179ddf0 100644 --- a/src/content/ai-art/fantasy-world.mdx +++ b/src/content/ai-art/fantasy-world.mdx @@ -3,17 +3,17 @@ title: Fantasy World date: 2022-12-01 sort: 30 images: - - src: /images/ai-art/fantasy-world/1.webp + - src: /assets/images/ai-art/fantasy-world/1.webp aspectRatio: 1 - - src: /images/ai-art/fantasy-world/2.webp + - src: /assets/images/ai-art/fantasy-world/2.webp aspectRatio: 1 - - src: /images/ai-art/fantasy-world/3.webp + - src: /assets/images/ai-art/fantasy-world/3.webp aspectRatio: 1 - - src: /images/ai-art/fantasy-world/4.webp + - src: /assets/images/ai-art/fantasy-world/4.webp aspectRatio: 1 - - src: /images/ai-art/fantasy-world/5.webp + - src: /assets/images/ai-art/fantasy-world/5.webp aspectRatio: 1 - - src: /images/ai-art/fantasy-world/6.webp + - src: /assets/images/ai-art/fantasy-world/6.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/female-cyborg.mdx b/src/content/ai-art/female-cyborg.mdx index 5a47b69..bf5b033 100644 --- a/src/content/ai-art/female-cyborg.mdx +++ b/src/content/ai-art/female-cyborg.mdx @@ -4,13 +4,13 @@ date: 2022-12-05 sort: 150 coverSize: large images: - - src: /images/ai-art/female-cyborg/1.webp + - src: /assets/images/ai-art/female-cyborg/1.webp aspectRatio: 1.6 - - src: /images/ai-art/female-cyborg/2.webp + - src: /assets/images/ai-art/female-cyborg/2.webp aspectRatio: 1 - - src: /images/ai-art/female-cyborg/3.webp + - src: /assets/images/ai-art/female-cyborg/3.webp aspectRatio: 1 - - src: /images/ai-art/female-cyborg/4.webp + - src: /assets/images/ai-art/female-cyborg/4.webp aspectRatio: 1.6 --- diff --git a/src/content/ai-art/flux-dev-lora.mdx b/src/content/ai-art/flux-dev-lora.mdx index 47b104f..c0a4ff0 100644 --- a/src/content/ai-art/flux-dev-lora.mdx +++ b/src/content/ai-art/flux-dev-lora.mdx @@ -4,27 +4,27 @@ date: 2025-01-23 sort: 395 coverSize: medium images: - - src: /images/ai-art/flux-dev-lora/1.webp + - src: /assets/images/ai-art/flux-dev-lora/1.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/2.webp + - src: /assets/images/ai-art/flux-dev-lora/2.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/3.webp + - src: /assets/images/ai-art/flux-dev-lora/3.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/4.webp + - src: /assets/images/ai-art/flux-dev-lora/4.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/5.webp + - src: /assets/images/ai-art/flux-dev-lora/5.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/6.webp + - src: /assets/images/ai-art/flux-dev-lora/6.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/7.webp + - src: /assets/images/ai-art/flux-dev-lora/7.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/8.webp + - src: /assets/images/ai-art/flux-dev-lora/8.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/9.webp + - src: /assets/images/ai-art/flux-dev-lora/9.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/10.webp + - src: /assets/images/ai-art/flux-dev-lora/10.webp aspectRatio: 1 - - src: /images/ai-art/flux-dev-lora/11.webp + - src: /assets/images/ai-art/flux-dev-lora/11.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/futuristic-bedroom.mdx b/src/content/ai-art/futuristic-bedroom.mdx index 49df8bc..96ae47f 100644 --- a/src/content/ai-art/futuristic-bedroom.mdx +++ b/src/content/ai-art/futuristic-bedroom.mdx @@ -4,17 +4,17 @@ date: 2023-06-06 sort: 380 coverSize: large images: - - src: /images/ai-art/futuristic-bedroom/1.webp + - src: /assets/images/ai-art/futuristic-bedroom/1.webp aspectRatio: 1.5 - - src: /images/ai-art/futuristic-bedroom/2.webp + - src: /assets/images/ai-art/futuristic-bedroom/2.webp aspectRatio: 1.5 - - src: /images/ai-art/futuristic-bedroom/3.webp + - src: /assets/images/ai-art/futuristic-bedroom/3.webp aspectRatio: 1.5 - - src: /images/ai-art/futuristic-bedroom/4.webp + - src: /assets/images/ai-art/futuristic-bedroom/4.webp aspectRatio: 1.5 - - src: /images/ai-art/futuristic-bedroom/5.webp + - src: /assets/images/ai-art/futuristic-bedroom/5.webp aspectRatio: 1.5 - - src: /images/ai-art/futuristic-bedroom/6.webp + - src: /assets/images/ai-art/futuristic-bedroom/6.webp aspectRatio: 1.5 --- diff --git a/src/content/ai-art/gods-of-the-copybook-headings.mdx b/src/content/ai-art/gods-of-the-copybook-headings.mdx index 0f31c5e..e41d44a 100644 --- a/src/content/ai-art/gods-of-the-copybook-headings.mdx +++ b/src/content/ai-art/gods-of-the-copybook-headings.mdx @@ -4,13 +4,13 @@ date: 2022-11-28 sort: 20 coverSize: medium images: - - src: /images/ai-art/gods-of-the-copybook-headings/1.webp + - src: /assets/images/ai-art/gods-of-the-copybook-headings/1.webp aspectRatio: 1 - - src: /images/ai-art/gods-of-the-copybook-headings/2.webp + - src: /assets/images/ai-art/gods-of-the-copybook-headings/2.webp aspectRatio: 1 - - src: /images/ai-art/gods-of-the-copybook-headings/3.webp + - src: /assets/images/ai-art/gods-of-the-copybook-headings/3.webp aspectRatio: 1 - - src: /images/ai-art/gods-of-the-copybook-headings/4.webp + - src: /assets/images/ai-art/gods-of-the-copybook-headings/4.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/irezumi.mdx b/src/content/ai-art/irezumi.mdx index c36e58f..c416092 100644 --- a/src/content/ai-art/irezumi.mdx +++ b/src/content/ai-art/irezumi.mdx @@ -4,17 +4,17 @@ date: 2023-01-17 sort: 110 coverSize: medium images: - - src: /images/ai-art/irezumi/1.webp + - src: /assets/images/ai-art/irezumi/1.webp aspectRatio: 1 - - src: /images/ai-art/irezumi/2.webp + - src: /assets/images/ai-art/irezumi/2.webp aspectRatio: 1 - - src: /images/ai-art/irezumi/3.webp + - src: /assets/images/ai-art/irezumi/3.webp aspectRatio: 1 - - src: /images/ai-art/irezumi/4.webp + - src: /assets/images/ai-art/irezumi/4.webp aspectRatio: 1 - - src: /images/ai-art/irezumi/5.webp + - src: /assets/images/ai-art/irezumi/5.webp aspectRatio: 1 - - src: /images/ai-art/irezumi/6.webp + - src: /assets/images/ai-art/irezumi/6.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/misty-lake.mdx b/src/content/ai-art/misty-lake.mdx index 3b06ead..d45deb5 100644 --- a/src/content/ai-art/misty-lake.mdx +++ b/src/content/ai-art/misty-lake.mdx @@ -4,19 +4,19 @@ date: 2023-05-03 sort: 90 coverSize: large images: - - src: /images/ai-art/misty-lake/1.webp + - src: /assets/images/ai-art/misty-lake/1.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/2.webp + - src: /assets/images/ai-art/misty-lake/2.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/3.webp + - src: /assets/images/ai-art/misty-lake/3.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/4.webp + - src: /assets/images/ai-art/misty-lake/4.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/5.webp + - src: /assets/images/ai-art/misty-lake/5.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/6.webp + - src: /assets/images/ai-art/misty-lake/6.webp aspectRatio: 1 - - src: /images/ai-art/misty-lake/7.webp + - src: /assets/images/ai-art/misty-lake/7.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/mona-lisa.mdx b/src/content/ai-art/mona-lisa.mdx index 6515d08..dcef18a 100644 --- a/src/content/ai-art/mona-lisa.mdx +++ b/src/content/ai-art/mona-lisa.mdx @@ -4,19 +4,19 @@ date: 2023-03-14 sort: 250 coverSize: medium images: - - src: /images/ai-art/mona-lisa/1.webp + - src: /assets/images/ai-art/mona-lisa/1.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/2.webp + - src: /assets/images/ai-art/mona-lisa/2.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/3.webp + - src: /assets/images/ai-art/mona-lisa/3.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/4.webp + - src: /assets/images/ai-art/mona-lisa/4.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/5.webp + - src: /assets/images/ai-art/mona-lisa/5.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/6.webp + - src: /assets/images/ai-art/mona-lisa/6.webp aspectRatio: 0.67 - - src: /images/ai-art/mona-lisa/7.webp + - src: /assets/images/ai-art/mona-lisa/7.webp aspectRatio: 0.67 --- diff --git a/src/content/ai-art/mushrooms.mdx b/src/content/ai-art/mushrooms.mdx index 85689fc..96be31b 100644 --- a/src/content/ai-art/mushrooms.mdx +++ b/src/content/ai-art/mushrooms.mdx @@ -3,13 +3,13 @@ title: Mushrooms date: 2023-01-29 sort: 180 images: - - src: /images/ai-art/mushrooms/1.webp + - src: /assets/images/ai-art/mushrooms/1.webp aspectRatio: 1 - - src: /images/ai-art/mushrooms/2.webp + - src: /assets/images/ai-art/mushrooms/2.webp aspectRatio: 1 - - src: /images/ai-art/mushrooms/3.webp + - src: /assets/images/ai-art/mushrooms/3.webp aspectRatio: 1 - - src: /images/ai-art/mushrooms/4.webp + - src: /assets/images/ai-art/mushrooms/4.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/propaganda-poster.mdx b/src/content/ai-art/propaganda-poster.mdx index ccd1312..646acd3 100644 --- a/src/content/ai-art/propaganda-poster.mdx +++ b/src/content/ai-art/propaganda-poster.mdx @@ -4,47 +4,47 @@ date: 2023-03-18 sort: 240 coverSize: medium images: - - src: /images/ai-art/propaganda-poster/1.webp + - src: /assets/images/ai-art/propaganda-poster/1.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/2.webp + - src: /assets/images/ai-art/propaganda-poster/2.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/3.webp + - src: /assets/images/ai-art/propaganda-poster/3.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/4.webp + - src: /assets/images/ai-art/propaganda-poster/4.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/5.webp + - src: /assets/images/ai-art/propaganda-poster/5.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/6.webp + - src: /assets/images/ai-art/propaganda-poster/6.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/7.webp + - src: /assets/images/ai-art/propaganda-poster/7.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/8.webp + - src: /assets/images/ai-art/propaganda-poster/8.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/9.webp + - src: /assets/images/ai-art/propaganda-poster/9.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/10.webp + - src: /assets/images/ai-art/propaganda-poster/10.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/11.webp + - src: /assets/images/ai-art/propaganda-poster/11.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/12.webp + - src: /assets/images/ai-art/propaganda-poster/12.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/13.webp + - src: /assets/images/ai-art/propaganda-poster/13.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/14.webp + - src: /assets/images/ai-art/propaganda-poster/14.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/15.webp + - src: /assets/images/ai-art/propaganda-poster/15.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/16.webp + - src: /assets/images/ai-art/propaganda-poster/16.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/17.webp + - src: /assets/images/ai-art/propaganda-poster/17.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/18.webp + - src: /assets/images/ai-art/propaganda-poster/18.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/19.webp + - src: /assets/images/ai-art/propaganda-poster/19.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/20.webp + - src: /assets/images/ai-art/propaganda-poster/20.webp aspectRatio: 0.67 - - src: /images/ai-art/propaganda-poster/21.webp + - src: /assets/images/ai-art/propaganda-poster/21.webp aspectRatio: 0.67 --- diff --git a/src/content/ai-art/roman-stoics.mdx b/src/content/ai-art/roman-stoics.mdx index 4208bf0..0ab81e6 100644 --- a/src/content/ai-art/roman-stoics.mdx +++ b/src/content/ai-art/roman-stoics.mdx @@ -4,11 +4,11 @@ date: 2023-07-29 sort: 400 coverSize: large images: - - src: /images/ai-art/roman-stoics/seneca.webp + - src: /assets/images/ai-art/roman-stoics/seneca.webp aspectRatio: 1 - - src: /images/ai-art/roman-stoics/marcus-aurelius.webp + - src: /assets/images/ai-art/roman-stoics/marcus-aurelius.webp aspectRatio: 1 - - src: /images/ai-art/roman-stoics/epictetus.webp + - src: /assets/images/ai-art/roman-stoics/epictetus.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/simpsons.mdx b/src/content/ai-art/simpsons.mdx index 889141c..98bb1b6 100644 --- a/src/content/ai-art/simpsons.mdx +++ b/src/content/ai-art/simpsons.mdx @@ -3,45 +3,45 @@ title: The Simpsons date: 2023-02-13 sort: 160 images: - - src: /images/ai-art/the-simpsons/1.webp + - src: /assets/images/ai-art/the-simpsons/1.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/2.webp + - src: /assets/images/ai-art/the-simpsons/2.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/3.webp + - src: /assets/images/ai-art/the-simpsons/3.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/4.webp + - src: /assets/images/ai-art/the-simpsons/4.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/5.webp + - src: /assets/images/ai-art/the-simpsons/5.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/6.webp + - src: /assets/images/ai-art/the-simpsons/6.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/7.webp + - src: /assets/images/ai-art/the-simpsons/7.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/8.webp + - src: /assets/images/ai-art/the-simpsons/8.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/9.webp + - src: /assets/images/ai-art/the-simpsons/9.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/10.webp + - src: /assets/images/ai-art/the-simpsons/10.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/11.webp + - src: /assets/images/ai-art/the-simpsons/11.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/12.webp + - src: /assets/images/ai-art/the-simpsons/12.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/13.webp + - src: /assets/images/ai-art/the-simpsons/13.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/14.webp + - src: /assets/images/ai-art/the-simpsons/14.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/15.webp + - src: /assets/images/ai-art/the-simpsons/15.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/16.webp + - src: /assets/images/ai-art/the-simpsons/16.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/17.webp + - src: /assets/images/ai-art/the-simpsons/17.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/18.webp + - src: /assets/images/ai-art/the-simpsons/18.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/19.webp + - src: /assets/images/ai-art/the-simpsons/19.webp aspectRatio: 1 - - src: /images/ai-art/the-simpsons/20.webp + - src: /assets/images/ai-art/the-simpsons/20.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/south-park.mdx b/src/content/ai-art/south-park.mdx index 49b2814..03df961 100644 --- a/src/content/ai-art/south-park.mdx +++ b/src/content/ai-art/south-park.mdx @@ -3,13 +3,13 @@ title: South Park date: 2023-02-22 sort: 230 images: - - src: /images/ai-art/south-park/1.webp + - src: /assets/images/ai-art/south-park/1.webp aspectRatio: 1 - - src: /images/ai-art/south-park/2.webp + - src: /assets/images/ai-art/south-park/2.webp aspectRatio: 1 - - src: /images/ai-art/south-park/3.webp + - src: /assets/images/ai-art/south-park/3.webp aspectRatio: 1 - - src: /images/ai-art/south-park/4.webp + - src: /assets/images/ai-art/south-park/4.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/this-is-john-galt-speaking.mdx b/src/content/ai-art/this-is-john-galt-speaking.mdx index aa00392..28db82f 100644 --- a/src/content/ai-art/this-is-john-galt-speaking.mdx +++ b/src/content/ai-art/this-is-john-galt-speaking.mdx @@ -3,7 +3,7 @@ title: This is John Galt Speaking date: 2023-04-18 sort: 200 images: - - src: /images/ai-art/this-is-john-galt-speaking/1.webp + - src: /assets/images/ai-art/this-is-john-galt-speaking/1.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/tower-of-babel.mdx b/src/content/ai-art/tower-of-babel.mdx index 1ce8819..90f9038 100644 --- a/src/content/ai-art/tower-of-babel.mdx +++ b/src/content/ai-art/tower-of-babel.mdx @@ -3,23 +3,23 @@ title: Tower of Babel date: 2023-01-29 sort: 190 images: - - src: /images/ai-art/tower-of-babel/1.webp + - src: /assets/images/ai-art/tower-of-babel/1.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/2.webp + - src: /assets/images/ai-art/tower-of-babel/2.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/3.webp + - src: /assets/images/ai-art/tower-of-babel/3.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/4.webp + - src: /assets/images/ai-art/tower-of-babel/4.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/5.webp + - src: /assets/images/ai-art/tower-of-babel/5.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/6.webp + - src: /assets/images/ai-art/tower-of-babel/6.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/7.webp + - src: /assets/images/ai-art/tower-of-babel/7.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/8.webp + - src: /assets/images/ai-art/tower-of-babel/8.webp aspectRatio: 1 - - src: /images/ai-art/tower-of-babel/9.webp + - src: /assets/images/ai-art/tower-of-babel/9.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/utopia-dystopia.mdx b/src/content/ai-art/utopia-dystopia.mdx index d88c4e4..00b41d8 100644 --- a/src/content/ai-art/utopia-dystopia.mdx +++ b/src/content/ai-art/utopia-dystopia.mdx @@ -3,15 +3,15 @@ title: Utopia & Dystopia date: 2023-01-29 sort: 170 images: - - src: /images/ai-art/utopia-dystopia/1.webp + - src: /assets/images/ai-art/utopia-dystopia/1.webp aspectRatio: 1 - - src: /images/ai-art/utopia-dystopia/2.webp + - src: /assets/images/ai-art/utopia-dystopia/2.webp aspectRatio: 1 - - src: /images/ai-art/utopia-dystopia/3.webp + - src: /assets/images/ai-art/utopia-dystopia/3.webp aspectRatio: 1 - - src: /images/ai-art/utopia-dystopia/4.webp + - src: /assets/images/ai-art/utopia-dystopia/4.webp aspectRatio: 1 - - src: /images/ai-art/utopia-dystopia/5.webp + - src: /assets/images/ai-art/utopia-dystopia/5.webp aspectRatio: 1 --- diff --git a/src/content/ai-art/yakuza.mdx b/src/content/ai-art/yakuza.mdx index 12411b3..626581e 100644 --- a/src/content/ai-art/yakuza.mdx +++ b/src/content/ai-art/yakuza.mdx @@ -3,17 +3,17 @@ title: Yakuza date: 2023-01-06 sort: 100 images: - - src: /images/ai-art/yakuza/1.webp + - src: /assets/images/ai-art/yakuza/1.webp aspectRatio: 1 - - src: /images/ai-art/yakuza/2.webp + - src: /assets/images/ai-art/yakuza/2.webp aspectRatio: 1 - - src: /images/ai-art/yakuza/3.webp + - src: /assets/images/ai-art/yakuza/3.webp aspectRatio: 1 - - src: /images/ai-art/yakuza/4.webp + - src: /assets/images/ai-art/yakuza/4.webp aspectRatio: 1 - - src: /images/ai-art/yakuza/5.webp + - src: /assets/images/ai-art/yakuza/5.webp aspectRatio: 1 - - src: /images/ai-art/yakuza/6.webp + - src: /assets/images/ai-art/yakuza/6.webp aspectRatio: 1 --- diff --git a/src/content/journal/2007/gtd.mdx b/src/content/journal/2007/gtd.mdx index 7de0be7..f505c86 100644 --- a/src/content/journal/2007/gtd.mdx +++ b/src/content/journal/2007/gtd.mdx @@ -4,7 +4,7 @@ slug: gtd author: Stefan Imhoff date: 2007-11-24 description: "I’ve been working with GTD (Getting Things Done) for 1.5 years: An Introduction to Organization and Self-Management with GTD." -cover: /images/cover/gtd.webp +cover: /assets/images/cover/gtd.webp tags: ["productivity", "self-improvement", "book", "minimalism"] --- @@ -22,8 +22,8 @@ In any case, I think that one _gets_ the everyday madness governed by Allen’s ## The GTD Basics - @@ -44,8 +44,8 @@ Tasks can be delegated to other people or planned for certain times. If you have ## GTD in Everyday Life - diff --git a/src/content/journal/2007/japanese-colors.mdx b/src/content/journal/2007/japanese-colors.mdx index 6396519..44dc53f 100644 --- a/src/content/journal/2007/japanese-colors.mdx +++ b/src/content/journal/2007/japanese-colors.mdx @@ -4,7 +4,7 @@ slug: japanese-colors author: Stefan Imhoff date: 2007-12-08 description: Traditional, Japanese colors as a color palette for Photoshop and Illustrator to download (FREE). -cover: /images/cover/japanese-colors.webp +cover: /assets/images/cover/japanese-colors.webp tags: ["design", "download", "book", "japan", "recommendation"] --- diff --git a/src/content/journal/2007/koi-design.mdx b/src/content/journal/2007/koi-design.mdx index 5c59bcd..aa0ac42 100644 --- a/src/content/journal/2007/koi-design.mdx +++ b/src/content/journal/2007/koi-design.mdx @@ -4,7 +4,7 @@ slug: koi-design author: Stefan Imhoff date: 2007-06-02 description: Irezumi (Japanese tattooing) is an inspiration for my website and the origin of my design. -cover: /images/cover/design-koi.webp +cover: /assets/images/cover/design-koi.webp tags: ["design", "book", "japan", "personal"] --- @@ -42,8 +42,8 @@ In addition to gods, mythical creatures, and demons, the most important source o ## Water Margin - @@ -58,9 +58,9 @@ The motif I chose for my design shows a koi (carp) trying to swim up the heavy r Legend has it that a koi, who manages to swim up the magical waterfalls, transforms into a dragon. After another 500 years, he turns into a horned dragon and after 1000 years into a winged dragon. Thus, the next design should show a dragon. - diff --git a/src/content/journal/2009/git.mdx b/src/content/journal/2009/git.mdx index 0f7c5dc..bcf9d40 100644 --- a/src/content/journal/2009/git.mdx +++ b/src/content/journal/2009/git.mdx @@ -4,7 +4,7 @@ slug: git author: Stefan Imhoff date: 2009-02-10 description: An extensive collection of links to tutorials, tutorials, screencasts, and documentation on Git. -cover: /images/cover/git.webp +cover: /assets/images/cover/git.webp tags: ["code"] --- diff --git a/src/content/journal/2009/gitweb-theme.mdx b/src/content/journal/2009/gitweb-theme.mdx index dc611f1..69202a6 100644 --- a/src/content/journal/2009/gitweb-theme.mdx +++ b/src/content/journal/2009/gitweb-theme.mdx @@ -4,7 +4,7 @@ slug: gitweb-theme author: Stefan Imhoff date: 2009-02-19 description: My popular theme for GitWeb to download for free. Now GitWeb looks more similar to GitHub and is not ugly anymore. -cover: /images/cover/gitweb-theme.webp +cover: /assets/images/cover/gitweb-theme.webp tags: ["download", "design"] --- @@ -18,28 +18,28 @@ The exact installation instructions are included in the package on GitHub. ## Screenshots - - +Summary - +Commit - - +Log - diff --git a/src/content/journal/2009/home-documentary.mdx b/src/content/journal/2009/home-documentary.mdx index b74d190..aea2cda 100644 --- a/src/content/journal/2009/home-documentary.mdx +++ b/src/content/journal/2009/home-documentary.mdx @@ -4,7 +4,7 @@ slug: home-documentary author: Stefan Imhoff date: 2009-06-15 description: "Recommended Film: View the nature documentation HOME by Yann Arthus-Bertrand for FREE. Beautiful aerial photographs of the world. The creation of the earth, life, destruction by man and hope and ways out." -cover: /images/cover/home-documentary.webp +cover: /assets/images/cover/home-documentary.webp tags: ["film", "recommendation"] --- diff --git a/src/content/journal/2010/rework.mdx b/src/content/journal/2010/rework.mdx index 0a00826..a83d537 100644 --- a/src/content/journal/2010/rework.mdx +++ b/src/content/journal/2010/rework.mdx @@ -4,7 +4,7 @@ slug: rework author: Stefan Imhoff date: 2010-04-27 description: "Reading recommendation for the new book from Basecamp: Rework. A short, well-illustrated book on product development and how to run a company that has not been wrongly put on the bestseller list for a long time and has been praised to the highest standards." -cover: /images/cover/rework.webp +cover: /assets/images/cover/rework.webp tags: ["book", "recommendation"] --- diff --git a/src/content/journal/2010/vim.mdx b/src/content/journal/2010/vim.mdx index cf4448e..f252080 100644 --- a/src/content/journal/2010/vim.mdx +++ b/src/content/journal/2010/vim.mdx @@ -4,7 +4,7 @@ slug: vim author: Stefan Imhoff date: 2010-10-29 description: How I became a convinced Vim disciple, why Vim is an ingenious editor, and how to best practice if you want to learn Vim. -cover: /images/cover/vim.webp +cover: /assets/images/cover/vim.webp tags: ["code"] --- @@ -12,9 +12,9 @@ tags: ["code"] Something similar was said by the superhero _He-Man_ from the 80s TV show _Masters of the Universe_ before he got his superpowers. And Vim exists about as long as the TV show: **22 years**. And the older Vi, on which Vim is based, has been around even longer than I live. If a _simple_ text editor exists for a long time and gives these _powers_, it has to be something special about it. - diff --git a/src/content/journal/2010/webstandards-magazine-django.mdx b/src/content/journal/2010/webstandards-magazine-django.mdx index 2de0f53..26c6af2 100644 --- a/src/content/journal/2010/webstandards-magazine-django.mdx +++ b/src/content/journal/2010/webstandards-magazine-django.mdx @@ -4,7 +4,7 @@ slug: webstandards-magazine-django author: Stefan Imhoff date: 2010-09-21 description: I was asked to write a multipage article about Django in Webstandards-Magazin. I wrote about what I appreciate about Django and why I use it. -cover: /images/cover/webstandards-magazine-django.webp +cover: /assets/images/cover/webstandards-magazine-django.webp tags: ["code", "personal"] --- diff --git a/src/content/journal/2011/decodeunicode.mdx b/src/content/journal/2011/decodeunicode.mdx index 2855c71..1e33170 100644 --- a/src/content/journal/2011/decodeunicode.mdx +++ b/src/content/journal/2011/decodeunicode.mdx @@ -4,7 +4,7 @@ slug: decodeunicode author: Stefan Imhoff date: 2011-06-02 description: "Book recommendation for those who are interested in writing and characters: 'decodeunicode - Die Schriftzeichen der Welt'. 656 pages thick, almost 2 kg heavy, and with all 109,242 current characters of the Unicode character set." -cover: /images/cover/book-decodeunicode.webp +cover: /assets/images/cover/book-decodeunicode.webp tags: ["book", "design", "recommendation"] --- diff --git a/src/content/journal/2014/gulp-tutorial-1-intro-setup.mdx b/src/content/journal/2014/gulp-tutorial-1-intro-setup.mdx index 2ecf543..bfdd6ee 100644 --- a/src/content/journal/2014/gulp-tutorial-1-intro-setup.mdx +++ b/src/content/journal/2014/gulp-tutorial-1-intro-setup.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-1-intro-setup author: Stefan Imhoff date: 2014-10-18 description: "The ultimate tutorial and guide for Gulp.js: The first part of my series on Gulp.js. What is Gulp.js? Why use it? And how to install Gulp and Jekyll." -cover: /images/cover/gulp-1.webp +cover: /assets/images/cover/gulp-1.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-10-generating-sprites.mdx b/src/content/journal/2014/gulp-tutorial-10-generating-sprites.mdx index 7aab420..07d77e4 100644 --- a/src/content/journal/2014/gulp-tutorial-10-generating-sprites.mdx +++ b/src/content/journal/2014/gulp-tutorial-10-generating-sprites.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-10-generating-sprites author: Stefan Imhoff date: 2014-10-27 description: "The ultimate tutorial and guide for Gulp.js: How to generate image sprite maps with Spritesmith." -cover: /images/cover/gulp-10.webp +cover: /assets/images/cover/gulp-10.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-11-production-build-server-and-jekyll.mdx b/src/content/journal/2014/gulp-tutorial-11-production-build-server-and-jekyll.mdx index ee343c0..e284fcc 100644 --- a/src/content/journal/2014/gulp-tutorial-11-production-build-server-and-jekyll.mdx +++ b/src/content/journal/2014/gulp-tutorial-11-production-build-server-and-jekyll.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-11-production-build-server-and-jekyll author: Stefan Imhoff date: 2014-10-28 description: "The ultimate tutorial and guide for Gulp.js: How to write the production task for Jekyll and BrowserSync." -cover: /images/cover/gulp-11.webp +cover: /assets/images/cover/gulp-11.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-12-optimize-css-javascript-images-and-html.mdx b/src/content/journal/2014/gulp-tutorial-12-optimize-css-javascript-images-and-html.mdx index 49fa617..478a2d7 100644 --- a/src/content/journal/2014/gulp-tutorial-12-optimize-css-javascript-images-and-html.mdx +++ b/src/content/journal/2014/gulp-tutorial-12-optimize-css-javascript-images-and-html.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-12-optimize-css-javascript-images-and-html author: Stefan Imhoff date: 2014-10-29 description: "The ultimate tutorial and guide for Gulp.js: How to optimize CSS, JavaScript, images, and HTML to speed up your website." -cover: /images/cover/gulp-12.webp +cover: /assets/images/cover/gulp-12.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-13-revisioning.mdx b/src/content/journal/2014/gulp-tutorial-13-revisioning.mdx index d38d4f4..ff3c40b 100644 --- a/src/content/journal/2014/gulp-tutorial-13-revisioning.mdx +++ b/src/content/journal/2014/gulp-tutorial-13-revisioning.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-13-revisioning author: Stefan Imhoff date: 2014-10-30 description: "The ultimate tutorial and guide for Gulp.js: How to use revisioning to allow long caching of your assets and replace them with hashed file names, that can be cache-busted." -cover: /images/cover/gulp-13.webp +cover: /assets/images/cover/gulp-13.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-14-deploying-the-website.mdx b/src/content/journal/2014/gulp-tutorial-14-deploying-the-website.mdx index 61971b6..7248d0a 100644 --- a/src/content/journal/2014/gulp-tutorial-14-deploying-the-website.mdx +++ b/src/content/journal/2014/gulp-tutorial-14-deploying-the-website.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-14-deploying-the-website author: Stefan Imhoff date: 2014-10-31 description: "The ultimate tutorial and guide for Gulp.js: How to deploy your website with rsync to your server." -cover: /images/cover/gulp-14.webp +cover: /assets/images/cover/gulp-14.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-15-performance-improvements-webp-gzip.mdx b/src/content/journal/2014/gulp-tutorial-15-performance-improvements-webp-gzip.mdx index 956d045..55cc123 100644 --- a/src/content/journal/2014/gulp-tutorial-15-performance-improvements-webp-gzip.mdx +++ b/src/content/journal/2014/gulp-tutorial-15-performance-improvements-webp-gzip.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-15-performance-improvements-webp-gzip author: Stefan Imhoff date: 2014-12-21 description: "The ultimate tutorial and guide for Gulp.js: How to improve the speed and performance of your website with WebP and Gzip." -cover: /images/cover/gulp-15.webp +cover: /assets/images/cover/gulp-15.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-16-postcss.mdx b/src/content/journal/2014/gulp-tutorial-16-postcss.mdx index 47a1864..8f97060 100644 --- a/src/content/journal/2014/gulp-tutorial-16-postcss.mdx +++ b/src/content/journal/2014/gulp-tutorial-16-postcss.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-16-postcss author: Stefan Imhoff date: 2014-12-30 description: "The ultimate tutorial and guide for Gulp.js: How to use PostCSS with Gulp to process CSS and how to lint your CSS files with Stylelint." -cover: /images/cover/gulp-16.webp +cover: /assets/images/cover/gulp-16.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-2-development-server-browsersync-configuration.mdx b/src/content/journal/2014/gulp-tutorial-2-development-server-browsersync-configuration.mdx index f8e1638..8aa42ff 100644 --- a/src/content/journal/2014/gulp-tutorial-2-development-server-browsersync-configuration.mdx +++ b/src/content/journal/2014/gulp-tutorial-2-development-server-browsersync-configuration.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-2-development-server-browsersync-configuration author: Stefan Imhoff date: 2014-10-19 description: "The ultimate tutorial and guide for Gulp.js: How to set up a development server with BrowserSync." -cover: /images/cover/gulp-2.webp +cover: /assets/images/cover/gulp-2.webp tags: ["code"] series: gulp --- @@ -126,7 +126,7 @@ module.exports = { files: [ developmentAssets + "/css/*.css", developmentAssets + "/js/*.js", - developmentAssets + "/images/**", + developmentAssets + "/assets/images/**", developmentAssets + "/fonts/*", ], }, diff --git a/src/content/journal/2014/gulp-tutorial-3-build-clean-jekyll.mdx b/src/content/journal/2014/gulp-tutorial-3-build-clean-jekyll.mdx index ddef670..0339441 100644 --- a/src/content/journal/2014/gulp-tutorial-3-build-clean-jekyll.mdx +++ b/src/content/journal/2014/gulp-tutorial-3-build-clean-jekyll.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-3-build-clean-jekyll author: Stefan Imhoff date: 2014-10-20 description: "The ultimate tutorial and guide for Gulp.js: How to write tasks for cleaning files and folders, generating the build and the website with Jekyll." -cover: /images/cover/gulp-3.webp +cover: /assets/images/cover/gulp-3.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-4-css-generation-sass.mdx b/src/content/journal/2014/gulp-tutorial-4-css-generation-sass.mdx index 8cf41d4..69d1217 100644 --- a/src/content/journal/2014/gulp-tutorial-4-css-generation-sass.mdx +++ b/src/content/journal/2014/gulp-tutorial-4-css-generation-sass.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-4-css-generation-sass author: Stefan Imhoff date: 2014-10-21 description: "The ultimate tutorial and guide for Gulp.js: How to create CSS and Source Maps with Sass and Compass." -cover: /images/cover/gulp-4.webp +cover: /assets/images/cover/gulp-4.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-5-javascripts-browserify.mdx b/src/content/journal/2014/gulp-tutorial-5-javascripts-browserify.mdx index 7530ebf..f167b87 100644 --- a/src/content/journal/2014/gulp-tutorial-5-javascripts-browserify.mdx +++ b/src/content/journal/2014/gulp-tutorial-5-javascripts-browserify.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-5-javascripts-browserify author: Stefan Imhoff date: 2014-10-22 description: "The ultimate tutorial and guide for Gulp.js: How to bundle JavaScript files with Browserify and use CommonJS modules to structure and organize your code." -cover: /images/cover/gulp-5.webp +cover: /assets/images/cover/gulp-5.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-6-images-vector-fonts.mdx b/src/content/journal/2014/gulp-tutorial-6-images-vector-fonts.mdx index 890cd17..094d267 100644 --- a/src/content/journal/2014/gulp-tutorial-6-images-vector-fonts.mdx +++ b/src/content/journal/2014/gulp-tutorial-6-images-vector-fonts.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-6-images-vector-fonts author: Stefan Imhoff date: 2014-10-23 description: "The ultimate tutorial and guide for Gulp.js: How to move images and generate vector fonts from SVG." -cover: /images/cover/gulp-6.webp +cover: /assets/images/cover/gulp-6.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-7-base64.mdx b/src/content/journal/2014/gulp-tutorial-7-base64.mdx index db7a5a4..c2a6800 100644 --- a/src/content/journal/2014/gulp-tutorial-7-base64.mdx +++ b/src/content/journal/2014/gulp-tutorial-7-base64.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-7-base64 author: Stefan Imhoff date: 2014-10-24 description: "The ultimate tutorial and guide for Gulp.js: How to replace small images with base64 encoded images." -cover: /images/cover/gulp-7.webp +cover: /assets/images/cover/gulp-7.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-8-watch.mdx b/src/content/journal/2014/gulp-tutorial-8-watch.mdx index a30406d..d3a7d95 100644 --- a/src/content/journal/2014/gulp-tutorial-8-watch.mdx +++ b/src/content/journal/2014/gulp-tutorial-8-watch.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-8-watch author: Stefan Imhoff date: 2014-10-25 description: "The ultimate tutorial and guide for Gulp.js: How to set up a watch task, which triggers other tasks on file changes." -cover: /images/cover/gulp-8.webp +cover: /assets/images/cover/gulp-8.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/gulp-tutorial-9-linting-scss-and-javascript.mdx b/src/content/journal/2014/gulp-tutorial-9-linting-scss-and-javascript.mdx index fef9c3c..c4834f9 100644 --- a/src/content/journal/2014/gulp-tutorial-9-linting-scss-and-javascript.mdx +++ b/src/content/journal/2014/gulp-tutorial-9-linting-scss-and-javascript.mdx @@ -4,7 +4,7 @@ slug: gulp-tutorial-9-linting-scss-and-javascript author: Stefan Imhoff date: 2014-10-26 description: "The ultimate tutorial and guide for Gulp.js: How to check the syntax of SCSS and JavaScript files." -cover: /images/cover/gulp-9.webp +cover: /assets/images/cover/gulp-9.webp tags: ["code"] series: gulp --- diff --git a/src/content/journal/2014/john-seymour-books.mdx b/src/content/journal/2014/john-seymour-books.mdx index 3a369d2..929fab7 100644 --- a/src/content/journal/2014/john-seymour-books.mdx +++ b/src/content/journal/2014/john-seymour-books.mdx @@ -4,7 +4,7 @@ slug: john-seymour-books author: Stefan Imhoff date: 2014-08-03 description: On John Seymour’s fantastic, beautifully illustrated books on self-sufficiency, agriculture, and crafts. The optimal equipment for an upcoming zombie apocalypse. -cover: /images/cover/john-seymour.webp +cover: /assets/images/cover/john-seymour.webp tags: ["book", "recommendation", "self-improvement"] --- diff --git a/src/content/journal/2014/logo-design.mdx b/src/content/journal/2014/logo-design.mdx index 1477564..20e49c9 100644 --- a/src/content/journal/2014/logo-design.mdx +++ b/src/content/journal/2014/logo-design.mdx @@ -4,7 +4,7 @@ slug: logo-design author: Stefan Imhoff date: 2014-04-18 description: "Insight into the design of my new logo and Rakkan: idea, research, and a short digression on the Chinese script." -cover: /images/cover/logo-design.webp +cover: /assets/images/cover/logo-design.webp tags: ["design", "japan", "personal"] --- @@ -18,9 +18,9 @@ It was clear to me early that I wanted to use a _Rakkan_ instead of a modern log A Rakkan (or Hanko) is called in Japan a seal, which is carved in stone, representing the signature of an artist and is stamped under the artwork, and thus works as a signature. - @@ -66,9 +66,9 @@ A seal can be created in two different variants: **Yin** or **Yang** (☯). In t First, I made numerous pencil drawings, first of individual characters that I liked, and later of combinations. I wondered how an artist would carve a traditional stamp, how the letters touch and support to give the seal the necessary stability. - diff --git a/src/content/journal/2014/website-typography.mdx b/src/content/journal/2014/website-typography.mdx index 4e145ad..116097a 100644 --- a/src/content/journal/2014/website-typography.mdx +++ b/src/content/journal/2014/website-typography.mdx @@ -4,7 +4,7 @@ slug: website-typography author: Stefan Imhoff date: 2014-06-19 description: "About the typography of my new website: scale, font, vertical rhythm, font size, font size, and sentence width." -cover: /images/cover/website-typography.webp +cover: /assets/images/cover/website-typography.webp tags: ["design", "code", "book", "personal"] --- diff --git a/src/content/journal/2015/calisthenics.mdx b/src/content/journal/2015/calisthenics.mdx index e57c5fd..9d72a04 100644 --- a/src/content/journal/2015/calisthenics.mdx +++ b/src/content/journal/2015/calisthenics.mdx @@ -4,7 +4,7 @@ slug: calisthenics author: Stefan Imhoff date: 2015-05-19 description: Learning Body Weight Training is possible for everybody. It’s free, you can do it anywhere, you need no gym or expensive equipment to train, and you can improve constantly. -cover: /images/cover/calisthenics.webp +cover: /assets/images/cover/calisthenics.webp tags: ["self-improvement"] --- @@ -24,9 +24,9 @@ And reading more about these extreme sports, I found out they come with the dang Other names for body weight training are **Street Workout**, **Ghetto Fitness**, or **Calisthenics**. The word **Calisthenics** comes from the Greek words καλός (kalos), which means **beautiful** and σθένος (sthenos), which means **strength**. - @@ -60,9 +60,9 @@ To reach a big goal like doing a **Human Flag** needs to be broken into parts: B I keep track of my workouts in a diary and can see the training days in a calendar, to see if I missed too often. - diff --git a/src/content/journal/2015/human-documentary.mdx b/src/content/journal/2015/human-documentary.mdx index 0c34c7b..abd8fbf 100644 --- a/src/content/journal/2015/human-documentary.mdx +++ b/src/content/journal/2015/human-documentary.mdx @@ -4,7 +4,7 @@ slug: human-documentary author: Stefan Imhoff date: 2015-09-29 description: Human, the new movie by Yann Arthus-Bertrand is a moving film made of real-life stories from more than 2000 women and men in 60 countries mixed with stunning aerial photography and ground photography. -cover: /images/cover/human-documentary.webp +cover: /assets/images/cover/human-documentary.webp tags: ["film", "recommendation"] --- diff --git a/src/content/journal/2015/motivational-video.mdx b/src/content/journal/2015/motivational-video.mdx index 8b792dd..9c19e02 100644 --- a/src/content/journal/2015/motivational-video.mdx +++ b/src/content/journal/2015/motivational-video.mdx @@ -4,7 +4,7 @@ slug: motivational-video author: Stefan Imhoff date: 2015-08-14 description: Last week I found an inspirational film on YouTube, focusing on Motivation. But because it was poorly quoted, I tried to find the quotes and resolve the issue. -cover: /images/cover/motivational-video.webp +cover: /assets/images/cover/motivational-video.webp tags: ["film"] --- diff --git a/src/content/journal/2016/japanese-netflix-tv-show-underwear.mdx b/src/content/journal/2016/japanese-netflix-tv-show-underwear.mdx index cef40b7..5322fcd 100644 --- a/src/content/journal/2016/japanese-netflix-tv-show-underwear.mdx +++ b/src/content/journal/2016/japanese-netflix-tv-show-underwear.mdx @@ -4,7 +4,7 @@ slug: japanese-netflix-tv-show-underwear author: Stefan Imhoff date: 2016-02-12 description: "Netflix released a new Japanese TV Show: Underwear (Atelier). I recommend this brilliant work about a young girl starting in an exclusive custom tailoring lingerie store in Tokyo." -cover: /images/cover/netflix-underwear.webp +cover: /assets/images/cover/netflix-underwear.webp tags: ["film", "japan", "recommendation"] --- diff --git a/src/content/journal/2017/attention.mdx b/src/content/journal/2017/attention.mdx index 884c6e4..f4771e4 100644 --- a/src/content/journal/2017/attention.mdx +++ b/src/content/journal/2017/attention.mdx @@ -4,7 +4,7 @@ slug: attention author: Stefan Imhoff date: 2017-11-03T08:00:00+01:00 description: A guide on how to get your attention back in the age of constant distraction. -cover: /images/cover/attention.webp +cover: /assets/images/cover/attention.webp tags: ["self-improvement", "technology"] --- diff --git a/src/content/journal/2017/gitbook.mdx b/src/content/journal/2017/gitbook.mdx index 148cbda..74166ee 100644 --- a/src/content/journal/2017/gitbook.mdx +++ b/src/content/journal/2017/gitbook.mdx @@ -4,7 +4,7 @@ slug: gitbook author: Stefan Imhoff date: 2017-06-27 description: I finished writing my first book in GitBook. I worked on it for the last six months, and it’s available to read online, as PDF, EPUB, and Mobi. -cover: /images/cover/gitbook.webp +cover: /assets/images/cover/gitbook.webp tags: ["book", "writing"] --- @@ -56,11 +56,11 @@ GitBook is not only good for books but to write documentation for anything. ## What’s in my book? - First thing: The book is available in **German** only 😒 (the [website](https://www.kogakure.de/en) is now in English available). I reviewed every sentence of the website for the book and changed parts of it. diff --git a/src/content/journal/2017/minimalism.mdx b/src/content/journal/2017/minimalism.mdx index 22d2fc9..5eadc90 100644 --- a/src/content/journal/2017/minimalism.mdx +++ b/src/content/journal/2017/minimalism.mdx @@ -5,7 +5,7 @@ author: Stefan Imhoff date: 2017-06-07 featured: true description: Minimalism is currently popular, but Minimalism is hard to understand, and many misconceptions can be found. This essay carries my thoughts on Minimalism and my history with it. -cover: /images/cover/minimalism.webp +cover: /assets/images/cover/minimalism.webp tags: ["self-improvement", "book", "minimalism"] --- @@ -27,9 +27,9 @@ Minimalism is **not glamorous**, it’s **humble** and a result of **deep mindfu Critics of Minimalism describe it as cold, empty, and without personality. People following Minimalism would deny their past or prove their inability to connect to other people. It would be a hopeless attempt to control life, as Linda Tutmann described Minimalism in her ZEIT article [Alles mein](https://www.zeit.de/2017/06/besitz-minimalismus-dinge-erinnerungen-besitztum). - @@ -85,9 +85,9 @@ The next step was reading David Allen's book @@ -101,9 +101,9 @@ In the last few years I changed my ideas of how to live in many ways: I cleaned my whole flat of things I didn’t like or needed anymore. It took me three days to clean my basement from packages, cables, and technical waste, which I acquired over 10 years. - @@ -129,9 +129,9 @@ I switched to green energy a few years ago, buy organic food if available, and t When I was young, I always wanted a big, big house (preferably on a remote private island). But living in a small space is helpful for a Minimalist. It forces you to make decisions in your interest. I live on 51 m², and this is enough space for 1-2 people. That’s why I think if I need to buy something. I like the concept of small space living, but I’m happy to have a separate bedroom. This is much more relaxing, because of the different temperatures in the living and sleeping area. And I do not keep electronics in my bedroom. - diff --git a/src/content/journal/2018/morning-routine.mdx b/src/content/journal/2018/morning-routine.mdx index 48e02a5..0e76f11 100644 --- a/src/content/journal/2018/morning-routine.mdx +++ b/src/content/journal/2018/morning-routine.mdx @@ -5,7 +5,7 @@ date: 2018-09-08 updated: 2025-02-10 author: Stefan Imhoff description: On the advantages of building yourself a morning routine and the details of my morning routine. -cover: /images/cover/morning-routine.webp +cover: /assets/images/cover/morning-routine.webp tags: ["self-improvement", "book", "personal"] --- diff --git a/src/content/journal/2018/storing-information.mdx b/src/content/journal/2018/storing-information.mdx index d73cfb5..911709a 100644 --- a/src/content/journal/2018/storing-information.mdx +++ b/src/content/journal/2018/storing-information.mdx @@ -4,7 +4,7 @@ slug: storing-information date: 2018-10-03 author: Stefan Imhoff description: How I save and process information, to find it again quickly and store it to not lose it again. -cover: /images/cover/storing-information.webp +cover: /assets/images/cover/storing-information.webp tags: ["self-improvement"] --- diff --git a/src/content/journal/2020/101-things-you-can-do.mdx b/src/content/journal/2020/101-things-you-can-do.mdx index 076fce7..0ff8770 100644 --- a/src/content/journal/2020/101-things-you-can-do.mdx +++ b/src/content/journal/2020/101-things-you-can-do.mdx @@ -4,7 +4,7 @@ slug: 101-things-you-can-do date: 2020-03-28 author: Stefan Imhoff description: The novel Coronavirus SARS-CoV-2 which can lead to the sickness of COVID-19 brought many countries into partial or total lockdown. Many people are not used to staying inside for a long time. As an introvert, I like it inside. To help to make it easier to stay inside, I created a list of 101 things you can do until this crisis is over. -cover: /images/cover/101-things-you-can-do.webp +cover: /assets/images/cover/101-things-you-can-do.webp tags: ["recommendation", "self-improvement"] --- diff --git a/src/content/journal/2020/apps-tools-services.mdx b/src/content/journal/2020/apps-tools-services.mdx index 8af5783..c8d118d 100644 --- a/src/content/journal/2020/apps-tools-services.mdx +++ b/src/content/journal/2020/apps-tools-services.mdx @@ -5,7 +5,7 @@ date: 2020-04-18T10:00:00+02:00 updated: 2025-01-06 author: Stefan Imhoff description: All the apps, tools, and services I use on my iPhone, iPad, Apple Watch, Apple TV, and Mac. -cover: /images/cover/apps-tools-services.webp +cover: /assets/images/cover/apps-tools-services.webp tags: ["productivity", "software"] --- diff --git a/src/content/journal/2020/best-of-2020.mdx b/src/content/journal/2020/best-of-2020.mdx index 04a9745..a34dc59 100644 --- a/src/content/journal/2020/best-of-2020.mdx +++ b/src/content/journal/2020/best-of-2020.mdx @@ -4,7 +4,7 @@ slug: best-of-2020 date: 2020-12-22 author: Stefan Imhoff description: A distilled collection of my favorite topics, articles, videos, podcasts, people, or other things in 2020. -cover: /images/cover/best-of-2020.webp +cover: /assets/images/cover/best-of-2020.webp tags: ["recommendation"] --- diff --git a/src/content/journal/2020/everyday-carry.mdx b/src/content/journal/2020/everyday-carry.mdx index 4f63c59..9bea529 100644 --- a/src/content/journal/2020/everyday-carry.mdx +++ b/src/content/journal/2020/everyday-carry.mdx @@ -5,7 +5,7 @@ date: 2020-03-14 updated: 2023-06-09 author: Stefan Imhoff description: In this essay, I show my Everyday Carries and explain why I carry them. -cover: /images/cover/everyday-carry.webp +cover: /assets/images/cover/everyday-carry.webp tags: ["self-improvement", "technology", "minimalism", "personal"] --- diff --git a/src/content/journal/2020/new-website-2020-design.mdx b/src/content/journal/2020/new-website-2020-design.mdx index aecb0aa..1f8d8ca 100644 --- a/src/content/journal/2020/new-website-2020-design.mdx +++ b/src/content/journal/2020/new-website-2020-design.mdx @@ -4,7 +4,7 @@ date: 2020-07-21 slug: new-website-2020-design author: Stefan Imhoff description: This is the second of three parts in a series of essays about the process of creating my new website. This one shows the design process for my website. -cover: /images/cover/new-website-2020-design.webp +cover: /assets/images/cover/new-website-2020-design.webp tags: ["design", "book", "japan", "personal"] series: new-website-2020 --- @@ -58,10 +58,10 @@ I like in particular the italic font with the beautiful loops and curves. I pick Next, I picked a Typographic Scale. A scale is a way to pick font sizes based on a fixed set of rules, for example, a specific harmonic number or formula to create a harmonic visual image. I decided to go with the [golden section](https://www.modularscale.com/?1&em&1.618) (ratio 1:1.618). - @@ -157,23 +157,23 @@ I didn’t invert colors but needed to make sure to create good contrast, which Next, I moved my focus to the logo. A logo is always a difficult topic. Do I need one? Why? What should it be? My initials? An image? It’s easy to create a cheesy logo. I used a _rakkan_ (落款), a Japanese artist seal, for at least 10 years. An artist carved it for me into stone, using the oldest Chinese font, the _small seal script_, introduced by the Chinese Emperor _Qin Shi Huang_, 2200 years ago. It gets pressed into red ink and then applied to the artwork as the signature. I choose the characters of my internet pseudonym _kogakure_ (木隠), meaning “hidden behind leaves”. - +Rakkan I created a few sketches of other possible logos, but eventually, I discarded them all and moved back to my _rakkan_. Likewise, I decided to simplify the vector form and reduce the number of points and make it more performant and easier to recognize in smaller sizes. - But after finishing the logo, I decided in the interest of simplicity and austerity that there is no reason to use a logo at all. I even removed my name from the header, as it’s obvious on what website the visitor is. My name is written enough around the site. The logo will appear in parts of the website, for example as an icon for the app, or on other locations, a logo fits. - @@ -181,10 +181,10 @@ But after finishing the logo, I decided in the interest of simplicity and auster Early on I got obsessed with the [Golden Canon Grid](https://youtu.be/fWfD0EfiXcE) and my early designs used a complicated and sophisticated version of it. - @@ -222,17 +222,17 @@ As he shows in the fantastic free video, [Aaron Draplin Takes On a Logo Design C I followed this technique on all my designs and created dozens of variations, sometimes entire pages, sometimes a small detail as the footer or a meta section. - - @@ -240,35 +240,35 @@ Designing was the part that brought the most fun to me. Designing is like a conc I started designing the blog detail page headline and moved out from there, creating text, header, footer, and small details. - Then I moved into color variations for the pages. I designed error pages, navigation, special pages, and the homepage last. I didn’t design every detail, but quickly moved from idea to idea, leaving behind a mess of unnamed layers and incomplete or outdated ideas. - I created a giant design for all layout variations I wanted to support on a page (e.g., the combination of an image and a text). I moved quickly to [CodePen](https://codepen.io/) to create prototypes for these variations to validate my ideas where feasible. You can see all my prototypes on my CodePen account. - - diff --git a/src/content/journal/2020/new-website-2020-development.mdx b/src/content/journal/2020/new-website-2020-development.mdx index 4f257c9..fa19b25 100644 --- a/src/content/journal/2020/new-website-2020-development.mdx +++ b/src/content/journal/2020/new-website-2020-development.mdx @@ -4,7 +4,7 @@ slug: new-website-2020-development date: 2020-07-28 author: Stefan Imhoff description: This is the last of three parts in a series of essays about the process of creating my new website. This one shows the development process for my website. -cover: /images/cover/new-website-2020-development.webp +cover: /assets/images/cover/new-website-2020-development.webp tags: ["code", "personal"] series: new-website-2020 --- diff --git a/src/content/journal/2020/new-website-2020-inspiration.mdx b/src/content/journal/2020/new-website-2020-inspiration.mdx index 56ec934..55c70c7 100644 --- a/src/content/journal/2020/new-website-2020-inspiration.mdx +++ b/src/content/journal/2020/new-website-2020-inspiration.mdx @@ -4,7 +4,7 @@ slug: new-website-2020-inspiration date: 2020-07-14 author: Stefan Imhoff description: This is the first of three parts in a series of essays about the process of creating my new website. This one has a look into the inspiration for my website. -cover: /images/cover/new-website-2020-inspiration.webp +cover: /assets/images/cover/new-website-2020-inspiration.webp tags: ["design", "book", "japan", "personal"] series: new-website-2020 --- diff --git a/src/content/journal/2020/new-website-2020.mdx b/src/content/journal/2020/new-website-2020.mdx index 0a5a5f3..0e5f08b 100644 --- a/src/content/journal/2020/new-website-2020.mdx +++ b/src/content/journal/2020/new-website-2020.mdx @@ -4,7 +4,7 @@ slug: new-website-2020 date: 2020-07-07 author: Stefan Imhoff description: "Finally, after 3 years with 250 hours of work, I finished my longest-running project: A new design and code for my website. Everything is new. I created over 1,400 files with 29,000 lines of code." -cover: /images/cover/new-website-2020.webp +cover: /assets/images/cover/new-website-2020.webp tags: ["code", "design", "japan", "personal"] series: new-website-2020 --- @@ -13,15 +13,15 @@ Finally, after **3 years** with **250 hours** of work, I finished my longest-run There are _multiple_ reasons it took me a while: I created not only a new design, with a light and dark theme, screen size-dependent grid, and typography. I developed it with a new technology stack, including the static-site generator [Gatsby](https://www.gatsbyjs.org/), [TypeScript](https://www.typescriptlang.org/), [Styled Components](https://styled-components.com/), [MDX](https://mdxjs.com/), [GraphQL](https://graphql.org/), and [CSS Grid Layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout). - - @@ -47,7 +47,7 @@ For the first time, the website has a [Projects](/projects/) section showing my My Haiku (short Japanese poems) collection was previously loveless, dumped on a single page without proper context. After the relaunch, I dedicated a whole section to the [Haiku](/haiku/), including English translations. - +Haiku ### Sketchnotes @@ -57,9 +57,9 @@ I had a collection of my Sketchnotes hosted on a subdomain on Tumblr and wanted A few years back I created a small project, creating an ASE file out of Traditional Colors of Japanese mentioned in a book with the same title. This project got [an own page](/traditional-colors-of-japan/) showing all colors and the books these are from. - diff --git a/src/content/journal/2020/tools-i-use-for-note-taking.mdx b/src/content/journal/2020/tools-i-use-for-note-taking.mdx index 0dc0bb2..b80d34e 100644 --- a/src/content/journal/2020/tools-i-use-for-note-taking.mdx +++ b/src/content/journal/2020/tools-i-use-for-note-taking.mdx @@ -5,7 +5,7 @@ date: 2020-09-03 author: Stefan Imhoff featured: true description: I started my Zettelkasten in DEVONthink. But since then, I integrated more tools into my workflow. This essay describes which tools I use for my notes and why. -cover: /images/cover/tools-i-use-for-note-taking.webp +cover: /assets/images/cover/tools-i-use-for-note-taking.webp tags: ["productivity", "technology", "writing", "personal"] --- @@ -61,10 +61,10 @@ One thing I changed to my previous DEVONthink-_only_ workflow is that I use an * I use [DEVONthink to Go](https://apps.apple.com/app/devonthink-to-go/id395722470s) to quickly create new notes, and add photos, or other media to my databases. These files get automatically synced with all connected devices and are added to my Macs the next time I open DEVONthink. Additionally, I use the mobile version to search and read the content of my database when I’m not on my computer. - diff --git a/src/content/journal/2020/zettelkasten-note-taking-devonthink.mdx b/src/content/journal/2020/zettelkasten-note-taking-devonthink.mdx index 9268d3c..18b0f65 100644 --- a/src/content/journal/2020/zettelkasten-note-taking-devonthink.mdx +++ b/src/content/journal/2020/zettelkasten-note-taking-devonthink.mdx @@ -5,7 +5,7 @@ date: 2020-05-18 author: Stefan Imhoff featured: true description: "The way we write notes determines how we think and learn. I was introduced recently to an old method of writing notes: The Zettelkasten method. This essay describes how I implemented the method into my workflow with DEVONthink." -cover: /images/cover/zettelkasten-note-taking-devonthink.webp +cover: /assets/images/cover/zettelkasten-note-taking-devonthink.webp tags: ["productivity", "writing"] --- @@ -128,9 +128,9 @@ Originally, I had the tags included in the note, but I discarded the idea, becau One of the best features of DEVONthink is its fantastic sorter. It can be used as a menu bar item or a floating index tab, it can be triggered with various shortcuts. It allows capturing notes in many possible formats. Additionally, audio, video, screenshots, and websites. The latter one is powerful and able to strip all clutter and keep text and images or convert the content to Markdown, save it as HTML, rich text, pure text, PDF, or web archive. - @@ -194,10 +194,10 @@ I might write notes in one of my paper notebooks. Handwriting has plenty of adva I regularly reserve time to transfer notes, highlights, and quotes from books I’ve read into notes in my Zettelkasten. - diff --git a/src/content/journal/2021/devonthink-obsidian-for-note-taking.mdx b/src/content/journal/2021/devonthink-obsidian-for-note-taking.mdx index e74deb4..eabb7e8 100644 --- a/src/content/journal/2021/devonthink-obsidian-for-note-taking.mdx +++ b/src/content/journal/2021/devonthink-obsidian-for-note-taking.mdx @@ -4,7 +4,7 @@ slug: devonthink-obsidian-for-note-taking date: 2021-07-23 author: Stefan Imhoff description: With the release of the mobile versions of Obsidian, my note-taking workflow with Obsidian and DEVONthink is now even more fun than before. -cover: /images/cover/devonthink-obsidian-for-note-taking.webp +cover: /assets/images/cover/devonthink-obsidian-for-note-taking.webp tags: ["productivity", "technology", "writing"] --- diff --git a/src/content/journal/2021/how-to-prepare-for-the-worst-case.mdx b/src/content/journal/2021/how-to-prepare-for-the-worst-case.mdx index 5bf9ac7..3b06a05 100644 --- a/src/content/journal/2021/how-to-prepare-for-the-worst-case.mdx +++ b/src/content/journal/2021/how-to-prepare-for-the-worst-case.mdx @@ -4,7 +4,7 @@ slug: how-to-prepare-for-the-worst-case date: 2021-11-19 author: Stefan Imhoff description: When potential dangers to the individual increase due to mismanagement, political incompetency, or tribalism, it’s good to have a plan on how to protect yourself and your family. -cover: /images/cover/how-to-prepare-for-the-worst-case.webp +cover: /assets/images/cover/how-to-prepare-for-the-worst-case.webp tags: ["recommendation", "self-improvement", "book", "personal"] --- @@ -287,7 +287,7 @@ Next, I bought a waterproof sticker additionally. It’s the flag used by Libertarians around the world. The snake design and the words "Don’t Tread On Me" is a warning of vigilance and willingness to act in defense against coercion. 😂 - +Bug Out Bag [^mooser2021lp]: Barbara Mooser (2021): _Skandal im Netz: Abgeordneter Huber im Twitter-Gewitter_, https://www.sueddeutsche.de/muenchen/ebersberg/falscher-hashtag-skandal-im-netz-abgeordneter-huber-im-twitter-gewitter-1.5388590. diff --git a/src/content/journal/2021/interpretation-if.mdx b/src/content/journal/2021/interpretation-if.mdx index 5c3ed8c..3b70cdc 100644 --- a/src/content/journal/2021/interpretation-if.mdx +++ b/src/content/journal/2021/interpretation-if.mdx @@ -5,7 +5,7 @@ date: 2021-12-13 author: Stefan Imhoff featured: true description: A modern interpretation of Rudyard Kipling’s great poem. -cover: /images/cover/interpretation-if.webp +cover: /assets/images/cover/interpretation-if.webp tags: ["poetry"] series: kipling-poems --- diff --git a/src/content/journal/2021/interpretation-the-gods-of-the-copybook-headings.mdx b/src/content/journal/2021/interpretation-the-gods-of-the-copybook-headings.mdx index 73a0c2b..a1eee09 100644 --- a/src/content/journal/2021/interpretation-the-gods-of-the-copybook-headings.mdx +++ b/src/content/journal/2021/interpretation-the-gods-of-the-copybook-headings.mdx @@ -4,7 +4,7 @@ slug: interpretation-the-gods-of-the-copybook-headings date: 2021-06-12 author: Stefan Imhoff description: A modern interpretation of Rudyard Kipling’s great poem. -cover: /images/cover/copybook-headings.webp +cover: /assets/images/cover/copybook-headings.webp featured: true tags: ["poetry", "politics", "philosophy"] series: kipling-poems @@ -30,9 +30,9 @@ The poem is his warning. ## Copybook Headings - diff --git a/src/content/journal/2021/learning-poems.mdx b/src/content/journal/2021/learning-poems.mdx index 2b83a94..7ebb97e 100644 --- a/src/content/journal/2021/learning-poems.mdx +++ b/src/content/journal/2021/learning-poems.mdx @@ -4,7 +4,7 @@ slug: learning-poems date: 2021-08-23 author: Stefan Imhoff description: Why I started learning poems. -cover: /images/cover/learning-poems.webp +cover: /assets/images/cover/learning-poems.webp tags: ["poetry", "self-improvement", "book", "personal"] --- diff --git a/src/content/journal/2021/new-website-2021.mdx b/src/content/journal/2021/new-website-2021.mdx index 4d84589..61d8bbe 100644 --- a/src/content/journal/2021/new-website-2021.mdx +++ b/src/content/journal/2021/new-website-2021.mdx @@ -4,16 +4,16 @@ slug: new-website-2021 date: 2021-04-24 author: Stefan Imhoff description: I relaunched my website, after only 10 months. The previous stack was too slow and work-intensive and prevented me from writing. I picked Eleventy for my new website, the development was quick and fun. -cover: /images/cover/new-website-2021.webp +cover: /assets/images/cover/new-website-2021.webp tags: ["code", "design", "personal"] --- My brand-new website is online, using [Eleventy](https://www.11ty.dev/) as its static site generator. The development was quick and fun, and Eleventy gives me a huge amount of flexibility. And it’s fast, [very fast](https://www.zachleat.com/web/build-benchmark/). Burned by my last technology choice, I did this time a performance test _before_ picking the tool. I created 1000 large Markdown pages and let Eleventy render them to HTML. It was done in an astonishing 3.8 seconds. - diff --git a/src/content/journal/2021/processing-information-into-notes.mdx b/src/content/journal/2021/processing-information-into-notes.mdx index ce48d70..f758674 100644 --- a/src/content/journal/2021/processing-information-into-notes.mdx +++ b/src/content/journal/2021/processing-information-into-notes.mdx @@ -4,7 +4,7 @@ slug: processing-information-into-notes date: 2021-05-13 author: Stefan Imhoff description: My process of extracting information out of books, articles, podcasts, and videos and creating atomic notes. -cover: /images/cover/processing-information-into-notes.webp +cover: /assets/images/cover/processing-information-into-notes.webp tags: ["productivity", "writing", "recommendation", "book"] --- diff --git a/src/content/journal/2021/the-decentralized-web-1-why-do-we-need-it.mdx b/src/content/journal/2021/the-decentralized-web-1-why-do-we-need-it.mdx index d54b861..5e2629f 100644 --- a/src/content/journal/2021/the-decentralized-web-1-why-do-we-need-it.mdx +++ b/src/content/journal/2021/the-decentralized-web-1-why-do-we-need-it.mdx @@ -4,7 +4,7 @@ slug: the-decentralized-web-1-why-do-we-need-it date: 2021-10-25 author: Stefan Imhoff description: This is the first part of a three-part series on the Decentralized Web. This part will highlight the dangers looming on the free internet. -cover: /images/cover/decentralized-web-1.webp +cover: /assets/images/cover/decentralized-web-1.webp tags: ["politics", "philosophy"] series: decentralized-web --- diff --git a/src/content/journal/2021/the-decentralized-web-2-the-wild-west-web.mdx b/src/content/journal/2021/the-decentralized-web-2-the-wild-west-web.mdx index 54a3141..9cb6b88 100644 --- a/src/content/journal/2021/the-decentralized-web-2-the-wild-west-web.mdx +++ b/src/content/journal/2021/the-decentralized-web-2-the-wild-west-web.mdx @@ -4,7 +4,7 @@ slug: the-decentralized-web-2-the-wild-west-web date: 2021-11-01 author: Stefan Imhoff description: This is the second part of a three-part series on the Decentralized Web. This part will show promising examples for the decentralized web. -cover: /images/cover/decentralized-web-2.webp +cover: /assets/images/cover/decentralized-web-2.webp tags: ["technology"] series: decentralized-web --- diff --git a/src/content/journal/2021/the-decentralized-web-3-develop-and-publish-a-website.mdx b/src/content/journal/2021/the-decentralized-web-3-develop-and-publish-a-website.mdx index d2a0a6c..1b29410 100644 --- a/src/content/journal/2021/the-decentralized-web-3-develop-and-publish-a-website.mdx +++ b/src/content/journal/2021/the-decentralized-web-3-develop-and-publish-a-website.mdx @@ -4,7 +4,7 @@ slug: the-decentralized-web-3-develop-and-publish-a-website date: 2021-11-08 author: Stefan Imhoff description: This is the third part of a three-part series on the Decentralized Web. In this part, we’ll code and release our first decentralized website. -cover: /images/cover/decentralized-web-3.webp +cover: /assets/images/cover/decentralized-web-3.webp tags: ["code"] series: decentralized-web --- diff --git a/src/content/journal/2021/the-old-man-on-the-bench.mdx b/src/content/journal/2021/the-old-man-on-the-bench.mdx index d3b0b0a..2531e08 100644 --- a/src/content/journal/2021/the-old-man-on-the-bench.mdx +++ b/src/content/journal/2021/the-old-man-on-the-bench.mdx @@ -4,7 +4,7 @@ slug: the-old-man-on-the-bench date: 2021-08-31 author: Stefan Imhoff description: A story about an old man watching for birds. -cover: /images/cover/the-old-man-on-the-bench.webp +cover: /assets/images/cover/the-old-man-on-the-bench.webp tags: ["philosophy", "personal"] --- diff --git a/src/content/journal/2021/using-readwise-with-obsidian-for-note-talking.mdx b/src/content/journal/2021/using-readwise-with-obsidian-for-note-talking.mdx index e74500d..5d1aa34 100644 --- a/src/content/journal/2021/using-readwise-with-obsidian-for-note-talking.mdx +++ b/src/content/journal/2021/using-readwise-with-obsidian-for-note-talking.mdx @@ -4,7 +4,7 @@ slug: using-readwise-with-obsidian-for-note-talking date: 2021-09-14 author: Stefan Imhoff description: How I started using Readwise to maintain my highlights of various tools for note-taking -cover: /images/cover/using-readwise-with-obsidian-for-note-talking.webp +cover: /assets/images/cover/using-readwise-with-obsidian-for-note-talking.webp tags: ["productivity", "technology", "recommendation"] --- diff --git a/src/content/journal/2021/web-developer-work-environment-1.mdx b/src/content/journal/2021/web-developer-work-environment-1.mdx index 6a095c3..21a9388 100644 --- a/src/content/journal/2021/web-developer-work-environment-1.mdx +++ b/src/content/journal/2021/web-developer-work-environment-1.mdx @@ -4,7 +4,7 @@ slug: web-developer-work-environment-1 date: 2021-12-20 author: Stefan Imhoff description: I decided to re-examine my developer tools and replace some of them with better tools. -cover: /images/cover/web-developer-work-environment-1.webp +cover: /assets/images/cover/web-developer-work-environment-1.webp tags: ["code", "productivity", "technology"] series: web-developer-work-environment --- @@ -45,10 +45,10 @@ My previous dotfiles used a custom script to create symbolic links from inside t Previously, I used [iTerm2](https://iterm2.com/) as my terminal application, but it is slow and using Vim is sluggish. I heard of [Kitty](https://github.com/kovidgoyal/kitty) and [Alacritty](https://github.com/alacritty/alacritty) and tried both. In the end, I decided to use Kitty as my new terminal application. It is a cross-platform, fast, feature-rich, GPU-based terminal. Additionally, it has built-in support for [Ligatures](). - @@ -92,7 +92,12 @@ While it is possible to download color themes for each tool, I use [base16-shell The terminal beginner uses a new terminal window when wanting to run something while a process is in progress. The intermediate terminal user uses the built-in feature of terminals to create new tabs. The advanced terminal user uses the built-in feature to split windows into separate sections. The professional terminal user uses a terminal multiplexer. It allows you to switch between several programs in one terminal and detach them while keeping them running in the background. - +TMUX A co-worker introduced me to this concept 10 years ago. Since then, I use [tmux](https://tmux.github.io/). It allows me to run many work projects and private projects at the same time and switch with a few keystrokes between them. @@ -118,7 +123,7 @@ This is where useful tools like [z](https://github.com/rupa/z) and [fzf](https:/ [FZF](https://github.com/junegunn/fzf) is my favorite tool on the terminal. It is a general-purpose command-line fuzzy finder that is blazing fast and can be combined with every tool thinkable. - +FZF You can take nearly any output and pass it to FZF to get a list that can be filtered down with a fuzzy search in seconds. It can handle tenths of thousands or even hundreds of thousands of items with a fantastic performance. @@ -126,7 +131,7 @@ You can take nearly any output and pass it to FZF to get a list that can be filt Terminals have tools like `cat`, `head`, or `tail` to quickly view content without opening them in a more powerful editor. Cat is the most used tool of this kind, but it doesn’t have plenty of features except showing the content. - +Bat [Bat](https://github.com/sharkdp/bat) is a content viewer like cat, but with powerful features like syntax highlighting, line numbers, git integration, and paging. I replaced it nearly everywhere where I used `cat` before. It can be combined with FZF to view the code. @@ -197,10 +202,10 @@ I use [pyenv](https://github.com/pyenv/pyenv) for version management with Python There are dozens of window managers available, paid or free. Even the built-in macOS split feature might be enough for regular people. But a powerful window manager is crucial for effective working. As a developer, we use two or even more monitors to constantly monitor services, browse the documentation, write code, check email or chat, and browse the internet. The context switches throughout the day, sometimes the Browser is a primary tool (when surfing), and other times it’s a secondary tool (when coding). Moving windows around monitors, resizing and arranging them is therefore important. - diff --git a/src/content/journal/2021/web-developer-work-environment-2.mdx b/src/content/journal/2021/web-developer-work-environment-2.mdx index e9df829..86fe906 100644 --- a/src/content/journal/2021/web-developer-work-environment-2.mdx +++ b/src/content/journal/2021/web-developer-work-environment-2.mdx @@ -4,7 +4,7 @@ slug: web-developer-work-environment-2 date: 2021-12-23 author: Stefan Imhoff description: I decided to re-examine my developer tools and replace some of them with better tools. -cover: /images/cover/web-developer-work-environment-2.webp +cover: /assets/images/cover/web-developer-work-environment-2.webp tags: ["code", "productivity", "technology"] series: web-developer-work-environment --- @@ -72,10 +72,10 @@ Neovim has many features inherited from Vim and Vi, but the developers can’t a Even for installing plugins, you have multiple options: You can download and copy the file manually (nobody does this) or install one of the many plugin managers. I use [vim-plug](https://github.com/kogakure/dotfiles/blob/master/nvim/autocmd.vim). All you need to do is add a line pointing to the plugin to your configuration, reload Vim, and run `:PlugInstall`. - @@ -97,10 +97,10 @@ The amount of my plugins is currently 78. I will use the rough categories of my The built-in LSP client of Neovim is a fantastic feature. But it’s the most complicated part to set up at the moment. Of all the plugins, I struggled the most in setting up LSP. The main plugins to help are [lspconfig](https://github.com/neovim/nvim-lspconfig) and [nvim-lsp-installer](https://github.com/williamboman/nvim-lsp-installer) will help to create configurations for the LSP servers and to install them without additional manual work. - @@ -112,10 +112,10 @@ One of the LSP servers is the diagnostics language server. There is an [unoffici Vim has a nice completion engine with `omnicomplete`, but with [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) it feels much more modern. The recommended setup includes more plugins by the same author to complete LSP, buffers, path, vim’s command line, and snippets of one of the four biggest snippet plugins. - @@ -127,10 +127,10 @@ The plugin [lspkind-nvim](https://github.com/onsails/lspkind-nvim) will add pret [Telescope](https://github.com/nvim-telescope/telescope.nvim) is my favorite plugin. It is a plugin to find, filter, preview, and pick files. It supports built-in dozens of features, for example, files, Vim features, LSP, Git, and many more. But it can be extended to browse [the file system](https://github.com/nvim-telescope/telescope-file-browser.nvim), [fzf](https://github.com/nvim-telescope/telescope-fzf-native.nvim), [recently used files](https://github.com/nvim-telescope/telescope-frecency.nvim), [node_modules](https://github.com/nvim-telescope/telescope-node-modules.nvim), or [browser bookmarks](https://github.com/dhruvmanila/telescope-bookmarks.nvim). - @@ -172,7 +172,12 @@ Another thing on the opposite end of the window that many people want is a statu I like to work distraction-free. In Visual Studio Code there is the Zen mode which will hide all unnecessary things. For Vim, the plugin [Goyo](https://github.com/junegunn/goyo.vim) does a similar thing. It centers the editor and removes all distractions. - +Goyo ### Syntax Highlighting @@ -184,10 +189,10 @@ The only problem I have is support for Styled Components. It’s an [open issue As a Front-end Web Developer, I love to see my color values visualized. The plugin [colorizer.lua](https://github.com/norcalli/nvim-colorizer.lua) does this fast and pretty. - diff --git a/src/content/journal/2022/artificial-intelligence-1-introduction.mdx b/src/content/journal/2022/artificial-intelligence-1-introduction.mdx index 5eece38..c8d4873 100644 --- a/src/content/journal/2022/artificial-intelligence-1-introduction.mdx +++ b/src/content/journal/2022/artificial-intelligence-1-introduction.mdx @@ -4,7 +4,7 @@ slug: artificial-intelligence-1-introduction date: 2022-12-14 author: Stefan Imhoff description: This is a four-part series of essays that investigates different aspects of AI. -cover: /images/cover/ai-cover-1.webp +cover: /assets/images/cover/ai-cover-1.webp tags: ["code", "technology", "ai"] series: artificial-intelligence --- diff --git a/src/content/journal/2022/artificial-intelligence-2-text-generation.mdx b/src/content/journal/2022/artificial-intelligence-2-text-generation.mdx index eee430f..58f9060 100644 --- a/src/content/journal/2022/artificial-intelligence-2-text-generation.mdx +++ b/src/content/journal/2022/artificial-intelligence-2-text-generation.mdx @@ -4,7 +4,7 @@ slug: artificial-intelligence-2-text-generation date: 2022-12-17 author: Stefan Imhoff description: This is a four-part series of essays that investigates different aspects of AI. -cover: /images/cover/ai-cover-2.webp +cover: /assets/images/cover/ai-cover-2.webp tags: ["code", "technology", "writing", "ai"] series: artificial-intelligence --- diff --git a/src/content/journal/2022/artificial-intelligence-3-text-to-image-generation.mdx b/src/content/journal/2022/artificial-intelligence-3-text-to-image-generation.mdx index 41df198..44a9131 100644 --- a/src/content/journal/2022/artificial-intelligence-3-text-to-image-generation.mdx +++ b/src/content/journal/2022/artificial-intelligence-3-text-to-image-generation.mdx @@ -4,7 +4,7 @@ slug: artificial-intelligence-3-text-to-image-generation date: 2022-12-21 author: Stefan Imhoff description: This is a four-part series of essays that investigates different aspects of AI. -cover: /images/cover/ai-cover-3.webp +cover: /assets/images/cover/ai-cover-3.webp tags: ["code", "technology", "design", "ai"] series: artificial-intelligence --- diff --git a/src/content/journal/2022/artificial-intelligence-4-getting-started.mdx b/src/content/journal/2022/artificial-intelligence-4-getting-started.mdx index 57db6af..cb44caa 100644 --- a/src/content/journal/2022/artificial-intelligence-4-getting-started.mdx +++ b/src/content/journal/2022/artificial-intelligence-4-getting-started.mdx @@ -4,7 +4,7 @@ slug: artificial-intelligence-4-getting-started date: 2022-12-24 author: Stefan Imhoff description: This is a four-part series of essays that investigates different aspects of AI. -cover: /images/cover/ai-cover-4.webp +cover: /assets/images/cover/ai-cover-4.webp tags: ["code", "technology", "design", "ai"] series: artificial-intelligence --- @@ -20,10 +20,10 @@ If you’re just curious and don’t to pay for the necessary hardware, or creat If you have an iPad or iPhone, you’re in luck because a free app is available on the App Store that allows using dozens of free image models based on Stable Diffusion. The name of the app is [Draw Things: AI Generation](https://apps.apple.com/app/draw-things-ai-generation/id6444050820), developed by Liu Liu. The app is mind-blowing and I highly recommend it. - @@ -68,10 +68,10 @@ You can find most models available in the Draw Things application on Hugging Fac To show what the models are capable of, I used my profile picture with different diffusion models. I used the same seed, no prompt, `50` steps, a guidance scale of `13,0`, a strength of `46%`, and the `Euler Ancestral` sampler. 46% as a strength value means it took roughly half of the source photo and the rest was creative. Lower values generate an image that looks like the source image, higher values generate images that look like the style the model was trained on. If you combine it with a prompt, you can get even more creative results, but you can never change the basic geometry of the image. For that, you need to train a new model with your face in Dreambooth. - @@ -95,10 +95,10 @@ Some generators allow negative prompts, to exclude specific things from the imag My first prompt was basic, I asked the AI to generate `a cyberpunk wizard`. The result was impressive, but random luck. I recreated the first two images with the same seed and upscaled the second one to add more detail. But the third image, generated with a new seed, created a complete different picture. - @@ -130,10 +130,10 @@ A seed is a starting point for generating an AI image. It can be a random value Inpainting is a technique used in image processing and computer vision to fill in missing or corrupted parts of an image. Inpainting algorithms can be used to restore damaged or degraded images, remove objects from an image, or fill in gaps in an image. These algorithms work by using information from surrounding pixels in the image to estimate the values of the missing or corrupted pixels. In the context of AI image generation, inpainting can be used to improve the quality of generated images by filling in any missing or incomplete pixels. - diff --git a/src/content/journal/2022/civil-war-truth-1-introduction.mdx b/src/content/journal/2022/civil-war-truth-1-introduction.mdx index 96ec947..78e6348 100644 --- a/src/content/journal/2022/civil-war-truth-1-introduction.mdx +++ b/src/content/journal/2022/civil-war-truth-1-introduction.mdx @@ -7,7 +7,7 @@ description: This is the introduction to a seven-part series that investigates why the last 10 years were uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-1-introduction.webp +cover: /assets/images/cover/civil-war-truth-1-introduction.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-2-corporatism-technocracy.mdx b/src/content/journal/2022/civil-war-truth-2-corporatism-technocracy.mdx index 349aa5c..904ad68 100644 --- a/src/content/journal/2022/civil-war-truth-2-corporatism-technocracy.mdx +++ b/src/content/journal/2022/civil-war-truth-2-corporatism-technocracy.mdx @@ -7,7 +7,7 @@ description: This is the second part of a seven-part series that investigates why the last 10 years were uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-2-corporatism-technocracy.webp +cover: /assets/images/cover/civil-war-truth-2-corporatism-technocracy.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-3-political-division.mdx b/src/content/journal/2022/civil-war-truth-3-political-division.mdx index 6d0d5a3..7a7a618 100644 --- a/src/content/journal/2022/civil-war-truth-3-political-division.mdx +++ b/src/content/journal/2022/civil-war-truth-3-political-division.mdx @@ -7,7 +7,7 @@ description: This is the third part of a seven-part series that investigates why the last 10 years were uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-3-political-division.webp +cover: /assets/images/cover/civil-war-truth-3-political-division.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-4-media-journalism.mdx b/src/content/journal/2022/civil-war-truth-4-media-journalism.mdx index 51f14f7..e51e62a 100644 --- a/src/content/journal/2022/civil-war-truth-4-media-journalism.mdx +++ b/src/content/journal/2022/civil-war-truth-4-media-journalism.mdx @@ -7,7 +7,7 @@ description: This is the fourth part of a seven-part series that investigates why the last 10 years were uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-4-media-journalism.webp +cover: /assets/images/cover/civil-war-truth-4-media-journalism.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-5-academia.mdx b/src/content/journal/2022/civil-war-truth-5-academia.mdx index 5e867ff..8f0a030 100644 --- a/src/content/journal/2022/civil-war-truth-5-academia.mdx +++ b/src/content/journal/2022/civil-war-truth-5-academia.mdx @@ -7,7 +7,7 @@ description: This is the fifth part of a seven-part series that investigates why the last 10 years were uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-5-academia.webp +cover: /assets/images/cover/civil-war-truth-5-academia.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-6-science.mdx b/src/content/journal/2022/civil-war-truth-6-science.mdx index 44a88e5..1ed166d 100644 --- a/src/content/journal/2022/civil-war-truth-6-science.mdx +++ b/src/content/journal/2022/civil-war-truth-6-science.mdx @@ -7,7 +7,7 @@ description: This is the sixth part of a seven-part series that investigates why the last 10 years were so uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-6-science.webp +cover: /assets/images/cover/civil-war-truth-6-science.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/civil-war-truth-7-conclusion.mdx b/src/content/journal/2022/civil-war-truth-7-conclusion.mdx index fe7c5d6..cb4473f 100644 --- a/src/content/journal/2022/civil-war-truth-7-conclusion.mdx +++ b/src/content/journal/2022/civil-war-truth-7-conclusion.mdx @@ -7,7 +7,7 @@ description: This is the last part of a seven-part series that investigates why the last 10 years were so uniquely turbulent with ever-increasing political division, rampant censorship, and growing authoritarianism. -cover: /images/cover/civil-war-truth-7-conclusion.webp +cover: /assets/images/cover/civil-war-truth-7-conclusion.webp tags: ["politics"] series: civil-war-truth --- diff --git a/src/content/journal/2022/dreaming-of-the-old-normal.mdx b/src/content/journal/2022/dreaming-of-the-old-normal.mdx index 33cde8c..adea5a4 100644 --- a/src/content/journal/2022/dreaming-of-the-old-normal.mdx +++ b/src/content/journal/2022/dreaming-of-the-old-normal.mdx @@ -4,7 +4,7 @@ slug: dreaming-of-the-old-normal date: 2022-01-06 author: Stefan Imhoff description: I had a dream of a world long forgotten. -cover: /images/cover/dreaming-of-the-old-normal.webp +cover: /assets/images/cover/dreaming-of-the-old-normal.webp tags: ["philosophy", "personal"] --- diff --git a/src/content/journal/2022/i-counted-everything-i-own.mdx b/src/content/journal/2022/i-counted-everything-i-own.mdx index 6fa31ca..b1d41c1 100644 --- a/src/content/journal/2022/i-counted-everything-i-own.mdx +++ b/src/content/journal/2022/i-counted-everything-i-own.mdx @@ -6,7 +6,7 @@ updated: 2023-06-07 author: Stefan Imhoff description: As a minimalist I’m interested in how much stuff I own. I counted all the things I own. charts: true -cover: /images/cover/i-counted-everything-i-own.webp +cover: /assets/images/cover/i-counted-everything-i-own.webp tags: ["self-improvement", "minimalism", "personal"] --- diff --git a/src/content/journal/2022/manage-references-for-note-taking.mdx b/src/content/journal/2022/manage-references-for-note-taking.mdx index 0899496..79f2396 100644 --- a/src/content/journal/2022/manage-references-for-note-taking.mdx +++ b/src/content/journal/2022/manage-references-for-note-taking.mdx @@ -5,7 +5,7 @@ date: 2022-04-22 updated: 2022-04-30 author: Stefan Imhoff description: When writing notes, it’s important to keep references somewhere to make sure our ideas are backed up, and we can quote the source accordingly. This is how I work with my references. -cover: /images/cover/manage-references-for-note-taking.webp +cover: /assets/images/cover/manage-references-for-note-taking.webp tags: ["writing", "productivity", "recommendation"] --- diff --git a/src/content/journal/2022/rss-news-feed.mdx b/src/content/journal/2022/rss-news-feed.mdx index 8eabe3e..ee438c1 100644 --- a/src/content/journal/2022/rss-news-feed.mdx +++ b/src/content/journal/2022/rss-news-feed.mdx @@ -4,7 +4,7 @@ slug: rss-news-feed date: 2022-11-05 author: Stefan Imhoff description: Why you should stop reading news inside of social media sites and instead use the RSS/Atom news feed format to directly follow content creators, and why you should provide a news feed as a content creator. -cover: /images/cover/news-wave.webp +cover: /assets/images/cover/news-wave.webp tags: ["recommendation", "technology"] --- diff --git a/src/content/journal/2022/template-ia-writer-nanzan.mdx b/src/content/journal/2022/template-ia-writer-nanzan.mdx index d77c54a..c99027d 100644 --- a/src/content/journal/2022/template-ia-writer-nanzan.mdx +++ b/src/content/journal/2022/template-ia-writer-nanzan.mdx @@ -5,7 +5,7 @@ author: Stefan Imhoff date: 2022-03-17 description: I created a preview template for my favorite writing app iA Writer. featured: true -cover: /images/cover/ia-writer-template-nanzan.webp +cover: /assets/images/cover/ia-writer-template-nanzan.webp tags: ["code", "design", "download", "japan"] series: ia-writer-templates --- diff --git a/src/content/journal/2022/template-ia-writer-shibui.mdx b/src/content/journal/2022/template-ia-writer-shibui.mdx index 7b41d30..25259ae 100644 --- a/src/content/journal/2022/template-ia-writer-shibui.mdx +++ b/src/content/journal/2022/template-ia-writer-shibui.mdx @@ -5,7 +5,7 @@ author: Stefan Imhoff date: 2022-03-18 description: I created a preview template for my favorite writing app iA Writer. featured: true -cover: /images/cover/ia-writer-template-shibui.webp +cover: /assets/images/cover/ia-writer-template-shibui.webp tags: ["code", "design", "download", "minimalism", "japan"] series: ia-writer-templates --- diff --git a/src/content/journal/2022/tools-for-better-writing.mdx b/src/content/journal/2022/tools-for-better-writing.mdx index 0efd7ef..f0a5fd2 100644 --- a/src/content/journal/2022/tools-for-better-writing.mdx +++ b/src/content/journal/2022/tools-for-better-writing.mdx @@ -4,7 +4,7 @@ slug: tools-for-better-writing date: 2022-09-09 author: Stefan Imhoff description: The tools I use for better writing -cover: /images/cover/tools-for-better-writing.webp +cover: /assets/images/cover/tools-for-better-writing.webp tags: ["writing", "technology"] --- diff --git a/src/content/journal/2023/shokunin.mdx b/src/content/journal/2023/shokunin.mdx index 5a20b04..cd026f8 100644 --- a/src/content/journal/2023/shokunin.mdx +++ b/src/content/journal/2023/shokunin.mdx @@ -5,7 +5,7 @@ date: 2023-03-08 updated: 2024-02-10 author: Stefan Imhoff description: The Japanese word “shokunin” describes an artisan or craftsman. In this essay, I investigate the meaning and history of the word and show a variety of examples. -cover: /images/cover/shinto-gate.webp +cover: /assets/images/cover/shinto-gate.webp tags: ["philosophy", "design", "film", "japan"] --- diff --git a/src/content/journal/2023/thomas-sowell.mdx b/src/content/journal/2023/thomas-sowell.mdx index 4947705..60fc880 100644 --- a/src/content/journal/2023/thomas-sowell.mdx +++ b/src/content/journal/2023/thomas-sowell.mdx @@ -4,7 +4,7 @@ slug: thomas-sowell date: 2023-10-29 author: Stefan Imhoff description: Discover the influential works of Thomas Sowell, a visionary economist and author, as he challenges commonly held beliefs and exposes the dangers of pursuing a utopian vision in society. -cover: /images/cover/thomas-sowell.webp +cover: /assets/images/cover/thomas-sowell.webp tags: ["book", "philosophy", "politics", "recommendation"] --- diff --git a/src/content/journal/2023/website-relaunch-astro-preact-tailwind.mdx b/src/content/journal/2023/website-relaunch-astro-preact-tailwind.mdx index 0b6046b..cc1dd96 100644 --- a/src/content/journal/2023/website-relaunch-astro-preact-tailwind.mdx +++ b/src/content/journal/2023/website-relaunch-astro-preact-tailwind.mdx @@ -5,7 +5,7 @@ date: 2023-06-16 author: Stefan Imhoff description: How I built my personal website using Astro, Tailwind CSS, and AI improving the information architecture, content, and design. tags: ["code", "design", "personal"] -cover: /images/cover/alien-worlds.webp +cover: /assets/images/cover/alien-worlds.webp --- After five months of hard work, I'm proud to present my new personal website, built with [Astro](https://astro.build/). Back in February 2023, I began working on the project. I had been wanting to try out Astro for a while, but when content collections were released, I was finally convinced. I also wanted to experiment with [Tailwind CSS](https://tailwindcss.com/), so I decided to use it for this project. @@ -30,10 +30,10 @@ Previously, I had cover photos on my website, but I removed them because it was Recreating my previous website with [Astro](https://astro.build/) was a lot of fun. It was impressive how quickly it was set up and how easy it was to find anything in the documentation. And the speed of Astro is impressive, nearly all of my pages have a perfect 100% rating in [Unlighthouse](https://unlighthouse.dev/). - diff --git a/src/content/journal/2024/beyond-the-bookshelf-1.mdx b/src/content/journal/2024/beyond-the-bookshelf-1.mdx index f3dc085..51ee0c7 100644 --- a/src/content/journal/2024/beyond-the-bookshelf-1.mdx +++ b/src/content/journal/2024/beyond-the-bookshelf-1.mdx @@ -4,7 +4,7 @@ slug: beyond-the-bookshelf-1 date: 2024-12-20 author: Stefan Imhoff description: Explore how reading remains vital in our digital age, from childhood memories to practical strategies for reading more books. Learn why deep reading matters and how to build better reading habits. -cover: /images/cover/beyond-the-bookshelf-1.webp +cover: /assets/images/cover/beyond-the-bookshelf-1.webp tags: ["book", "self-improvement", "personal"] series: beyond-the-bookshelf --- diff --git a/src/content/journal/2024/beyond-the-bookshelf-2-books-2024.mdx b/src/content/journal/2024/beyond-the-bookshelf-2-books-2024.mdx index 73360ab..6e9c170 100644 --- a/src/content/journal/2024/beyond-the-bookshelf-2-books-2024.mdx +++ b/src/content/journal/2024/beyond-the-bookshelf-2-books-2024.mdx @@ -4,7 +4,7 @@ slug: beyond-the-bookshelf-2-books-2024 date: 2024-12-27 author: Stefan Imhoff description: "Discover my reading journey through 2024: from dystopian classics and manga to libertarian economics. A curated review of books spanning fiction, philosophy, and politics." -cover: /images/cover/beyond-the-bookshelf-2.webp +cover: /assets/images/cover/beyond-the-bookshelf-2.webp tags: ["book", "recommendation", "personal"] series: beyond-the-bookshelf --- diff --git a/src/content/journal/2024/raycast.mdx b/src/content/journal/2024/raycast.mdx index a188849..149becc 100644 --- a/src/content/journal/2024/raycast.mdx +++ b/src/content/journal/2024/raycast.mdx @@ -5,7 +5,7 @@ date: 2024-01-19 updated: 2025-07-08 author: Stefan Imhoff description: Discover the power of Raycast, the exceptionally fast and extendable launcher for macOS and iOS that will revolutionize your workflow. In this comprehensive article, I explore the impressive capabilities of Raycast, from its versatile application launcher and powerful calculator to its convenient features like Raycast notes, clipboard history, and window management. Find out how Raycast can enhance your productivity with its seamless integration of tools for developers, designers, and project managers. -cover: /images/cover/raycast.webp +cover: /assets/images/cover/raycast.webp tags: ["productivity", "software", "ai"] --- @@ -17,10 +17,10 @@ I’ve used other application launchers before. Alfred was a good companion for ## Application Launcher - @@ -36,10 +36,10 @@ Raycast is the only application with consistent app switching behavior. When I p ## Calculator - @@ -51,10 +51,10 @@ The calculator history allows you to view previous calculations and pin useful o ## Calendar - @@ -66,14 +66,14 @@ But the feature I love the most is the menu bar events. You can see the time unt Raycast Notes (previously Floating Notes) are the perfect companion for storing ideas, ticket numbers, making quick notes in a meeting, removing formatting from copied text, and much more. I constantly use this feature. Raycast launched [Raycast Notes](https://www.raycast.com/blog/raycast-notes) at the end of 2024. They support now Markdown, code blocks, and multiple notes. - +Raycast Notes ## Clipboard History - @@ -81,10 +81,10 @@ Another feature I use constantly is Clipboard History. It allows accessing the h ## Screenshots - @@ -92,10 +92,10 @@ The screenshots I create are saved in a cloud storage folder. With Raycast, you ## Snippets - @@ -107,10 +107,10 @@ There may be snippet applications available with more features (like programming ## Emoji & Symbols - @@ -118,19 +118,19 @@ In a remote setting, it’s important to transfer emotions to lift the mood and And recently, the feature got even better for Pro users, now you can search for anything and AI will find all Emoji that fit the search term. - ## Search Files - @@ -144,10 +144,10 @@ I would love if my window manager [AeroSpace](https://github.com/nikitabobko/Aer ## Quicklinks - @@ -163,10 +163,10 @@ I use several script commands, which are publicly available in my [raycast-scrip ## Raycast AI 💰 - @@ -178,10 +178,10 @@ You can continue (or start) a regular ChatGPT session in an extra window that co I have several assistants that I use for specific tasks, providing the necessary instructions and context. I have one that helps me solve coding issues, one that helps me learn Japanese grammar, and one for training tips. - @@ -204,10 +204,10 @@ Raycast includes another 10-20 AI commands as ideas, and I have created many mor ## Translator 💰 - @@ -228,10 +228,10 @@ Raycast has many more features to mention, but here are a few: ## Raycast Store - @@ -241,28 +241,28 @@ Because the number of extensions is huge, I’ll show in the next section how I ## Browsing & Searching - One of my most favorite extension in this section is the [Brave](https://www.raycast.com/ron-myers/brave) extension that allows you to control the Brave browser from anywhere. With it, you can search, create new tabs, and access the browser history and bookmarks from anywhere. When I’m working somewhere and want to go to a specific tab, I don’t have to switch to the browser, find the tab, and click it. Instead, I can immediately jump to the correct tab instantly. There are similar extensions for other browsers, for example [Arc](https://www.raycast.com/the-browser-company/arc). - My default search engine these days is [Brave Search](https://search.brave.com/). Google is just too biased and suppresses too much information. With the [Brave Search](https://www.raycast.com/VishwasShashidhar/brave-search) extension, I can search with auto-complete from anywhere and directly open the search results in the browser. - @@ -274,19 +274,19 @@ Other honorable mentions are the [Reddit Search](https://www.raycast.com/ewlchen I’m a Frontend Developer by profession and work a lot with code, but also with design tools. - As a developer, you work a lot with version control. I use the [GitHub](https://www.raycast.com/raycast/github), [GitHub Enterprise](https://www.raycast.com/Kinbaum/github-for-enterprise), and [GitHub Gist](https://www.raycast.com/koinzhang/github-gist) extensions. They allow you to view or create pull requests, discussions, read notifications, search repositories, and much more. The [Git Repos](https://www.raycast.com/moored/git-repos) extension allows searching on the local hard drive for Git repositories. - @@ -294,10 +294,10 @@ I use the [Kill Process](https://www.raycast.com/rolandleth/kill-process) extens I use extensions to format or create code. For example, I use [SVGO](https://www.raycast.com/kaichi/raycast-svgo) to optimize SVGs, [SVGR](https://www.raycast.com/rickMcGavin/svgr) to create React components from SVGs, and tools like [Format JSON](https://www.raycast.com/destiner/json-format) and [Prettier Code](https://www.raycast.com/lin/prettier) to format any code. It’s convenient to format the code before pasting it anywhere on the web. - @@ -315,28 +315,28 @@ I love the [Color Picker](https://www.raycast.com/thomas/color-picker) extension [Image Modification](https://www.raycast.com/HelloImSteven/sips) allows you to convert images and vector graphics, flip, scale, resize, add filters and distortions, optimize the size, and perform real-time image manipulations. - There is a [Google Fonts](https://www.raycast.com/GastroGeek/google-fonts) extension that allows browsing and directly downloading fonts. - [Glyph Search](https://www.raycast.com/gbgk/glyph-search) helps you find Unicode characters. - @@ -348,19 +348,19 @@ I write a lot, including blog posts, documentation, chat messages, and code. Ray [Lorem Ipsum](https://www.raycast.com/AntonNiklasson/lorem-ipsum) allows you to create placeholder text. [Link Cleaner](https://www.raycast.com/MisakiCoca/link-cleaner) removes all tracking parameters from the last URL in the clipboard. - One of my favorites is [Change Case](https://www.raycast.com/erics118/change-case). I use it many times each week to convert, for example, the title of a Jira ticket into a branch name in Git. The [Word Search](https://www.raycast.com/rishabswift/word-search) extension is fantastic for finding adjectives, antonyms, rhymes, synonyms, or missing letters. - @@ -368,10 +368,10 @@ All the tools I use for note-taking have companion apps: [Obsidian](https://www. ## Project Management & Productivity - @@ -381,37 +381,37 @@ Fun fact: The Jira application needed approval by my company’s IT. I opened a ## Media - Raycast extensions are not just for work, but also for fun. Everyone needs to generate memes or find funny GIFs, right? Well, there’s an extension called [Meme Generator](https://www.raycast.com/timoransky/meme-generator) and [GIF Search](https://www.raycast.com/josephschmitt/gif-search) for exactly that purpose. - If you’re into movies and TV shows, I frequently use [The Movie Database](https://www.raycast.com/Aayush9029/tmdb) for information and [JustWatch Search](https://www.raycast.com/rishabswift/search-justwatch) to find out where they are available for streaming. - I use the [Goodreads](https://www.raycast.com/puneeth/goodreads) extension to discover books or authors and the [Spotify Player](https://www.raycast.com/mattisssa/spotify-player) to manage music. - @@ -439,10 +439,10 @@ With a Pro account, you can design your own Raycast color themes, and Easter egg The second year in a row, you get one of the best year reviews. People proudly share their images on 𝕏 ([#RaycastWrapped](https://x.com/hashtag/RaycastWrapped)). Here is my Raycast Wrapped 2024 summary: - diff --git a/src/content/journal/2025/15-years-xing.mdx b/src/content/journal/2025/15-years-xing.mdx index f2619c9..34b8312 100644 --- a/src/content/journal/2025/15-years-xing.mdx +++ b/src/content/journal/2025/15-years-xing.mdx @@ -5,7 +5,7 @@ date: 2025-12-15 updated: 2025-12-16 author: Stefan Imhoff description: Reflecting on 15 years of frontend development, massive offsites, and the dismantling of a tech giant. -cover: /images/cover/15-years-xing.webp +cover: /assets/images/cover/15-years-xing.webp tags: ["personal"] --- @@ -37,9 +37,9 @@ On my first day, I received a warm welcome at the front desk at Gänsemarkt in H It took a bit of time to find a desk, so I initially sat in the corridor. The atmosphere was energetic, with walls covered in cards, product prints, and concepts. I joined during a major relaunch that included a comprehensive redesign and an activity stream with stories about jobs and people. My laptop wasn’t ready on day one, so I used an older iMac for the first week or two. - @@ -49,9 +49,9 @@ After onboarding, I joined my first team: the jobs team. We were a cross‑funct XING was known for memorable parties and offsite events over the years. In 2011, we hosted a summer party at [Zum Alten Lotsenhaus](https://www.zum-alten-lotsenhaus.de/) at Elbstrand beach with a “maritime” costume theme—pirates, fish, sailors, and officers—along with great food and drinks. Several internal products even carried playful, beer‑themed names. - @@ -65,9 +65,9 @@ We held our Christmas party at [FABRIK Hamburg](https://fabrik.de/) with a Wild In 2012, I participated in my first Prototyping Days—a three‑day event where the company formed teams to develop prototypes. At the end of the week, ideas were presented at [Restaurant Leuchtturm](https://www.leuchtturm-harburg.de/) near Harburger Stadtpark, winners were selected, and we wrapped up with a summer party. - @@ -81,9 +81,9 @@ XING was growing rapidly, and as other tenants moved out, we took over additiona A new building went up next to our office, bringing a year of construction noise and stress. We often joked, “Wouldn’t it be funny if we moved into that building?”—and in April 2013, we did. The new space was modern and open‑plan, with carpeting and room dividers to keep noise down, plus kitchens, themed rooms, a large event space, and a parking garage. As a welcome gift, employees received a lime‑green XING beach towel and some orange juice. - @@ -93,9 +93,9 @@ Around that time, the e‑recruiting business relocated to Barcelona. I could ei In September 2013, we held our second Prototyping Days, and this time I was on the winning team. We developed XING screencasts, a concept aimed at teaching people how to use the platform. The following summer party took place at [Planten un Blomen](https://plantenunblomen.hamburg.de/), featuring an illuminated water and light show at night. - @@ -119,9 +119,9 @@ Our team won the [SEMY Award](http://semyawards.com), the search marketing prize We had a cluster offsite in the summer, spending several days at [Herrenhaus Gut Bliestorf](https://herrenhaus-gut-bliestorf.de/). The experience included delicious food and team events such as archery and stock fighting sessions. - @@ -147,34 +147,34 @@ Nearly 1,000 company employees were flown from various locations to Palma de Mal We booked two or three hotels near the event location, [Palau de Congressos de Palma](https://www.palmacongresscenter.com/en). After the initial kick-off, we rode by bus on the first day to [Cova Galdent](https://www.bodas.net/fincas/cueva-de-galdent--e12921), a party venue inside natural stone caves. It was a magical place, but the food was insufficient. I remember my co-worker was starving, as all we received were appetizers. However, the lighting and atmosphere of the location were enchanting. - Every location was a secret, and they didn’t reveal it until we arrived. On the second day, the party location was even more exciting. We were driven for half an hour across the island to [Son Termes Finca](https://sontermes.com/), a large, historic Spanish finca on a mountain. The setting was incredible, featuring old fireplaces, stone walls, colorful lighting, fire pots, Mariachi musicians, paella pans, homemade burgers, Iberian ham, and suckling pig. The variety of food at all the locations was astonishing. - - - - @@ -203,9 +203,9 @@ We celebrated our Christmas party at [Prototyp—Das Automuseum](https://prototy 2019 was one of the most stressful years for me at XING. It began with a pleasant kickoff at the [Grand Elise](https://www.grand-elysee.com/) Rotherbaum. In August, we had a great offsite with the Growth cluster at the [Ellernhof Hotel](https://www.ellernhof.de/), a farm. We went bowling, had a barbecue, saw horses and chickens, used a climbing park in the trees, and enjoyed the sunny weather. - @@ -215,9 +215,9 @@ The project succeeded, but the pace and pressure led to a difficult phase with s I attended a second offsite, this time for the XIF, the XING Interfaces & Foundations cluster. The event took place at a beautiful lake in the cozy hotel, [Bokel-Mühle am See](https://www.bokelmuehle.de/). It featured a fantastic breakfast, a room with a fireplace, a barbecue, and a buffet. We also enjoyed walking around the lake. Although I wasn’t officially part of the cluster yet, I was invited to join to meet the team. - @@ -239,17 +239,17 @@ The beginning of the year was especially hard for me when I developed an eye con COVID‑19 hit in March, and we were all sent home. The IT team worked intensely to support remote work—setting up VPNs, collaboration tools, and a remote meeting structure. It was an especially challenging moment, with a brand‑new building awaiting renovation and opening while offices were closed due to lockdowns. - In July 2020, we visited the stripped‑down interior of the Unilever building. The new office—New Work Harbour—spans six floors (with the ground level open to the public) and features a nautical theme, with container‑style meeting rooms and wood‑accented meeting boxes. The sixth floor includes a roof terrace, and multiple teams contributed concepts for creative zones, labs, a library, a lounge, a speaker area, a welcome area, and chalk‑writable walls. I helped design an agile room with mobile furniture and writable walls; each area had movable stations with screens and cameras for remote meetings. We officially moved in September 2020, though it was never fully occupied during the pandemic, and many continued working from home. - @@ -263,9 +263,9 @@ The pandemic affected the company, causing its stock price to decline to €260, I focused on my team and the design system. After two years of development, it had matured with 50+ components. Designers maintained detailed spec sheets in [Figma](https://www.figma.com/) and a product guide, while we built a documentation site with code examples, API tables, and live demos. We migrated the web code to [TypeScript](https://www.typescriptlang.org/) and [Styled Components](https://styled-components.com/) and automated the export of design tokens (colors, spacing, motion) as well as icons and illustrations, enabling streamlined releases for Web, iOS, and Android. We developed a comprehensive palette with semantic colors, hundreds of icons, and many illustrations by a talented illustrator who later joined our team. - @@ -275,9 +275,9 @@ In 2022, as the pandemic eased, the company encouraged a gradual return to the o Our team focused on training and promoting adoption of the design system while continuing to create new components. We also built internal tools to measure adoption. I created a web app that analyzed multiple repositories to track component usage and surfaced the results—together with iOS, Android, and Figma figures—in a React dashboard. This gave us detailed insight into how widely components were used across products. - @@ -293,9 +293,9 @@ New Work SE had a total of 8 locations at that time: Hamburg, Berlin, Munich, Vi The company continued to lose money due to the post-COVID recession. Expanding the monetary supply by printing a trillion euros had led to massive inflation and the boom-bust cycle, as described by Ludwig von Mises in “[The Theory of Money and Credit](https://mises.org/library/book/theory-money-and-credit)” (1912). Additionally, losing access to cheap gas from Russia and shutting down all nuclear power plants was likely not a good decision, resulting in a 20% decline in industrial production and a negative GDP growth for multiple years in a row. These factors, combined with the post-COVID recession, had negatively affected the job market and recruitment solutions. The stock price fell to €150, and layoffs occurred in Q1. - @@ -313,9 +313,9 @@ Onlyfy underwent a restructuring with significant layoffs. Two colleagues joined Henning Rönneberg was appointed CFO and COO in February. In May, Petra von Strombeck handed over the CEO role to Rönneberg. Despite prior cost measures, financial headwinds persisted, and many anticipated another round of layoffs. - @@ -323,9 +323,9 @@ Our team led the accessibility initiative to meet the mid‑year timeline for th Throughout the year, the Design System team continued building components for priority projects, creating several new components and enhancing others. - @@ -335,17 +335,17 @@ In late October, XING announced another round of layoffs planned for year‑end, To be honest, I didn’t expect to be fired. I was uncertain about the future of the design system but thought my own role was relatively safe. A longtime colleague even joked we would be too expensive to be severed and possibly the last to leave the company. In the end, engineering roles in Germany were largely reduced, including many who had worked on shared infrastructure and foundations. Starting in January, the remaining engineering teams—primarily in other locations—planned to expand the use of AI‑assisted coding tools to help with knowledge transfer. - All that remains is looking back to remember the good times. I don’t look back in anger; XING was the best company I worked for, with some of the most skilled people I’ve met. I wouldn’t have stayed so long if it had been otherwise. I’m confident the XING Design System is among the strongest in Europe, perhaps beyond. Reviewing the documentation, spec sheets, and product guides reminded me how skilled and innovative our designers are. From the challenging Superellipse profile image—[which can soon be built natively with CSS](https://nerdy.dev/superellipsed-pill-shapes-are-cool)—to bold colors, animations, and distinctive illustrations, icons, and stickers, the work stands out. Building a custom design system rather than theming an existing component library made a real difference. To all the developers, designers, QAs, product managers, tech, and non-tech people I’ve worked with over the past 15 years: thank you for the learning and the projects we created together. - diff --git a/src/content/journal/2025/from-typewriter-to-split-keyboard.mdx b/src/content/journal/2025/from-typewriter-to-split-keyboard.mdx index 968f7e4..746e200 100644 --- a/src/content/journal/2025/from-typewriter-to-split-keyboard.mdx +++ b/src/content/journal/2025/from-typewriter-to-split-keyboard.mdx @@ -5,7 +5,7 @@ date: 2025-08-04 updated: 2025-12-19 author: Stefan Imhoff description: Discover my journey from typewriters to mechanical and split keyboards. Learn how typing, layouts, and customization transformed my digital life and workflow. -cover: "/images/cover/from-typewriter-to-split-keyboard.webp" +cover: "/assets/images/cover/from-typewriter-to-split-keyboard.webp" tags: ["productivity", "technology", "writing", "personal"] --- @@ -65,9 +65,9 @@ Two months ago, my company brought together everyone from my work unit for a thr At home, I researched split keyboards for a while by watching all kinds of videos on YouTube and by asking my co-worker many questions about his keyboards via chat. He told me the delivery might take a few weeks, as it is sent from Taiwan. The price of the ZSA Voyager is quite hefty. - @@ -87,9 +87,9 @@ Every day, I used various websites to enhance my writing and speed. I completed After one and a half months, I achieved my speed goal and ordered a set of two beautiful custom-designed coiled cables from [King Cables](https://www.kingcables.org). I spent several hours researching options since I knew very little about cables. I chose the “Galaxy” theme for both cables from a wide range of color options. One coiled keyboard cable features a 16 cm coil, a detachable YC8 connector in black, black heat shrink, and is USB-C to USB-C with a total length of 1 m. The second cable is a custom TRRS cable that connects the two halves of the split keyboard. I ordered a 25 cm long coil with angled 90° connectors in gold and a black heat sink. I didn’t order a cute animal for the cable, but King Cables send me a cute Panda bear nevertheless. - diff --git a/src/content/journal/2025/fuck-you-sonos.mdx b/src/content/journal/2025/fuck-you-sonos.mdx index 79e1a4d..4f94c1f 100644 --- a/src/content/journal/2025/fuck-you-sonos.mdx +++ b/src/content/journal/2025/fuck-you-sonos.mdx @@ -4,7 +4,7 @@ slug: fuck-you-sonos date: 2025-04-30 author: Stefan Imhoff description: Frustrated with Sonos, a once-reliable brand, I’m done after repeated failures and a poor app experience. Time to search for new audio solutions. -cover: /images/cover/fuck-you-sonos.webp +cover: /assets/images/cover/fuck-you-sonos.webp tags: ["technology", "personal"] --- diff --git a/src/content/journal/2025/modern-atlas-shrugged-1-signs-of-decline.mdx b/src/content/journal/2025/modern-atlas-shrugged-1-signs-of-decline.mdx index 3440295..1fff3a5 100644 --- a/src/content/journal/2025/modern-atlas-shrugged-1-signs-of-decline.mdx +++ b/src/content/journal/2025/modern-atlas-shrugged-1-signs-of-decline.mdx @@ -4,7 +4,7 @@ slug: modern-atlas-shrugged-1-signs-of-decline date: 2025-05-19 author: Stefan Imhoff description: Discover why Europe and Germany face economic decline, rising crime, and social division. Explore the roots of crisis and the lessons from Atlas Shrugged. -cover: /images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp +cover: /assets/images/cover/modern-atlas-shrugged-1-signs-of-collapse.webp tags: ["book", "philosophy", "politics"] series: modern-atlas-shrugged --- @@ -41,9 +41,9 @@ I first read Ayn Rand’s fiction in March 2023. Since then, I have [read numero This essay will be full of spoilers in case you haven’t read the book. - @@ -71,9 +71,9 @@ The socialist government is developing a secret weapon system called “Project People use the phrase “Who is John Galt?” to express their frustration and anger at government policies. If you recognize these signs, congratulations! You are not alone. If you don’t, allow me to share my thoughts. - @@ -83,8 +83,8 @@ People use the phrase “Who is John Galt?” to express their frustration and a Sixteen years ago, the economies of the European Union and the United States stood shoulder to shoulder, each a titan of global prosperity. Today, the US boasts a GDP of €25,5 trillion—50% larger than the EU’s €16,6 trillion. At the heart of Europe’s faltering fortunes lies Germany, once an industrial juggernaut, now a shadow of its former self. The International Monetary Fund ranks it last among the world’s top 30 economies, and it ended 2023 with a negative growth rate of 0.3% GDP. Germany has fallen from 6th in global competitiveness in 2014 to 24th in 2024. This decline is not only a national crisis—it’s a warning for Europe and the West. What went wrong? A toxic mix of energy missteps, industrial neglect, and excessive state control has dragged Germany into an economic mire, with ripple effects threatening the broader Western world. - @@ -100,8 +100,8 @@ Germany’s troubles resonate across Europe. The EU has no trillion-dollar compa One sign of decline is the collapse of infrastructure. In Germany, public infrastructure investment is critically low, ranking near the bottom in the EU. This situation is exacerbated by planning delays and a shortage of skilled labor. Despite the potential for course correction, experts suggest it may already be too late, raising concerns about Germany’s ability to catch up with other EU countries in infrastructure development. - @@ -115,8 +115,8 @@ Ironically, Germany is lagging behind Brazil and Peru in terms of average intern While trains in China reach speeds of up to 800 km/h, in Germany, you are fortunate if they arrive at all. Deutsche Bahn exemplifies the inefficiencies and decline of the German railway system. Although it operates as a stock company, the state owns 100% of Deutsche Bahn AG, making it state-owned. In 2024, only 62.5% of long-distance trains arrived within six minutes of their scheduled time. Cancellations and disruptions are common, often due to ongoing construction and an aging infrastructure that requires extensive repairs. The company has launched a new initiative to improve punctuality and reliability, with plans to reduce delays by 2027 and achieve a punctuality rate of 75-80%. - @@ -130,8 +130,8 @@ Infrastructure decline is a critical issue. Decades of underinvestment have led Another company declining is the Deutsche Post AG or DHL Group. Although privatized in the 1990s, the state still holds nearly 17% through the KfW Bank. The company has been struggling with labor shortages, particularly in logistics and transportation. The shortage of truck drivers has led to delays in deliveries and increased costs for businesses. The company has also faced criticism for its treatment of workers, including low wages and poor working conditions, which have led to strikes and protests. - @@ -147,8 +147,8 @@ However, the postal service is contributing to these issues itself. By the end o In 2015, Germany’s education system faced a sobering reality check when the PISA results revealed a sharp decline in students’ reading, math, and science competencies. A decade later, this downward trend continues, with reading scores plummeting since Angela Merkel’s 2015 open-door refugee policy. This is not just a statistical anomaly; it reflects a broader competency crisis that threatens Germany’s future. The nation is grappling with a combination of demographic, educational, and societal shifts that require urgent attention. What is driving this decline, and how did a country once renowned for its precision and intellect reach this point? - @@ -172,8 +172,8 @@ Too often, fingers point outward—to schools, teachers, or abstract “systems One of the main drivers of the economic decline is Germany’s ideologically driven Energiewende policy, which aims to achieve climate neutrality by 2045. This policy seeks to transition the nation from fossil fuels and nuclear power to renewable energy sources like wind and solar. Since 1971, the energy mix has evolved significantly, with low-carbon alternatives—such as wind, solar, biofuels, and hydropower—gaining traction. However, a crucial decision made under Angela Merkel and finalized under Olaf Scholz phased out nuclear power entirely, reducing capacity from 23 GW to 0 GW by 2023. This move, influenced by public fears following Fukushima and pressure from the Green Party, aimed to satisfy environmentalists but left Germany vulnerable. Over the past 25 years, the nation has invested more than €500 billion in renewables, constructing 30,000 wind turbines and over 3 million solar panels—many sourced from China. Yet, the promise of a stable, green energy future remains unfulfilled. - @@ -203,8 +203,8 @@ A few days before the blackout, Repsol issued a mandatory stock market notice to Since Angela Merkel’s decision to permit an unlimited influx of immigrants in 2015, Germany has seen a significant increase in crime rates. In 2023, there were 21,000 reported knife attacks—nearly 60 per day. The online project [Messerinzidenz](https://messerinzidenz.de/) collects publicly available knife crime data and displays these attacks on a map daily. Nancy Faeser, the former Federal Minister of the Interior and Community, presented the Federal Crime Statistics (PKS), which reveal alarming figures and underscore the serious situation. - @@ -236,8 +236,8 @@ While socialist parties present immigration as the future and backbone of our ec Europe is more divided than ever. Even though some bureaucrats dream of a United States of Europe, this will never happen. The cultures, languages, and people are too different. Besides, the EU doesn’t want to create a federal system like the United States has with a constitution and 1st and 2nd amendment rights, but rather a centralized system that is more similar to the Soviet Union. Critics mock the EU as EUdSSR. - @@ -253,8 +253,8 @@ The Euro devalues each year, and inflation is rampant. The EU has lost credibili The situation in Germany remains challenging. Thirty-six years after reunification, the country is more divided between East and West than it was when the Berlin Wall fell. The AfD (Alternative for Germany) has gained significant support in the East and is also growing in the West, making it the strongest party. This division is not only political; it reflects deeper cultural and ideological gaps that have persisted since reunification. However, the ideological divide between the AfD and other parties hinders the formation of a center-right coalition. The CDU (Christian Democratic Union) has broken all its pre-election promises and increased the debt by €1.5 trillion for rearmament, infrastructure, and ecological projects. They formed a coalition with the SPD (Social Democratic Party), the former leading party whose government collapsed prematurely, and continued the policies of the previous failed administration. - @@ -276,11 +276,11 @@ Followers of the utopian vision view human nature as malleable, believing that p In contrast, followers of the tragic vision see human beings as inherently flawed and limited, both morally and intellectually. They believe that social evils and conflicts arise from these inherent limitations, not merely from poor institutions or a lack of effort. They argue that society must acknowledge these permanent limits. Progress involves finding workable trade-offs rather than pursuing perfection; attempts to achieve ideal outcomes can be futile and counterproductive. They emphasize evolved traditions, systemic processes (such as markets and families), and the importance of incentives, rather than relying solely on rational planning or moral intentions. Justice and freedom are viewed in terms of fair processes and the absence of arbitrary power, rather than guaranteed outcomes. They advocate for incremental social change, as categorical or sweeping changes often overlook complexities and lead to unintended consequences. - @@ -292,8 +292,8 @@ A survey by Datapraxis and YouGov, conducted across all European countries, reve The divide extends even between genders. A striking [article](https://archive.is/PSONZ) in the Financial Times from January 2024 examined how the perspectives of women and men aged 18 to 30 have evolved since the 1990s. The article compares several countries in the East and West, presenting diagrams for South Korea, the USA, Germany, and the UK. In Germany and the US, men have become slightly more conservative over time, while women have become more progressive by 20 to 30 points. In the UK, men have become 20 points more progressive, while for women it increased by 50 points. In South Korea, women have become 30 points more progressive, while men have become 20 points more conservative. The gender divide encompasses issues such as sexual harassment, immigration, and racial justice. This ideological split could have long-term societal implications, potentially influencing political landscapes, marriage rates, and social dynamics. - diff --git a/src/content/journal/2025/modern-atlas-shrugged-2-looters-in-action.mdx b/src/content/journal/2025/modern-atlas-shrugged-2-looters-in-action.mdx index f856590..bd7db9b 100644 --- a/src/content/journal/2025/modern-atlas-shrugged-2-looters-in-action.mdx +++ b/src/content/journal/2025/modern-atlas-shrugged-2-looters-in-action.mdx @@ -4,7 +4,7 @@ slug: modern-atlas-shrugged-2-looters-in-action date: 2025-05-26 author: Stefan Imhoff description: Explore how EU overregulation, surveillance, and welfare state policies echo Atlas Shrugged, stifling innovation and freedom across Europe and Germany. -cover: /images/cover/modern-atlas-shrugged-2-looters-in-action.webp +cover: /assets/images/cover/modern-atlas-shrugged-2-looters-in-action.webp tags: ["book", "philosophy", "politics"] series: modern-atlas-shrugged --- @@ -38,8 +38,8 @@ The government nationalizes all railroad companies and develops “Project  The European Union, which started as a free trade zone, has transformed into a bureaucratic [leviathan](https://grokipedia.com/page/Leviathan) that intrudes into every aspect of life. It has become a tool for the wealthy elite to maintain their power and wealth at the expense of ordinary people. There is no area of life that the EU does not seek to control. From how people live and what they eat to how they manage their health, heat their homes, and choose their cars, there is likely a task force or group advocating for regulations on every conceivable issue. This often occurs against the wishes of the overwhelming majority of European citizens who reject these measures. - @@ -69,8 +69,8 @@ The EU is actively combating smoking. After an initial attempt to ban smoking in The European Union is engaged in an ongoing battle with farmers. Regulations concerning fertilizers, and agricultural practices are making it increasingly difficult for farmers to produce food and compete in the global market. The EU Fertilizing Products Regulation (EU) 2019 / 1009 took effect on July 16, 2022, replacing the previous regulation from 2003. This new regulation expands the scope to include organic, organomineral, and secondary raw material-based fertilizers, in addition to traditional mineral fertilizers. Farmers must comply with hundreds of rules and regulations, which often conflict with one another, complicating adherence. Drones are used to monitor compliance with planting regulations and enforce adherence automatically. - @@ -80,8 +80,8 @@ Since late 2023, European farmers have been protesting across the continent due The EU is waging a war on individual mobility with its ongoing attacks on cars. Its latest initiative, innocuously titled “Updated Rules for Safer Roads, Less Air Pollution, and Digital Vehicle Documents,” is marketed as a step toward improved public safety and environmental stewardship. However, beneath the surface, it represents another move in a coordinated plan that aligns with the World Economic Forum’s vision—“You’ll own nothing and be happy”—and the United Nations’ Agenda 2030 sustainability goals. The EU’s Transport Commissioner, Apostolos Tzitzikostas, claims a noble mission: to halve road deaths and serious injuries by 2030. On paper, who could object? In practice, however, these rules focus less on safety and more on control and the gradual erosion of personal mobility. - @@ -127,8 +127,8 @@ This pattern is echoed across the European Union. In Italy, businesses often fac The European Union is increasingly infringing on the autonomy of its citizens through regulations and surveillance. Germany is a leader in surveillance, actively pursuing user data from tech giants. Over the past decade, German authorities have requested information on 709,400 accounts—seven times the global per-person average. With 850 requests per 100,000 residents, Germany ranks second only to the United States, far surpassing Austria (136 requests) and Switzerland (245 requests per 100,000 citizens). In 2022 alone, requests surged by 38%, with a 65.4% response rate from tech companies. For example, Apple complied with 83% of German requests, up from 75% in 2016. This relentless data collection indicates a state eager to scrutinize every aspect of its citizens’ digital lives. - @@ -148,8 +148,8 @@ It is unlikely that the rules applied to you will also be enacted for politician Another dark cloud of totalitarian control is emerging on the horizon. The European Union plans to systematically record and manage assets through the introduction of an asset register. A central database will consolidate all asset values exceeding 200,000 EUR. Citizens will be required to declare all account movements, stock holdings, company investments, cryptocurrencies, and even cash. Additionally, assets located outside the European Union must be registered. Violating this reporting obligation can result in hefty fines of up to one million euros for individuals and over ten million euros for banks. - @@ -167,8 +167,8 @@ Additionally, access to cash is being restricted. In the EU, a €10,000 cash pa Lately, the European Union has significantly expanded its digital infrastructure, with Germany leading the way in implementing new technologies to streamline public services. A key example is the introduction of the digital patient record (elektronische Patientenakte, ePA), which became mandatory for all citizens with statutory health insurance in Germany starting in 2025, although opting out is still permitted. This digital file stores sensitive health data, prescriptions, and medical histories, making them accessible to healthcare providers and, under certain conditions, to insurance companies and government agencies. - @@ -184,8 +184,8 @@ Citizens fear that these systems could be used to profile individuals, influence Germany has the largest public broadcasting network in the world, with a budget of around 10 billion euros collected from every citizen, regardless of their service usage. - @@ -213,8 +213,8 @@ The public broadcast network frequently attracts negative attention due to its m At the EU level, lawfare manifests as legislative initiatives designed to expand state power over speech. Ursula von der Leyen, President of the European Commission, has proposed a new law to criminalize “hate speech” throughout the EU. This initiative requires unanimous approval from all member states and faces political challenges, particularly from leaders like Hungary’s Viktor Orbán and Slovakia’s Robert Fico. The law’s broad scope—criminalizing not only discrimination but also negative stereotyping of groups—has raised concerns that it could suppress legitimate discourse, including reporting on immigration-related crime statistics. - @@ -255,8 +255,8 @@ On May 15, 2025, an event occurred that I never thought possible in a democratic Germany’s welfare state, a cornerstone of its social policy, has grown into a behemoth that consumes a disproportionate share of public resources. In 2024, social security spending—including unemployment insurance—accounts for 45.9% of the federal budget, overshadowing investments in education (5.1%), infrastructure (1.9%), and public transport (0.5%). Additional welfare programs, such as asylum seeker and family benefits, add another 5.2%, bringing total social spending to over half the budget. This allocation leaves little room for investments that could drive long-term economic growth, a concern libertarians view as a misprioritization of resources. Critics, echoing Ayn Rand’s Atlas Shrugged, argue that such policies risk fostering a society of “moochers”—those who live off the productivity of others without contributing themselves—thus perpetuating dependency over self-reliance. - @@ -270,8 +270,8 @@ Across the EU, the scale of the welfare state is equally troubling. Europe accou Germany’s taxation system exacerbates the burdens of the welfare state, imposing some of the highest rates in the world on both individuals and corporations. In 2024, a €100,000 income incurs an annual tax burden of €36,500—the highest among G7 nations—compared to €26,600 in the US and €24,800 in Japan. This leaves German workers with significantly less disposable income, limiting their ability to save, invest, or build wealth. Over the past 55 years, social security contributions alone have risen from 26.5% to 42.5% of an employer’s gross salary, reducing an average worker’s annual take-home pay by €8,467 compared to 1970 rates. - @@ -287,8 +287,8 @@ The middle class—Rand’s “Atlases”—is heavily taxed to sustain a welfar But it is not only taxation that burdens “Atlas”—the middle class and productive industrialists. Inflation, driven by government expansion of the money supply, acts as a hidden form of taxation. Unlike obvious taxes on income or property, most people do not immediately recognize its effects. As new money enters the economy, it redistributes wealth toward those who receive it first (Cantillon effect)—typically governments, banks, and politically connected entities—at the expense of everyone else, especially fixed-income earners, savers, and pensioners. This process benefits the government and its allies, allowing the state to siphon off resources while diminishing citizens’ purchasing power without the transparency of direct taxation. This not only extracts wealth but does so in a way that is harder for the public to understand and resist than overt taxation. Inflation also hurts savers and pensioners the most, as their stored wealth loses purchasing power over time. - diff --git a/src/content/journal/2025/modern-atlas-shrugged-3-strike.mdx b/src/content/journal/2025/modern-atlas-shrugged-3-strike.mdx index 3e7dd60..9ed7a19 100644 --- a/src/content/journal/2025/modern-atlas-shrugged-3-strike.mdx +++ b/src/content/journal/2025/modern-atlas-shrugged-3-strike.mdx @@ -4,7 +4,7 @@ slug: modern-atlas-shrugged-3-strike date: 2025-06-02 author: Stefan Imhoff description: Discover how Atlas Shrugged’s “Strike” inspires modern escape from overregulation in Europe. Learn about emigration, parallel societies, and self-reliance. -cover: /images/cover/modern-atlas-shrugged-3-strike.webp +cover: /assets/images/cover/modern-atlas-shrugged-3-strike.webp tags: ["book", "philosophy", "politics"] series: modern-atlas-shrugged --- @@ -42,8 +42,8 @@ European citizens are trapped in a state of slavery due to inflation, taxes, and The flight of Germany’s entrepreneurial talent is a vivid manifestation of “Atlas Shrugged.” [A panel discussion](https://www.youtube.com/watch?v=LH9FT0ldHQY) hosted by Mark Friedrich, featuring four prominent German entrepreneurs—Prof. Dr. Richard Werner, Dr. Markus Krall, Dr. Andreas Beck, and Friedrich himself—reveals a stark reality: three of the four have already relocated to Switzerland. Their reasons are telling: lower taxes, reduced regulatory burdens, and a stable environment that respects individual achievement. Switzerland, with its decentralized governance and economic freedom, has become a beacon for those escaping Germany’s stifling bureaucracy. - @@ -111,8 +111,8 @@ This could mean starting to consume alternative media, listening to alternative Henry David Thoreau, a foundational thinker on this subject, observed that those who, by default or routine, “yield to [government] their allegiance and support are undoubtedly its most conscientious supporters, and so frequently the most serious obstacles to reform.” - @@ -157,8 +157,8 @@ Another idea is to overwhelm the telephone hotlines and email inboxes of newly e then, the remedy to power is simply to withdraw that consent. - @@ -166,8 +166,8 @@ The simplest form of disobedience is frequently saying “**No!**” However, ci My favorite German podcast, [Aethervox Ehrenfeld](https://xsxm.de/), has the motto “Normie muss weinen” (Normie has to cry) as a philosophy. This means you do and enjoy anything that state-conforming, statist people dislike and find offensive. Eating meat is a sign of toxic masculinity? Have one for breakfast, lunch, and dinner! Drinking raw milk is far-right? Where is the nearest farm to get fresh milk? Celebrating Christmas and wishing “Merry Christmas” is insensitive to Muslims? Well, “Merry Christmas and a fucking New Year!” Driving a petrol car is bad for climate change? Buy a bigger car with more horsepower! The more those people get offended, the more fun you will have. - @@ -181,9 +181,9 @@ Ridicule is generally regarded as one of the most effective weapons against tota With the internet and social media, we live in the best time to follow this advice. While individuals like Joost A. M. Meerloo, an active member of the Dutch resistance during World War II, had to print and distribute pamphlets to mock their oppressors, we can achieve this with just a few clicks. The internet is a powerful tool for spreading ideas and memes that can challenge the authority of tyrants and demagogues. The power of ridicule is amplified by the speed and reach of social media, making it a potent weapon against authoritarianism. - @@ -193,8 +193,8 @@ You can learn about memes on [Know Your Meme](https://knowyourmeme.com/), learn One of the most important tasks for those within the system is to educate others about the concepts of freedom, self-reliance, and individualism. The Western world, particularly Germany, faces significant deficits in these areas, making this task seem daunting. German-speaking countries were the breeding ground for two immensely destructive ideologies: National Socialism and Marxism. These ideas spread rapidly and led to the bloodiest civil war in human history. Socialists states have murdered between 140 and 200 million people in democides in the 20th century. Germany experienced two socialist dictatorships in one century: the Third Reich and the GDR. - @@ -224,8 +224,8 @@ One of the most important tasks for each individual is to learn about digital an A century ago, in a stable gold-backed monetary system, you could buy a house with three to three and a half years’ income. Today, it takes 10 to 12 years’ income to purchase a home. Your grandparents and parents were able to buy houses not because they worked harder than you, but because their money retained more value. The state has robbed you of your wealth and your future. It has taken away your time and opportunities. - @@ -251,8 +251,8 @@ It is always wise to stay informed about government plans that may infringe on y Regardless of whether you stay or emigrate, the state dislikes self-reliance the most. It prefers individuals who depend on it for survival. The state favors people who do not think critically and possess minimal skills. Their ideal citizen is born, pays taxes, and dies. This is why they seek to regulate and forbid everything. - @@ -281,8 +281,8 @@ Learning languages is extremely useful if you are thinking about emigrating. Eng You can prepare for potential catastrophes, such as blackouts, riots, and other emergencies, whether you live in a city or the countryside. I’ve written an [essay](/how-to-prepare-for-the-worst-case/) about my preparation methods. - @@ -350,9 +350,9 @@ But history teaches us a relentless lesson: when a society chooses coercion over The collapse of an old, oppressive order is not merely an end—it is the fertile ground from which renewal can spring. Just as Rand’s heroes retreated to Galt’s Gulch to build anew, today’s pioneers are forging parallel worlds: from digital frontiers, to private cities, to [network states](https://thenetworkstate.com/), from open markets to unstoppable code. The same principles endure—self-ownership, property, freedom, responsibility, and the dignity of voluntary cooperation. In our time, the question echoes in a new form. “Who is John Galt?” once captured the longing for a world shaped by reason and liberty. - diff --git a/src/content/journal/2025/note-taking-obsidian-readwise-ai.mdx b/src/content/journal/2025/note-taking-obsidian-readwise-ai.mdx index 6d97ed7..f98ef1f 100644 --- a/src/content/journal/2025/note-taking-obsidian-readwise-ai.mdx +++ b/src/content/journal/2025/note-taking-obsidian-readwise-ai.mdx @@ -4,7 +4,7 @@ slug: note-taking-obsidian-readwise-ai date: 2025-02-16 author: Stefan Imhoff description: Enhance your note-taking with the Zettelkasten method using Obsidian. Drawing from my experience since its 2020 launch, I'll reveal how Obsidian transforms personal knowledge management through strategic file organization and productivity-boosting plugins. -cover: /images/cover/note-taking-obsidian-readwise-ai.webp +cover: /assets/images/cover/note-taking-obsidian-readwise-ai.webp tags: ["writing", "ai"] --- @@ -20,9 +20,9 @@ Obsidian allows you to configure the window layout to your liking; you can drag I use stacked tabs (known as sliding panes). This allows me to have multiple notes open side by side and move them left and right with my mouse. - @@ -79,9 +79,9 @@ The Graph view is one of the coolest features to show to other people when intro Additionally, you can search for specific words and see how notes are connected. There is a cool feature that shows the history of your notes, how they were created and changed over time. - @@ -372,15 +372,15 @@ I export my highlights from Readwise to Obsidian once a week, but I keep them in Readwise recently added the feature to [talk to your highlights and notes with AI](https://docs.readwise.io/readwise/guides/chat-with-highlights), allowing you to ask questions, get context for a highlight, and much more. This has made it an additional tool for me to create notes in Obsidian while talking to my highlights. The AI will provide structured answers to your questions and links to the highlights in your vault. I have dipped my toes into this feature, but I see giant potential in it. This feature has changed how I highlight from now on, because I know that anything I highlight will be part of the permanent AI brain in Readwise and can be accessed later by talking to the AI. - +Readwise Chat In the future, I’ll likely use this feature every day to get answers for my notes. The good thing is that, in contrast to regular AI, which uses a web search to find the first few articles for a question and uses those as context, in Readwise I know that all the highlights I marked before as important and worth remembering make the answer much more valuable. But with all content, you get out what you feed it. If you read and highlight shallow articles or view things only from one side, your AI answers will be shallow and biased. With the introduction of the [Model Context Protocol](https://modelcontextprotocol.io/) (MCP), an open standard that facilitates seamless integration between large language models (LLMs) and external data sources and tools, it is now possible to use external tools to interact with my highlights. Last month, Readwise released an [MCP](https://www.npmjs.com/package/@readwise/readwise-mcp), which I used to connect [Raycast](/raycast/) AI with their new [MCP feature](https://manual.raycast.com/model-context-protocol), allowing direct interaction with my highlights. - @@ -390,18 +390,18 @@ There are many people who think AI is bad for writing because it might replace t I use all kinds of AI to summarize articles for me and to extract the gist of an idea. There is, for example, the built-in AI in my browser [Brave](https://brave.com/), Leo AI, which uses either Claude 3 Haiku by Anthropic, Llama 3.1 8B, or Mixtral. You can also add local AI with [Ollama](https://ollama.com/) and provide your prompts. Another useful browser extension is [Perplexity](https://www.perplexity.ai/). - But my main tool are the AI models in [Raycast Pro](https://raycast.com/pro?via=kogakure). I have subscribed to the biggest plan and use it every day. The advantage of Raycast is that you can use all the AI models for one fixed price of either €8 or €16 (for the bigger models) instead of subscribing to a dozen models. However, each model has its advantages and disadvantages, one model will likely not fulfill all your needs. Presently, Raycast supports the following providers with all their models: OpenAI, Anthropic, Perplexity, Meta, Mistral, DeepSeek, Google, and xAI. There are many models to choose from: fast models, big models, models with knowledge about current events, models specialized in code, models that answer unbiasedly, or models that can reason. I wrote a whole article about [Raycast](/raycast/). - @@ -430,9 +430,9 @@ This is a scene from school where the protagonist listens to his school teacher. I highlight the quote and use my most important Raycast AI command, `TL;DR`, to summarize it. - diff --git a/src/content/journal/2025/ok-boomer.mdx b/src/content/journal/2025/ok-boomer.mdx index 88b8464..e0f1c34 100644 --- a/src/content/journal/2025/ok-boomer.mdx +++ b/src/content/journal/2025/ok-boomer.mdx @@ -5,7 +5,7 @@ date: 2025-11-28 updated: 2025-12-19 author: Stefan Imhoff description: Why Boomers aren’t just out of touch, they’re traumatised war-children who turned guilt into a weapon. A German Gen X perspective on the coming reckoning. -cover: /images/cover/ok-boomer.webp +cover: /assets/images/cover/ok-boomer.webp tags: ["politics", "personal"] --- diff --git a/src/content/projects/ai-art.mdx b/src/content/projects/ai-art.mdx index 6df9edc..3ba9688 100644 --- a/src/content/projects/ai-art.mdx +++ b/src/content/projects/ai-art.mdx @@ -6,7 +6,7 @@ sort: 190 categories: ["Design", "Writing"] intro: I love experimenting with the Open Source AI image generator Stable Diffusion since 2022. I constantly try new prompts, techniques, extensions and styles, and even trained my own models. I also started using FLUX, FLUX Kontext, GPT Image 1, and Gemini 3 Pro Image. image: - src: /images/projects/thumbnails/ai-art.webp + src: /assets/images/projects/thumbnails/ai-art.webp aspectRatio: 1.43 more: text: See AI Art diff --git a/src/content/projects/bamboo-illustration.mdx b/src/content/projects/bamboo-illustration.mdx index 69fe5c0..de2f0fd 100644 --- a/src/content/projects/bamboo-illustration.mdx +++ b/src/content/projects/bamboo-illustration.mdx @@ -7,6 +7,6 @@ sort: 90 categories: ["Illustration"] intro: I created the bamboo illustration in 2006 for my Martial Arts website using Adobe Illustrator and the gradient grid tool. 2015 I decided to use my bamboo as SVG on my website. Unfortunately, the gradient tool is not supported in SVG and I needed to recreate my bamboo with linear, radial, and other supported gradients in Affinity. image: - src: /images/projects/thumbnails/bamboo-illustration.svg + src: /assets/images/projects/thumbnails/bamboo-illustration.svg aspectRatio: 1.5 --- diff --git a/src/content/projects/book-cover.mdx b/src/content/projects/book-cover.mdx index 6ed543d..6d045d5 100644 --- a/src/content/projects/book-cover.mdx +++ b/src/content/projects/book-cover.mdx @@ -6,7 +6,7 @@ sort: 110 categories: ["Writing", "Graphic Design"] intro: I wrote this book in 2017 out of the essays I’ve written on my Martial Arts website in the last 20 years. It’s a book in German about the Ninja and their secret art of Ninjutsu. I also designed the book cover for my book. The book was written with GitBook and can be read or downloaded for free as PDF, ePub, or Mobi eBook. image: - src: /images/projects/thumbnails/book-kogakure.webp + src: /assets/images/projects/thumbnails/book-kogakure.webp aspectRatio: 0.76 more: text: Read the Book diff --git a/src/content/projects/exploring-hamburg-v2.mdx b/src/content/projects/exploring-hamburg-v2.mdx index 4e9b158..69d26be 100644 --- a/src/content/projects/exploring-hamburg-v2.mdx +++ b/src/content/projects/exploring-hamburg-v2.mdx @@ -8,7 +8,7 @@ categories: ["Web Design", "Web Development", "Photography"] intro: "I created this Photography Blog for one of my hobbies: I explore the city of Hamburg, mostly walking, and sometimes biking to find out more about the individual districts and to shoot photos. The current design is the 2nd iteration." description: I explore Hamburg, mostly walking, sometimes biking to find out more about the individual districts and to shoot photos. image: - src: /images/projects/thumbnails/exploring-hamburg-v2.webp + src: /assets/images/projects/thumbnails/exploring-hamburg-v2.webp aspectRatio: 1.25 more: text: See Showcase of Version 2 @@ -44,34 +44,34 @@ At the end of 2021, I decided to unify my brand and redesign my [photoblog](http ## Typeface - - ## Design - - - diff --git a/src/content/projects/font-ingo.mdx b/src/content/projects/font-ingo.mdx index c4c7c3f..c3884ed 100644 --- a/src/content/projects/font-ingo.mdx +++ b/src/content/projects/font-ingo.mdx @@ -6,7 +6,7 @@ sort: 170 categories: ["Typeface Design", "Graphic Design"] intro: The Iga Ninja Cipher Font was created by me of an image provided by the Iga Ninja Museum in Japan and is said to be a font for correspondence in cipher. It was a fun personal project to learn how to create a typeface. image: - src: /images/projects/thumbnails/ingo-iga-ninja-cipher.webp + src: /assets/images/projects/thumbnails/ingo-iga-ninja-cipher.webp aspectRatio: 0.94 more: text: Download Font on GitHub diff --git a/src/content/projects/ia-writer-template-nanzan.mdx b/src/content/projects/ia-writer-template-nanzan.mdx index bf0e7a5..159ae96 100644 --- a/src/content/projects/ia-writer-template-nanzan.mdx +++ b/src/content/projects/ia-writer-template-nanzan.mdx @@ -6,7 +6,7 @@ sort: 70 categories: ["Web Design", "Web Development"] intro: This iA Writer template is inspired by the typographic style of the book Engaging Japanese Philosophy by Thomas P. Kasulis, designed by the Nanzan Institute for Religion and Culture. image: - src: /images/projects/thumbnails/ia-template-nanzan.webp + src: /assets/images/projects/thumbnails/ia-template-nanzan.webp aspectRatio: 1.65 more: text: Download iA Writer Template Nanzan on GitHub diff --git a/src/content/projects/ia-writer-template-shibui.mdx b/src/content/projects/ia-writer-template-shibui.mdx index 4e95ef0..3d343cc 100644 --- a/src/content/projects/ia-writer-template-shibui.mdx +++ b/src/content/projects/ia-writer-template-shibui.mdx @@ -6,7 +6,7 @@ sort: 80 categories: ["Web Design", "Web Development"] intro: This iA Writer template is inspired by the Japanese aesthetics style shibui which was founded during the Muromachi period (1336-1392). I use the same style for my current personal branding on my website, for my martial arts book and for my photoblog. image: - src: /images/projects/thumbnails/ia-template-shibui.webp + src: /assets/images/projects/thumbnails/ia-template-shibui.webp aspectRatio: 1.63 more: text: Download iA Writer Template Shibui on GitHub diff --git a/src/content/projects/kogakure-v9.mdx b/src/content/projects/kogakure-v9.mdx index 244b047..e7ad9d4 100644 --- a/src/content/projects/kogakure-v9.mdx +++ b/src/content/projects/kogakure-v9.mdx @@ -1,14 +1,14 @@ --- title: Ninjutsu Book 木隠 date: 2021-11-20 -format: 50-start +format: 70-start sort: 100 showcase: true categories: ["Web Design", "Web Development", "Writing"] intro: My Ninjutsu Book 木隠 was first launched in 1999 and is my oldest and most visited website. The current design is the 9th iteration. In 2022 I translated it to English to make it accessible to a larger readership. description: I redesigned my Ninjutsu Book 木隠 in 2022. image: - src: /images/projects/thumbnails/kogakure-v9.webp + src: /assets/images/projects/thumbnails/kogakure-v9.webp aspectRatio: 1.25 more: text: See Showcase of Version 9 @@ -46,16 +46,16 @@ For the first time in its 22-year-long history, I created a complete translation ## Typeface - - @@ -63,31 +63,31 @@ For the first time in its 22-year-long history, I created a complete translation ## Illustration - ## Design - - - - + - - + + diff --git a/src/content/projects/koi-illustration.mdx b/src/content/projects/koi-illustration.mdx index b14461b..2cae553 100644 --- a/src/content/projects/koi-illustration.mdx +++ b/src/content/projects/koi-illustration.mdx @@ -1,14 +1,14 @@ --- title: Koi Illustration date: 2007-04-12 -format: 70-start +format: 100-start sort: 130 showcase: true categories: ["Illustration", "Painting"] intro: I created this illustration for a previous version of my website in 2007 with a pencil on paper and then brought it into Adobe Photoshop, where all coloring was done. description: I created this illustration for a previous version of my website in 2007 with a pencil on paper and then brought it into Adobe Photoshop, where all coloring was done. image: - src: /images/projects/thumbnails/koi-illustration.webp + src: /assets/images/projects/thumbnails/koi-illustration.webp aspectRatio: 4.35 more: text: See the “Making-of” @@ -30,27 +30,87 @@ The illustration was done with a pencil on paper and then brought into Adobe Pho ## Design - + ## Making-Of - - - - - - - - - - - - - - - - - - - - +Making-Of Step 1 +Making-Of Step 2 +Making-Of Step 3 +Making-Of Step 4 +Making-Of Step 5 +Making-Of Step 6 +Making-Of Step 7 +Making-Of Step 8 +Making-Of Step 9 +Making-Of Step 10 +Making-Of Step 11 +Making-Of Step 12 +Making-Of Step 13 +Making-Of Step 14 +Making-Of Step 15 +Making-Of Step 16 +Making-Of Step 17 +Making-Of Step 18 +Making-Of Step 19 +Making-Of Step 20 diff --git a/src/content/projects/osteopathie-hamburg.mdx b/src/content/projects/osteopathie-hamburg.mdx index 842ba6f..33ca6bf 100644 --- a/src/content/projects/osteopathie-hamburg.mdx +++ b/src/content/projects/osteopathie-hamburg.mdx @@ -1,14 +1,14 @@ --- title: Osteopathie-Institut Hamburg date: 2010-12-15 -format: 50-start +format: 70-start sort: 150 showcase: true categories: ["Web Design", "Web Development", "Photography"] intro: I created this website for the Osteopathie-Institut Hamburg in 2010 as one of my last websites before I started working as a Frontend Engineer for XING. description: This website for the Osteopathie-Insitut Hamburg I created in 2010. image: - src: /images/projects/thumbnails/osteopathie-hamburg.webp + src: /assets/images/projects/thumbnails/osteopathie-hamburg.webp aspectRatio: 1.75 more: text: See Showcase of Osteopathie-Institut Hamburg @@ -39,8 +39,8 @@ The website had an interactive carousel on the homepage, collapsible sections in ## Typeface - @@ -48,31 +48,31 @@ The website had an interactive carousel on the homepage, collapsible sections in ## Design - - - - - diff --git a/src/content/projects/sketchnotes.mdx b/src/content/projects/sketchnotes.mdx index f18348b..3c55a5e 100644 --- a/src/content/projects/sketchnotes.mdx +++ b/src/content/projects/sketchnotes.mdx @@ -6,7 +6,7 @@ sort: 180 categories: ["Illustration", "Writing"] intro: One of my passions is Sketchnotes or also called Visual Notetaking. In Sketchnoting you use visual language to visualize ideas, notes, or thoughts. I create Sketchnotes since I first visited a workshop in 2015. image: - src: /images/projects/thumbnails/sketchnotes.webp + src: /assets/images/projects/thumbnails/sketchnotes.webp aspectRatio: 1.43 more: text: See Sketchotes diff --git a/src/content/projects/stefanimhoff-v4.mdx b/src/content/projects/stefanimhoff-v4.mdx index fbf30ed..3b69a52 100644 --- a/src/content/projects/stefanimhoff-v4.mdx +++ b/src/content/projects/stefanimhoff-v4.mdx @@ -8,7 +8,7 @@ categories: ["Web Design", "Web Development"] intro: My website and blog first launched in 2006 and is the website you’re looking at. The current design is the 5th iteration. description: My personal website and blog relaunched in 2020/2021 with Eleventy. image: - src: /images/projects/thumbnails/stefanimhoff-v4.webp + src: /assets/images/projects/thumbnails/stefanimhoff-v4.webp aspectRatio: 1.67 more: text: See Showcase of Version 4 @@ -48,57 +48,60 @@ I rebuild my website in 2020, which was one of the biggest personal projects I ## Typeface - - ## Design - - - - - - - - + + + - - diff --git a/src/content/projects/thai-restaurants-hamburg.mdx b/src/content/projects/thai-restaurants-hamburg.mdx index 0cb2acd..a1fc2a6 100644 --- a/src/content/projects/thai-restaurants-hamburg.mdx +++ b/src/content/projects/thai-restaurants-hamburg.mdx @@ -8,7 +8,7 @@ categories: ["Graphic Design", "Web Design", "Web Development"] intro: I created this small website for three Thai restaurants in Hamburg in 2010. It was online for nearly ten years and I had a lot of fun creating it. description: I created this small website for three Thai restaurants in Hamburg in 2010. image: - src: /images/projects/thumbnails/thai-restaurant.webp + src: /assets/images/projects/thumbnails/thai-restaurant.webp aspectRatio: 1.29 more: text: See Showcase of Thai Restaurants Hamburg @@ -37,8 +37,8 @@ I learned a lot about Graphic Design while working on it. I created the complete ## Typeface - @@ -46,32 +46,32 @@ I learned a lot about Graphic Design while working on it. I created the complete ## Design - - - - - diff --git a/src/content/projects/traditional-colors-of-japan.mdx b/src/content/projects/traditional-colors-of-japan.mdx index 9a56c17..001f9df 100644 --- a/src/content/projects/traditional-colors-of-japan.mdx +++ b/src/content/projects/traditional-colors-of-japan.mdx @@ -7,7 +7,7 @@ sort: 26 categories: ["Design", "Web Development"] intro: In 2007 I stumbled upon a Japanese book about the traditional colors of Japan by Nobyoshi Hamada. He listed all 250 colors with their color value in the appendix. I took some time to create an ASE file to be used with all common design software. image: - src: /images/projects/thumbnails/traditional-colors-of-japan.svg + src: /assets/images/projects/thumbnails/traditional-colors-of-japan.svg aspectRatio: 1.6 more: text: See Traditional Colors of Japan diff --git a/src/content/projects/xing-design-system.mdx b/src/content/projects/xing-design-system.mdx index 81c12fd..2ea69e2 100644 --- a/src/content/projects/xing-design-system.mdx +++ b/src/content/projects/xing-design-system.mdx @@ -8,7 +8,7 @@ categories: ["Web Design", "Web Development", "Writing"] intro: As a Senior Web Developer on the Design System Team, I created, maintained, and documented the components of the XING Design System. I supported teams implementing our components across the platform. description: As a Senior Web Developer on the Design System Team I created, maintained, and documented the components of the XING Design System. I supported teams implementing our components across the platform. image: - src: /images/projects/thumbnails/xing-design-system.webp + src: /assets/images/projects/thumbnails/xing-design-system.webp aspectRatio: 1.65 more: text: See XING Design System Components @@ -30,14 +30,14 @@ This is a reduced selection of the components. Most components come in multiple ## Design - - diff --git a/src/content/projects/xing-onboarding-illustrations.mdx b/src/content/projects/xing-onboarding-illustrations.mdx index 96a7c39..ea38b0f 100644 --- a/src/content/projects/xing-onboarding-illustrations.mdx +++ b/src/content/projects/xing-onboarding-illustrations.mdx @@ -8,7 +8,7 @@ categories: ["Illustration", "Icon Design"] intro: I was asked to create three new illustrations that could be used for an Onboarding screen on XING. I accepted the challenge to take over this task and finished the whole process from concept to scribbles, to final illustrations in a day. description: I was asked to create three new illustrations that could be used for an Onboarding screen on XING. image: - src: /images/projects/thumbnails/xing-illustrations.webp + src: /assets/images/projects/thumbnails/xing-illustrations.webp aspectRatio: 2.34 more: text: See XING Onboarding Illustrations @@ -26,32 +26,32 @@ One icon was needed for _Job Beginners_, one for _Professionals_ and one for _Re ## Illustration - - - - - diff --git a/src/content/sketchnotes/being-a-good-listener.mdx b/src/content/sketchnotes/being-a-good-listener.mdx index 825152e..d688dc6 100644 --- a/src/content/sketchnotes/being-a-good-listener.mdx +++ b/src/content/sketchnotes/being-a-good-listener.mdx @@ -4,7 +4,7 @@ date: 2017-04-29 sort: 100 coverSize: medium images: - - src: /images/sketchnotes/being-a-good-listener.webp + - src: /assets/images/sketchnotes/being-a-good-listener.webp aspectRatio: 1.35 --- diff --git a/src/content/sketchnotes/better-conversation.mdx b/src/content/sketchnotes/better-conversation.mdx index f097f4f..550e824 100644 --- a/src/content/sketchnotes/better-conversation.mdx +++ b/src/content/sketchnotes/better-conversation.mdx @@ -3,7 +3,7 @@ title: Better Conversations date: 2017-04-29 sort: 90 images: - - src: /images/sketchnotes/better-conversation.webp + - src: /assets/images/sketchnotes/better-conversation.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/bikablo-practice.mdx b/src/content/sketchnotes/bikablo-practice.mdx index 0adac38..1d45b11 100644 --- a/src/content/sketchnotes/bikablo-practice.mdx +++ b/src/content/sketchnotes/bikablo-practice.mdx @@ -4,13 +4,13 @@ date: 2017-04-29 sort: 80 coverSize: large images: - - src: /images/sketchnotes/bikablo-practice-1.webp + - src: /assets/images/sketchnotes/bikablo-practice-1.webp aspectRatio: 0.75 - - src: /images/sketchnotes/bikablo-practice-2.webp + - src: /assets/images/sketchnotes/bikablo-practice-2.webp aspectRatio: 0.75 - - src: /images/sketchnotes/bikablo-practice-3.webp + - src: /assets/images/sketchnotes/bikablo-practice-3.webp aspectRatio: 0.75 - - src: /images/sketchnotes/bikablo-practice-4.webp + - src: /assets/images/sketchnotes/bikablo-practice-4.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/how-to-speak-so-that-people-want-to-listen.mdx b/src/content/sketchnotes/how-to-speak-so-that-people-want-to-listen.mdx index 1753324..37f55bb 100644 --- a/src/content/sketchnotes/how-to-speak-so-that-people-want-to-listen.mdx +++ b/src/content/sketchnotes/how-to-speak-so-that-people-want-to-listen.mdx @@ -3,7 +3,7 @@ title: How to Speak So That People Want to Listen date: 2017-04-29 sort: 70 images: - - src: /images/sketchnotes/how-to-speak.webp + - src: /assets/images/sketchnotes/how-to-speak.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/random-sketches.mdx b/src/content/sketchnotes/random-sketches.mdx index cd07978..1547adf 100644 --- a/src/content/sketchnotes/random-sketches.mdx +++ b/src/content/sketchnotes/random-sketches.mdx @@ -4,21 +4,21 @@ date: 2017-04-29 sort: 60 coverSize: large images: - - src: /images/sketchnotes/random-sketches-1.webp + - src: /assets/images/sketchnotes/random-sketches-1.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-2.webp + - src: /assets/images/sketchnotes/random-sketches-2.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-3.webp + - src: /assets/images/sketchnotes/random-sketches-3.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-4.webp + - src: /assets/images/sketchnotes/random-sketches-4.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-5.webp + - src: /assets/images/sketchnotes/random-sketches-5.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-6.webp + - src: /assets/images/sketchnotes/random-sketches-6.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-7.webp + - src: /assets/images/sketchnotes/random-sketches-7.webp aspectRatio: 0.75 - - src: /images/sketchnotes/random-sketches-8.webp + - src: /assets/images/sketchnotes/random-sketches-8.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/self-actualization-vs-self-image-actualization.mdx b/src/content/sketchnotes/self-actualization-vs-self-image-actualization.mdx index 882996d..2c97851 100644 --- a/src/content/sketchnotes/self-actualization-vs-self-image-actualization.mdx +++ b/src/content/sketchnotes/self-actualization-vs-self-image-actualization.mdx @@ -4,7 +4,7 @@ date: 2017-04-29 sort: 50 coverSize: medium images: - - src: /images/sketchnotes/self-actualization.webp + - src: /assets/images/sketchnotes/self-actualization.webp aspectRatio: 1.35 --- diff --git a/src/content/sketchnotes/the-art-of-enough.mdx b/src/content/sketchnotes/the-art-of-enough.mdx index 9d8d27e..43633ef 100644 --- a/src/content/sketchnotes/the-art-of-enough.mdx +++ b/src/content/sketchnotes/the-art-of-enough.mdx @@ -3,7 +3,7 @@ title: The Art of Enough date: 2017-04-29 sort: 40 images: - - src: /images/sketchnotes/the-art-of-enough.webp + - src: /assets/images/sketchnotes/the-art-of-enough.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/the-wim-hof-method.mdx b/src/content/sketchnotes/the-wim-hof-method.mdx index 27deca1..1871af8 100644 --- a/src/content/sketchnotes/the-wim-hof-method.mdx +++ b/src/content/sketchnotes/the-wim-hof-method.mdx @@ -3,7 +3,7 @@ title: The Wim Hof Method date: 2017-05-28 sort: 10 images: - - src: /images/sketchnotes/wim-hof-method.webp + - src: /assets/images/sketchnotes/wim-hof-method.webp aspectRatio: 0.75 --- diff --git a/src/content/sketchnotes/this-is-water.mdx b/src/content/sketchnotes/this-is-water.mdx index 427fb89..700b337 100644 --- a/src/content/sketchnotes/this-is-water.mdx +++ b/src/content/sketchnotes/this-is-water.mdx @@ -4,9 +4,9 @@ date: 2017-04-29 sort: 110 coverSize: large images: - - src: /images/sketchnotes/this-is-water-1.webp + - src: /assets/images/sketchnotes/this-is-water-1.webp aspectRatio: 1.35 - - src: /images/sketchnotes/this-is-water-2.webp + - src: /assets/images/sketchnotes/this-is-water-2.webp aspectRatio: 0.70 --- diff --git a/src/content/sketchnotes/title-lettering.mdx b/src/content/sketchnotes/title-lettering.mdx index 60d2b63..f673c3e 100644 --- a/src/content/sketchnotes/title-lettering.mdx +++ b/src/content/sketchnotes/title-lettering.mdx @@ -3,7 +3,7 @@ title: Title Lettering date: 2017-04-29 sort: 30 images: - - src: /images/sketchnotes/title-lettering.webp + - src: /assets/images/sketchnotes/title-lettering.webp aspectRatio: 1.35 --- diff --git a/src/content/sketchnotes/weight-idea.mdx b/src/content/sketchnotes/weight-idea.mdx index 993c37a..8c033ce 100644 --- a/src/content/sketchnotes/weight-idea.mdx +++ b/src/content/sketchnotes/weight-idea.mdx @@ -4,7 +4,7 @@ date: 2017-04-29 sort: 20 coverSize: medium images: - - src: /images/sketchnotes/weight-idea.webp + - src: /assets/images/sketchnotes/weight-idea.webp aspectRatio: 1.35 --- diff --git a/src/images/ai-art/after-humanity/1.jpeg b/src/images/ai-art/after-humanity/1.jpeg deleted file mode 100644 index 9cdf695..0000000 Binary files a/src/images/ai-art/after-humanity/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/10.jpeg b/src/images/ai-art/after-humanity/10.jpeg deleted file mode 100644 index 5d7f0e9..0000000 Binary files a/src/images/ai-art/after-humanity/10.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/11.jpeg b/src/images/ai-art/after-humanity/11.jpeg deleted file mode 100644 index b17db4a..0000000 Binary files a/src/images/ai-art/after-humanity/11.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/12.jpeg b/src/images/ai-art/after-humanity/12.jpeg deleted file mode 100644 index 52b3e17..0000000 Binary files a/src/images/ai-art/after-humanity/12.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/13.jpeg b/src/images/ai-art/after-humanity/13.jpeg deleted file mode 100644 index 0af9ac5..0000000 Binary files a/src/images/ai-art/after-humanity/13.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/14.jpeg b/src/images/ai-art/after-humanity/14.jpeg deleted file mode 100644 index 15ab679..0000000 Binary files a/src/images/ai-art/after-humanity/14.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/15.jpeg b/src/images/ai-art/after-humanity/15.jpeg deleted file mode 100644 index f58a211..0000000 Binary files a/src/images/ai-art/after-humanity/15.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/16.jpeg b/src/images/ai-art/after-humanity/16.jpeg deleted file mode 100644 index 33ca41b..0000000 Binary files a/src/images/ai-art/after-humanity/16.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/17.jpeg b/src/images/ai-art/after-humanity/17.jpeg deleted file mode 100644 index f627bd6..0000000 Binary files a/src/images/ai-art/after-humanity/17.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/18.jpeg b/src/images/ai-art/after-humanity/18.jpeg deleted file mode 100644 index c51e812..0000000 Binary files a/src/images/ai-art/after-humanity/18.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/2.jpeg b/src/images/ai-art/after-humanity/2.jpeg deleted file mode 100644 index 308fec9..0000000 Binary files a/src/images/ai-art/after-humanity/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/3.jpeg b/src/images/ai-art/after-humanity/3.jpeg deleted file mode 100644 index 34c6f78..0000000 Binary files a/src/images/ai-art/after-humanity/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/4.jpeg b/src/images/ai-art/after-humanity/4.jpeg deleted file mode 100644 index f3298f9..0000000 Binary files a/src/images/ai-art/after-humanity/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/5.jpeg b/src/images/ai-art/after-humanity/5.jpeg deleted file mode 100644 index d7a961c..0000000 Binary files a/src/images/ai-art/after-humanity/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/6.jpeg b/src/images/ai-art/after-humanity/6.jpeg deleted file mode 100644 index 1446997..0000000 Binary files a/src/images/ai-art/after-humanity/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/7.jpeg b/src/images/ai-art/after-humanity/7.jpeg deleted file mode 100644 index 994aba6..0000000 Binary files a/src/images/ai-art/after-humanity/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/8.jpeg b/src/images/ai-art/after-humanity/8.jpeg deleted file mode 100644 index 6c8e1b4..0000000 Binary files a/src/images/ai-art/after-humanity/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/after-humanity/9.jpeg b/src/images/ai-art/after-humanity/9.jpeg deleted file mode 100644 index ba1c9e1..0000000 Binary files a/src/images/ai-art/after-humanity/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/ai-taking-over-the-world/1.jpeg b/src/images/ai-art/ai-taking-over-the-world/1.jpeg deleted file mode 100644 index 0debac3..0000000 Binary files a/src/images/ai-art/ai-taking-over-the-world/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/1.jpeg b/src/images/ai-art/alien-world/1.jpeg deleted file mode 100644 index 58549fa..0000000 Binary files a/src/images/ai-art/alien-world/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/10.jpeg b/src/images/ai-art/alien-world/10.jpeg deleted file mode 100644 index d25d0da..0000000 Binary files a/src/images/ai-art/alien-world/10.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/2.jpeg b/src/images/ai-art/alien-world/2.jpeg deleted file mode 100644 index c4b2a5e..0000000 Binary files a/src/images/ai-art/alien-world/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/3.jpeg b/src/images/ai-art/alien-world/3.jpeg deleted file mode 100644 index 3813fe3..0000000 Binary files a/src/images/ai-art/alien-world/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/4.jpeg b/src/images/ai-art/alien-world/4.jpeg deleted file mode 100644 index 29ba639..0000000 Binary files a/src/images/ai-art/alien-world/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/5.jpeg b/src/images/ai-art/alien-world/5.jpeg deleted file mode 100644 index 91925df..0000000 Binary files a/src/images/ai-art/alien-world/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/6.jpeg b/src/images/ai-art/alien-world/6.jpeg deleted file mode 100644 index 5eb401d..0000000 Binary files a/src/images/ai-art/alien-world/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/7.jpeg b/src/images/ai-art/alien-world/7.jpeg deleted file mode 100644 index 7d3cf0d..0000000 Binary files a/src/images/ai-art/alien-world/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/8.jpeg b/src/images/ai-art/alien-world/8.jpeg deleted file mode 100644 index 903b701..0000000 Binary files a/src/images/ai-art/alien-world/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/alien-world/9.jpeg b/src/images/ai-art/alien-world/9.jpeg deleted file mode 100644 index f22ac97..0000000 Binary files a/src/images/ai-art/alien-world/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/1.jpeg b/src/images/ai-art/aurora/1.jpeg deleted file mode 100644 index 2dc317c..0000000 Binary files a/src/images/ai-art/aurora/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/10.jpeg b/src/images/ai-art/aurora/10.jpeg deleted file mode 100644 index 6ea1e11..0000000 Binary files a/src/images/ai-art/aurora/10.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/11.jpeg b/src/images/ai-art/aurora/11.jpeg deleted file mode 100644 index 0ffe320..0000000 Binary files a/src/images/ai-art/aurora/11.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/12.jpeg b/src/images/ai-art/aurora/12.jpeg deleted file mode 100644 index 9942ed0..0000000 Binary files a/src/images/ai-art/aurora/12.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/13.jpeg b/src/images/ai-art/aurora/13.jpeg deleted file mode 100644 index 20b7a38..0000000 Binary files a/src/images/ai-art/aurora/13.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/14.jpeg b/src/images/ai-art/aurora/14.jpeg deleted file mode 100644 index 350c98a..0000000 Binary files a/src/images/ai-art/aurora/14.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/2.jpeg b/src/images/ai-art/aurora/2.jpeg deleted file mode 100644 index d21c21b..0000000 Binary files a/src/images/ai-art/aurora/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/3.jpeg b/src/images/ai-art/aurora/3.jpeg deleted file mode 100644 index 8fa5d7d..0000000 Binary files a/src/images/ai-art/aurora/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/4.jpeg b/src/images/ai-art/aurora/4.jpeg deleted file mode 100644 index 88dfae3..0000000 Binary files a/src/images/ai-art/aurora/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/5.jpeg b/src/images/ai-art/aurora/5.jpeg deleted file mode 100644 index 0817ed8..0000000 Binary files a/src/images/ai-art/aurora/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/6.jpeg b/src/images/ai-art/aurora/6.jpeg deleted file mode 100644 index cd88e9d..0000000 Binary files a/src/images/ai-art/aurora/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/7.jpeg b/src/images/ai-art/aurora/7.jpeg deleted file mode 100644 index 9b39e02..0000000 Binary files a/src/images/ai-art/aurora/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/8.jpeg b/src/images/ai-art/aurora/8.jpeg deleted file mode 100644 index a62fb40..0000000 Binary files a/src/images/ai-art/aurora/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/aurora/9.jpeg b/src/images/ai-art/aurora/9.jpeg deleted file mode 100644 index f29d648..0000000 Binary files a/src/images/ai-art/aurora/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/bonsai/1.jpeg b/src/images/ai-art/bonsai/1.jpeg deleted file mode 100644 index 7dc5a90..0000000 Binary files a/src/images/ai-art/bonsai/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/bonsai/2.jpeg b/src/images/ai-art/bonsai/2.jpeg deleted file mode 100644 index d044a3c..0000000 Binary files a/src/images/ai-art/bonsai/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/bonsai/3.jpeg b/src/images/ai-art/bonsai/3.jpeg deleted file mode 100644 index 1c6c7c0..0000000 Binary files a/src/images/ai-art/bonsai/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/bonsai/4.jpeg b/src/images/ai-art/bonsai/4.jpeg deleted file mode 100644 index 0ea6894..0000000 Binary files a/src/images/ai-art/bonsai/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/bonsai/5.jpeg b/src/images/ai-art/bonsai/5.jpeg deleted file mode 100644 index d4b67e3..0000000 Binary files a/src/images/ai-art/bonsai/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/chicken-nugget-woman/1.jpeg b/src/images/ai-art/chicken-nugget-woman/1.jpeg deleted file mode 100644 index 7478b57..0000000 Binary files a/src/images/ai-art/chicken-nugget-woman/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/1.jpeg b/src/images/ai-art/chimera/1.jpeg deleted file mode 100644 index 9bcd3f7..0000000 Binary files a/src/images/ai-art/chimera/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/2.jpeg b/src/images/ai-art/chimera/2.jpeg deleted file mode 100644 index 6d965de..0000000 Binary files a/src/images/ai-art/chimera/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/3.jpeg b/src/images/ai-art/chimera/3.jpeg deleted file mode 100644 index 666a57a..0000000 Binary files a/src/images/ai-art/chimera/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/4.jpeg b/src/images/ai-art/chimera/4.jpeg deleted file mode 100644 index 9b0f026..0000000 Binary files a/src/images/ai-art/chimera/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/5.jpeg b/src/images/ai-art/chimera/5.jpeg deleted file mode 100644 index 5b8ffcb..0000000 Binary files a/src/images/ai-art/chimera/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/chimera/6.jpeg b/src/images/ai-art/chimera/6.jpeg deleted file mode 100644 index ff88744..0000000 Binary files a/src/images/ai-art/chimera/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/clifton/1.jpeg b/src/images/ai-art/clifton/1.jpeg deleted file mode 100644 index cd00f56..0000000 Binary files a/src/images/ai-art/clifton/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/1.jpeg b/src/images/ai-art/comic-manga/1.jpeg deleted file mode 100644 index d94f92c..0000000 Binary files a/src/images/ai-art/comic-manga/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/2.jpeg b/src/images/ai-art/comic-manga/2.jpeg deleted file mode 100644 index a484c8c..0000000 Binary files a/src/images/ai-art/comic-manga/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/3.jpeg b/src/images/ai-art/comic-manga/3.jpeg deleted file mode 100644 index e67fd4f..0000000 Binary files a/src/images/ai-art/comic-manga/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/4.jpeg b/src/images/ai-art/comic-manga/4.jpeg deleted file mode 100644 index 673d9c1..0000000 Binary files a/src/images/ai-art/comic-manga/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/5.jpeg b/src/images/ai-art/comic-manga/5.jpeg deleted file mode 100644 index 24277da..0000000 Binary files a/src/images/ai-art/comic-manga/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/6.jpeg b/src/images/ai-art/comic-manga/6.jpeg deleted file mode 100644 index 6911150..0000000 Binary files a/src/images/ai-art/comic-manga/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/7.jpeg b/src/images/ai-art/comic-manga/7.jpeg deleted file mode 100644 index 1cbcb74..0000000 Binary files a/src/images/ai-art/comic-manga/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/comic-manga/8.jpeg b/src/images/ai-art/comic-manga/8.jpeg deleted file mode 100644 index b7dbde0..0000000 Binary files a/src/images/ai-art/comic-manga/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/1.jpeg b/src/images/ai-art/cosmic-horror/1.jpeg deleted file mode 100644 index 4312c1c..0000000 Binary files a/src/images/ai-art/cosmic-horror/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/2.jpeg b/src/images/ai-art/cosmic-horror/2.jpeg deleted file mode 100644 index e52dd11..0000000 Binary files a/src/images/ai-art/cosmic-horror/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/3.jpeg b/src/images/ai-art/cosmic-horror/3.jpeg deleted file mode 100644 index d480d77..0000000 Binary files a/src/images/ai-art/cosmic-horror/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/4.jpeg b/src/images/ai-art/cosmic-horror/4.jpeg deleted file mode 100644 index af0cf3e..0000000 Binary files a/src/images/ai-art/cosmic-horror/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/5.jpeg b/src/images/ai-art/cosmic-horror/5.jpeg deleted file mode 100644 index 2ba9845..0000000 Binary files a/src/images/ai-art/cosmic-horror/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/6.jpeg b/src/images/ai-art/cosmic-horror/6.jpeg deleted file mode 100644 index 04e94f9..0000000 Binary files a/src/images/ai-art/cosmic-horror/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/7.jpeg b/src/images/ai-art/cosmic-horror/7.jpeg deleted file mode 100644 index 52c122b..0000000 Binary files a/src/images/ai-art/cosmic-horror/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/8.jpeg b/src/images/ai-art/cosmic-horror/8.jpeg deleted file mode 100644 index 70cb6b0..0000000 Binary files a/src/images/ai-art/cosmic-horror/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/cosmic-horror/9.jpeg b/src/images/ai-art/cosmic-horror/9.jpeg deleted file mode 100644 index 7464e3b..0000000 Binary files a/src/images/ai-art/cosmic-horror/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/cyberpunk-city/1.jpeg b/src/images/ai-art/cyberpunk-city/1.jpeg deleted file mode 100644 index 91b5925..0000000 Binary files a/src/images/ai-art/cyberpunk-city/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/cyberpunk-city/2.jpeg b/src/images/ai-art/cyberpunk-city/2.jpeg deleted file mode 100644 index 75cb41b..0000000 Binary files a/src/images/ai-art/cyberpunk-city/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/cyberpunk-city/3.jpeg b/src/images/ai-art/cyberpunk-city/3.jpeg deleted file mode 100644 index ccefd07..0000000 Binary files a/src/images/ai-art/cyberpunk-city/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/cyberpunk-city/4.jpeg b/src/images/ai-art/cyberpunk-city/4.jpeg deleted file mode 100644 index 58ab404..0000000 Binary files a/src/images/ai-art/cyberpunk-city/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/cyberpunk-wizard/1.jpeg b/src/images/ai-art/cyberpunk-wizard/1.jpeg deleted file mode 100644 index 423a2a1..0000000 Binary files a/src/images/ai-art/cyberpunk-wizard/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/death-of-the-stoic-man/1.jpeg b/src/images/ai-art/death-of-the-stoic-man/1.jpeg deleted file mode 100644 index 2308a8e..0000000 Binary files a/src/images/ai-art/death-of-the-stoic-man/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/death-of-the-stoic-man/2.jpeg b/src/images/ai-art/death-of-the-stoic-man/2.jpeg deleted file mode 100644 index 1d792d5..0000000 Binary files a/src/images/ai-art/death-of-the-stoic-man/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/death-of-the-stoic-man/3.jpeg b/src/images/ai-art/death-of-the-stoic-man/3.jpeg deleted file mode 100644 index b400bb8..0000000 Binary files a/src/images/ai-art/death-of-the-stoic-man/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/death-of-the-stoic-man/4.jpeg b/src/images/ai-art/death-of-the-stoic-man/4.jpeg deleted file mode 100644 index 509263a..0000000 Binary files a/src/images/ai-art/death-of-the-stoic-man/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/death-of-the-stoic-man/5.jpeg b/src/images/ai-art/death-of-the-stoic-man/5.jpeg deleted file mode 100644 index 008d71e..0000000 Binary files a/src/images/ai-art/death-of-the-stoic-man/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/1.jpeg b/src/images/ai-art/distant-galaxy/1.jpeg deleted file mode 100644 index ba92edc..0000000 Binary files a/src/images/ai-art/distant-galaxy/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/2.jpeg b/src/images/ai-art/distant-galaxy/2.jpeg deleted file mode 100644 index cc93fd6..0000000 Binary files a/src/images/ai-art/distant-galaxy/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/3.jpeg b/src/images/ai-art/distant-galaxy/3.jpeg deleted file mode 100644 index d41e719..0000000 Binary files a/src/images/ai-art/distant-galaxy/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/4.jpeg b/src/images/ai-art/distant-galaxy/4.jpeg deleted file mode 100644 index ed60702..0000000 Binary files a/src/images/ai-art/distant-galaxy/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/5.jpeg b/src/images/ai-art/distant-galaxy/5.jpeg deleted file mode 100644 index eea1685..0000000 Binary files a/src/images/ai-art/distant-galaxy/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/distant-galaxy/6.jpeg b/src/images/ai-art/distant-galaxy/6.jpeg deleted file mode 100644 index ae94613..0000000 Binary files a/src/images/ai-art/distant-galaxy/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/1.jpeg b/src/images/ai-art/fantasy-world/1.jpeg deleted file mode 100644 index ff16a66..0000000 Binary files a/src/images/ai-art/fantasy-world/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/2.jpeg b/src/images/ai-art/fantasy-world/2.jpeg deleted file mode 100644 index d0d2d04..0000000 Binary files a/src/images/ai-art/fantasy-world/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/3.jpeg b/src/images/ai-art/fantasy-world/3.jpeg deleted file mode 100644 index 640c772..0000000 Binary files a/src/images/ai-art/fantasy-world/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/4.jpeg b/src/images/ai-art/fantasy-world/4.jpeg deleted file mode 100644 index ee77cb7..0000000 Binary files a/src/images/ai-art/fantasy-world/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/5.jpeg b/src/images/ai-art/fantasy-world/5.jpeg deleted file mode 100644 index c0236fd..0000000 Binary files a/src/images/ai-art/fantasy-world/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/fantasy-world/6.jpeg b/src/images/ai-art/fantasy-world/6.jpeg deleted file mode 100644 index f9c56cf..0000000 Binary files a/src/images/ai-art/fantasy-world/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/female-cyborg/1.jpeg b/src/images/ai-art/female-cyborg/1.jpeg deleted file mode 100644 index 7e8256d..0000000 Binary files a/src/images/ai-art/female-cyborg/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/female-cyborg/2.jpeg b/src/images/ai-art/female-cyborg/2.jpeg deleted file mode 100644 index 907a63e..0000000 Binary files a/src/images/ai-art/female-cyborg/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/female-cyborg/3.jpeg b/src/images/ai-art/female-cyborg/3.jpeg deleted file mode 100644 index 8b1f7f6..0000000 Binary files a/src/images/ai-art/female-cyborg/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/female-cyborg/4.jpeg b/src/images/ai-art/female-cyborg/4.jpeg deleted file mode 100644 index 89538bb..0000000 Binary files a/src/images/ai-art/female-cyborg/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/1.jpg b/src/images/ai-art/flux-dev-lora/1.jpg deleted file mode 100644 index a4d2f71..0000000 Binary files a/src/images/ai-art/flux-dev-lora/1.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/10.jpg b/src/images/ai-art/flux-dev-lora/10.jpg deleted file mode 100644 index fc89c79..0000000 Binary files a/src/images/ai-art/flux-dev-lora/10.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/11.jpg b/src/images/ai-art/flux-dev-lora/11.jpg deleted file mode 100644 index a626916..0000000 Binary files a/src/images/ai-art/flux-dev-lora/11.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/2.jpg b/src/images/ai-art/flux-dev-lora/2.jpg deleted file mode 100644 index 33cc945..0000000 Binary files a/src/images/ai-art/flux-dev-lora/2.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/3.jpg b/src/images/ai-art/flux-dev-lora/3.jpg deleted file mode 100644 index 8869687..0000000 Binary files a/src/images/ai-art/flux-dev-lora/3.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/4.jpg b/src/images/ai-art/flux-dev-lora/4.jpg deleted file mode 100644 index 163cbcb..0000000 Binary files a/src/images/ai-art/flux-dev-lora/4.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/5.jpg b/src/images/ai-art/flux-dev-lora/5.jpg deleted file mode 100644 index d9a88d4..0000000 Binary files a/src/images/ai-art/flux-dev-lora/5.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/6.jpg b/src/images/ai-art/flux-dev-lora/6.jpg deleted file mode 100644 index df1ab0a..0000000 Binary files a/src/images/ai-art/flux-dev-lora/6.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/7.jpg b/src/images/ai-art/flux-dev-lora/7.jpg deleted file mode 100644 index 6e8ac90..0000000 Binary files a/src/images/ai-art/flux-dev-lora/7.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/8.jpg b/src/images/ai-art/flux-dev-lora/8.jpg deleted file mode 100644 index 47db419..0000000 Binary files a/src/images/ai-art/flux-dev-lora/8.jpg and /dev/null differ diff --git a/src/images/ai-art/flux-dev-lora/9.jpg b/src/images/ai-art/flux-dev-lora/9.jpg deleted file mode 100644 index f105f6b..0000000 Binary files a/src/images/ai-art/flux-dev-lora/9.jpg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/1.jpeg b/src/images/ai-art/futuristic-bedroom/1.jpeg deleted file mode 100644 index 7e381d5..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/2.jpeg b/src/images/ai-art/futuristic-bedroom/2.jpeg deleted file mode 100644 index 7f7f3b5..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/3.jpeg b/src/images/ai-art/futuristic-bedroom/3.jpeg deleted file mode 100644 index 33e32c6..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/4.jpeg b/src/images/ai-art/futuristic-bedroom/4.jpeg deleted file mode 100644 index 6921601..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/5.jpeg b/src/images/ai-art/futuristic-bedroom/5.jpeg deleted file mode 100644 index 49fee56..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/futuristic-bedroom/6.jpeg b/src/images/ai-art/futuristic-bedroom/6.jpeg deleted file mode 100644 index 02f6d4b..0000000 Binary files a/src/images/ai-art/futuristic-bedroom/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/gods-of-the-copybook-headings/1.jpeg b/src/images/ai-art/gods-of-the-copybook-headings/1.jpeg deleted file mode 100644 index 5cef798..0000000 Binary files a/src/images/ai-art/gods-of-the-copybook-headings/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/gods-of-the-copybook-headings/2.jpeg b/src/images/ai-art/gods-of-the-copybook-headings/2.jpeg deleted file mode 100644 index 46be3e8..0000000 Binary files a/src/images/ai-art/gods-of-the-copybook-headings/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/gods-of-the-copybook-headings/3.jpeg b/src/images/ai-art/gods-of-the-copybook-headings/3.jpeg deleted file mode 100644 index be91b20..0000000 Binary files a/src/images/ai-art/gods-of-the-copybook-headings/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/gods-of-the-copybook-headings/4.jpeg b/src/images/ai-art/gods-of-the-copybook-headings/4.jpeg deleted file mode 100644 index 7689c92..0000000 Binary files a/src/images/ai-art/gods-of-the-copybook-headings/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/1.jpeg b/src/images/ai-art/irezumi/1.jpeg deleted file mode 100644 index 02f0004..0000000 Binary files a/src/images/ai-art/irezumi/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/2.jpeg b/src/images/ai-art/irezumi/2.jpeg deleted file mode 100644 index 98f2d37..0000000 Binary files a/src/images/ai-art/irezumi/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/3.jpeg b/src/images/ai-art/irezumi/3.jpeg deleted file mode 100644 index b3cdadb..0000000 Binary files a/src/images/ai-art/irezumi/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/4.jpeg b/src/images/ai-art/irezumi/4.jpeg deleted file mode 100644 index bd1cf05..0000000 Binary files a/src/images/ai-art/irezumi/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/5.jpeg b/src/images/ai-art/irezumi/5.jpeg deleted file mode 100644 index f499565..0000000 Binary files a/src/images/ai-art/irezumi/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/irezumi/6.jpeg b/src/images/ai-art/irezumi/6.jpeg deleted file mode 100644 index 26b4e3e..0000000 Binary files a/src/images/ai-art/irezumi/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/1.jpeg b/src/images/ai-art/misty-lake/1.jpeg deleted file mode 100644 index ccc815b..0000000 Binary files a/src/images/ai-art/misty-lake/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/2.jpeg b/src/images/ai-art/misty-lake/2.jpeg deleted file mode 100644 index 958656f..0000000 Binary files a/src/images/ai-art/misty-lake/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/3.jpeg b/src/images/ai-art/misty-lake/3.jpeg deleted file mode 100644 index 5e17aad..0000000 Binary files a/src/images/ai-art/misty-lake/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/4.jpeg b/src/images/ai-art/misty-lake/4.jpeg deleted file mode 100644 index d882d4d..0000000 Binary files a/src/images/ai-art/misty-lake/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/5.jpeg b/src/images/ai-art/misty-lake/5.jpeg deleted file mode 100644 index ec945a9..0000000 Binary files a/src/images/ai-art/misty-lake/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/6.jpeg b/src/images/ai-art/misty-lake/6.jpeg deleted file mode 100644 index 83a392b..0000000 Binary files a/src/images/ai-art/misty-lake/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/misty-lake/7.jpeg b/src/images/ai-art/misty-lake/7.jpeg deleted file mode 100644 index bc84781..0000000 Binary files a/src/images/ai-art/misty-lake/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/1.jpeg b/src/images/ai-art/mona-lisa/1.jpeg deleted file mode 100644 index 16778eb..0000000 Binary files a/src/images/ai-art/mona-lisa/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/2.jpeg b/src/images/ai-art/mona-lisa/2.jpeg deleted file mode 100644 index 804a341..0000000 Binary files a/src/images/ai-art/mona-lisa/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/3.jpeg b/src/images/ai-art/mona-lisa/3.jpeg deleted file mode 100644 index 8346eac..0000000 Binary files a/src/images/ai-art/mona-lisa/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/4.jpeg b/src/images/ai-art/mona-lisa/4.jpeg deleted file mode 100644 index 58a9330..0000000 Binary files a/src/images/ai-art/mona-lisa/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/5.jpeg b/src/images/ai-art/mona-lisa/5.jpeg deleted file mode 100644 index 0d2b2b6..0000000 Binary files a/src/images/ai-art/mona-lisa/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/6.jpeg b/src/images/ai-art/mona-lisa/6.jpeg deleted file mode 100644 index ded1ac9..0000000 Binary files a/src/images/ai-art/mona-lisa/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/mona-lisa/7.jpeg b/src/images/ai-art/mona-lisa/7.jpeg deleted file mode 100644 index 30c1223..0000000 Binary files a/src/images/ai-art/mona-lisa/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/mushrooms/1.jpeg b/src/images/ai-art/mushrooms/1.jpeg deleted file mode 100644 index 43bd27f..0000000 Binary files a/src/images/ai-art/mushrooms/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/mushrooms/2.jpeg b/src/images/ai-art/mushrooms/2.jpeg deleted file mode 100644 index 1066e0f..0000000 Binary files a/src/images/ai-art/mushrooms/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/mushrooms/3.jpeg b/src/images/ai-art/mushrooms/3.jpeg deleted file mode 100644 index 510625d..0000000 Binary files a/src/images/ai-art/mushrooms/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/mushrooms/4.jpeg b/src/images/ai-art/mushrooms/4.jpeg deleted file mode 100644 index e022ee6..0000000 Binary files a/src/images/ai-art/mushrooms/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/1.jpeg b/src/images/ai-art/propaganda-poster/1.jpeg deleted file mode 100644 index 8496ef9..0000000 Binary files a/src/images/ai-art/propaganda-poster/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/10.jpeg b/src/images/ai-art/propaganda-poster/10.jpeg deleted file mode 100644 index beed303..0000000 Binary files a/src/images/ai-art/propaganda-poster/10.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/11.jpeg b/src/images/ai-art/propaganda-poster/11.jpeg deleted file mode 100644 index a258f8d..0000000 Binary files a/src/images/ai-art/propaganda-poster/11.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/12.jpeg b/src/images/ai-art/propaganda-poster/12.jpeg deleted file mode 100644 index 59534f0..0000000 Binary files a/src/images/ai-art/propaganda-poster/12.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/13.jpeg b/src/images/ai-art/propaganda-poster/13.jpeg deleted file mode 100644 index fdb572c..0000000 Binary files a/src/images/ai-art/propaganda-poster/13.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/14.jpeg b/src/images/ai-art/propaganda-poster/14.jpeg deleted file mode 100644 index cc920d7..0000000 Binary files a/src/images/ai-art/propaganda-poster/14.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/15.jpeg b/src/images/ai-art/propaganda-poster/15.jpeg deleted file mode 100644 index f6eb7bc..0000000 Binary files a/src/images/ai-art/propaganda-poster/15.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/16.jpeg b/src/images/ai-art/propaganda-poster/16.jpeg deleted file mode 100644 index 9f9ad8f..0000000 Binary files a/src/images/ai-art/propaganda-poster/16.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/17.jpeg b/src/images/ai-art/propaganda-poster/17.jpeg deleted file mode 100644 index 21a8597..0000000 Binary files a/src/images/ai-art/propaganda-poster/17.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/18.jpeg b/src/images/ai-art/propaganda-poster/18.jpeg deleted file mode 100644 index e104720..0000000 Binary files a/src/images/ai-art/propaganda-poster/18.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/19.jpeg b/src/images/ai-art/propaganda-poster/19.jpeg deleted file mode 100644 index 8e42de3..0000000 Binary files a/src/images/ai-art/propaganda-poster/19.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/2.jpeg b/src/images/ai-art/propaganda-poster/2.jpeg deleted file mode 100644 index 38efcd3..0000000 Binary files a/src/images/ai-art/propaganda-poster/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/20.jpeg b/src/images/ai-art/propaganda-poster/20.jpeg deleted file mode 100644 index 478c2b0..0000000 Binary files a/src/images/ai-art/propaganda-poster/20.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/21.jpeg b/src/images/ai-art/propaganda-poster/21.jpeg deleted file mode 100644 index c36602a..0000000 Binary files a/src/images/ai-art/propaganda-poster/21.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/3.jpeg b/src/images/ai-art/propaganda-poster/3.jpeg deleted file mode 100644 index 52e0ad7..0000000 Binary files a/src/images/ai-art/propaganda-poster/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/4.jpeg b/src/images/ai-art/propaganda-poster/4.jpeg deleted file mode 100644 index d343611..0000000 Binary files a/src/images/ai-art/propaganda-poster/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/5.jpeg b/src/images/ai-art/propaganda-poster/5.jpeg deleted file mode 100644 index c7be75c..0000000 Binary files a/src/images/ai-art/propaganda-poster/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/6.jpeg b/src/images/ai-art/propaganda-poster/6.jpeg deleted file mode 100644 index 47c3f3f..0000000 Binary files a/src/images/ai-art/propaganda-poster/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/7.jpeg b/src/images/ai-art/propaganda-poster/7.jpeg deleted file mode 100644 index 9993678..0000000 Binary files a/src/images/ai-art/propaganda-poster/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/8.jpeg b/src/images/ai-art/propaganda-poster/8.jpeg deleted file mode 100644 index 488dbb5..0000000 Binary files a/src/images/ai-art/propaganda-poster/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/propaganda-poster/9.jpeg b/src/images/ai-art/propaganda-poster/9.jpeg deleted file mode 100644 index 2eecda3..0000000 Binary files a/src/images/ai-art/propaganda-poster/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/roman-stoics/epictetus.jpeg b/src/images/ai-art/roman-stoics/epictetus.jpeg deleted file mode 100644 index b08c343..0000000 Binary files a/src/images/ai-art/roman-stoics/epictetus.jpeg and /dev/null differ diff --git a/src/images/ai-art/roman-stoics/marcus-aurelius.jpeg b/src/images/ai-art/roman-stoics/marcus-aurelius.jpeg deleted file mode 100644 index 1563481..0000000 Binary files a/src/images/ai-art/roman-stoics/marcus-aurelius.jpeg and /dev/null differ diff --git a/src/images/ai-art/roman-stoics/seneca.jpeg b/src/images/ai-art/roman-stoics/seneca.jpeg deleted file mode 100644 index bea257f..0000000 Binary files a/src/images/ai-art/roman-stoics/seneca.jpeg and /dev/null differ diff --git a/src/images/ai-art/south-park/1.jpeg b/src/images/ai-art/south-park/1.jpeg deleted file mode 100644 index 3b09783..0000000 Binary files a/src/images/ai-art/south-park/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/south-park/2.jpeg b/src/images/ai-art/south-park/2.jpeg deleted file mode 100644 index 16a0106..0000000 Binary files a/src/images/ai-art/south-park/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/south-park/3.jpeg b/src/images/ai-art/south-park/3.jpeg deleted file mode 100644 index 9c7b8db..0000000 Binary files a/src/images/ai-art/south-park/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/south-park/4.jpeg b/src/images/ai-art/south-park/4.jpeg deleted file mode 100644 index dfe96f2..0000000 Binary files a/src/images/ai-art/south-park/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/1.jpeg b/src/images/ai-art/the-simpsons/1.jpeg deleted file mode 100644 index 4fb1f2a..0000000 Binary files a/src/images/ai-art/the-simpsons/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/10.jpeg b/src/images/ai-art/the-simpsons/10.jpeg deleted file mode 100644 index b7b4aec..0000000 Binary files a/src/images/ai-art/the-simpsons/10.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/11.jpeg b/src/images/ai-art/the-simpsons/11.jpeg deleted file mode 100644 index f283587..0000000 Binary files a/src/images/ai-art/the-simpsons/11.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/12.jpeg b/src/images/ai-art/the-simpsons/12.jpeg deleted file mode 100644 index 92cb4f6..0000000 Binary files a/src/images/ai-art/the-simpsons/12.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/13.jpeg b/src/images/ai-art/the-simpsons/13.jpeg deleted file mode 100644 index b43a8e3..0000000 Binary files a/src/images/ai-art/the-simpsons/13.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/14.jpeg b/src/images/ai-art/the-simpsons/14.jpeg deleted file mode 100644 index 2ce47e9..0000000 Binary files a/src/images/ai-art/the-simpsons/14.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/15.jpeg b/src/images/ai-art/the-simpsons/15.jpeg deleted file mode 100644 index d32fd8c..0000000 Binary files a/src/images/ai-art/the-simpsons/15.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/16.jpeg b/src/images/ai-art/the-simpsons/16.jpeg deleted file mode 100644 index b761749..0000000 Binary files a/src/images/ai-art/the-simpsons/16.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/17.jpeg b/src/images/ai-art/the-simpsons/17.jpeg deleted file mode 100644 index 804c93a..0000000 Binary files a/src/images/ai-art/the-simpsons/17.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/18.jpeg b/src/images/ai-art/the-simpsons/18.jpeg deleted file mode 100644 index dcbbd87..0000000 Binary files a/src/images/ai-art/the-simpsons/18.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/19.jpeg b/src/images/ai-art/the-simpsons/19.jpeg deleted file mode 100644 index e65ded1..0000000 Binary files a/src/images/ai-art/the-simpsons/19.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/2.jpeg b/src/images/ai-art/the-simpsons/2.jpeg deleted file mode 100644 index 42fef4b..0000000 Binary files a/src/images/ai-art/the-simpsons/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/20.jpeg b/src/images/ai-art/the-simpsons/20.jpeg deleted file mode 100644 index a9d3197..0000000 Binary files a/src/images/ai-art/the-simpsons/20.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/3.jpeg b/src/images/ai-art/the-simpsons/3.jpeg deleted file mode 100644 index 4778ae0..0000000 Binary files a/src/images/ai-art/the-simpsons/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/4.jpeg b/src/images/ai-art/the-simpsons/4.jpeg deleted file mode 100644 index 939233b..0000000 Binary files a/src/images/ai-art/the-simpsons/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/5.jpeg b/src/images/ai-art/the-simpsons/5.jpeg deleted file mode 100644 index fe3a9cc..0000000 Binary files a/src/images/ai-art/the-simpsons/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/6.jpeg b/src/images/ai-art/the-simpsons/6.jpeg deleted file mode 100644 index 0ef2ba6..0000000 Binary files a/src/images/ai-art/the-simpsons/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/7.jpeg b/src/images/ai-art/the-simpsons/7.jpeg deleted file mode 100644 index 1fe6157..0000000 Binary files a/src/images/ai-art/the-simpsons/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/8.jpeg b/src/images/ai-art/the-simpsons/8.jpeg deleted file mode 100644 index 898e1d0..0000000 Binary files a/src/images/ai-art/the-simpsons/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/the-simpsons/9.jpeg b/src/images/ai-art/the-simpsons/9.jpeg deleted file mode 100644 index 74351ba..0000000 Binary files a/src/images/ai-art/the-simpsons/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/this-is-john-galt-speaking/1.jpeg b/src/images/ai-art/this-is-john-galt-speaking/1.jpeg deleted file mode 100644 index 211463c..0000000 Binary files a/src/images/ai-art/this-is-john-galt-speaking/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/1.jpeg b/src/images/ai-art/tower-of-babel/1.jpeg deleted file mode 100644 index 1c1b1c6..0000000 Binary files a/src/images/ai-art/tower-of-babel/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/2.jpeg b/src/images/ai-art/tower-of-babel/2.jpeg deleted file mode 100644 index 3c4c260..0000000 Binary files a/src/images/ai-art/tower-of-babel/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/3.jpeg b/src/images/ai-art/tower-of-babel/3.jpeg deleted file mode 100644 index 15f7d9c..0000000 Binary files a/src/images/ai-art/tower-of-babel/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/4.jpeg b/src/images/ai-art/tower-of-babel/4.jpeg deleted file mode 100644 index 6ffaea5..0000000 Binary files a/src/images/ai-art/tower-of-babel/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/5.jpeg b/src/images/ai-art/tower-of-babel/5.jpeg deleted file mode 100644 index 50fa572..0000000 Binary files a/src/images/ai-art/tower-of-babel/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/6.jpeg b/src/images/ai-art/tower-of-babel/6.jpeg deleted file mode 100644 index 978cbfa..0000000 Binary files a/src/images/ai-art/tower-of-babel/6.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/7.jpeg b/src/images/ai-art/tower-of-babel/7.jpeg deleted file mode 100644 index ee4ef72..0000000 Binary files a/src/images/ai-art/tower-of-babel/7.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/8.jpeg b/src/images/ai-art/tower-of-babel/8.jpeg deleted file mode 100644 index 208a388..0000000 Binary files a/src/images/ai-art/tower-of-babel/8.jpeg and /dev/null differ diff --git a/src/images/ai-art/tower-of-babel/9.jpeg b/src/images/ai-art/tower-of-babel/9.jpeg deleted file mode 100644 index 413f320..0000000 Binary files a/src/images/ai-art/tower-of-babel/9.jpeg and /dev/null differ diff --git a/src/images/ai-art/utopia-dystopia/1.jpeg b/src/images/ai-art/utopia-dystopia/1.jpeg deleted file mode 100644 index 1a7594e..0000000 Binary files a/src/images/ai-art/utopia-dystopia/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/utopia-dystopia/2.jpeg b/src/images/ai-art/utopia-dystopia/2.jpeg deleted file mode 100644 index 3e6f9df..0000000 Binary files a/src/images/ai-art/utopia-dystopia/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/utopia-dystopia/3.jpeg b/src/images/ai-art/utopia-dystopia/3.jpeg deleted file mode 100644 index 7f3768f..0000000 Binary files a/src/images/ai-art/utopia-dystopia/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/utopia-dystopia/4.jpeg b/src/images/ai-art/utopia-dystopia/4.jpeg deleted file mode 100644 index fdd5223..0000000 Binary files a/src/images/ai-art/utopia-dystopia/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/utopia-dystopia/5.jpeg b/src/images/ai-art/utopia-dystopia/5.jpeg deleted file mode 100644 index b63761d..0000000 Binary files a/src/images/ai-art/utopia-dystopia/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/1.jpeg b/src/images/ai-art/yakuza/1.jpeg deleted file mode 100644 index 6df789c..0000000 Binary files a/src/images/ai-art/yakuza/1.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/2.jpeg b/src/images/ai-art/yakuza/2.jpeg deleted file mode 100644 index b1970fa..0000000 Binary files a/src/images/ai-art/yakuza/2.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/3.jpeg b/src/images/ai-art/yakuza/3.jpeg deleted file mode 100644 index a8962c8..0000000 Binary files a/src/images/ai-art/yakuza/3.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/4.jpeg b/src/images/ai-art/yakuza/4.jpeg deleted file mode 100644 index fee5229..0000000 Binary files a/src/images/ai-art/yakuza/4.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/5.jpeg b/src/images/ai-art/yakuza/5.jpeg deleted file mode 100644 index 05737d1..0000000 Binary files a/src/images/ai-art/yakuza/5.jpeg and /dev/null differ diff --git a/src/images/ai-art/yakuza/6.jpeg b/src/images/ai-art/yakuza/6.jpeg deleted file mode 100644 index c8f4f7e..0000000 Binary files a/src/images/ai-art/yakuza/6.jpeg and /dev/null differ diff --git a/src/layouts/AboutLayout.astro b/src/layouts/AboutLayout.astro index a3fac90..b6ed07a 100644 --- a/src/layouts/AboutLayout.astro +++ b/src/layouts/AboutLayout.astro @@ -4,7 +4,7 @@ import { site } from '../data/site'; import GridLayout from './GridLayout.astro'; import PageTitle from '../components/PageTitle.astro'; -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; const { frontmatter } = Astro.props; const schema = JSON.stringify({ @@ -36,10 +36,10 @@ const schema = JSON.stringify({ slot="before-content" class="col-start-1 col-end-12 md:col-start-3 md:col-end-10 xl:col-start-15 xl:col-end-18 xl:row-start-2 xl:-scale-x-100 3xl:col-start-14 3xl:col-end-17" > -
diff --git a/src/layouts/PageLayout.astro b/src/layouts/PageLayout.astro index 2cd96d7..6d16ce7 100644 --- a/src/layouts/PageLayout.astro +++ b/src/layouts/PageLayout.astro @@ -2,7 +2,7 @@ import { dateToFormat, dateToISO } from '../utils'; import Pullquote from '../components/Pullquote.astro'; -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; import PageTitle from '../components/PageTitle.astro'; import GridLayout from './GridLayout.astro'; @@ -27,7 +27,7 @@ const gridVariant = frontmatter.grid || grid; slot="before-content" class="col-span-full xl:col-start-1 xl:col-end-14 3xl:col-end-13 [&_div]:!border-x-0 [&_div]:!mbe-0 [&_div]:md:!border-s-0" > - + {frontmatter.title} ) } diff --git a/src/mdx-components.ts b/src/mdx-components.ts index 6cb3d72..1f34c55 100644 --- a/src/mdx-components.ts +++ b/src/mdx-components.ts @@ -3,7 +3,6 @@ import { YouTube } from '@astro-community/astro-embed-youtube'; import AmazonBook from './components/AmazonBook.astro'; import AppleTVFlag from './components/AppleTVFlag.astro'; import Banner from './components/Banner.astro'; -import BasicImage from './components/BasicImage.astro'; import Blockquote from './components/Blockquote.astro'; import Book from './components/Book.astro'; import Bookshelf from './components/Bookshelf.astro'; @@ -42,7 +41,6 @@ export const mapping = { AmazonBook, AppleTVFlag, Banner, - BasicImage, Blockquote, Book, Bookshelf, @@ -88,7 +86,6 @@ export const rssMapping = { AmazonBook, AppleTVFlag, Banner, - BasicImage, Blockquote, Book, Bookshelf, diff --git a/src/pages/[...slug].astro b/src/pages/[...slug].astro index 1ec1475..34d019d 100644 --- a/src/pages/[...slug].astro +++ b/src/pages/[...slug].astro @@ -10,7 +10,7 @@ import { dateToFormat, dateToISO, wordCount } from '../utils'; import Banner from '../components/Banner.astro'; import GridLayout from '../layouts/GridLayout.astro'; -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; import ListItem from '../components/ListItem.astro'; import OrderedList from '../components/OrderedList.astro'; import PageTitle from '../components/PageTitle.astro'; @@ -92,11 +92,12 @@ const schema = JSON.stringify({ { entry.data.cover && ( - ) } diff --git a/src/pages/ai-art.astro b/src/pages/ai-art.astro index c72422e..bdd98bd 100644 --- a/src/pages/ai-art.astro +++ b/src/pages/ai-art.astro @@ -7,7 +7,7 @@ import { sortBySortKey } from '../utils'; import GridLayout from '../layouts/GridLayout.astro'; import PageTitle from '../components/PageTitle.astro'; -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; import Link from '../components/Link.astro'; import { Content as Intro } from '../text/ai-art/intro.mdx'; @@ -65,7 +65,7 @@ const description = 'This is a collection of AI art pieces I’ve created with S ]} > - - diff --git a/src/pages/libertarianism.mdx b/src/pages/libertarianism.mdx index a405651..de13e03 100644 --- a/src/pages/libertarianism.mdx +++ b/src/pages/libertarianism.mdx @@ -6,7 +6,7 @@ title: Libertarianism description: This site serves as an extensive collection of libertarian resources, featuring books, podcasts, magazines, videos, and organizations that explore libertarian philosophy and economic principles from various perspectives. updated: 2025-06-13 intro: Libertarianism is a political philosophy and movement that upholds liberty as a core principle. -cover: /images/cover/anarcho-capitalist-city.webp +cover: /assets/images/cover/anarcho-capitalist-city.webp backLink: / --- diff --git a/src/pages/sketchnotes.astro b/src/pages/sketchnotes.astro index a425bf7..a859f7f 100644 --- a/src/pages/sketchnotes.astro +++ b/src/pages/sketchnotes.astro @@ -6,7 +6,7 @@ import { getCollection } from 'astro:content'; import { sortBySortKey } from '../utils'; import GridLayout from '../layouts/GridLayout.astro'; -import BasicImage from '../components/BasicImage.astro'; +import Image from '../components/Image.astro'; import Link from '../components/Link.astro'; import PageTitle from '../components/PageTitle.astro'; import { Content as Intro } from '../text/sketchnotes/intro.mdx'; @@ -58,7 +58,7 @@ const description = 'This is a collection of Sketchnotes I’ve drawn.'; ]} > -