1 讲目的

前几天上线了一个在线Icon转换工具[1],为了让大家使用放心,改了点代码,在转换下载Icon图标后立即删除临时文件,并在工具下面贴上了工具的开发步骤和代码,大家看这样改是否合适,见Issue 1[2]

这篇不讲代码修改过程(因为工具[3]和网站博文[4]已经同步更新),本文讲讲在工具下方展示Markdown文件的实现方式,先看效果:

Blazor中显示Markdown

为啥要加这个功能?

我的想法是,除了提供工具免费使用外,也能让大家了解这个工具是如果开发的,这样应该更方便:

  1. 默认是不显示的,点击如何开发的?的按钮加载开发文章说明。

  2. 评论功能目前没有(不排除后面加上),需要点击我要建议(吐槽)跳转到Dotnet9[5]网站同篇博文[6]留言。

  3. 旁边有个按钮我要浏览源码可以点击浏览工具源码。

下面说说在Blazor中怎么展示Markdown文件,先说明目前完成的功能:

  1. 只是将Markdown文件展示为html。

  2. 高亮目前未加。

2 开发步骤

参考blazor-markdown[7]

  1. 引入包

<PackageReference Include="BlazorMarkdown" Version="1.0.0" />
<PackageReference Include="HtmlSanitizer" Version="7.1.488" />
  1. 注入组件

Program.cs

builder.Services.AddScoped<IHtmlSanitizer, HtmlSanitizer>(x =>
{// Configure sanitizer rules as needed here.// For now, just use default rules + allow class attributesvar sanitizer = new HtmlSanitizer();sanitizer.AllowedAttributes.Add("class");return sanitizer;
});
  1. 引用命令空间

_Imports.razor

@using BlazorMarkdown
  1. 使用

准备好Markdown文件,比如我放wwwroot下:

Markdown文件

IcoTool.razor中就可以直接使用了:

<Markdown FilePath="wwwroot/2022/02/2022-02-22_02.md"/>

总结

完了,就是这么简单,效果见文章开头,今天不啰嗦。

忘了,markdown中有图片等多媒体文件,记得加上这些样式实现自适应:

<style>h3 {border-bottom: 1px solid #eee;margin-top: 50px;padding-bottom: 10px;}pre {background: #1E1E1E;color: #eee;overflow-x: auto;padding: 0.5em !important;white-space: pre;word-break: normal;word-wrap: normal;}img, video, source { max-width: 100% }pre > code { white-space: pre; }
</style>

参考资料

[1]

在线Icon转换工具: https://tool.dotnet9.com/ico

[2]

Issue 1: https://github.com/dotnet9/dotnet9.com/issues/1

[3]

工具: https://tool.dotnet9.com/ico

[4]

博文: https://dotnet9.com/1715

[5]

Dotnet9: https://dotnet9.com

[6]

博文: https://dotnet9.com/1715

[7]

blazor-markdown: https://github.com/georgemathieson/blazor-markdown

介绍这个库:C# Blazor中显示Markdown文件相关推荐

  1. 完美:C# Blazor中显示Markdown并添加代码高亮

    昨天发了一篇介绍这个库:C# Blazor中显示Markdown文件,介绍怎么在Blazor中显示Markdown内容的文章,文章内的代码是没有高亮的,思来相去,还是要做好,于是百度到这篇文章.NET ...

  2. Blazor 中如何下载文件到浏览器

    Blazor 中如何下载文件到浏览器 目录 一.前言 二.方法一(导航跳转) 三.方法二(下载后传出) (一) 使用 RestSharp 下载 (二) 使用 BlazorDownloadFile 传出 ...

  3. 在html中加入pdf文件吗,如何在网页中显示PDF文件

    我们是不是对百度文库能直接在网页上显示PDF文件感到好奇,你是否也想实现这样的功能?很多朋友认为可以直接在网页中插入代码就可以实现这个功能,其实要在网页中完整地显示PDF文件,需要把PDF文件转换成S ...

  4. Qt Creator在问题窗格中显示任务列表文件

    Qt Creator在问题窗格中显示任务列表文件 在问题窗格中显示任务列表文件 管理任务列表条目 任务列表文件格式 在问题窗格中显示任务列表文件 您可以使用代码扫描和分析工具来检查源代码.这些工具报告 ...

  5. 在html中显示word,如何在浏览器网页中显示word文件内容

    把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileStream   fs   =   new ...

  6. 【教程】PDF组件Spire.PDF 教程:在C#中显示PDF文件的打印预览

    本文演示如何使用Spire.PDF和c#在Windows窗体应用程序中显示PDF文件的打印预览. 在使用下面的代码之前,我们需要创建一个Windows窗体应用程序,在窗体中添加一个PrintPrevi ...

  7. svg格式文件android,在Android中显示SVG文件

    我想创建一个在一些平面图上显示位置的应用程序.导航通过WiFi以某种方式实现,我已经做到了,所以现在我有一个显示平面图的问题. 它可能是一些矢量格式,互联网冲浪一段时间后,我决定它必须是svg文件. ...

  8. 如何在jupyter notebook中运行markdown文件(脚本、代码)

    需要装一个notedown插件,不能直接pip install notedown安装,需要: pip install notedown --index https://mirrors.ustc.edu ...

  9. shp文件显示 c语言,上传并在地图中显示Shp文件

    前段时间参与了一个项目,客户有一个功能需求是上传SHP文件并在地图上显示,然后在此基础上做缓冲区处理.经过对比测试,最终选择了shapefile.js工具,在此做个记录. shapfe.js能够将Es ...

最新文章

  1. django模板的导入
  2. 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。...
  3. 使用DOM4J读取和维护XML数据
  4. [Java]Annotation元数据的几个应用
  5. mvc根据绝对路径下载文件
  6. AJAX学习笔记(基本使用,请求参数传递,获取服务端响应,错误处理,低版本IE浏览器缓存问题及解决)
  7. UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
  8. linux下编辑文件实验,Linux上最常用的文本编辑器vi/vim使用教程
  9. Javascript 中继承汇总
  10. LoadRunner11完美破解
  11. 从零开始入门芯片行业
  12. 电子元器件简介——电容与电感篇
  13. C语言中数组和字符串长度以及输入输出详解
  14. 标书怎么做?标书制作教程附标书制作思维导图
  15. cocos-creator使用记录5_发布微信小游戏
  16. 网络通信技术(TCP/IP)
  17. php程序员述职材料_php程序员述职报告(多篇范文)
  18. itext 导出word
  19. 【触摸屏功能测试】昆仑通态MCGS——物联网功能测试
  20. ChinaSkills全国职业院校技能大赛Debian样题六||本专栏基于此试题,订阅前必读!!!

热门文章

  1. c++ 数据类型转换: static_cast dynamic_cast reinterpret_cast const_cast
  2. Class Diagram
  3. Lync Server 2010迁移至Lync Server 2013部署系列 Part18:开启Lync 2013 Mobility
  4. 成功的换心手术——Windows Phone 8 发布
  5. linux下tar解压特定的目录
  6. docker 修改服务器,docker-修改容器挂载目录的3种方法小结
  7. Apache用户身份验证
  8. WCF从理论到实践(4):路在何方
  9. Javascript基础学习20问(二)
  10. Git Bash的一些命令和配置