MarkDown转html代码实现方案C#

分类:

MarkDowngithubnuget

使用UWP toolkit中的Parse

https://docs.microsoft.com/en-us/windows/communitytoolkit/parsers/markdownparser

解析MD,然后生成对应的html文本.插入本机图片可转换为src=base64内嵌格式

尚未找到合适的markdown直接转html的C#解决方案,可以自己做一个

修正:找到MD2html项目MarkDownlToHtml(Nuget)

https://github.com/nightroman/FarNet

===================================后续更新

使用github插件CommonMark.NET(可通过nuget获取)

github地址

使用方式:

using (var reader = new StringReader(Md_Text))
{
         using (var writer = new StringWriter())
     {
                CommonMark.CommonMarkConverter.Convert(reader, writer);
                //writer.ToString()即为转换好的html
                Frame.Navigate(typeof(WebPage), new string[] {Md_Title, writer.ToString() });
         }
 } 

方式2:很多转换控件使用js编写,使用webview控件加载字符执行js获得html内容.可以加载本地html

使用NavigateToString方法加载本地html

webview.NavigateToString(html);

然后执行外部脚本,参见js和C#互相通讯

 //string msg = "# hello, markdown!";  //构建脚本
                        ////js += "var converter = new showdown.Converter()"; //设置用户名
                        ////js += "var text=''";
                        ////js += "var html = converter.makeHtml(text)";
                        ////js += "document.getElementById('h1').innerHTML = html;";
                        
                        //await webview.InvokeScriptAsync("render", new string[] { msg}); 

可以在本地html中使用内置函数,render是本地html中自己编写的函数