private void RenderTabs(Markdown m, StringBuilder b) { var tabId = m.GetNewTabId(); var headerSB = new StringBuilder(); var contentSB = new StringBuilder(); var tabCounter = 0; var checkedAttribute = " checked"; foreach (var tabBlock in this.Children) { if (tabBlock.BlockType != BlockType.tab) { return; } var tabHeaderText = tabBlock.Data as string ?? "Tab"; // header string tabIdSuffix = tabCounter + "_" + tabId; headerSB.Append("<input type=\"radio\" id=\"tab"); headerSB.Append(tabIdSuffix); headerSB.Append("\" name=\"tabGroup"); headerSB.Append(tabId); headerSB.Append("\" class=\"tab\""); headerSB.Append(checkedAttribute); headerSB.Append("><label for=\"tab"); headerSB.Append(tabIdSuffix); headerSB.Append("\">"); headerSB.Append(tabHeaderText); headerSB.Append("</label>"); // content var tabContentSB = new StringBuilder(); tabBlock.RenderChildren(m, tabContentSB); contentSB.Append("<div class=\"tab-content\">"); contentSB.Append(tabContentSB.ToString()); contentSB.Append("</div>"); // done checkedAttribute = string.Empty; tabCounter++; } b.Append("<div class=\"tab-wrap\">"); b.Append(headerSB.ToString()); b.Append(contentSB.ToString()); b.Append("</div>"); }
private void RenderTabs(Markdown m, StringBuilder b) { var tabId = m.GetNewTabId(); var headerSB = new StringBuilder(); var contentSB = new StringBuilder(); var tabCounter = 0; var checkedAttribute = " checked"; foreach(var tabBlock in this.Children) { if(tabBlock.BlockType != BlockType.tab) { return; } var tabHeaderText = tabBlock.Data as string ?? "Tab"; // header string tabIdSuffix = tabCounter + "_" + tabId; headerSB.Append("<input type=\"radio\" id=\"tab"); headerSB.Append(tabIdSuffix); headerSB.Append("\" name=\"tabGroup"); headerSB.Append(tabId); headerSB.Append("\" class=\"tab\""); headerSB.Append(checkedAttribute); headerSB.Append("><label for=\"tab"); headerSB.Append(tabIdSuffix); headerSB.Append("\">"); headerSB.Append(tabHeaderText); headerSB.Append("</label>"); // content var tabContentSB = new StringBuilder(); tabBlock.RenderChildren(m, tabContentSB); contentSB.Append("<div class=\"tab-content\">"); contentSB.Append(tabContentSB.ToString()); contentSB.Append("</div>"); // done checkedAttribute = string.Empty; tabCounter++; } b.Append("<div class=\"tab-wrap\">"); b.Append(headerSB.ToString()); b.Append(contentSB.ToString()); b.Append("</div>"); }