Crate leptos_next_metadata

Crate leptos_next_metadata 

Source
Expand description

§leptos-next-metadata

Next.js-style metadata management for Leptos applications with type-safe APIs, blazing-fast OG image generation, and comprehensive SEO optimization.

§Quick Example

use leptos_next_metadata::prelude::*;

// Create metadata for a page
let metadata = Metadata {
    title: Some(Title::Static("My Page".into())),
    description: Some("Page description".into()),
    ..Default::default()
};

// Use in your Leptos component

§Features

  • 🚀 2-7x faster OG image generation than browser-based solutions
  • 🦀 Type-safe metadata with compile-time validation
  • 🎯 Next.js compatible API for easy migration
  • 🖼️ Dynamic OG images with SVG templates and custom fonts
  • 📊 JSON-LD support with Schema.org types
  • 🔍 SEO validation with best practices enforcement
  • SSR/CSR/Islands - works with all Leptos rendering modes
  • 📁 File conventions - automatic favicon, robots.txt, sitemap detection
  • 🎨 Template system - Liquid templates for OG images
  • 💾 Smart caching - multi-level caching for optimal performance

§Feature Flags

  • ssr - Server-side rendering support (default)
  • csr - Client-side rendering support
  • hydrate - Hydration support
  • og-images - Open Graph image generation (default)
  • file-conventions - File-based metadata conventions (default)
  • json-ld - JSON-LD structured data support
  • caching - Advanced caching with LRU and TTL
  • http - HTTP client for external metadata fetching
  • debug - Debug logging and validation

§Modules

  • [metadata] - Core metadata types and traits
  • og_image - Open Graph image generation
  • json_ld - JSON-LD structured data
  • conventions - File convention scanning
  • macros - Procedural macros for metadata
  • utils - Utility functions and helpers

Re-exports§

pub use body::Body;
pub use conventions::ConventionScanner;
pub use conventions::FileConventions;
pub use enhanced_title::EnhancedTitle;
pub use html::Html;
pub use json_ld::Answer;
pub use json_ld::Article;
pub use json_ld::BlogPosting;
pub use json_ld::BreadcrumbList;
pub use json_ld::FAQPage;
pub use json_ld::JsonLd;
pub use json_ld::ListItem;
pub use json_ld::Organization;
pub use json_ld::Person;
pub use json_ld::Product;
pub use json_ld::Question;
pub use json_ld::SchemaOrg;
pub use json_ld::WebPage;
pub use meta_tags::MetaTags;
pub use metadata::Authors;
pub use metadata::CanonicalUrl;
pub use metadata::ColorScheme;
pub use metadata::Description;
pub use metadata::FormatDetection;
pub use metadata::Keywords;
pub use metadata::Metadata;
pub use metadata::OpenGraph;
pub use metadata::ReferrerPolicy;
pub use metadata::Robots;
pub use metadata::ThemeColor;
pub use metadata::Title;
pub use metadata::Twitter;
pub use metadata::TwitterCard;
pub use metadata::Viewport;
pub use og_image::GeneratedOgImage;
pub use og_image::OgImageGenerator;
pub use og_image::OgImageParams;
pub use macros::*;

Modules§

analytics
Analytics Integration for Metadata Usage Tracking
api
API module for contract-first development
body
canvas_types
Advanced Canvas Types
competitive_analysis
Competitive Analysis Module
conventions
File conventions for leptos-next-metadata
enhanced_title
error
Unified error handling for leptos-next-metadata
hashed_stylesheet
html
json_ld
JSON-LD structured data for leptos-next-metadata
macros
Procedural macros for leptos-next-metadata
meta_tags
metadata
Core metadata types and functionality for leptos-next-metadata
og_image
Open Graph image generation for leptos-next-metadata
prelude
Re-exports for common use cases
themes
Theme Support for OG Images
utils
Utility functions and helpers for leptos-next-metadata

Macros§

time_operation
Helper macro for timing operations
track_operation
Helper macro for tracking operations

Structs§

CacheConfig
Cache configuration
ConventionConfig
Convention configuration
DebugConfig
Debug configuration
FontConfig
Font configuration
LimitConfig
Resource limits configuration
MetadataConfig
Configuration for the metadata system
OgImageConfig
OG image configuration

Enums§

Error
Error type for metadata operations
FontWeight
Font weight enumeration
ImageFormat
Image format enumeration

Functions§

HashedStylesheet
A component that injects a hashed stylesheet link into the document head.

Type Aliases§

Result
Result type for metadata operations