Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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>&nbsp;", 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());
        }
Exemplo n.º 6
0
        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\"/>&nbsp;{0}", _languagePresentationString[lang], _languagePresentationIcon[availableLanguage]));
                }
                else
                {
                    codeBuilder.AppendLine(string.Format("<a href=\"{0}\"><img src=\"{2}\" border=\"0\"/>&nbsp;{1}</a>", OnlineHelp.GetTemplatesIndexFilename(availableLanguage), _languagePresentationString[availableLanguage], _languagePresentationIcon[availableLanguage]));
                }
                codeBuilder.AppendLine("|");
            }

            return(codeBuilder.ToString());
        }
Exemplo n.º 7
0
        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>&nbsp;", 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());
        }