Example #1
0
        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());
        }
Example #2
0
        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());
        }