void GenerateOutputRecursive(TagHelperOutput output, OutputTreeInfo.Node node)
        {
            if (node == null)
            {
                return;
            }

            GenerateOutputLink(output, node);

            if (node.Children == null)
            {
                return;
            }

            output.Content.AppendHtml("<ul>");

            foreach (var child in node.Children)
            {
                GenerateOutputRecursive(output, child);
            }

            output.Content.AppendHtml("</ul>");
        }
        void GenerateOutputLink(TagHelperOutput output, OutputTreeInfo.Node node)
        {
            if (node.Ident >= 0)
            {
                output.Content.AppendHtml("<li>");


                if (node.Line.Id >= 0)
                {
                    string name = this.Name;
                    string id   = node.Line.Id.ToString();

                    output.Content.AppendHtml($"<a href='/documents/{name}/articles/{id}'>");
                    output.Content.Append(node.Title);
                    output.Content.AppendHtml("</a>");
                }
                else
                {
                    output.Content.Append(node.Title);
                }

                output.Content.AppendHtml("</li>");
            }
        }