App


Razor Page Service Tutorials

Tutorial HomeRazer Page Service
#3 Page Icons for Favicon, Apple/Android
Requirements

IPageService AddIcon to Html Headers

This page sets various icon headers according to best practices.

Kit.Page gets the Page Service on newer Razors

This tutorial inherits from the Custom.Hybrid.Razor14 or the Custom.Hybrid.RazorTyped base class.

This allows us to use Kit.Page to access an IPageService without having to use GetService<IPageService>.

⬇️ Result | Source ➡️

This page sets various icon headers according to best practices. Look at the html-header in the output-source to see the effect.
The following links will set different icons depending on what you need.
@inherits Custom.Hybrid.Razor14

@{
  // use url parameter to decide which icon(s) to show, and default to "set"
  var mode = CmsContext.Page.Parameters["mode"];

  // the icon we want to use for this page is this png file
  var iconUrl = App.Path + "/blade/assets/razor-blade-icon.png";

  // now add the headers depending on the demo you picked
  // in your code you would only use one of these
  if (mode == "one") {
    Kit.Page.AddIcon(iconUrl);
  }
  else if (mode == "set") {
    Kit.Page.AddIconSet(iconUrl);
  }
  else if (mode == "nofav") {
    Kit.Page.AddIconSet(iconUrl, favicon: false);
  }
  else if (mode == "pngfav") {
    Kit.Page.AddIconSet(iconUrl, favicon: iconUrl);
  }
}

Output is Invisible as it only affects the HTML Head

This sample modifies the HTML head, so it's not visible here. 

To see the effect, look at the source in the browser

 

#3 Page Icons for Favicon, Apple/Android