private void CopyImage(HtmlExporter htmlExporter, string imagePath, string outputPath) { if (!String.IsNullOrEmpty(imagePath) && File.Exists(imagePath)) { htmlExporter.ExecuteOnStepMessage(string.Format(htmlExporter.HtmlStrings.CopyingFile, Path.GetFileName(imagePath))); File.Copy(imagePath, Path.Combine(outputPath, Path.GetFileName(imagePath)), true); } }
public override void ProcessStep(HtmlExporter htmlExporter) { htmlExporter.ExecuteOnStepProgress(5); htmlExporter.ExecuteOnStepMessage(htmlExporter.HtmlStrings.CreatingNavigation); CreateIndexNav(htmlExporter.Repository, htmlExporter.CurrentStrings, htmlExporter.CurrentLanguage, htmlExporter.OutputPath); htmlExporter.ExecuteOnStepProgress(10); CreateNamespaceNavs(htmlExporter.Repository, htmlExporter.CurrentStrings, htmlExporter.OutputPath); htmlExporter.ExecuteOnStepProgress(15); CreateArticleNavs(htmlExporter.Repository, htmlExporter.CurrentStrings, htmlExporter.CurrentLanguage, htmlExporter.OutputPath); htmlExporter.CurrentStep = new CreateArticleStep(); }
public override void ProcessStep(HtmlExporter htmlExporter) { htmlExporter.ExecuteOnStepProgress(0); htmlExporter.ExecuteOnStepMessage(htmlExporter.HtmlStrings.CreatingFolders); CreateFolder(htmlExporter.OutputPath, "namespace"); CreateFolder(htmlExporter.OutputPath, "type"); CreateFolder(htmlExporter.OutputPath, "constructor"); CreateFolder(htmlExporter.OutputPath, "method"); CreateFolder(htmlExporter.OutputPath, "field"); CreateFolder(htmlExporter.OutputPath, "property"); CreateFolder(htmlExporter.OutputPath, "event"); CreateFolder(htmlExporter.OutputPath, "article"); CreateFolder(htmlExporter.OutputPath, "nav"); htmlExporter.CurrentStep = new CreateNavigationStep(); }
private void CopyAssets(HtmlExporter htmlExporter, string input, string output) { foreach (var dir in Directory.EnumerateDirectories(input)) { if (!Directory.Exists(Path.Combine(output, Path.GetFileName(dir)))) { Directory.CreateDirectory(Path.Combine(output, Path.GetFileName(dir))); } var files = Directory.EnumerateFiles(dir); foreach (var file in files) { htmlExporter.ExecuteOnStepMessage(string.Format(htmlExporter.HtmlStrings.CopyingFile, Path.GetFileName(file))); File.Copy(file, Path.Combine(output, Path.GetFileName(dir), Path.GetFileName(file)), true); } CopyAssets(htmlExporter, dir, Path.Combine(output, Path.GetFileName(dir))); } }
public override void ProcessStep(HtmlExporter htmlExporter) { htmlExporter.ExecuteOnStepProgress(20); if (htmlExporter.Repository.Articles.Count > 0) { var articles = htmlExporter.Repository.Articles.ContainsKey(htmlExporter.CurrentLanguage) ? htmlExporter.Repository.Articles[htmlExporter.CurrentLanguage] : htmlExporter.Repository.Articles["default"]; foreach (var article in articles) { htmlExporter.ExecuteOnStepMessage(string.Format(htmlExporter.HtmlStrings.CreatingArticle, article.Title)); CreateArticle(article, htmlExporter.Repository, htmlExporter.CurrentStrings, htmlExporter.OutputPath); } } htmlExporter.CurrentStep = new CopyStep(); }
private void CreateHtml(HtmlExporter htmlExporter, SDRepository repository, IStrings strings, string docLanguage, string outputPath) { var indexTemplate = new IndexTemplate { Repository = repository, Strings = strings, CurrentLanguage = docLanguage }; File.WriteAllText(Path.Combine(outputPath, "index.html"), indexTemplate.TransformText()); var namespaceCount = 0d; var namespaceTotal = repository.GetAllNamespaces().Count; foreach (var nameSpace in repository.GetAllNamespaces()) { htmlExporter.ExecuteOnStepProgress(Convert.ToInt16((namespaceCount / namespaceTotal) * 50) + 50); htmlExporter.ExecuteOnStepMessage(htmlExporter.HtmlStrings.CreateFilesForNamespace + ": " + nameSpace.Fullname); namespaceCount++; var namespaceTemplate = new NamespaceTemplate { Strings = strings, CurrentLanguage = docLanguage, Namespace = nameSpace, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "namespace", nameSpace.Guid + ".html"), namespaceTemplate.TransformText()); foreach (var type in nameSpace.Types) { type.SortMembers(); var typeTemplate = new TypeTemplate { Strings = strings, CurrentLanguage = type.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "type", type.Guid + ".html"), typeTemplate.TransformText()); foreach (var constructor in type.Constructors) { var memberTemplate = new MemberTemplate { Strings = strings, CurrentLanguage = constructor.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, SDMember = constructor, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "constructor", constructor.Guid + ".html"), memberTemplate.TransformText()); } foreach (var method in type.Methods) { var memberTemplate = new MemberTemplate { Strings = strings, CurrentLanguage = method.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, SDMember = method, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "method", method.Guid + ".html"), memberTemplate.TransformText()); } foreach (var field in type.Fields) { var memberTemplate = new MemberTemplate { Strings = strings, CurrentLanguage = field.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, SDMember = field, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "field", field.Guid + ".html"), memberTemplate.TransformText()); } foreach (var property in type.Properties) { var memberTemplate = new MemberTemplate { Strings = strings, CurrentLanguage = property.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, SDMember = property, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "property", property.Guid + ".html"), memberTemplate.TransformText()); } foreach (var eve in type.Events) { var memberTemplate = new MemberTemplate { Strings = strings, CurrentLanguage = eve.Documentation.ContainsKey(docLanguage) ? docLanguage : "default", SDType = type, SDMember = eve, Repository = repository }; File.WriteAllText(Path.Combine(outputPath, "event", eve.Guid + ".html"), memberTemplate.TransformText()); } } } }