protected override void Write(MarkdownRenderer renderer, LinkInline obj) { if (obj == null) { return; } if (renderer == null) { return; } var url = obj.GetDynamicUrl?.Invoke() ?? obj.Url; Uri?uri = MarkdownRenderer.GetAbsoluteUri(renderer.BasePath, url); if (uri == null) { renderer.WriteChildren(obj); return; } var title = string.IsNullOrEmpty(obj.Title) ? obj.Url : obj.Title; if (obj.IsImage) { renderer.AppendBlock(new Image() { Source = ImageSource.FromUri(uri), HorizontalOptions = LayoutOptions.FillAndExpand, }); } else { var restore = renderer.CurrentHyperlink; renderer.CurrentHyperlink = uri; renderer.HyperlinkStyleId = Theme.StyleId.Hyperlink; renderer.WriteChildren(obj); renderer.CurrentHyperlink = restore; } }