public IEncodedString Tree(Content tree, string currentId) { var node = tree.Find(currentId); var expandedNodes = node.GetParents(); var builder = new EncodedStringBuilder(); builder.AppendRawLine(@"<ul class=""nav nav-sidebar"">"); foreach (var child in tree.Children) { Tree(builder, child, currentId, expandedNodes, 0); } builder.AppendRawLine("</ul>"); return(builder.ForceRaw()); }
public IEncodedString Link(Content link) { var stack = new Stack <string>(); stack.Push(link.UrlPart); var current = link.Parent; while (current != null && current.Id != "root") { stack.Push(current.UrlPart); current = current.Parent; } var url = string.Concat("/", string.Join("/", stack), "/"); var builder = new EncodedStringBuilder(); builder.AppendRaw(@"<a href=""{0}"">", url); builder.AppendEncoded(link.MenuTitle); builder.AppendRaw("</a>"); return(builder.ForceRaw()); }