Ejemplo n.º 1
0
        /// <summary>
        /// Creates markdown files using the fromdirectory verb
        /// </summary>
        /// <param name="opts"></param>
        internal static void HandleDocumentationFromDirectory(FromDirectoryOptions opts)
        {
            Program.VerboseMode = opts.Verbose;
            var searchOption = opts.RecursiveScan ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
            var fileInfos    = new List <MdFileInfo>();

            fileInfos.AddRange(ScanFolderForAssemblies(opts.InputFolderPath, opts.Filter, opts.ReferencePaths, searchOption));
            if (opts.IncludeCustomNodes)
            {
                fileInfos.AddRange(ScanFolderForCustomNodes(opts.InputFolderPath, searchOption));
            }

            MarkdownHandler.CreateMdFilesFromFileNames(fileInfos, opts.OutputFolderPath, opts.Overwrite, opts.CompressImages, opts.CompressGifs, opts.DictionaryDirectory, opts.LayoutSpecPath);
        }
        public void MarkdownHttpHandler_Renders_H1()
        {
            var responseStream = new MemoryStream();

            var mockHttpResponse = new Mock <IHttpResponse>();

            mockHttpResponse
            .SetupGet(x => x.OutputStream)
            .Returns(responseStream);

            var mockHttpRequest = new Mock <IHttpRequest>();

            mockHttpRequest
            .SetupGet(x => x.FilePath)
            .Returns(string.Empty);

            var mockHttpContext = new Mock <IHttpContext>();

            mockHttpContext
            .SetupGet(x => x.Request)
            .Returns(() => mockHttpRequest.Object);
            mockHttpContext
            .SetupGet(x => x.Response)
            .Returns(() => mockHttpResponse.Object);

            var mockFileSystem = new Mock <IFileSystem>();

            mockFileSystem
            .Setup(x => x.OpenRead(It.IsAny <string>()))
            .Returns <string>(s =>
            {
                string markdown = "#This is an H1";
                return(new MemoryStream(Encoding.ASCII.GetBytes(markdown)));
            });

            MarkdownHandler markdownHandler = new MarkdownHandler(mockFileSystem.Object, new MarkdownTextTransform(new Markdown()));

            markdownHandler.ProcessRequest(mockHttpContext.Object);
            responseStream.Seek(0, SeekOrigin.Begin);

            using (var streamReader = new StreamReader(responseStream))
            {
                var textResponse = streamReader.ReadToEnd();
                Assert.AreEqual("<h1>This is an H1</h1>\n", textResponse);
            }
        }
Ejemplo n.º 3
0
        public void Does_process_Markdown_pages()
        {
            var markdownHandler = new MarkdownHandler("/AppData/NoTemplate/Static")
            {
                MarkdownFormat = markdownFormat,
            };
            var httpReq = new MockHttpRequest {
                QueryString = new NameValueCollection()
            };
            var httpRes = new MockHttpResponse();

            markdownHandler.ProcessRequest(httpReq, httpRes, "Static");

            var expectedHtml = markdownFormat.Transform(
                File.ReadAllText("~/AppData/NoTemplate/Static.md".MapProjectPath()));

            httpRes.Close();
            Assert.That(httpRes.Contents, Is.EqualTo(expectedHtml));
        }
Ejemplo n.º 4
0
        internal static void HandlePackageDocumentation(FromPackageOptions opts)
        {
            Program.VerboseMode = opts.Verbose;
            var package = PackageFromRoot(opts.InputFolderPath);

            var nodeLibraryFileInfos = ScanNodeLibraries(package, opts.ReferencePaths);
            var customNodeFileInfos  = ScanCustomNodes(package);

            var fileInfos = nodeLibraryFileInfos
                            .Union(customNodeFileInfos);

            var outdir = package.NodeDocumentaionDirectory;

            if (!Directory.Exists(outdir))
            {
                Directory.CreateDirectory(outdir);
            }

            MarkdownHandler.CreateMdFilesFromFileNames(fileInfos, outdir, opts.Overwrite);
        }