Пример #1
0
        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));
        }
Пример #2
0
        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);
        }