---
title: v0.3.0
description: "4 new themes, 2026 design refresh, math/LaTeX rendering, AVIF image format, and SEO improvements."
date: 2026-02-26
tags:
- new
- improvement
- fix
---

## 4 New Bundled Themes

- **Landing**: Light SaaS landing page theme with Fraunces/Outfit fonts. Hero section, feature cards with accent borders, 4-column stats grid, testimonial blocks, asymmetric post grid
- **Terminal**: Dark terminal aesthetic with IBM Plex Mono, green accent (`#00ff41`), scanline effects, blinking cursor, monospace throughout
- **Magazine**: Editorial newspaper theme with Playfair Display/Source Serif 4/DM Sans. 3-column article grid, full-width lead article, editorial masthead with diamond dividers
- **Academic**: Tufte-inspired scholarly theme with EB Garamond serif. Narrow reading column (60%), small-caps section headings, sidenote-style footnotes, section symbols

## 2026 Design Refresh for All Themes

Every bundled theme upgraded with:

- **Google Fonts**: Each theme gets a distinctive typeface: Outfit (default), Lora (minimal), Sora (dark), IBM Plex Sans/Mono (docs), Archivo + DM Mono (brutalist), Manrope (bento)
- **Homepage content styles**: Rich `.homepage-content` CSS for landing pages with styled headings, stat grids, blockquotes, and feature lists
- **Safe DOM search**: Search JavaScript rewritten to use `createElement`/`textContent`/`appendChild` instead of `innerHTML`

## Math/LaTeX Rendering

- New `math = true` option in `[build]` config enables server-side KaTeX rendering
- `$inline$` and `$$display$$` math delimiters are rendered to HTML during the markdown pipeline
- KaTeX CSS automatically loaded from CDN when math is enabled
- Code blocks and inline code spans are correctly skipped
- All 6 bundled themes include conditional KaTeX CSS and `.katex-display` overflow handling
- Available when built with the `math` feature flag (enabled by default)

## AVIF Image Format

- New `avif = true` option in `[images]` config enables AVIF variant generation
- Configurable AVIF quality via `avif_quality` (default: 70, since AVIF compresses better than WebP)
- AVIF source inputs (`.avif` files) now accepted in the image pipeline
- `<picture>` elements emit `<source type="image/avif">` before WebP for optimal compression
- Uses the `image` crate's `ravif` backend for pure-Rust AVIF encoding

## SEO/GEO Improvements

- Skip `loading="lazy"` on first image per page to preserve LCP performance
- Improved AI crawler management in `robots.txt`: allow search crawlers, block training crawlers

## Fixes

- Fixed `test_self_update_check` integration test that failed without network access: now uses `--target-version` to avoid network dependency in CI
