diff --git a/astro.config.mjs b/astro.config.mjs index 37af338..669e2ee 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,14 +3,15 @@ import preact from '@astrojs/preact'; import prefetch from '@astrojs/prefetch'; import sitemap from '@astrojs/sitemap'; import tailwind from '@astrojs/tailwind'; +import critters from 'astro-critters'; import { astroImageTools } from 'astro-imagetools'; import webmanifest from 'astro-webmanifest'; import { defineConfig } from 'astro/config'; import serviceWorker from 'astrojs-service-worker'; - import { site } from './src/data/site'; import { remarkReadingTime, remarkWidont } from './src/utils'; +// https://astro.build/config export default defineConfig({ site: 'https://www.stefanimhoff.de', markdown: { @@ -57,9 +58,6 @@ export default defineConfig({ display: 'standalone', }), serviceWorker(), + critters(), ], - build: { - inlineStylesheets: 'auto', - }, - compressHTML: true, }); diff --git a/package.json b/package.json index 1e24cc0..327c428 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@astrojs/sitemap": "^1.3.3", "@astrojs/tailwind": "^3.1.3", "astro": "^2.6.4", + "astro-critters": "^1.1.38", "astro-icon": "^0.8.1", "astro-imagetools": "^0.8.1", "astro-seo": "^0.7.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35714dc..cdf537e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,6 +33,9 @@ dependencies: astro: specifier: ^2.6.4 version: 2.6.4(@types/node@20.3.1)(sharp@0.32.1) + astro-critters: + specifier: ^1.1.38 + version: 1.1.38 astro-icon: specifier: ^0.8.1 version: 0.8.1 @@ -5032,6 +5035,13 @@ packages: hasBin: true dev: false + /astro-critters@1.1.38: + resolution: {integrity: sha512-hU2XTAxJg3KIq6u5H6VJCJBr120uG8YbTJOqeB/0VP8ufmPCkBcvQs6HzSP1g5qgPjkX9572lZdbSjmrkVjqvQ==} + dependencies: + critters: 0.0.18 + files-pipe: 0.0.7 + dev: false + /astro-eslint-parser@0.14.0: resolution: {integrity: sha512-3F8l1h7+5MNxzDg1cSQxEloalG7fj64K6vOERChUVG7RLnAzSoafADnPQlU8DpMM3WRNfRHSC4NwUCORk/aPrA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -6219,6 +6229,18 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /critters@0.0.18: + resolution: {integrity: sha512-I7t/da29EIWXgxx2RSW1md1DvenEgEuLlki6nHE5+Nc0e3eib5AuGIGbPVuI8q+erCKkSP9T/NqYfvasAy7x7A==} + dependencies: + chalk: 4.1.2 + css-select: 5.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + htmlparser2: 8.0.2 + postcss: 8.4.24 + pretty-bytes: 5.6.0 + dev: false + /cron-parser@4.8.1: resolution: {integrity: sha512-jbokKWGcyU4gl6jAfX97E1gDpY12DJ1cLJZmoDzaAln/shZ+S3KBFBuA2Q6WeUN4gJf/8klnV1EfvhA2lK5IRQ==} engines: {node: '>=12.0.0'} @@ -6392,7 +6414,6 @@ packages: domhandler: 5.0.3 domutils: 3.1.0 nth-check: 2.1.1 - dev: true /css-tree@1.1.3: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} @@ -6608,6 +6629,11 @@ packages: engines: {node: '>=12.4.0'} dev: false + /deepmerge-ts@5.1.0: + resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} + engines: {node: '>=16.0.0'} + dev: false + /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -6850,7 +6876,6 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: true /dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} @@ -6870,7 +6895,6 @@ packages: engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - dev: true /domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -6886,7 +6910,6 @@ packages: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: true /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -6988,7 +7011,6 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true /env-paths@3.0.0: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} @@ -7839,6 +7861,13 @@ packages: trim-repeated: 2.0.0 dev: true + /files-pipe@0.0.7: + resolution: {integrity: sha512-BkXQoAEo1X3RqmEucIBLL1ddc/LM3lqsf5ipIf/bRrUTn3SQZWhThgpIl1/ma2VNesB2hBoY+CB0rrZ3b1tQhA==} + dependencies: + deepmerge-ts: 5.1.0 + fast-glob: 3.2.12 + dev: false + /fill-range@4.0.0: resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} engines: {node: '>=0.10.0'} @@ -8705,6 +8734,15 @@ packages: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} dev: false + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: false + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true diff --git a/public/assets/styles/print.css b/public/assets/styles/print.css index 5409e8d..e54c759 100644 --- a/public/assets/styles/print.css +++ b/public/assets/styles/print.css @@ -1,3 +1,4 @@ +/* critters:exclude start */ body { padding-block-end: 0.5cm; padding-block-start: 1cm; @@ -53,3 +54,4 @@ a[href^='https://']::after a[href^='#']::after { display: none; } +/* critters:exclude end */