/** Утилиты: извлечение превью-картинки и текстового excerpt из HTML-тела поста. */
const IMG_RE = /
]+src=["']([^"']+)["'][^>]*>/i;
const TAG_RE = /<[^>]+>/g;
const WS_RE = /\s+/g;
export function firstImage(html: string): string | null {
const m = IMG_RE.exec(html);
return m ? m[1] : null;
}
export function plainText(html: string, max = 320): string {
const txt = html
.replace(/