示例#1
0
 /// <summary>
 /// Add a header.
 /// </summary>
 public static void Header(this TokenStream stream, int depth, string text, SourceExtent extent, bool lineBreak)
 {
     stream.Add(new MarkdownToken()
     {
         Depth  = depth,
         Extent = extent,
         Text   = text,
         Type   = MarkdownTokenType.Header,
         Flag   = lineBreak ? MarkdownTokens.LineBreak : MarkdownTokens.LineEnding | MarkdownTokens.Preserve
     });
 }
示例#2
0
        /// <summary>
        /// Get the extent and clear previous marker.
        /// </summary>
        /// <returns></returns>
        public SourceExtent GetExtent()
        {
            if (!_ExtentMarker.HasValue)
            {
                return(null);
            }

            var extent = new SourceExtent(_Source, null, _ExtentMarker.Value, _Position, _Line, _Column);

            _ExtentMarker = null;

            return(extent);
        }
示例#3
0
 /// <summary>
 /// Add a code fence.
 /// </summary>
 public static void FencedBlock(this TokenStream stream, string meta, string text, SourceExtent extent, bool lineBreak)
 {
     stream.Add(new MarkdownToken()
     {
         Extent = extent,
         Meta   = meta,
         Text   = text,
         Type   = MarkdownTokenType.FencedBlock,
         Flag   = (lineBreak ? MarkdownTokens.LineBreak : MarkdownTokens.LineEnding) | MarkdownTokens.Preserve
     });
 }