使用 MarkupString 将字符串转换为 html

Turning a string into html using MarkupString

我正在尝试从 github 存储库中获取 README.md 文件的内容并将其输出显示在网页上(使用 razor),这是我的代码:

@using System.Net.Http.Headers;
@using Newtonsoft.Json;

@page "/"

<h1>Hello, world!</h1>

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

<span>
    @((MarkupString)content)
</span>


@code{

    public string content { get; set; }

    protected override async Task OnInitializedAsync() {
        const string url = "https://api.github.com/repos/angrymonkeydocs/amd-css/contents/README.md";
        HttpClient client = new();

        //client.DefaultRequestHeaders.Add("User-Agent", "AngryMonkeyDocs");

        client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("AngryMonkeyDocs", "1"));
        string responseString = await client.GetStringAsync(url);
        dynamic json = JsonConvert.DeserializeObject(responseString);
        string jsonContent = json["content"];

        content = Base64Decode(jsonContent);
        
    }


    private static string Base64Decode(string base64EncodedData)
    {
        var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
        return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
    }
}

结果如下:

但是这里是网页 url:https://github.com/angrymonkeydocs/amd-css#readme

我不明白为什么我会得到以下结果而不是像网页那样

.md 文件是 markdown 文件。这不是 HTML。 Github 接受降价并在显示时将其格式化为 HTML 。您可以自己使用 markdig.

之类的方法将其转换为 HTML