[build] command = "pnpm run build" publish = "dist" [build.environment] NODE_VERSION = "16.14.2" [dev] command = "pnpm run dev" publish = "dist" [[headers]] for = "/*" [headers.values] X-Frame-Options = "DENY" X-XSS-Protection = "1; mode=block" X-Content-Type-Options = "nosniff" Referrer-Policy= "no-referrer-when-downgrade" Permissions-Policy = "interest-cohort=()" [[headers]] for = "/service-worker.js" [headers.values] cache-control = "max-age=0,no-cache,no-store,must-revalidate" # Redirect domain aliases to primary domain [[redirects]] from = "https://www.imhoff.name/*" to = "https://www.stefanimhoff.de/:splat" status = 301 force = true [[redirects]] from = "https://imhoff.name/*" to = "https://www.stefanimhoff.de/:splat" status = 301 force = true # Prettify Redirects [[redirects]] from = "/feed-raindrop.xml" to = "https://bg.raindrop.io/rss/public/25041238" status = 200 # Redirects [[redirects]] from = "/index.xml" to = "/rss.xml" status = 301 force = true [[redirects]] from = "/templates-for-ia-writer" to = "/template-ia-writer-nanzan" status = 301 force = true [[redirects]] from = "/notiz/das-koi-design-inspiration-und-idee" to = "/koi-design" status = 301 force = true [[redirects]] from = "/notiz/kostenlose-vektorkarten-mit-openstreetmap" to = "/openstreetmap" status = 301 force = true [[redirects]] from = "/notiz/kostenlose-vektorkarten-openstreetmap" to = "/openstreetmap" status = 301 force = true [[redirects]] from = "/notiz/domains-extern-hosten" to = "/domain-hosting" status = 301 force = true [[redirects]] from = "/notiz/versionskontrolle-mit-git" to = "/git" status = 301 force = true [[redirects]] from = "/versionskontrolle-mit-git" to = "/git" status = 301 force = true [[redirects]] from = "/notiz/eineinhalb-jahre-gtd-eine-billanz" to = "/gtd" status = 301 force = true [[redirects]] from = "/notiz/traditionelle-japanische-farben-photoshop-illustrator" to = "/japanese-colors" status = 301 force = true [[redirects]] from = "/notiz/gtd-mit-omnifocus-oder-things" to = "/gtd" status = 301 force = true [[redirects]] from = "/notiz/einstieg-in-git-als-versionskontrollsystem" to = "/git" status = 301 force = true [[redirects]] from = "/notiz/gitweb-theme-github-stil" to = "/gitweb-theme" status = 301 force = true [[redirects]] from = "/notiz/home-atemberaubende-erde-dokumentation-yann-arthus-bertrand" to = "/home-documentary" status = 301 force = true [[redirects]] from = "/notiz/git-praesentation" to = "/git" status = 301 force = true [[redirects]] from = "/notiz/buchtipp-rework-37signals" to = "/rework" status = 301 force = true [[redirects]] from = "/notiz/webstandards-magazin-django" to = "/webstandards-magazin-django" status = 301 force = true [[redirects]] from = "/notiz/vim" to = "/vim" status = 301 force = true [[redirects]] from = "/notiz/buchtipp-decodeunicode" to = "/decodeunicode" status = 301 force = true [[redirects]] from = "/2007/domains-extern-hosten/" to = "/domain-hosting" status = 301 force = true [[redirects]] from = "/2007/koi-design/" to = "/koi-design/" status = 301 force = true [[redirects]] from = "/2007/eineinhalb-jahre-gtd-eine-billanz/" to = "/gtd/" status = 301 force = true [[redirects]] from = "/2007/traditionelle-japanische-farben-photoshop-illustrator/" to = "/japanese-colors/" status = 301 force = true [[redirects]] from = "/2008/kostenlose-vektorkarten-openstreetmap/" to = "/openstreetmap/" status = 301 force = true [[redirects]] from = "/2009/einstieg-in-git-als-versionskontrollsystem/" to = "/git/" status = 301 force = true [[redirects]] from = "/2009/gitweb-theme-github-stil/" to = "/gitweb-theme/" status = 301 force = true [[redirects]] from = "/2009/home-atemberaubende-erde-dokumentation-yann-arthus-bertrand/" to = "/home-documentary/" status = 301 force = true [[redirects]] from = "/2010/buchtipp-rework-37signals/" to = "/rework/" status = 301 force = true [[redirects]] from = "/2010/webstandards-magazin-django/" to = "/webstandards-magazine-django/" status = 301 force = true [[redirects]] from = "/2010/vim/" to = "/vim/" status = 301 force = true [[redirects]] from = "/2011/buchtipp-decodeunicode/" to = "/decodeunicode/" status = 301 force = true [[redirects]] from = "/2014/gestaltung-neues-logo/" to = "/logo-design/" status = 301 force = true [[redirects]] from = "/2014/die-typographie-meiner-website/" to = "/website-typography/" status = 301 force = true [[redirects]] from = "/2014/john-seymour-buecher-selbstversorgung/" to = "/john-seymour-books/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-1-intro-setup/" to = "/gulp-tutorial-1-intro-setup/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-2-development-server-browsersync-configuration/" to = "/gulp-tutorial-2-development-server-browsersync-configuration/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-3-build-clean-jekyll/" to = "/gulp-tutorial-3-build-clean-jekyll/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-4-css-generation-sass/" to = "/gulp-tutorial-4-css-generation-sass/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-5-javascripts-browserify/" to = "/gulp-tutorial-5-javascripts-browserify/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-6-images-vector-fonts/" to = "/gulp-tutorial-6-images-vector-fonts/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-7-base64/" to = "/gulp-tutorial-7-base64/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-8-watch/" to = "/gulp-tutorial-8-watch/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-9-linting-scss-and-javascript/" to = "/gulp-tutorial-9-linting-scss-and-javascript/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-10-generating-sprites/" to = "/gulp-tutorial-10-generating-sprites/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-11-production-build-server-and-jekyll/" to = "/gulp-tutorial-11-production-build-server-and-jekyll/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-12-optimize-css-javascript-images-and-html/" to = "/gulp-tutorial-12-optimize-css-javascript-images-and-html/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-13-revisioning/" to = "/gulp-tutorial-13-revisioning/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-14-deploying-the-website/" to = "/gulp-tutorial-14-deploying-the-website/" status = 301 force = true [[redirects]] from = "/2014/gulp-tutorial-15-performance-improvements-webp-gzip/" to = "/gulp-tutorial-15-performance-improvements-webp-gzip/" status = 301 force = true [[redirects]] from = "/2015/responsive-relaunch-of-my-martial-arts-website/" to = "/responsive-relaunch-martial-arts-website/" status = 301 force = true [[redirects]] from = "/2015/getting-started-with-body-weight-training/" to = "/calisthenics/" status = 301 force = true [[redirects]] from = "/2015/motivational-video/" to = "/motivational-video/" status = 301 force = true [[redirects]] from = "/2015/human-film-yann-arthus-bertrand/" to = "/human-documentary/" status = 301 force = true [[redirects]] from = "/2015/gulp-tutorial-16-postcss/" to = "/gulp-tutorial-16-postcss/" status = 301 force = true [[redirects]] from = "/2016/japanese-netflix-tv-show-atelier-underwear/" to = "/japanese-netflix-tv-show-underwear/" status = 301 force = true [[redirects]] from = "/2016/hugo-jekyll-migration/" to = "/jekyll-hugo-migration/" status = 301 force = true [[redirects]] from = "/2016/speed-up-videos/" to = "/speed-up-videos/" status = 301 force = true [[redirects]] from = "/2017/pursuit-of-minimalism/" to = "/minimalism/" status = 301 force = true [[redirects]] from = "/2017/minimalism/" to = "/minimalism/" status = 301 force = true [[redirects]] from = "/2017/i-wrote-a-book-in-gitbook/" to = "/gitbook/" status = 301 force = true [[redirects]] from = "/2017/migration-hugo-css-grids-service-worker/" to = "/website-relaunch-css-grid-layout/" status = 301 force = true [[redirects]] from = "/2017/self-defence-age-of-attention/" to = "/attention/" status = 301 force = true [[redirects]] from = "/information/impressum" to = "/imprint" status = 301 force = true [[redirects]] from = "/notizbuch" to = "/journal" status = 301 force = true [[redirects]] from = "/archiv" to = "/journal" status = 301 force = true [[redirects]] from = "/on-learning-poems" to = "/learning-poems" status = 301 force = true