protected void CreateRewriters() { Rewriter = MarkdownTokenRewriterFactory.Composite( MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureNoteBlockToken t) => new DfmNoteBlockToken(t.Rule, t.Context, t.NoteType.Substring("AZURE.".Length), t.Content, t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureBlockquoteBlockToken t) => new MarkdownBlockquoteBlockToken(t.Rule, t.Context, t.Tokens, t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, MarkdownLinkInlineToken t) => new MarkdownLinkInlineToken(t.Rule, t.Context, NormalizeAzureLink(t.Href, MarkdownExtension, t.Context, t.SourceInfo.Markdown), t.Title, t.Content, t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureSelectorBlockToken t) => new DfmSectionBlockToken(t.Rule, t.Context, GenerateAzureSelectorAttributes(t.SelectorType, t.SelectorConditions), t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureHtmlMetadataBlockToken t) => new DfmYamlHeaderBlockToken(t.Rule, t.Context, GenerateYamlHeaderContent(t.Properties, t.Tags), t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureMigrationIncludeBlockToken t) => new DfmIncludeBlockToken(t.Rule, t.Context, t.Src, t.Name, t.Title, t.SourceInfo.Markdown, t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureMigrationIncludeInlineToken t) => new DfmIncludeInlineToken(t.Rule, t.Context, t.Src, t.Name, t.Title, t.SourceInfo.Markdown, t.SourceInfo) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureVideoBlockToken t) => new DfmVideoBlockToken(t.Rule, t.Context, GenerateAzureVideoLink(t.Context, t.VideoId, t.SourceInfo.Markdown), t.SourceInfo) ) ); }
public DfmEngine CreateDfmEngine(object renderer) { return(new DfmEngine( CreateParseContext().SetBaseFolder(_baseDir ?? string.Empty).SetFallbackFolders(_fallbackFolders), MarkdownTokenRewriterFactory.Composite( MarkdownTokenRewriterFactory.FromLambda(GetTabGroupIdRewriter()), Rewriter), renderer, Options) { TokenTreeValidator = TokenTreeValidator, TokenAggregators = TokenAggregators, }); }
protected void CreateRewriters() { Rewriter = MarkdownTokenRewriterFactory.Composite( MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureIncludeInlineToken t) => new DfmIncludeInlineToken(t.Rule, t.Context, t.Src, t.Name, t.Title, t.Raw, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureIncludeBlockToken t) => new DfmIncludeBlockToken(t.Rule, t.Context, t.Src, t.Name, t.Title, t.Raw, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureNoteBlockToken t) => new DfmNoteBlockToken(t.Rule, t.Context, t.NoteType.Substring("AZURE.".Length), t.Content, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureBlockquoteBlockToken t) => new DfmBlockquoteBlockToken(t.Rule, t.Context, t.Tokens, t.RawMarkdown) ) ); }
protected void CreateRewriters() { Rewriter = MarkdownTokenRewriterFactory.Composite( MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureNoteBlockToken t) => new DfmNoteBlockToken(t.Rule, t.Context, t.NoteType.Substring("AZURE.".Length), t.Content, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureBlockquoteBlockToken t) => new MarkdownBlockquoteBlockToken(t.Rule, t.Context, t.Tokens, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, MarkdownLinkInlineToken t) => new MarkdownLinkInlineToken(t.Rule, t.Context, AppendDefaultExtension(t.Href, MarkdownExtension), t.Title, t.Content, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureSelectorBlockToken t) => new DfmSectionBlockToken(t.Rule, t.Context, GenerateAzureSelectorAttributes(t.SelectorType, t.SelectorConditions), t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, AzureHtmlMetadataBlockToken t) => new DfmYamlHeaderBlockToken(t.Rule, t.Context, GenerateYamlHeaderContent(t.Properties, t.Tags), t.RawMarkdown) ) ); }
public void ParseWithBadRewrite() { const string source = @" # Heading "; var builder = new GfmEngineBuilder(new Options()); builder.Rewriter = MarkdownTokenRewriterFactory.Loop( MarkdownTokenRewriterFactory.Composite( MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, MarkdownHeadingBlockToken t) => new MarkdownTextToken(t.Rule, t.Context, t.RawMarkdown, t.RawMarkdown) ), MarkdownTokenRewriterFactory.FromLambda( (IMarkdownRewriteEngine e, MarkdownTextToken t) => new MarkdownHeadingBlockToken(t.Rule, t.Context, new InlineContent(ImmutableArray <IMarkdownToken> .Empty), "aaaa", 1, t.RawMarkdown) ) ), 10); var engine = builder.CreateEngine(new HtmlRenderer()); Assert.Throws <InvalidOperationException>(() => engine.Markup(source)); }