protected void ProcessModule(string moduleName, Component moduleComponent, string tempFolder) { Component designConfig = GetDesignConfigComponent(moduleComponent); if (designConfig != null) { ItemFields fields = new ItemFields(designConfig.Content, designConfig.Schema); Component zip = fields.GetComponentValue("design"); Component variables = fields.GetComponentValue("variables"); string code = fields.GetTextValue("code"); string customLess = GetModuleCustomLess(variables, code); if (zip != null) { // write binary contents as zipfile to disk string zipfile = Path.Combine(tempFolder, moduleName + "-html-design.zip"); File.WriteAllBytes(zipfile, zip.BinaryContent.GetByteArray()); // unzip using (ZipArchive archive = ZipFile.OpenRead(zipfile)) { archive.ExtractToDirectory(tempFolder, true); } // add content from merge files if available List <string> files = _mergeFileLines.Keys.Select(s => s).ToList(); foreach (string mergeFile in files) { string path = Path.Combine(tempFolder, mergeFile); if (File.Exists(path)) { foreach (string line in File.ReadAllLines(path)) { if (!_mergeFileLines[mergeFile].Contains(line.Trim())) { _mergeFileLines[mergeFile].Add(line.Trim()); } } } } // add custom less code block if (!String.IsNullOrEmpty(customLess.Trim())) { _mergeFileLines["src\\system\\assets\\less\\_custom.less"].Add(customLess); } } if (moduleName.Equals("core")) { // unzip build files (nodejs, npm and grunt etc.) Component buildFiles = fields.GetComponentValue("build"); if (buildFiles != null) { ProcessBuildFiles(buildFiles, tempFolder); } } } }
private Component GetDesignConfigComponent(Component moduleComponent) { var fields = new ItemFields(moduleComponent.Content, moduleComponent.Schema); return fields.GetComponentValue("designConfiguration"); }
protected void ProcessModule(string moduleName, Component moduleComponent) { var designConfig = GetDesignConfigComponent(moduleComponent); if (designConfig!=null) { var fields = new ItemFields(designConfig.Content, designConfig.Schema); var zip = fields.GetComponentValue("design"); var variables = fields.GetComponentValue("variables"); var code = fields.GetTextValue("code"); var customLess = GetModuleCustomLess(variables, code); if (zip != null) { string zipfile = tempFolder + moduleName + "-html-design.zip"; File.WriteAllBytes(zipfile, zip.BinaryContent.GetByteArray()); using (var archive = ZipFile.OpenRead(zipfile)) { archive.ExtractToDirectory(tempFolder, true); } List<string> files = mergeFileLines.Keys.Select(s => s).ToList(); foreach (var mergeFile in files) { var path = tempFolder + mergeFile; if (File.Exists(path)) { foreach (var line in File.ReadAllLines(path)) { if (!mergeFileLines[mergeFile].Contains(line.Trim())) { mergeFileLines[mergeFile].Add(line.Trim()); } } } } if (!String.IsNullOrEmpty(customLess.Trim())) { mergeFileLines["src\\system\\assets\\less\\_custom.less"].Add(customLess); } } } }
private static Component GetDesignConfigComponent(Component moduleComponent) { ItemFields fields = new ItemFields(moduleComponent.Content, moduleComponent.Schema); return(fields.GetComponentValue("designConfiguration")); }
protected void ProcessModule(string moduleName, Component moduleComponent) { Component designConfig = GetDesignConfigComponent(moduleComponent); if (designConfig != null) { ItemFields fields = new ItemFields(designConfig.Content, designConfig.Schema); Component zip = fields.GetComponentValue("design"); Component variables = fields.GetComponentValue("variables"); string code = fields.GetTextValue("code"); string customLess = GetModuleCustomLess(variables, code); if (zip != null) { // write binary contents as zipfile to disk string zipfile = Path.Combine(_tempFolder, moduleName + "-html-design.zip"); File.WriteAllBytes(zipfile, zip.BinaryContent.GetByteArray()); // unzip using (ZipArchive archive = ZipFile.OpenRead(zipfile)) { archive.ExtractToDirectory(_tempFolder, true); } // add content from merge files if available List<string> files = _mergeFileLines.Keys.Select(s => s).ToList(); foreach (string mergeFile in files) { string path = Path.Combine(_tempFolder, mergeFile); if (File.Exists(path)) { foreach (string line in File.ReadAllLines(path)) { if (!_mergeFileLines[mergeFile].Contains(line.Trim())) { _mergeFileLines[mergeFile].Add(line.Trim()); } } } } // add custom less code block if (!String.IsNullOrEmpty(customLess.Trim())) { _mergeFileLines["src\\system\\assets\\less\\_custom.less"].Add(customLess); } } if (moduleName.Equals("core")) { // unzip build files (nodejs, npm and grunt etc.) Component buildFiles = fields.GetComponentValue("build"); if (buildFiles != null) { ProcessBuildFiles(buildFiles); } } } }