public void Process(string newFile) { MarkdownPage page = MarkdownPage.Generate(_filePath); if (page == null) { throw new FileNotFoundException("Could not find entry file", _filePath); } var allPages = LoadPage(page); var pageLookup = allPages.ToDictionary((p) => p.FileName); File.WriteAllText(newFile, GenerateContent(pageLookup, page)); }
private List <MarkdownPage> LoadPage(MarkdownPage page) { List <MarkdownPage> pages = new List <MarkdownPage>(); if (page == null) { return(pages); } pages.Add(page); var dir = Path.GetDirectoryName(page.FilePath); foreach (var nextPagePath in page.NextPages) { var file = Path.Combine(dir, nextPagePath); var nextPage = MarkdownPage.Generate(file); var nextPages = LoadPage(nextPage); pages.AddRange(nextPages); } return(pages); }