public void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = _standardLink.Replace(content.Html, match => BuildLink(context, match.Groups["Foo"].Value, match.Groups["Foo"].Value, null)); content.Html = _anchoredLink.Replace(content.Html, match => BuildLink(context, match.Groups["Foo"].Value, match.Groups["Foo"].Value, match.Groups["Bar"].Value)); content.Html = _namedLink.Replace(content.Html, match => BuildLink(context, match.Groups["Foo"].Value, match.Groups["Foobar"].Value, null)); content.Html = _namedAnchoredLink.Replace(content.Html, match => BuildLink(context, match.Groups["Foo"].Value, match.Groups["Foobar"].Value, match.Groups["Bar"].Value)); }
public void Apply(MarkupContent content, MarkupRendererContext context) { var lines = content.Html.Split('\n'); var writer = new HtmlParagraphWriter(); foreach (var line in lines) { writer.WriteLine(line); } content.Html = writer.ToString(); }
public override void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = Expression.Replace(content.Html, delegate (Match match) { var childContent = context.LoadSiblingContent(match.Groups["path"].Value); if (childContent == null) return ""; content.SourceFiles.AddRange(childContent.SourceFiles); return childContent.Html; } ); }
private static string BuildLink(MarkupRendererContext context, string content, string url, string anchor) { var builder = new StringBuilder(); builder.Append("<a href='"); if (url != null) builder.Append(context.ResolveInterContentLink(url)); else builder.Append(context.ResolveInterContentLink(content)); if (anchor != null) builder.Append("#" + anchor); builder.Append("'>"); builder.Append(HttpUtility.HtmlEncode(content)); builder.Append("</a>"); return builder.ToString(); }
public override void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = Expression.Replace(content.Html, delegate (Match match) { var image = context.ResolveContentAttachmentPath(match.Groups["image"].Value); var builder = new StringBuilder(); builder.AppendLine("<div class='image'>"); builder.AppendFormat("<img src='{0}' alt='Image {1}: {2}' />", image, match.Groups["index"].Value, match.Groups["caption"]).AppendLine(); builder.AppendFormat("<div>Image {0}: {1}</div>", match.Groups["index"].Value, match.Groups["caption"]); builder.AppendLine("</div>"); return builder.ToString(); } ); }
public MarkupRenderer(MarkupRendererContext context) { _context = context; _formatters = new List<IMarkupFormatter> { // Block-level new ListingFormatter(), new QuoteFormatter(), new ImageFormatter(), new TableFormatter(), // Paragraph new ListFormatter(), // Paragraph level new BoldFormatter(), new HorizontalRuleFormatter(), new BackSlashFormatter(), new HeadingFormatter(), new InternalLinkFormatter(), new ParagraphFormatter(), new IncludeFormatter() }; }
public abstract void Apply(MarkupContent content, MarkupRendererContext context);
public override void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = Expression.Replace(content.Html, Matcher); }
public void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = content.Html.Replace("\\", ""); }
public void Apply(MarkupContent content, MarkupRendererContext context) { content.Html = _listMatcher.Replace(content.Html, MatchFormatter); }