Exemplo n.º 1
0
 public void Initialize(IMarkdownRewriteEngine rewriteEngine)
 {
     using (string.IsNullOrEmpty(Scope) ? null : new LoggerPhaseScope(Scope))
     {
         (Inner as IInitializable)?.Initialize(rewriteEngine);
     }
 }
Exemplo n.º 2
0
 public MarkdownTokenValidatorContext(IMarkdownRewriteEngine rewriteEngine, string file)
 {
     _rewriteEngine = rewriteEngine;
     _file          = file;
     Debug.Assert(_current == null, "Current context should be null.");
     _current = this;
 }
Exemplo n.º 3
0
 public void Initialize(IMarkdownRewriteEngine rewriteEngine)
 {
     foreach (var item in Validators)
     {
         (item as IInitializable)?.Initialize(rewriteEngine);
     }
 }
Exemplo n.º 4
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     using (string.IsNullOrEmpty(Scope) ? null : new LoggerPhaseScope(Scope))
     {
         return(Inner.Rewrite(engine, token));
     }
 }
 public void Initialize(IMarkdownRewriteEngine rewriteEngine)
 {
     foreach (var item in Rewriters)
     {
         (item as IInitializable)?.Initialize(rewriteEngine);
     }
 }
 public void Initialize(IMarkdownRewriteEngine rewriteEngine)
 {
     if (rewriteEngine is TEngine tengine)
     {
         Initializer(tengine);
     }
 }
Exemplo n.º 7
0
 internal MarkdownTokenValidatorContext(IMarkdownRewriteEngine rewriteEngine, string file)
 {
     _rewriteEngine = rewriteEngine;
     _file = file;
     Debug.Assert(_current == null, "Current context should be null.");
     _current = this;
 }
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     if (engine is TEngine tengine && token is TToken ttoken)
     {
         return(RewriteFunc(tengine, ttoken));
     }
     return(null);
 }
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     foreach (var validator in Validators)
     {
         validator.Validate(token);
     }
     return null;
 }
Exemplo n.º 10
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     foreach (var validator in Validators)
     {
         validator.Validate(token);
     }
     return(token);
 }
Exemplo n.º 11
0
        public void Initialize(IMarkdownRewriteEngine rewriteEngine)
        {
            var tengine = rewriteEngine as TEngine;

            if (tengine != null)
            {
                Initializer(tengine);
            }
        }
Exemplo n.º 12
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     IMarkdownToken newToken = token;
     for (int index = 0; index < Inner.Length; index++)
     {
         newToken = Inner[index].Rewrite(engine, newToken) ?? newToken;
     }
     return newToken;
 }
Exemplo n.º 13
0
 public MarkdownParagraphBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
 {
     var c = InlineTokens.Rewrite(rewriterEngine);
     if (c == InlineTokens)
     {
         return this;
     }
     return new MarkdownParagraphBlockToken(Rule, Context, c, SourceInfo);
 }
Exemplo n.º 14
0
 public AzureIncludeInlineToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
 {
     var tokens = rewriteEngine.Rewrite(Tokens);
     if (tokens == Tokens)
     {
         return this;
     }
     return new AzureIncludeInlineToken(Rule, Context, Src, Name, Title, tokens, Raw, RawMarkdown);
 }
Exemplo n.º 15
0
        public MarkdownHtmlBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var c = Content.Rewrite(rewriterEngine);

            if (c == Content)
            {
                return(this);
            }
            return(new MarkdownHtmlBlockToken(Rule, Context, c, RawMarkdown));
        }
Exemplo n.º 16
0
        public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
        {
            IMarkdownToken newToken = token;

            for (int index = 0; index < Inner.Length; index++)
            {
                newToken = Inner[index].Rewrite(engine, newToken) ?? newToken;
            }
            return(newToken);
        }
Exemplo n.º 17
0
        public DfmTabTitleBlockToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
        {
            var tokens = rewriteEngine.Rewrite(Content.Tokens);

            if (tokens == Content.Tokens)
            {
                return(this);
            }
            return(new DfmTabTitleBlockToken(Rule, Context, new InlineContent(tokens), SourceInfo));
        }
        public MarkdownTableItemBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var rewritten = Content.Rewrite(rewriterEngine);

            if (rewritten == Content)
            {
                return(this);
            }
            return(new MarkdownTableItemBlockToken(Rule, Context, rewritten, SourceInfo));
        }
Exemplo n.º 19
0
        public InlineContent Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Tokens);

            if (tokens == Tokens)
            {
                return(this);
            }
            return(new InlineContent(tokens));
        }
Exemplo n.º 20
0
        public AzureIncludeBlockToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
        {
            var tokens = rewriteEngine.Rewrite(Tokens);

            if (tokens == Tokens)
            {
                return(this);
            }
            return(new AzureIncludeBlockToken(Rule, Context, Src, Name, Title, tokens, Raw, SourceInfo));
        }
Exemplo n.º 21
0
 public DfmTabItemBlockToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
 {
     var title = Title.Rewrite(rewriteEngine);
     var content = Content.Rewrite(rewriteEngine);
     if (title == Title && content == Content)
     {
         return this;
     }
     return new DfmTabItemBlockToken(Rule, Context, Id, Condition, title, content, Visible, SourceInfo);
 }
Exemplo n.º 22
0
        public DfmXrefInlineToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
        {
            var tokens = rewriteEngine.Rewrite(Content);

            if (tokens == Content)
            {
                return(this);
            }
            return(new DfmXrefInlineToken(Rule, Context, Href, tokens, Title, ThrowIfNotResolved, RawMarkdown));
        }
