private void CreateArticle(SDArticle article, SDRepository repository, IStrings strings, string outputPath) { if (!string.IsNullOrEmpty(article.Content) && article.Content != "SDDoc") { var articleTemplate = new ArticleTemplate { Repository = repository, Article = article, Strings = strings }; File.WriteAllText(Path.Combine(outputPath, "article", string.Format("{0}.html", article.Title.Replace(" ", "_"))), articleTemplate.TransformText()); } if (article.Content != "SDDoc") { foreach (var child in article.Children) { CreateArticle(child, repository, strings, outputPath); } } }
private SDArticle GetArticle(string line, string language) { var splitted = line.Split('#'); var articleContent = string.Empty; if (splitted.Length > 1) { if (splitted[1] == "SDDoc") { articleContent = "SDDoc"; } else { var articleFileName = language.ToLower() != "default" ? string.Format("{0}.{1}", language, splitted[1]) : splitted[1]; var articleFile = _articles.SingleOrDefault(a => Path.GetFileNameWithoutExtension(a) == articleFileName); articleContent = !string.IsNullOrEmpty(articleFile) ? File.ReadAllText(articleFile) : string.Empty; } } var article = new SDArticle(); article.Title = GetNavTitle(splitted[0]); article.Content = articleContent; return article; }