public IEnumerable <ViewPageRef> FindRazorPages(string dirPath) { var hasReloadableWebPages = false; foreach (var entry in templateServices) { var ext = entry.Key; var csHtmlFiles = VirtualPathProvider.GetAllMatchingFiles("*." + ext).ToList(); foreach (var csHtmlFile in csHtmlFiles) { if (ShouldSkipPath(csHtmlFile)) { continue; } if (csHtmlFile.GetType().Name != "ResourceVirtualFile") { hasReloadableWebPages = true; } var pageName = csHtmlFile.Name.WithoutExtension(); var pageContents = GetPageContents(csHtmlFile); var pageType = RazorPageType.ContentPage; if (VirtualPathProvider.IsSharedFile(csHtmlFile)) { pageType = RazorPageType.SharedViewPage; } else if (VirtualPathProvider.IsViewFile(csHtmlFile)) { pageType = RazorPageType.ViewPage; } var templateService = entry.Value; templateService.RegisterPage(csHtmlFile.VirtualPath, pageName); var templatePath = pageType == RazorPageType.ContentPage ? TemplateProvider.GetTemplatePath(csHtmlFile.Directory) : null; yield return(new ViewPageRef(this, csHtmlFile.VirtualPath, pageName, pageContents, pageType) { Template = templatePath, LastModified = csHtmlFile.LastModified, Service = templateService }); } } if (!hasReloadableWebPages) { WatchForModifiedPages = false; } }
public IEnumerable <MarkdownPage> FindMarkdownPages(string dirPath) { var hasReloadableWebPages = false; var markDownFiles = VirtualPathProvider.GetAllMatchingFiles("*." + MarkdownExt); foreach (var markDownFile in markDownFiles) { if (markDownFile.ShouldSkipPath()) { continue; } if (markDownFile.GetType().GetOperationName() != "ResourceVirtualFile") { hasReloadableWebPages = true; } var pageName = markDownFile.Name.WithoutExtension(); var pageContents = GetPageContents(markDownFile); var pageType = MarkdownPageType.ContentPage; if (VirtualPathProvider.IsSharedFile(markDownFile)) { pageType = MarkdownPageType.SharedViewPage; } else if (VirtualPathProvider.IsViewFile(markDownFile)) { pageType = MarkdownPageType.ViewPage; } var templatePath = pageType == MarkdownPageType.ContentPage ? templateProvider.GetTemplatePath(markDownFile.Directory) : null; yield return(new MarkdownPage(this, markDownFile.VirtualPath, pageName, pageContents, pageType) { Template = templatePath, LastModified = markDownFile.LastModified, }); } if (!hasReloadableWebPages) { WatchForModifiedPages = false; } }