コード例 #1
0
        protected static Token FindAncestorToken(Token searchTarget, Func<Token, bool> predicate)
        {
            if (predicate(searchTarget))
                return searchTarget;

            return searchTarget.Parent != null ? FindAncestorToken(searchTarget.Parent, predicate) : null;
        }
コード例 #2
0
        void ApplyImpl(Token rootToken)
        {
            for (int i = 0; i < rootToken.Children.Count; i++)
            {
                var token = rootToken.Children[i];

                if (token is LineBreakToken
                    && (
                       	token.Parent.Children.IndexOf(token) == 0
                       	|| token.Parent.Children.IndexOf(token) == token.Parent.Children.Count - 1
                       )
                    )
                    token.Parent.RemoveChild(token);

                ApplyImpl(token);
            }
        }
コード例 #3
0
 internal abstract string RenderOpeningTag(Token token);
コード例 #4
0
 internal abstract string RenderClosingTag(Token token);
コード例 #5
0
 internal abstract bool CanRender(Token token);
コード例 #6
0
 internal override string RenderOpeningTag(Token token)
 {
     return "<br />";
 }
コード例 #7
0
 internal abstract bool Apply(StringReader reader, ref Token parentToken, ref Token previousToken);
コード例 #8
0
 internal override bool CanRender(Token token)
 {
     return token is LineBreakToken;
 }
コード例 #9
0
 internal override string RenderClosingTag(Token token)
 {
     return string.Empty;
 }
コード例 #10
0
 internal override string RenderClosingTag(Token token)
 {
     return "</p>";
 }
コード例 #11
0
 internal override bool CanRender(Token token)
 {
     return token is ParagraphToken;
 }
コード例 #12
0
ファイル: Token.cs プロジェクト: NovusCraft/Markdownesque
 internal void RemoveChild(Token token)
 {
     Children.Remove(token);
 }
コード例 #13
0
ファイル: Token.cs プロジェクト: NovusCraft/Markdownesque
 internal void AddChild(Token token)
 {
     token.Parent = this;
     Children.Add(token);
 }
コード例 #14
0
 internal override bool CanRender(Token token)
 {
     return token is StrongToken;
 }