private static string GenerateEditorListCode(IEnumerable <PluginDocumentationPage> editorDocumentationPages, string lang) { var stringBuilderListCode = new StringBuilder(); stringBuilderListCode.AppendLine("<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">"); var query = from pages in editorDocumentationPages orderby pages.Localizations[pages.Localizations.ContainsKey(lang) ? lang : "en"].Name select pages; foreach (var page in query) { var linkedLang = page.Localizations.ContainsKey(lang) ? lang : "en"; var pp = (LocalizedEditorDocumentationPage)page.Localizations[linkedLang]; stringBuilderListCode.AppendLine(string.Format("<tr><td><a href=\"{0}\">{1}</a></td><td>{2}</td></tr>", OnlineHelp.GetPluginDocFilename(pp.PluginType, linkedLang), pp.Name, pp.ToolTip)); } stringBuilderListCode.AppendLine("</table>"); return(stringBuilderListCode.ToString()); }
private static string GenerateComponentListCode(IEnumerable <ComponentDocumentationPage> componentDocumentationPages, string lang) { var stringBuilder = new StringBuilder(); stringBuilder.AppendLine("<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\" class=\"filterable\">"); var anchorBuilder = new StringBuilder(); anchorBuilder.Append("<p>"); var query = from pages in componentDocumentationPages orderby pages.Localizations[pages.Localizations.ContainsKey(lang) ? lang : "en"].Name select pages; char actualIndexCharacter = ' '; foreach (var page in query) { var linkedLang = page.Localizations.ContainsKey(lang) ? lang : "en"; var pp = (LocalizedComponentDocumentationPage)page.Localizations[linkedLang]; if (actualIndexCharacter != pp.Name[0]) { actualIndexCharacter = pp.Name.ToUpper()[0]; stringBuilder.AppendLine(string.Format("<tr><td><h2 id=\"{0}\">{0}</h1></td><td></td></tr>", actualIndexCharacter)); anchorBuilder.AppendLine(string.Format("<a href=\"#{0}\"><b>{0}</b><a> ", actualIndexCharacter)); } stringBuilder.AppendLine(string.Format("<tr><td><a href=\"{0}\">{1}</a></td><td>{2}</td></tr>", OnlineHelp.GetPluginDocFilename(pp.PluginType, linkedLang), pp.Name, pp.ToolTip)); } stringBuilder.AppendLine("</table>"); stringBuilder.AppendLine("<script type=\"text/javascript\" src=\"filterTable.js\"></script>"); anchorBuilder.Append("</p>"); anchorBuilder.Append(stringBuilder); return(anchorBuilder.ToString()); }
private static string GenerateComponentTreeCode(IEnumerable <PluginDocumentationPage> componentDocumentationPages, string lang) { var stringBuilder = new StringBuilder(); stringBuilder.AppendLine("<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">"); var anchorBuilder = new StringBuilder(); anchorBuilder.Append("<p>"); var query = from pages in componentDocumentationPages orderby pages.Category select pages; ComponentCategory actualCategory = ComponentCategory.Undefined; foreach (var page in query) { var linkedLang = page.Localizations.ContainsKey(lang) ? lang : "en"; var pp = (LocalizedComponentDocumentationPage)page.Localizations[linkedLang]; if (actualCategory != page.Category) { actualCategory = page.Category; string categoryName = null; switch (page.Category) { case ComponentCategory.CiphersClassic: categoryName = Properties.Resources.Category_Classic_Ciphers; break; case ComponentCategory.CiphersModernSymmetric: categoryName = Properties.Resources.Category_CiphersModernSymmetric; break; case ComponentCategory.CiphersModernAsymmetric: categoryName = Properties.Resources.Category_CiphersModernAsymmetric; break; case ComponentCategory.Steganography: categoryName = Properties.Resources.Category_Steganography; break; case ComponentCategory.HashFunctions: categoryName = Properties.Resources.Category_HashFunctions; break; case ComponentCategory.CryptanalysisSpecific: categoryName = Properties.Resources.Category_CryptanalysisSpecific; break; case ComponentCategory.CryptanalysisGeneric: categoryName = Properties.Resources.Category_CryptanalysisGeneric; break; case ComponentCategory.Protocols: categoryName = Properties.Resources.Category_Protocols; break; case ComponentCategory.ToolsBoolean: categoryName = Properties.Resources.Category_ToolsBoolean; break; case ComponentCategory.ToolsDataflow: categoryName = Properties.Resources.Category_ToolsDataflow; break; case ComponentCategory.ToolsDataInputOutput: categoryName = Properties.Resources.Category_ToolsDataInputOutput; break; case ComponentCategory.ToolsMisc: categoryName = Properties.Resources.Category_ToolsMisc; break; case ComponentCategory.ToolsP2P: categoryName = Properties.Resources.Category_ToolsP2P; break; default: categoryName = Properties.Resources.Category_Unknown; break; } stringBuilder.AppendLine(string.Format("<tr><td><h2 id=\"{0}\">{0}</h1></td><td></td></tr>", categoryName)); anchorBuilder.AppendLine(string.Format("<a href=\"#{0}\"><b>{0}</b><a> ", categoryName)); } stringBuilder.AppendLine(string.Format("<tr><td><a href=\"{0}\">{1}</a></td><td>{2}</td></tr>", OnlineHelp.GetPluginDocFilename(pp.PluginType, linkedLang), pp.Name, pp.ToolTip)); } stringBuilder.AppendLine("</table>"); anchorBuilder.Append("</p>"); anchorBuilder.Append(stringBuilder); return(anchorBuilder.ToString()); }