Skip to content

zHaytam/SmartBreadcrumbs

Repository files navigation

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

  • Wiki: A list of all the possible things you can do with SmartBreadcrumbs.
  • RazorPagesAndMvc: An example project containing both MVC and Razor Pages pages. Check it out to see how SmartBreadcrumbs works.

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!

  • You can manually create and set breadcrumb nodes, useful when you have dynamic breadcrumbs (e.g. E-Commerce website).
  • You can get access to the BreadcrumbManager and create your own TagHelper for example.

Credits & License

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