private SPFile CreateOrUpdateMinifiedFile(SPItemEventProperties properties) { SPFile returnValue = null; RunForMainFile(properties, (fileNameParser, targetFolder, mainFile, minifiedFile) => { var reader = new FileContentParser(mainFile); var content = reader.GetCompiledContent(); var minifier = new FileMinifier(fileNameParser.FileExtension, content); if (minifiedFile != null) { if (minifiedFile.CheckedOutByUser == null) { minifiedFile.CheckOut(); } minifiedFile.SaveBinary(minifier.MinifyAsByteArray()); } else { var fileHashDictionary = new FileHashDictionary(properties.ListItem.Web.Site); var fileHash = fileHashDictionary[fileNameParser.FilePath]; var minifiedFileName = fileNameParser.GenerateMinifiedVersionFileName(fileHash); string fileUrl = String.Format("{0}/{1}", targetFolder.Url, minifiedFileName); minifiedFile = targetFolder.Files.Add(fileUrl, minifier.MinifyAsByteArray()); } returnValue = minifiedFile; }); return(returnValue); }
public StringTupleLists GetBasicStringListsForSingleTextFile(IGeneralFile file) { IEnumerable <string> fileContent = this.GetFileContent(file); FileContentParser fileContentParser = new FileContentParser(); StringTupleLists stringTupleCollectionsList = new StringTupleLists { List = fileContentParser.GetStringTupleListFromFileContent( fileContent, file.Name) }; return(stringTupleCollectionsList); }
/// <summary> /// Generates the HTML for the separated inclusion tags /// </summary> protected void GenerateSeparatedInclusionTags() { SPWeb web = SPContext.Current.Site.RootWeb; string filePath = String.Format("{0}/Style Library/{1}", web.ServerRelativeUrl, FilePath); filePath = FileUtilities.RemoveDuplicatedSlashesFromPath(filePath); try { SPFile file = web.GetFile(filePath); var reader = new FileContentParser(file); string fileDirectory = FileUtilities.GetDirectoryPathFromFilePath(filePath); foreach (string includedFile in reader.IncludedFiles) { html.AppendLine(GenerateHtml(fileDirectory + "/" + includedFile)); } } catch (SPException) { html.AppendLine("<!-- SPMin: " + HttpUtility.HtmlEncode(filePath) + " not found -->"); } }
private SPFile CreateOrUpdateMinifiedFile(SPItemEventProperties properties) { SPFile returnValue = null; RunForMainFile(properties, (fileNameParser, targetFolder, mainFile, minifiedFile) => { var reader = new FileContentParser(mainFile); var content = reader.GetCompiledContent(); var minifier = new FileMinifier(fileNameParser.FileExtension, content); if (minifiedFile != null) { if (minifiedFile.CheckedOutByUser == null) minifiedFile.CheckOut(); minifiedFile.SaveBinary(minifier.MinifyAsByteArray()); } else { var fileHashDictionary = new FileHashDictionary(properties.ListItem.Web.Site); var fileHash = fileHashDictionary[fileNameParser.FilePath]; var minifiedFileName = fileNameParser.GenerateMinifiedVersionFileName(fileHash); string fileUrl = String.Format("{0}/{1}", targetFolder.Url, minifiedFileName); minifiedFile = targetFolder.Files.Add(fileUrl, minifier.MinifyAsByteArray()); } returnValue = minifiedFile; }); return returnValue; }