static IEnumerable <SourceCodePage> CreateSourceCodePages(DemoPageModel demo) { List <SourceCodePage> result = new List <SourceCodePage>(); if (IsMvc) { foreach (string fileName in demo.SourceFiles) { if (fileName.StartsWith("~/Models/")) { AddSourceCodePage(result, string.Format("Model ({0})", Path.GetFileNameWithoutExtension(fileName)), fileName, false); } } string controllerUrl = string.Format("~/Controllers/{0}/{0}Controller.{1}.cs", demo.Group.Key, demo.Key); AddSourceCodePage(result, "Controller", controllerUrl, true, false); string commonControllerUrl = string.Format("~/Controllers/{0}Controller.cs", demo.Group.Key); AddSourceCodePage(result, "Controller (common)", commonControllerUrl, false); string viewUrl = string.Format("~/Views/{0}/{1}.cshtml", demo.Group.Key, demo.Key); AddSourceCodePage(result, "View", viewUrl, true, false); foreach (string fileName in demo.SourceFiles) { if (fileName.StartsWith("~/Views/")) { AddSourceCodePage(result, string.Format("View ({0})", Path.GetFileNameWithoutExtension(fileName)), fileName, true); } else if (fileName.StartsWith("~/Code/")) { AddSourceCodePage(result, string.Format("{0}", Path.GetFileName(fileName)), fileName, true); } else if (!fileName.StartsWith("~/Models/")) { AddSourceCodePage(result, Path.GetFileName(fileName), fileName, false); } } } else { string baseUrl = GenerateDemoUrl(demo); string[] highlightedTagNames = new string[0]; if (!IsOverview) { highlightedTagNames = demo.Group.GetHighlightedTagNames(). Concat(demo.GetHighlightedTagNames()). Concat(demo.Product.GetHighlightedTagNames()).ToArray(); } AddSourceCodePage(result, "ASPX", baseUrl, true, true, highlightedTagNames); AddSourceCodePage(result, "C#", baseUrl + ".cs", CodeLanguage == "C#", true); AddSourceCodePage(result, "VB", baseUrl + ".vb", CodeLanguage == "VB"); foreach (string fileName in demo.SourceFiles) { AddSourceCodePage(result, Path.GetFileName(fileName), fileName, false, true, highlightedTagNames); } } return(result); }
static string[] GetHighlightedTagNames(DemoPageModel demo) { var highlightedTagNames = new string[0]; if (!IsOverview) { highlightedTagNames = demo.Group.GetHighlightedTagNames(). Concat(demo.GetHighlightedTagNames()). Concat(demo.Product.GetHighlightedTagNames()).ToArray(); } return(highlightedTagNames); }