},
syntaxHighlight: 'prism',
},
-
+ image: {
+ layout: 'constrained',
+ service: {
+ entrypoint: 'astro/assets/services/sharp',
+ config: {
+ jpeg: { mozjpeg: true, progressive: true, quality: 75 },
+ webp: { quality: 75, effort: 4, alphaQuality: 80 },
+ avif: { quality: 50, effort: 2 },
+ }
+ }
+ },
vite: {
build: {
rollupOptions: {
<Figure
image={mempool1yr}
alt="Bitcoin mempool by sats/vByte over the last year"
- formats={['svg']}
>
Bitcoin mempool by sats/vByte over the last year. Data from 2024-02-07 through
2025-02-07. Source: [mempool.space](https://mempool.space/graphs/mempool#1y).
<Figure
image={mempoolAllTime}
alt="Bitcoin mempool by sats/vByte since beginning of data"
- formats={['svg']}
>
Bitcoin mempool by sats/vByte since beginning of data. Data from beginning of
dataset through 2025-02-07. Source:
<Figure
image={hashrate2yr}
alt="Bitcoin hashrate over the last 2 years"
- formats={['svg']}
>
Bitcoin hashrate over the last 2 years. Data from 2023-02-08 through
2025-02-07. Source:
<Figure
image={minimumUTXOValueMempoolVBytesHistory}
alt="Historical graph of Bitcoin mempool by vBytes"
- formats={['svg']}
>
Source: [mempool.space](https://mempool.space/graphs/mempool#all).
</Figure>
<Figure
image={minimumUTXOValueBoxWhiskerOverall}
alt="Box and whisker plot of fee rates across blocks"
- formats={['svg']}
>
Outliers removed.
</Figure>
<Figure
image={minimumUTXOValueBoxWhiskerFeeRateScriptTypes}
alt="Box and whiskper plot of fee rates by script type"
- formats={['svg']}
>
Fee Rate axis capped at 50 sats/vB to better show the differences between
script types.
<Figure
image={minimumUTXOValueBoxWhiskerFeesScriptType}
alt="Box and whisker plot of total fees by script type"
- formats={['svg']}
>
Fee Rate axis capped at 300000 sats/vB to better show the differences between
script types.
<Figure
image={minimumUTXOValueBoxWhiskerFeesScriptTypeZoomed}
alt="Box and whisker plot of total fees by script type, zoomed"
- formats={['svg']}
>
Fee Rate axis capped at 18000 sats/vB to better show the differences between
script types.
import nvda from './nvda-2025-01-27.png';
import inputOutputPricing from './input-output-pricing.jpg';
import accuracyByBenchmark from './r1-o1-benchmarks.jpg';
-import r1OniPhone from './r1-on-iphone-localghost.gif';
+import r1OniPhone from './r1-on-iphone-localghost.webp';
<Picture
src={dabbingMeme}
<Figure
image={r1OniPhone}
alt="R1 running locally on an iPhone"
- formats={['gif']}
+ formats={['webp']}
>
A distilled version of R1 running locally on an iPhone. Source:
[@localghost](https://x.com/localghost/status/1882109711732154387).
image: ImageMetadata;
alt: string;
formats?: string[];
+ layout?: string;
}
-const { image, alt, formats = ['avif', 'webp'] } = Astro.props;
+const { image, alt, formats = ['avif', 'webp'], layout } = Astro.props;
---
<figure>
src={image}
alt={alt}
formats={formats}
+ layout={layout}
data-pagefind-index-attrs="alt"
/>
<figcaption><slot /></figcaption>