public void ReGeneratePages() { var session = SessionFactory.Create(); var repos = new PageTreeRepository(session); var pageRepos = new PageRepository(session); var locator = new Mock<IServiceLocator>(); locator.Setup(x => x.ResolveAll<IPostLoadProcessor>()).Returns(new IPostLoadProcessor[] { new ChildPageSection(pageRepos) }); locator.Setup(x => x.ResolveAll<ITextProcessor>()).Returns(new ITextProcessor[] { new MarkdownParser(), new WikiLinkProcessor(repos) }); locator.Setup(x => x.ResolveAll<IHtmlProcessor>()).Returns(new IHtmlProcessor[] { new HeadingProcessor() }); var pre = new PreProcessorService(locator.Object); var user = new UserRepository(session).GetOrCreate("BA84194", "Jonas Gauffin"); var myIdentity = new WikiIdentity(user); Thread.CurrentPrincipal = new WikiPrinicpal(myIdentity); using (var transaction = session.BeginTransaction()) { foreach (var page in pageRepos.FindAll()) { var ctx = new PreProcessorContext(page, page.RawBody); pre.Invoke(ctx); page.SetBody(ctx, "Changed to relative links", pageRepos); } transaction.Commit(); } }
public void Generate() { var session = SessionFactory.Create(); var repos = new PageTreeRepository(session); var pageRepos = new PageRepository(session); var locator = new Mock<IServiceLocator>(); locator.Setup(x => x.ResolveAll<IPostLoadProcessor>()).Returns(new IPostLoadProcessor[] { new ChildPageSection(pageRepos) }); locator.Setup(x => x.ResolveAll<ITextProcessor>()).Returns(new ITextProcessor[] { new MarkdownParser(), new WikiLinkProcessor(repos) }); locator.Setup(x => x.ResolveAll<IHtmlProcessor>()).Returns(new IHtmlProcessor[] { new HeadingProcessor() }); var pre = new PreProcessorService(locator.Object); var service = new OneDocService(repos, pre, new ImageRepository(session), new PostLoadProcessService(locator.Object)); service.GenerateHTML("C:\\temp\\html\\working\\", new StreamWriter(new FileStream("C:\\temp\\html\\wiki.html", FileMode.Create))); }