private void GenerateTemplateIndexPages() { foreach (var lang in AvailableLanguages) { var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentCulture = cultureInfo; Thread.CurrentThread.CurrentUICulture = cultureInfo; var templatesHtml = TagReplacer.ReplaceLanguageSwitchs(Properties.Resources.TemplateTemplatesIndex, lang); var languageSelectionCode = GenerateTemplatesPageLanguageSelectionCode(AvailableLanguages, lang); templatesHtml = TagReplacer.ReplaceLanguageSelectionTag(templatesHtml, languageSelectionCode); var templatesListCode = GenerateTemplatesTree(lang); templatesHtml = TagReplacer.ReplaceTemplatesList(templatesHtml, templatesListCode); var filename = OnlineHelp.GetTemplatesIndexFilename(lang); StoreIndexPage(templatesHtml, filename); } }
private void GenerateEditorIndexPages() { foreach (var lang in AvailableLanguages) { var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentCulture = cultureInfo; Thread.CurrentThread.CurrentUICulture = cultureInfo; var indexHtml = TagReplacer.ReplaceLanguageSwitchs(Properties.Resources.TemplateEditorIndex, lang); indexHtml = TagReplacer.ReplaceInstallVersionSwitchs(indexHtml, AssemblyHelper.InstallationType); var languageSelectionCode = GenerateIndexLanguageSelectionCode(AvailableLanguages, lang); indexHtml = TagReplacer.ReplaceLanguageSelectionTag(indexHtml, languageSelectionCode); var editorListCode = GenerateEditorListCode(DocPages.FindAll(x => x is EditorDocumentationPage).Select(x => (EditorDocumentationPage)x), lang); indexHtml = TagReplacer.ReplaceEditorList(indexHtml, editorListCode); var filename = OnlineHelp.GetEditorIndexFilename(lang); StoreIndexPage(indexHtml, filename); } }
private void GenerateCommonIndexPages() { foreach (var lang in AvailableLanguages) { var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentCulture = cultureInfo; Thread.CurrentThread.CurrentUICulture = cultureInfo; var commonHtml = TagReplacer.ReplaceLanguageSwitchs(Properties.Resources.TemplateCommonIndex, lang); var languageSelectionCode = GenerateTemplatesPageLanguageSelectionCode(AvailableLanguages, lang); commonHtml = TagReplacer.ReplaceLanguageSelectionTag(commonHtml, languageSelectionCode); var commonListCode = GenerateCommonListCode(DocPages.FindAll(x => x is CommonDocumentationPage).Select(x => (CommonDocumentationPage)x), lang); commonHtml = TagReplacer.ReplaceCommonList(commonHtml, commonListCode); //var templatesListCode = GenerateTemplatesTree(lang); //templatesHtml = TagReplacer.ReplaceTemplatesList(templatesHtml, templatesListCode); var filename = OnlineHelp.GetCommonIndexFilename(lang); StoreIndexPage(commonHtml, filename); } }
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 GenerateCommonListCode(IEnumerable <CommonDocumentationPage> commonDocumentationPages, 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 commonDocumentationPages 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 = (LocalizedCommonDocumentationPage)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></tr>", OnlineHelp.GetCommonDocFilename(page.Name, linkedLang), pp.Name)); } 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 GenerateTemplatesPageLanguageSelectionCode(IEnumerable <string> availableLanguages, string lang) { var codeBuilder = new StringBuilder(); foreach (var availableLanguage in availableLanguages) { if (availableLanguage == lang) { codeBuilder.AppendLine(string.Format("<img src=\"{1}\" border=\"0\"/> {0}", _languagePresentationString[lang], _languagePresentationIcon[availableLanguage])); } else { codeBuilder.AppendLine(string.Format("<a href=\"{0}\"><img src=\"{2}\" border=\"0\"/> {1}</a>", OnlineHelp.GetTemplatesIndexFilename(availableLanguage), _languagePresentationString[availableLanguage], _languagePresentationIcon[availableLanguage])); } codeBuilder.AppendLine("|"); } return(codeBuilder.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()); }