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); }