Exemplo n.º 23
0
        public GfmDelInlineToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Content);

            if (tokens == Content)
            {
                return(this);
            }
            return(new GfmDelInlineToken(Rule, Context, tokens, SourceInfo));
        }
Exemplo n.º 24
0
        public MarkdownParagraphBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var c = InlineTokens.Rewrite(rewriterEngine);

            if (c == InlineTokens)
            {
                return(this);
            }
            return(new MarkdownParagraphBlockToken(Rule, Context, c, RawMarkdown));
        }
Exemplo n.º 25
0
        public DfmTabContentBlockToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
        {
            var tokens = rewriteEngine.Rewrite(Content);

            if (tokens == Content)
            {
                return(this);
            }
            return(new DfmTabContentBlockToken(Rule, Context, tokens, SourceInfo));
        }
Exemplo n.º 26
0
        public MarkdownListItemBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Tokens);

            if (tokens == Tokens)
            {
                return(this);
            }
            return(new MarkdownListItemBlockToken(Rule, Context, tokens, Loose, RawMarkdown));
        }
Exemplo n.º 27
0
        public MarkdownLinkInlineToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Content);

            if (tokens == Content)
            {
                return(this);
            }
            return(new MarkdownLinkInlineToken(Rule, Context, Href, Title, tokens, SourceInfo));
        }
Exemplo n.º 28
0
        public MarkdownNonParagraphBlockToken Rewrite(IMarkdownRewriteEngine rewriteEngine)
        {
            var content = Content.Rewrite(rewriteEngine);

            if (content == Content)
            {
                return(this);
            }
            return(new MarkdownNonParagraphBlockToken(Rule, Context, content, SourceInfo));
        }
Exemplo n.º 29
0
        public MarkdownEmInlineToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Content);

            if (tokens == Content)
            {
                return(this);
            }
            return(new MarkdownEmInlineToken(Rule, Context, tokens, RawMarkdown));
        }
Exemplo n.º 30
0
        public MarkdownListBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var tokens = rewriterEngine.Rewrite(Tokens);

            if (tokens == Tokens)
            {
                return(this);
            }
            return(new MarkdownListBlockToken(Rule, Context, tokens, Ordered, Start, SourceInfo));
        }
Exemplo n.º 31
0
        public MarkdownHeadingBlockToken Rewrite(IMarkdownRewriteEngine rewriterEngine)
        {
            var c = Content.Rewrite(rewriterEngine);

            if (c == Content)
            {
                return(this);
            }
            return(new MarkdownHeadingBlockToken(Rule, Context, c, Id, Depth, SourceInfo));
        }
Exemplo n.º 32
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     using (new MarkdownTokenValidatorContext(engine))
     {
         foreach (var validator in Validators)
         {
             validator.Validate(token);
         }
     }
     return(null);
 }
Exemplo n.º 33
0
        public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
        {
            var tengine = engine as TEngine;
            var ttoken  = token as TToken;

            if (tengine != null && ttoken != null)
            {
                return(RewriteFunc(tengine, ttoken));
            }
            return(null);
        }
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     if (Rewriters.Count > 0)
     {
         foreach (var rewriter in Rewriters)
         {
             var newToken = rewriter.Rewrite(engine, token);
             if (newToken != null)
             {
                 return newToken;
             }
         }
     }
     return null;
 }
Exemplo n.º 35
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     if (Rewriters.Count > 0)
     {
         foreach (var rewriter in Rewriters)
         {
             var newToken = rewriter.Rewrite(engine, token);
             if (newToken != null)
             {
                 return(newToken);
             }
         }
     }
     return(null);
 }
Exemplo n.º 36
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     IMarkdownToken lastToken;
     IMarkdownToken newToken = token;
     for (int loopCount = 0; loopCount < MaxLoopCount; loopCount++)
     {
         lastToken = newToken;
         newToken = Inner.Rewrite(engine, lastToken);
         if (newToken == null)
         {
             return lastToken;
         }
     }
     throw new InvalidOperationException("Too many loops!");
 }
Exemplo n.º 37
0
            public IMarkdownToken Validate(IMarkdownRewriteEngine engine, MarkdownTagInlineToken token)
            {
                var m = OpeningTag.Match(token.RawMarkdown);
                bool isOpeningTag = true;
                if (m.Length == 0)
                {
                    m = ClosingTag.Match(token.RawMarkdown);
                    if (m.Length == 0)
                    {
                        return null;
                    }
                    isOpeningTag = false;
                }

                return ValidateCore(token, m, isOpeningTag);
            }
Exemplo n.º 38
0
 private static ImmutableArray<IMarkdownToken> RewriteTokens(ImmutableArray<IMarkdownToken> tokens, string file, IMarkdownRewriteEngine rewriteEngine)
 {
     using (new MarkdownTokenValidatorContext(rewriteEngine, file))
     {
         rewriteEngine.Initialize();
         tokens = rewriteEngine.Rewrite(tokens);
         rewriteEngine.Complete();
     }
     return tokens;
 }
Exemplo n.º 39
0
 public IMarkdownToken Rewrite(IMarkdownRewriteEngine engine, IMarkdownToken token)
 {
     return null;
 }
Exemplo n.º 40
0
 public void Initialize(IMarkdownRewriteEngine rewriteEngine)
 {
     (Inner as IInitializable)?.Initialize(rewriteEngine);
 }