public string Convert(string filePathRelativeToWikiContentRoot, string dynamicContentBaseUrl)
        {
            var localFilePathAbsolute = Path.Combine(_settings.WikiContentFullLocalPath, filePathRelativeToWikiContentRoot);
            var content = File.Exists(localFilePathAbsolute)
                ? File.ReadAllText(localFilePathAbsolute)
                : "File Not Found";

            var relativeContainerPath = Path.GetDirectoryName(filePathRelativeToWikiContentRoot);
            var localLinkConverter    = new LocalLinkConverter(relativeContainerPath, dynamicContentBaseUrl, $"/{_settings.WikiContentRelativePath}/");

            return(markdownContentToHtml(content, localLinkConverter));
        }
        private string markdownContentToHtml(string content, LocalLinkConverter localLinkConverter)
        {
            var pipeLine         = buildMarkdigParserPipeLine();
            var markdownDocument = Markdown.Parse(content, pipeLine);

            localLinkConverter.RewriteLocalLinks(markdownDocument);
            var markedUpContent = render(pipeLine, markdownDocument);

            // todo: may be cleaner (& possibly more performant) to do this on a parsed MarkdownDocument instance rather
            markedUpContent = _tableOfContentsBuilder.Parse(markedUpContent);

            return(markedUpContent);
        }