A modular, high-performance component library for Blazor applications with SSR compatibility and zero-JS dependencies (when possible).
Osirion.Blazor is composed of specialized modules that can be used independently or together:
- Layout Components: HeroSection, PageLayout, Footer, Sticky Sidebar
- Navigation Components: Breadcrumbs, Article Metadata
- Content Components: HTML Renderer, Background Patterns
- State Components: Loading indicators, 404 pages
- Interactive Components: Cookie Consent, Logo Carousel
- SSR Compatible: All components work without JavaScript
- Framework Integration: Bootstrap, FluentUI, MudBlazor, Radzen support
- Multiple provider support (Microsoft Clarity, Matomo, GA4, Yandex Metrica)
- SSR compatibility with progressive enhancement
- Privacy-focused with consent management
- Easily extendable with your own providers
- Enhanced navigation with scroll restoration
- Smooth scrolling and "back to top" functionality
- Menu components with hierarchical support
- Works without JavaScript through progressive enhancement
- Fully customizable appearance
- GitHub and file system content providers
- Markdown rendering with frontmatter support
- Content organization with categories and tags
- Directory-based navigation and search
- SEO optimization out of the box
- Localization support with multi-language content
- Admin interface for content editing
- Integration with popular CSS frameworks (Bootstrap, FluentUI, MudBlazor, Radzen)
- Dark mode support with system preference detection
- CSS variable-based styling system
- Minimal JavaScript with progressive enhancement
Install the complete package:
dotnet add package Osirion.BlazorOr just the modules you need:
dotnet add package Osirion.Blazor.Core
dotnet add package Osirion.Blazor.Analytics
dotnet add package Osirion.Blazor.Navigation
dotnet add package Osirion.Blazor.Cms
dotnet add package Osirion.Blazor.Theming// In Program.cs
using Osirion.Blazor.Extensions;
// Register all services at once with fluent API
builder.Services.AddOsirionBlazor(osirion => {
osirion
.AddGitHubCms(options => {
options.Owner = "username";
options.Repository = "content-repo";
})
.AddScrollToTop()
.AddClarityTracker(options => {
options.SiteId = "clarity-id";
})
.AddOsirionStyle(CssFramework.Bootstrap);
});
// Or from configuration
builder.Services.AddOsirionBlazor(builder.Configuration);@using Osirion.Blazor.Components
<!-- In your layout -->
<OsirionStyles FrameworkIntegration="CssFramework.Bootstrap" />
<EnhancedNavigation Behavior="ScrollBehavior.Smooth" />
<ScrollToTop Position="Position.BottomRight" />
<ClarityTracker />
<!-- Hero section for landing pages -->
<HeroSection
Title="Welcome to Our Platform"
Subtitle="Build amazing applications with ease"
Summary="Experience the power of modern web development."
PrimaryButtonText="Get Started"
PrimaryButtonUrl="/getting-started"
ImageUrl="/images/hero.jpg"
UseBackgroundImage="true" />
<!-- Breadcrumb navigation -->
<OsirionBreadcrumbs Path="@Navigation.Uri" />
<!-- Content management -->
<ContentList Directory="blog" />
<ContentView Path="blog/my-post.md" />
<SearchBox />
<TagCloud />
<!-- Cookie consent (GDPR compliant) -->
<OsirionCookieConsent
PolicyLink="/privacy-policy"
ShowCustomizeButton="true" />
<!-- Logo carousel -->
<InfiniteLogoCarousel
Title="Our Partners"
CustomLogos="@partnerLogos" />- Quick Reference - Quick overview of all components
- Core Components - Layout, navigation, and content components
- Analytics - Analytics integration documentation
- Navigation - Navigation components documentation
- GitHub CMS - Content management documentation
- Styling - Theming and styling documentation
- Migration Guide - Guide for upgrading between versions
- HeroSection - Comprehensive hero section component
- OsirionBreadcrumbs - Automatic breadcrumb navigation
- OsirionCookieConsent - GDPR-compliant cookie consent
- InfiniteLogoCarousel - Self-contained logo carousel
- Markdown Editor - Admin markdown editor components
- SSR First: All components designed for Server-Side Rendering compatibility
- Zero-JS Dependencies: No JavaScript dependencies where possible
- Progressive Enhancement: Core functionality works without JavaScript, enhanced with JS when available
- Framework Integration: Seamless integration with popular CSS frameworks
- Multi-Platform: Supports .NET 8 and .NET 9 (and future versions)
- Provider Pattern: Easily extend with your own providers for analytics, content, etc.
- Accessibility: WCAG 2.1 compliant components with full keyboard and screen reader support
- GDPR Compliance: Built-in privacy and consent management features
- .NET 8.0 or higher
- Blazor (Server, WebAssembly, or Auto)
- Fluent API: New
AddOsirionBlazor()method for streamlined service registration - CSS Framework Integration: Automatic integration with Bootstrap, FluentUI, MudBlazor, and Radzen
- Comprehensive Core Components: HeroSection, Breadcrumbs, Cookie Consent, and more
- Enhanced Documentation: Component-specific documentation with examples
- Improved Styling: Renamed
osirion-cms.csstoosirion.cssfor broader scope
osirion-cms.cssrenamed toosirion.css- Styling options moved from
GitHubCmsOptionsto dedicatedOsirionStyleOptions - Service registration methods updated (legacy methods still supported)
See Migration Guide for upgrade instructions.
- Headless CMS support with Contentful, Sanity, and Strapi providers
- Form validation and submission components
- Authentication integration
- Enhanced SEO components with structured data
- Performance optimizations for large content repositories
- Visual component editor for admin interface
- Multi-tenant content management
Contributions are welcome! Please see our Contributing Guidelines for details.
- Additional CSS framework integrations
- Performance optimizations
- Accessibility improvements
- Documentation enhancements
- Test coverage expansion
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Blazor and ASP.NET Core
- Markdown processing by Markdig
- Testing with bUnit and Shouldly
- Icons and examples use resources from various open-source projects
- Components: 15+ production-ready components
- Packages: 10+ NuGet packages
- Frameworks: .NET 8 & .NET 9 support
- CSS Frameworks: 4 major frameworks supported
- Test Coverage: 85%+ code coverage
- Documentation: Comprehensive guides and examples