public HtmlCodeSnippetRenderer(IMarkdownEngine engine, MarkdownContext context) { _engine = engine; _context = context; BuildCodeLanguageExtractors(); }
public CodeSnippetExtrator(string startLineTemplate, string endLineTemplate, MarkdownContext context, bool isEndLineContainsTagName = true) { this.StartLineTemplate = startLineTemplate; this.EndLineTemplate = endLineTemplate; this.IsEndLineContainsTagName = isEndLineContainsTagName; _context = context; }
public TripleColonExtension(MarkdownContext context) { _context = context; _extensions = (new ITripleColonExtensionInfo[] { new ZoneExtension() // todo: moniker range, row, etc... }).ToDictionary(x => x.Name); }
public MarkdownContextBuilder WithContext(MarkdownContext context) { _filePath = context.FilePath; _basePath = context.BasePath; _mvb = context.Mvb; _content = context.Content; _isInline = context.IsInline; _inclusionSet = context.InclusionSet; return(this); }
public TripleColonExtension(MarkdownContext context) { _context = context; _extensions = (new ITripleColonExtensionInfo[] { new ZoneExtension(), new ChromelessFormExtension(), new ImageExtension(context), new CodeExtension(context), new VideoExtension(context) // todo: moniker range, row, etc... }).ToDictionary(x => x.Name); }
public IMarkdownObjectRewriter CreateRewriter(MarkdownContext context) { var tagValidator = new TagValidator(GetEnabledTagRules().ToImmutableList(), context); var validators = from vp in _validatorProviders from p in vp.GetValidators() select p; return(MarkdownObjectRewriterFactory.FromValidators( validators.Concat( new[] { MarkdownObjectValidatorFactory.FromLambda <IMarkdownObject>(tagValidator.Validate) }))); }
private static void UpdateLinks(MarkdownObject markdownObject, MarkdownContext context) { if (markdownObject == null || context == null || string.IsNullOrEmpty(context.FilePath)) { return; } if (markdownObject is ContainerBlock containerBlock) { foreach (var subBlock in containerBlock) { UpdateLinks(subBlock, context); } } else if (markdownObject is LeafBlock leafBlock) { if (leafBlock.Inline != null) { foreach (var subInline in leafBlock.Inline) { UpdateLinks(subInline, context); } } } else if (markdownObject is ContainerInline containerInline) { foreach (var subInline in containerInline) { UpdateLinks(subInline, context); } if (markdownObject is LinkInline linkInline) { var originalUrl = linkInline.Url; if (RelativePath.IsRelativePath(originalUrl) && PathUtility.IsRelativePath(originalUrl) && !RelativePath.IsPathFromWorkingFolder(originalUrl) && !originalUrl.StartsWith("#")) { linkInline.GetDynamicUrl = () => { return(((RelativePath)context.FilePath + (RelativePath)originalUrl).GetPathFromWorkingFolder()); }; } } } }
private static void UpdateLinks(MarkdownObject markdownObject, MarkdownContext context) { if (markdownObject == null || context == null) { return; } if (markdownObject is ContainerBlock containerBlock) { foreach (var subBlock in containerBlock) { UpdateLinks(subBlock, context); } } else if (markdownObject is LeafBlock leafBlock) { if (leafBlock.Inline != null) { foreach (var subInline in leafBlock.Inline) { UpdateLinks(subInline, context); } } } else if (markdownObject is ContainerInline containerInline) { foreach (var subInline in containerInline) { UpdateLinks(subInline, context); } if (markdownObject is LinkInline linkInline) { linkInline.GetDynamicUrl = () => context.GetLink(linkInline.Url, InclusionContext.File); } } }
public QuoteSectionNoteRender(MarkdownContext context) { _context = context; }
public RowParser(MarkdownContext context) { OpeningCharacters = new[] { ':' }; _context = context; }
public MonikerRangeParser(MarkdownContext context) { OpeningCharacters = new[] { ':' }; _context = context; }
public static MarkdownPipelineBuilder UseCodeSnippet(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new CodeSnippetExtension(context)); return(pipeline); }
public TagValidator(ImmutableList <MarkdownTagValidationRule> validators, MarkdownContext context) { _context = context; Validators = validators; }
public TripleColonInlineRenderer(MarkdownContext context) { _context = context; }
public static ProcessDocumentDelegate GetProcessDocumentDelegate(MarkdownContext context) { return(document => UpdateLinks(document, context)); }
public static MarkdownPipelineBuilder UseResolveLink(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new ResolveLinkExtension(context)); return(pipeline); }
public MonikerRangeExtension(MarkdownContext context) { _context = context; }
public static MarkdownPipelineBuilder UseTabGroup(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new TabGroupExtension(context)); return(pipeline); }
public VideoExtension(MarkdownContext context) { _context = context; }
public static MarkdownPipelineBuilder UseNestedColumn(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new NestedColumnExtension(context)); return(pipeline); }
public static MarkdownPipelineBuilder UseDocfxExtensions(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { return(pipeline //.UseMathematics() .UseEmphasisExtras(EmphasisExtraOptions.Strikethrough) .UseAutoIdentifiers(AutoIdentifierOptions.GitHub) .UseMediaLinks() .UsePipeTables() .UseAutoLinks() .UseHeadingIdRewriter() .UseIncludeFile(context) .UseCodeSnippet(context) .UseDFMCodeInfoPrefix() .UseQuoteSectionNote(context) .UseXref() .UseEmojiAndSmiley(false) .UseTabGroup(context) .UseMonikerRange(context) .UseInteractiveCode() .UseRow(context) .UseNestedColumn(context) .UseTripleColon(context) .UseNoloc() .UseResolveLink(context) .RemoveUnusedExtensions()); }
public static MarkdownPipelineBuilder UseMonikerRange(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new MonikerRangeExtension(context)); return(pipeline); }
public TripleColonParser(MarkdownContext context, IDictionary <string, ITripleColonExtensionInfo> extensions) { OpeningCharacters = new[] { ':' }; _context = context; _extensions = extensions; }
public HtmlCodeSnippetRenderer(IMarkdownEngine engine, MarkdownContext context) { _engine = engine; _context = context; }
public HtmlInclusionBlockRenderer(IMarkdownEngine engine, MarkdownContext context, MarkdownServiceParameters parameters) { _engine = engine; _context = context; _parameters = parameters; }
public ImageExtension(MarkdownContext context) { _context = context; }
public InclusionExtension(MarkdownContext context) { _context = context; }
public static MarkdownPipelineBuilder UseQuoteSectionNote(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new QuoteSectionNoteExtension(context)); return(pipeline); }
public HtmlInclusionInlineRenderer(MarkdownContext context, MarkdownPipeline pipeline) { _context = context; _inlinePipeline = CreateInlineOnlyPipeline(pipeline); }
public static MarkdownPipelineBuilder UseIncludeFile(this MarkdownPipelineBuilder pipeline, MarkdownContext context) { pipeline.Extensions.AddIfNotAlready(new InclusionExtension(context)); return(pipeline); }