/// <inheritdoc/> protected override void Write(AggRenderer renderer, LinkInline link) { var url = link.GetDynamicUrl != null?link.GetDynamicUrl() ?? link.Url : link.Url; if (!Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute)) { url = "#"; } if (!url.StartsWith("http")) { var pageID = url; url = new Uri(renderer.BaseUri, url).AbsoluteUri; renderer.ChildLinks.Add(new MarkdownDocumentLink() { Uri = new Uri(url), LinkInline = link, PageID = pageID }); } if (link.IsImage) { renderer.WriteInline(new ImageLinkSimpleX(url)); } else { renderer.Push(new TextLinkX(renderer, url, link)); renderer.WriteChildren(link); renderer.Pop(); } }
protected override void Write(AggRenderer renderer, ListBlock listBlock) { //var list = new List(); //if (listBlock.IsOrdered) //{ // list.MarkerStyle = TextMarkerStyle.Decimal; // if (listBlock.OrderedStart != null && (listBlock.DefaultOrderedStart != listBlock.OrderedStart)) // { // list.StartIndex = int.Parse(listBlock.OrderedStart); // } //} //else //{ // list.MarkerStyle = TextMarkerStyle.Disc; //} renderer.Push(new ListX()); // list); foreach (var item in listBlock) { renderer.Push(new ListItemX(theme)); renderer.WriteChildren(item as ListItemBlock); renderer.Pop(); } renderer.Pop(); }
public ImageLinkSimpleX(AggRenderer renderer, string imageUrl, string linkUrl = null) { this.HAnchor = HAnchor.Stretch; this.VAnchor = VAnchor.Fit; this.Selectable = false; this.ImageUrl = imageUrl; this.LinkUrl = linkUrl; this.aggRenderer = renderer; if (linkUrl != null) { this.Selectable = true; } imageSequence = new ImageSequence(icon); // var sequenceWidget = new ImageSequenceWidget(imageSequence); var sequenceWidget = new ResponsiveImageSequenceWidget(imageSequence) { Cursor = Cursors.Hand, }; sequenceWidget.Click += SequenceWidget_Click; this.AddChild(sequenceWidget); }
public ImageLinkSimpleX(AggRenderer renderer, string imageUrl, string linkUrl = null) { this.HAnchor = HAnchor.Stretch; this.VAnchor = VAnchor.Fit; this.Selectable = false; this.ImageUrl = imageUrl; this.LinkUrl = linkUrl; this.aggRenderer = renderer; if (linkUrl != null) { this.Selectable = true; } sequenceWidget = new ResponsiveImageSequenceWidget(new ImageSequence(icon)) { Cursor = Cursors.Hand, }; sequenceWidget.MaximumSizeChanged += (s, e) => { this.MinStretchOrFitHorizontal(20 * GuiWidget.DeviceScale, sequenceWidget.MaximumSize.X); if (aggRenderer.RootWidget.Parents <MarkdownWidget>().FirstOrDefault() is MarkdownWidget markdownWidget) { markdownWidget.Width += 1; } }; sequenceWidget.Click += SequenceWidget_Click; this.AddChild(sequenceWidget); }
protected override void Write(AggRenderer renderer, CodeInline obj) { //var run = new Run(obj.Content); //run.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.CodeStyleKey); renderer.WriteInline(new CodeInlineX()); }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, ParagraphBlock obj) { var paragraph = new ParagraphX(); renderer.Push(paragraph); renderer.WriteLeafInline(obj); renderer.Pop(); }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, LiteralInline obj) { if (obj.Content.IsEmpty) { return; } renderer.WriteText(ref obj.Content); }
protected override void Write(AggRenderer renderer, CodeBlock obj) { //var paragraph = new Paragraph(); //paragraph.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.CodeBlockStyleKey); renderer.Push(new CodeBlockX(theme)); renderer.WriteLeafRawLines(obj); renderer.Pop(); }
public TextLinkX(AggRenderer renderer, string url, LinkInline linkInline) { this.HAnchor = HAnchor.Fit; this.VAnchor = VAnchor.Fit; this.Cursor = Cursors.Hand; this.linkInline = linkInline; this.url = url; this.aggRenderer = renderer; }
protected override void Write(AggRenderer renderer, MatchingTextInline obj) { renderer.Push(new CodeInlineX(theme) { BackgroundColor = theme.AccentMimimalOverlay }); renderer.WriteText(obj.MatchingText); renderer.Pop(); }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, QuoteBlock obj) { // var section = new Section(); renderer.Push(new QuoteBlockX()); // section); renderer.WriteChildren(obj); //section.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.QuoteBlockStyleKey); renderer.Pop(); }
protected override void Write(AggRenderer renderer, ThematicBreakBlock obj) { //var line = new System.Windows.Shapes.Line { X2 = 1 }; //line.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.ThematicBreakStyleKey); //var paragraph = new Paragraph //{ // Inlines = { new InlineUIContainer(line) } //}; renderer.WriteBlock(new ThematicBreakX()); // paragraph); }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, LineBreakInline obj) { if (obj.IsHard) { renderer.WriteInline(new LineBreakX()); // new LineBreak()); } else { // TODO: Remove soft - use WriteText renderer.WriteInline(new LineBreakSoftX()); // new LineBreak()); // Soft line break. renderer.WriteText(" "); } }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, AutolinkInline link) { var url = link.Url; if (!Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute)) { url = "#"; } //var hyperlink = new Hyperlink //{ // Command = Commands.Hyperlink, // CommandParameter = url, // NavigateUri = new Uri(url, UriKind.RelativeOrAbsolute), // ToolTip = url, //}; renderer.WriteInline(new AutoLinkInlineX()); }
protected override void Write(AggRenderer renderer, EmphasisInline obj) { //Span span = null; //switch (obj.DelimiterChar) //{ // case '*': // case '_': // span = obj.IsDouble ? (Span)new Bold() : new Italic(); // break; // case '~': // span = new Span(); // span.SetResourceReference(FrameworkContentElement.StyleProperty, obj.IsDouble ? Styles.StrikeThroughStyleKey : Styles.SubscriptStyleKey); // break; // case '^': // span = new Span(); // span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.SuperscriptStyleKey); // break; // case '+': // span = new Span(); // span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.InsertedStyleKey); // break; // case '=': // span = new Span(); // span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.MarkedStyleKey); // break; //} if (true) //span != null) { renderer.Push(new EmphasisInlineX(obj.DelimiterChar)); renderer.WriteChildren(obj); renderer.Pop(); } else { renderer.WriteChildren(obj); } }
protected override void Write(AggRenderer renderer, HeadingBlock obj) { //var paragraph = new Paragraph(); //ComponentResourceKey styleKey = null; //switch (obj.Level) //{ // case 1: styleKey = Styles.Heading1StyleKey; break; // case 2: styleKey = Styles.Heading2StyleKey; break; // case 3: styleKey = Styles.Heading3StyleKey; break; // case 4: styleKey = Styles.Heading4StyleKey; break; // case 5: styleKey = Styles.Heading5StyleKey; break; // case 6: styleKey = Styles.Heading6StyleKey; break; //} //if (styleKey != null) //{ // paragraph.SetResourceReference(FrameworkContentElement.StyleProperty, styleKey); //} renderer.Push(new HeadingRowX()); // paragraph); renderer.WriteLeafInline(obj); renderer.Pop(); }
/// <inheritdoc/> protected override void Write(AggRenderer renderer, DelimiterInline obj) { renderer.WriteText(obj.ToLiteral()); renderer.WriteChildren(obj); }