private void GenerateComponentIndexPages() { foreach (var lang in AvailableLanguages) { var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentCulture = cultureInfo; Thread.CurrentThread.CurrentUICulture = cultureInfo; var indexHtml = TagReplacer.ReplaceLanguageSwitchs(Properties.Resources.TemplateComponentsIndex, lang); indexHtml = TagReplacer.ReplaceInstallVersionSwitchs(indexHtml, AssemblyHelper.InstallationType); var languageSelectionCode = GenerateIndexLanguageSelectionCode(AvailableLanguages, lang); indexHtml = TagReplacer.ReplaceLanguageSelectionTag(indexHtml, languageSelectionCode); var componentListCode = GenerateComponentListCode(DocPages.FindAll(x => x is ComponentDocumentationPage).Select(x => (ComponentDocumentationPage)x), lang); indexHtml = TagReplacer.ReplaceComponentList(indexHtml, componentListCode); var componentTreeCode = GenerateComponentTreeCode(DocPages.FindAll(x => x is ComponentDocumentationPage).Select(x => (ComponentDocumentationPage)x), lang); indexHtml = TagReplacer.ReplaceComponentTree(indexHtml, componentTreeCode); var filename = OnlineHelp.GetComponentIndexFilename(lang); StoreIndexPage(indexHtml, filename); } }
private static string GenerateIndexLanguageSelectionCode(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.GetComponentIndexFilename(availableLanguage), _languagePresentationString[availableLanguage], _languagePresentationIcon[availableLanguage])); } codeBuilder.AppendLine("|"); } return(codeBuilder.ToString()); }