public void GenerateImageMarkup(bool placeImageAboveText, bool galleryEnabled) { StringBuilder prependBuilder = new StringBuilder(); StringBuilder appendBuilder = new StringBuilder(); List <string> mediaIds = new List <string>(); foreach (Media currentMedia in Media) { if (currentMedia.IsFeatured) { PostThumbnail = currentMedia.Id; } else if (galleryEnabled) { mediaIds.Add(currentMedia.Id); } else { if (currentMedia.placement != eMediaPlacement.BlogPreference) { if (currentMedia.placement == eMediaPlacement.Before) { prependBuilder.Append(currentMedia.getHTML()); } else { appendBuilder.Append(currentMedia.getHTML()); } } else { if (placeImageAboveText) { prependBuilder.Append(currentMedia.getHTML()); } else { appendBuilder.Append(currentMedia.getHTML()); } } } } if (mediaIds.Count >= 1) { string galleryShortcode = Gallery.GenerateShortcode(mediaIds); if (Gallery.ContentBelow) { appendBuilder.AppendFormat("\n{0}", galleryShortcode); } else { prependBuilder.AppendFormat("{0}\n", galleryShortcode); } } Description = prependBuilder + Description + appendBuilder; }