使用 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
我正在尝试从 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