MarkDown转html代码实现方案C#

MarkDown转html代码实现方案C#

 

使用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中自己编写的函数

posted @   dreamw  阅读(1247)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示