private TemplateDirectory ReadTemplates(string baseDir, string subdir, TemplateDirectory parent, Generator generator) { var directory = new DirectoryInfo(Path.Combine(baseDir, Path.Combine(TemplateDirectory, subdir))); var templateDir = new TemplateDirectory(directory, parent); //recursively analyze subdirs: foreach (var childdir in directory.GetDirectories()) { var subDir = ReadTemplates(baseDir, Path.Combine(subdir, childdir.Name), templateDir, generator); templateDir.SubDirectories.Add(subDir); } templateDir.SubDirectories.Sort(CompareTemplateDirectories); foreach (var file in directory.GetFiles().Where(x => (x.Extension.ToLower() == ".cwm"))) { try { var templatePage = new TemplateDocumentationPage(file.FullName, subdir, templateDir); if (templatePage.RelevantPlugins != null) { foreach (var relevantPlugin in templatePage.RelevantPlugins) { if (RelevantComponentToTemplatesMap.ContainsKey(relevantPlugin)) { RelevantComponentToTemplatesMap[relevantPlugin].Add(templatePage); } else { RelevantComponentToTemplatesMap.Add(relevantPlugin, new List <TemplateDocumentationPage>() { templatePage }); } } } generator.AddDocumentationPage(templatePage); templateDir.ContainingTemplateDocPages.Add(templatePage); } catch (Exception ex) { GuiLogMessage(string.Format("Error while trying to read templates for Online Help generation: {0} ({1})", ex.Message, file.FullName), NotificationLevel.Warning); } templateDir.ContainingTemplateDocPages.Sort(CompareTemplateDocPages); } return(templateDir); }
public LocalizedTemplateDocumentationPage(TemplateDocumentationPage templateDocumentationPage, string lang, BitmapFrame icon) { base.DocumentationPage = templateDocumentationPage; Lang = lang; Icon = icon; _xml = templateDocumentationPage.TemplateXML; _filePath = OnlineHelp.GetTemplateDocFilename(Path.Combine(templateDocumentationPage.RelativeTemplateDirectory, Path.GetFileName(templateDocumentationPage.TemplateFile)), lang); var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentCulture = cultureInfo; Thread.CurrentThread.CurrentUICulture = cultureInfo; var titleElement = XMLHelper.FindLocalizedChildElement(_xml, "title"); if (titleElement != null) { Name = titleElement.Value; } Summary = XMLHelper.FindLocalizedChildElement(_xml, "summary"); Description = XMLHelper.FindLocalizedChildElement(_xml, "description"); }
public void Add(TemplateDocumentationPage templateDocumentationPage) { Templates.Add(templateDocumentationPage); }
private static int CompareTemplateDocPages(TemplateDocumentationPage x, TemplateDocumentationPage y) { return(String.Compare(x.CurrentLocalization.Name, y.CurrentLocalization.Name)); }