public static HtmlTag Menu(this IFubuPage page, string menuName = null) { var navigationService = page.Get <INavigationService>(); var items = navigationService.MenuFor(new NavigationKey(menuName ?? StringConstants.BlogName)); var menu = new HtmlTag("ul"); var user = page.GetUser(); items.Each(x => { var link = new LinkTag(x.Key, x.Url); var li = new HtmlTag("li"); li.AddClass( string.Format("menu-item-{0}", x.Key.Replace(" ", string.Empty).ToLowerInvariant())); if (x.Key.Equals("Logout") && x.MenuItemState == MenuItemState.Available && user != null) { var aTag = new LinkTag(string.Format("Welcome, {0}", user.FirstName), "/profile"); aTag.AddClass("user"); menu.Append(aTag); } if (x.MenuItemState == MenuItemState.Active) { li.AddClass("current"); } if (x.MenuItemState == MenuItemState.Active || x.MenuItemState == MenuItemState.Available) { menu.Append(li.Append(link)); } }); return(menu); }
public static ImageTag Gravatar(this IFubuPage page, string email, int size = 100) { var user = page.GetUser(); var image = page.GravatarHash(user.GravatarHash, size); image.Title("Refresh page to update, after save."); return(image); }