Example #1
0
        public void createMdNodeWithInnerTagFromMdLine(MdLine input, MdNode expectedInnerMdNode)
        {
            var builder = new MdTreeBuilder(input);
            var mdNode  = builder.BuildTree().Root.InnerMdNodes[0];

            mdNode.InnerMdNodes.ShouldAllBeEquivalentTo(expectedInnerMdNode);
        }
Example #2
0
 public MdTreeBuilder(MdLine mdLine)
 {
     currentMdLine   = mdLine;
     sourceString    = mdLine.Content;
     supportedMdTags = mdLine.SupportedMdTags;
     currentMdTag    = MdLineHelper.DetermineCurrentTag(mdLine);
 }
Example #3
0
        public void createMdTreeFromMdLine(MdLine input, MdNode expectedMdNode)
        {
            var builder = new MdTreeBuilder(input);
            var tree    = builder.BuildTree();

            tree.Root.InnerMdNodes[0].ShouldBeEquivalentTo(expectedMdNode);
        }
Example #4
0
 public static void HandleEmptyLine(ref MdLine currentLine, string line, List <MdLine> mdLines)
 {
     if (currentLine.Content != null)
     {
         mdLines.Add(currentLine);
         currentLine = new TextLine();
     }
 }
Example #5
0
        public static void HandleHeaderLine(ref MdLine currentLine, string line, List <MdLine> mdLines)
        {
            if (currentLine.Content != null)
            {
                mdLines.Add(currentLine);
            }
            var headerTag  = TagHelper.DetermineCurrentTag(line, 0, headerTags);
            var headerLine = new HeaderLine(headerTag);

            headerLine.AddContent(line);
            mdLines.Add(headerLine);
            currentLine = new TextLine();
        }
Example #6
0
        public static bool IsCodeLine(string line, MdLine currentLine)
        {
            var codeTag = new CodeTag();

            if (line.Length < codeTag.TagName.Length)
            {
                return(false);
            }
            if (currentLine is CodeLine && TagHelper.IsSubstringEqualTag(line, 0, codeTag.TagName))
            {
                return(true);
            }
            return(TagHelper.IsSubstringEqualTag(line, 0, codeTag.TagName) && !IsEmptyLine(line));
        }
Example #7
0
 public static void HandleCodeLine(ref MdLine currentLine, string line, List <MdLine> mdLines)
 {
     if (currentLine is CodeLine)
     {
         currentLine.AddContent(line);
     }
     else
     {
         if (currentLine.Content != null)
         {
             mdLines.Add(currentLine);
         }
         currentLine = new CodeLine(line);
     }
 }
Example #8
0
 public static void HandleOrderedListLine(ref MdLine currentLine, string line, List <MdLine> mdLines)
 {
     if (currentLine is OrderedListsLine)
     {
         currentLine.AddContent(line);
     }
     else
     {
         if (currentLine.Content != null)
         {
             mdLines.Add(currentLine);
             currentLine = new OrderedListsLine();
             currentLine.AddContent(line);
         }
         else
         {
             currentLine = new OrderedListsLine();
             currentLine.AddContent(line);
         }
     }
 }
Example #9
0
        public static MdTag DetermineCurrentTag(MdLine mdLine)
        {
            if (mdLine is ListItemLine)
            {
                return(new ListItemTag());
            }
            if (mdLine is TextLine)
            {
                return(new ParagraphTag());
            }
            if (mdLine is HeaderLine)
            {
                return((mdLine as HeaderLine).HeaderTag);
            }
            if (mdLine is CodeLine)
            {
                return(new CodeTag());
            }
            var startPosition = 0;

            return(TagHelper.DetermineCurrentTag(mdLine.Content, startPosition, mdLine.SupportedMdTags));
        }