居間這個庫:c# blazor中顯示markdown文件

居間這個庫:c# blazor中顯示markdown文件

我的想法是,除了提供工具免費使用外,也能讓大家了解這個工具是如果開發的,這樣應該更方便

最后更新 2022/2/26 下午10:15
沙漠尽头的狼
预计阅读 2 分钟
分类
Blazor
标签
.NET C# Blazor Markdown

1 講目的

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

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

Blazor中显示Markdown

為啥要加這個功能?

我的想法是,除了提供工具免費使用外,也能讓大家了解這個工具是如果開發的,這樣應該更方便:

  1. 默认是不显示的,点击如何开发的?的按钮加载开发文章说明。
  2. 评论功能目前没有(不排除后面加上),需要点击我要建议(吐槽)按钮跳转到Dotnet9网站同篇博文留言。
  3. 旁边有个按钮我要浏览源码可以点击浏览工具源码。

下面說說在 blazor 中怎麼展示 markdown 文件,先說明目前完成的功能:

  1. 只是將 markdown 文件展示為 html。
  2. 高亮目前未加。

2 開發步驟

参考blazor-markdown

  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 attributes
    var 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>
Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2024/2/29

winform中也可以這樣做數據展示

在做winform開發的過程中,經常需要做數據展示的功能,之前一直使用的是gridcontrol控制項,今天想通過一個示例,跟大家居間一下如何在winform blazor hybrid中使用ant design blazor中的table組件做數據展示。

继续阅读
同分类 / 同标签 2024/2/29

winform的界面也可以變好看?

前幾天跟大家居間了在winform中使用blazor hybrid,而且還說配上blazor的ui可以讓我們的winform程式設計的更加好看,接下來我想以一個在winform blazor hybrid中繪圖的例子來進行說明,希望對你有所幫助。

继续阅读