protected override void Write(MarkdownRenderer renderer, QuoteBlock obj) { if (renderer == null) { return; } renderer.AppendQuote(Themes.Theme.StyleId.QuoteBlock, Themes.Theme.StyleId.QuoteBlock); renderer.WriteChildren(obj); renderer.CloseLayout(); }
protected override void Write(MarkdownRenderer renderer, MathBlock obj) { if (renderer == null) { return; } renderer.AppendFrame(Themes.Theme.StyleId.MathBlock); renderer.AppendLeafRawLines(obj, Themes.Theme.StyleId.None); renderer.CloseLayout(); }
protected override void Write(MarkdownRenderer renderer, CodeBlock obj) { if (renderer == null) { return; } var fencedCodeBlock = obj as FencedCodeBlock; if (fencedCodeBlock?.Info != null) { } renderer.AppendFrame(Themes.Theme.StyleId.CodeBlock); renderer.AppendLeafRawLines(obj, Themes.Theme.StyleId.None); renderer.CloseLayout(); }
protected override void Write(MarkdownRenderer renderer, Table obj) { if (obj == null || renderer == null) { return; } var result = new Grid(); bool hasColumnWidth = obj.ColumnDefinitions?.Any(a => a.Width != 0.0f && a.Width != 1.0f) ?? false; if (hasColumnWidth) { result.ColumnDefinitions = new ColumnDefinitionCollection(); foreach (var item in obj.ColumnDefinitions) { result.ColumnDefinitions.Add(new ColumnDefinition() { Width = item.Width }); } } int rowCount = 0; foreach (var item in obj) { var row = (TableRow)item; for (int columnCount = 0; columnCount < row.Count; columnCount++) { var cell = row[columnCount] as TableCell; var stack = new StackLayout(); renderer.TemporaryTargetLayout = stack; renderer.AddLayout(stack, renderer.Theme.GetStyleFromStyleId( row.IsHeader ? Themes.Theme.StyleId.TableCellHeader : Themes.Theme.StyleId.TableCellBody)); renderer.Write(cell); renderer.CloseLayout(); result.Children.Add(stack, columnCount, rowCount); } rowCount++; } }