Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        /// <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();
            }
        }
Exemplo n.º 3
0
        /// <inheritdoc/>
        protected override void Write(AggRenderer renderer, ParagraphBlock obj)
        {
            var paragraph = new ParagraphX();

            renderer.Push(paragraph);
            renderer.WriteLeafInline(obj);
            renderer.Pop();
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
 protected override void Write(AggRenderer renderer, MatchingTextInline obj)
 {
     renderer.Push(new CodeInlineX(theme)
     {
         BackgroundColor = theme.AccentMimimalOverlay
     });
     renderer.WriteText(obj.MatchingText);
     renderer.Pop();
 }
Exemplo n.º 6
0
        /// <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();
        }
Exemplo n.º 7
0
        protected override void Write(AggRenderer renderer, CodeInline obj)
        {
            //var run = new Run(obj.Content);
            //run.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.CodeStyleKey);

            //renderer.WriteInline(new CodeInlineX());
            renderer.Push(new CodeInlineX(theme));
            renderer.WriteText(obj.Content);
            renderer.Pop();
        }
        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();
        }