/// <summary> /// Processes {{image guid;human_identifier}} with a specified function - best use may be for easily building /// library code. /// </summary> /// <param name="toProcess"></param> /// <param name="pageConversion"></param> /// <param name="progress"></param> /// <returns></returns> private static string Process(string toProcess, Func <SingleImagePage, string> pageConversion, IProgress <string> progress) { if (string.IsNullOrWhiteSpace(toProcess)) { return(string.Empty); } progress?.Report("Searching for Image Codes"); var resultList = BracketCodeCommon.ContentBracketCodeMatches(toProcess, BracketCodeToken); if (!resultList.Any()) { return(toProcess); } var context = Db.Context().Result; foreach (var loopMatch in resultList) { var dbImage = context.ImageContents.FirstOrDefault(x => x.ContentId == loopMatch.contentGuid); if (dbImage == null) { continue; } progress?.Report($"Image Code for {dbImage.Title} processed"); var singleImageInfo = new SingleImagePage(dbImage); toProcess = toProcess.Replace(loopMatch.bracketCodeText, pageConversion(singleImageInfo)); } return(toProcess); }
public static void GenerateHtml(ImageContent toGenerate, DateTime?generationVersion, IProgress <string> progress) { progress?.Report($"Image Content - Generate HTML for {toGenerate.Title}"); var htmlContext = new SingleImagePage(toGenerate) { GenerationVersion = generationVersion }; htmlContext.WriteLocalHtml(); }