zHaytam / SmartBreadcrumbs

A utility library for ASP.NET Core (both MVC and Razor Pages) websites to easily add and customize breadcrumbs.
https://blog.zhaytam.com/2018/06/24/asp-net-core-using-smartbreadcrumbs/
MIT License
161 stars 77 forks source link
asp-net-core asp-net-core-mvc bootstrap breadcrumbs customize-breadcrumbs razor-pages smartbreadcrumbs utility-library

SmartBreadcrumbs 2.0.0

A utility library for ASP.NET Core (both MVC and Razor Pages) websites to easily add and customize breadcrumbs.

About the 2.0.0 version

When I created SmartBreadcrumbs, it only worked on MVC websites.
Razor Pages then came out and became "more popular", so I rewrote the whole code base, cleaned the project's structure, wrote unit tests and now, SmartBreadcrumbs works on both MVC and Razor Pages websites, even on the same project.
If you're interested in the README of the old version, it's available here: OLD_README.

Informations

Badges
Build Build Status Azure DevOps tests
NuGet NuGet Nuget
License GitHub

Documentation & Example

Usage

Install

Install the package using NuGet
Install-Package SmartBreadcrumbs

Initialize

After you have setup your breadcrumbs (using the Breadcrumb and DefaultBreadcrumb attributes), go ahead and add SmartBreadcrumbs in your services:

services.AddBreadcrumbs(GetType().Assembly);

Use

SmartBreadcrumbs comes with a breadcrumb tag that renders the breadcrumbs for you, to use it:

  1. In _ViewImports.cshtml, add @addTagHelper *, SmartBreadcrumbs.
  2. In your _Layout.cshml (or specific pages), use <breadcrumb></breadcrumb>.

Customize

Options

You can specify options when you initialize SmartBreadcrumbs:

services.AddBreadcrumbs(GetType().Assembly, options =>
{
    options.TagName = "nav";
    options.TagClasses = "";
    options.OlClasses = "breadcrumb";
    options.LiClasses = "breadcrumb-item";
    options.ActiveLiClasses = "breadcrumb-item active";
    options.SeparatorElement = "<li class=\"separator\">/</li>";
});

More

Check out the documentation if you need more customization!

Credits & License

Credits: zHaytam and the contributors.
License: SmartBreadcrumbs is open source, licensed under the MIT License.