Пример #1
0
        private MarkdownPipeline CreatePipeline(string path)
        {
            string basePath       = _parameters.BasePath;
            string mediaDirectory = Path.Combine(basePath, "src/resources");

            var includeBlocksExtensionOptions      = new FlexiIncludeBlocksExtensionOptions(baseUri: Path.Combine(basePath, path));
            var flexiPictureBlocksExtensionOptions = new FlexiPictureBlocksExtensionOptions(localMediaDirectory: mediaDirectory);
            var flexiVideoBlocksExtensionOptions   = new FlexiVideoBlocksExtensionOptions(localMediaDirectory: mediaDirectory);

            var builder = new MarkdownPipelineBuilder().
                          UseEmphasisExtras().
                          UseDefinitionLists().
                          UseFootnotes().
                          UseAutoLinks().
                          UseTaskLists().
                          UseListExtras().
                          UseMediaLinks().
                          UseAbbreviations().
                          UseFooters().
                          UseFigures().
                          UseCitations().
                          UseCustomContainers().
                          UseGenericAttributes().
                          UseMathematics().
                          UseSmartyPants().
                          UseDiagrams().
                          UseFlexiBlocks(includeBlocksExtensionOptions,
                                         flexiPictureBlocksExtensionOptions: flexiPictureBlocksExtensionOptions,
                                         flexiVideoBlocksExtensionOptions: flexiVideoBlocksExtensionOptions);

            builder.Extensions.Add(new CustomYamlHeaderExtension(new MarkdownContext()));

            return(builder.Build());
        }
        public void FlexiPictureBlocks_PerformsFileOperationsWhenRequired(string dummyMarkdown, string expectedHtml)
        {
            // Arrange
            var flexiPictureBlocksExtensionOptions = new FlexiPictureBlocksExtensionOptions(localMediaDirectory: _fixture.TempDirectory);
            var markdownPipelineBuilder            = new MarkdownPipelineBuilder();

            markdownPipelineBuilder.
            UseFlexiOptionsBlocks().
            UseFlexiPictureBlocks(flexiPictureBlocksExtensionOptions);
            MarkdownPipeline markdownPipeline = markdownPipelineBuilder.Build();

            // Act
            string result = Markdown.ToHtml(dummyMarkdown, markdownPipeline);

            // Assert
            Assert.Equal(expectedHtml, result, ignoreLineEndingDifferences: true);
        }