public virtual IEnumerable<ModuleItemPath> AllScripts(string moduleName) { ModuleItemPath scriptsPath = new ModuleItemPath(moduleName, "Scripts"); if (Directory.Exists(scriptsPath.PhysicalPath)) { var files = Directory.EnumerateFiles(scriptsPath.PhysicalPath, "*.js").Select(it => Path.GetFileName(it)); var orderFilePath = Path.Combine(scriptsPath.PhysicalPath, FileOrderHelper.OrderFileName); if (File.Exists(orderFilePath)) { files = FileOrderHelper.OrderFiles(orderFilePath, files); } foreach (var file in files) { yield return new ModuleItemPath(scriptsPath, file); } } }
public virtual IEnumerable<string> All() { var baseDirectory = ModulePath.BaseDirectory; if (Directory.Exists(baseDirectory)) { foreach (var dir in IOUtility.EnumerateDirectoriesExludeHidden(baseDirectory)) { var moduleName = dir.Name; var moduleConfigFile = new ModuleItemPath(moduleName, ModuleInfo.ModuleInfoFileName); if (File.Exists(moduleConfigFile.PhysicalPath)) { yield return moduleName; } } } }
public ModuleItemPath(ModuleItemPath parent, string entryName) { EntryName = entryName; PhysicalPath = Path.Combine(parent.PhysicalPath, EntryName); VirtualPath = UrlUtility.Combine(parent.VirtualPath, EntryName); }
private string ThemeRuleBody(string moduleName, string themeName) { ModuleItemPath themePath = GetThemePath(moduleName, themeName); ModuleItemPath themeRuleFile = new ModuleItemPath(themePath, "Theme.rule"); if (File.Exists(themeRuleFile.PhysicalPath)) { return File.ReadAllText(themeRuleFile.PhysicalPath); } return string.Empty; }