From 933d6874b1fe1dbb113e9de39425f2d713a72408 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Wed, 22 Apr 2026 17:53:21 +0000 Subject: feat: enhance blog and SEO features with new plugins and metadata - Introduced rehypeLazyImages plugin for lazy loading images in blog posts. - Updated sitemap integration to include last modified dates for blog posts. - Enhanced Head and BaseLayout components to support additional Open Graph metadata. - Improved RSS feed generation with sanitized content and author information. - Updated manifest.json for a darker theme and standalone display mode. - Added support for language-specific attributes in various components. - Refactored blog post handling to include modified and published timestamps. --- src/plugins/rehypeLazyImages.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/plugins/rehypeLazyImages.ts (limited to 'src/plugins') diff --git a/src/plugins/rehypeLazyImages.ts b/src/plugins/rehypeLazyImages.ts new file mode 100644 index 0000000..eb470a4 --- /dev/null +++ b/src/plugins/rehypeLazyImages.ts @@ -0,0 +1,13 @@ +import type { Element, Root } from "hast"; +import { visit } from "unist-util-visit"; + +export default function rehypeLazyImages() { + return (tree: Root): void => { + visit(tree, "element", (node: Element) => { + if (node.tagName !== "img") return; + node.properties ??= {}; + node.properties.loading ??= "lazy"; + node.properties.decoding ??= "async"; + }); + }; +} -- cgit v1.2.3